Hi Joan, My guess is you’re providing a string value from the phones/terminals, rather than an integer value.
9(39) ERROR: <core> [db_ut.c:92]: db_str2int(): Unexpected characters: [-03-29 18:16:36] 9(39) ERROR: <core> [db_val.c:76]: db_str2val(): error while converting integer value from string 9(39) ERROR: db_redis [redis_dbase.c:1062]: db_redis_convert_row(): Failed to convert redis column 'expires' to db value I’m guessing the string given is “2019-03-29 18:16:38”. I don’t know the location DB well in Kamailio, but I’d guess this is meant to be an epoch timestamp. I’ve not really ever used usrloc, but having a look, I’d say maybe you need to set the “expires_type” value in the module? https://www.kamailio.org/docs/modules/devel/modules/usrloc.html#usrloc.p.expires_type <https://www.kamailio.org/docs/modules/devel/modules/usrloc.html#usrloc.p.expires_type> Someone who knows USRLOC could probably confirm this! Best of luck fellow Redis user! ________________________________ Andrew White - Director uConnected Email: [email protected] Web: www.uConnected.com.au > On 30 Mar 2019, at 5:17 am, Joan Salvatella <[email protected]> wrote: > > Hello, > > We are working on a project that's using two active-active Kamailio 5.2 > instances that redirect traffic to several Asterisk 15.4 instances. Kamailio > is acting as a registrar and should store the location information of the > registered terminals. The backend database is db_redis. > > Phone terminals get registered and the information gets looked up from the > subscriber schema in redis (That's cool) but we are having problems with the > locations. This is the related code: > > modparam("db_redis", "keys", > "location=entry:ruid&usrdom:username,domain&timer:partition,keepalive") > > if(ds_is_from_list("1", "2", "sip:$fd:5080")) { > record_route(); > route(INVITE_ASTERISK); > exit; > } > > route[INVITE_ASTERISK] { > xlog("L_INFO", "[R-INVITE-RESOLVER:$ci] Entering ASTERISK INVITE > resolver\n"); > if (!lookup("location")) { > sl_send_reply("404", "User Not Found"); > return; > } > route(INVITE_POSTROUTE); > } > > route[INVITE_POSTROUTE] { > rtpproxy_manage(); > t_on_reply("MAIN_REPLY"); > > if(!t_relay()) > sl_reply_error(); > } > > When looking up the location schema this errors appear: > > 9(39) WARNING: db_redis [redis_dbase.c:1098]: db_redis_perform_query(): > performing full table scan on table 'location' while performing query > 9(39) WARNING: db_redis [redis_dbase.c:1101]: db_redis_perform_query(): > scan key 0 is 'expires' > 9(39) WARNING: db_redis [redis_dbase.c:1101]: db_redis_perform_query(): > scan key 1 is 'expires' > 9(39) ERROR: <core> [db_ut.c:92]: db_str2int(): Unexpected characters: > [-03-29 18:16:36] > 9(39) ERROR: <core> [db_val.c:76]: db_str2val(): error while converting > integer value from string > 9(39) ERROR: db_redis [redis_dbase.c:1062]: db_redis_convert_row(): Failed > to convert redis column 'expires' to db value > 9(39) ERROR: db_redis [redis_dbase.c:1231]: db_redis_perform_query(): Failed > to convert redis reply for row > 9(39) ERROR: db_redis [redis_dbase.c:1243]: db_redis_perform_query(): failed > to perform the query > 9(39) ERROR: db_redis [redis_dbase.c:1829]: db_redis_query(): failed to do > the query > 9(39) ERROR: usrloc [udomain.c:981]: udomain_contact_expired_cb(): db_query > failed > > Any hints? > > Thanks and regards, > _______________________________________________ > Kamailio (SER) - Users Mailing List > [email protected] > https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
_______________________________________________ Kamailio (SER) - Users Mailing List [email protected] https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
