Hi Andrew,

 

Unfortunately it wasn’t this parameter. It turns out that the default schema 
shipped with db_redis stores the values as timestamp but retrieves them as 
integers despite this parameter. I have issued a bug in Github to let them know 
about it.

 

Thanks! 

 

From: Andrew White <[email protected]>
Date: Sunday, 31 March 2019 at 08:08
To: "Kamailio (SER) - Users Mailing List" <[email protected]>
Cc: <[email protected]>, Fede Buldin <[email protected]>
Subject: Re: [SR-Users] db_redis and user

 

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

 

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

Reply via email to