<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 15 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Helvetica;
        panose-1:0 0 0 0 0 0 0 0 0 0;}
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0cm;
        margin-bottom:.0001pt;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0cm;
        mso-margin-bottom-alt:auto;
        margin-left:0cm;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
span.gmail-m6411249386169963595gmail-il
        {mso-style-name:gmail-m_6411249386169963595gmail-il;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-size:10.0pt;}
@page WordSection1
        {size:612.0pt 792.0pt;
        margin:70.85pt 3.0cm 70.85pt 3.0cm;}
div.WordSection1
        {page:WordSection1;}
--></style></head><body lang=ES link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Hi Andrew,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><span lang=EN-US>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.<o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><p class=MsoNormal><span lang=EN-US>Thanks! <o:p></o:p></span></p><p class=MsoNormal><span lang=EN-US><o:p> </o:p></span></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm'><p class=MsoNormal><b><span style='font-size:12.0pt;color:black'>From: </span></b><span style='font-size:12.0pt;color:black'>Andrew White <andrew@uconnected.com.au><br><b>Date: </b>Sunday, 31 March 2019 at 08:08<br><b>To: </b>"Kamailio (SER) - Users Mailing List" <sr-users@lists.kamailio.org><br><b>Cc: </b><joan@bookline.io>, Fede Buldin <fede@bookline.io><br><b>Subject: </b>Re: [SR-Users] db_redis and user<o:p></o:p></span></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal>Hi Joan,<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>My guess is you’re providing a string value from the phones/terminals, rather than an integer value.<o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><div><p class=MsoNormal><span style='color:#073763'> 9(39) ERROR: <core> [db_ut.c:92]: db_str2int(): <b>Unexpected characters: [-03-29 18:16:36]</b><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'> 9(39) ERROR: <core> [db_val.c:76]: db_str2val(): error while converting <b>integer value from string</b><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'> 9(39) ERROR: db_redis [redis_dbase.c:1062]: db_redis_convert_row(): Failed to convert redis column 'expires' to db value<o:p></o:p></span></p></div><div><div><div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:Helvetica;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:Helvetica;color:black'>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.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:Helvetica;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:Helvetica;color:black'>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? <a href="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</a><o:p></o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:Helvetica;color:black'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:9.0pt;font-family:Helvetica;color:black'>Someone who knows USRLOC could probably confirm this!<br><br>Best of luck fellow Redis user!<br><br>________________________________<br><br>Andrew White - Director<br>uConnected<br><a href="mailto:andrew@uconnected.com.au">Email: andrew@uconnected.com.au</a><br>Web: www.uConnected.com.au<o:p></o:p></span></p></div></div></div></div><div><p class=MsoNormal><br><br><o:p></o:p></p><blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal>On 30 Mar 2019, at 5:17 am, Joan Salvatella <<a href="mailto:juansalvatella@gmail.com">juansalvatella@gmail.com</a>> wrote:<o:p></o:p></p></div><p class=MsoNormal><o:p> </o:p></p><div><div><div><div><div><div><div><div><div><div><p class=MsoNormal><span style='color:#073763'>Hello,<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>We are working on a project that's using two active-active <span class=gmail-m6411249386169963595gmail-il>Kamailio</span> 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.<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>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:<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>modparam("db_redis", "keys", "location=entry:ruid&usrdom:username,domain&timer:partition,keepalive")</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='color:#073763'><o:p> </o:p></span></p></div><div><div><div><p class=MsoNormal><span style='color:#073763'>if(ds_is_from_list("1", "2", "<a href="sip:$fd:5080">sip:$fd:5080</a>")) {<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>    record_route();<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>    route(INVITE_ASTERISK);<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>    exit;<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>}<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'><o:p> </o:p></span></p></div><div><div><p class=MsoNormal><span style='color:#073763'>route[INVITE_ASTERISK] {<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>    xlog("L_INFO", "[R-INVITE-RESOLVER:$ci] Entering ASTERISK INVITE resolver\n");<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>    if (!lookup("location")) {<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>                                sl_send_reply("404", "User Not Found");<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>                                return;<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>                }<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>    route(INVITE_POSTROUTE);<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>}<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'><o:p> </o:p></span></p></div><div><div><p class=MsoNormal><span style='color:#073763'>route[INVITE_POSTROUTE] {</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='color:#073763'>   rtpproxy_manage();</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='color:#073763'>   t_on_reply("MAIN_REPLY");</span><o:p></o:p></p></div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='color:#073763'>    if(!t_relay()) </span><o:p></o:p></p></div><div><p class=MsoNormal><span style='color:#073763'>                                sl_reply_error();</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='color:#073763'>}</span><o:p></o:p></p></div></div><div><p class=MsoNormal><span style='color:#073763'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>When looking up the location schema this errors appear:<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'><o:p> </o:p></span></p></div><div><div><p class=MsoNormal><span style='color:#073763'>9(39) WARNING: db_redis [redis_dbase.c:1098]: db_redis_perform_query(): performing full table scan on table 'location' while performing query<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'> 9(39) WARNING: db_redis [redis_dbase.c:1101]: db_redis_perform_query():   scan key 0 is 'expires'<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'> 9(39) WARNING: db_redis [redis_dbase.c:1101]: db_redis_perform_query():   scan key 1 is 'expires'<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'> 9(39) ERROR: <core> [db_ut.c:92]: db_str2int(): Unexpected characters: [-03-29 18:16:36]<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'> 9(39) ERROR: <core> [db_val.c:76]: db_str2val(): error while converting integer value from string<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'> 9(39) ERROR: db_redis [redis_dbase.c:1062]: db_redis_convert_row(): Failed to convert redis column 'expires' to db value<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'> 9(39) ERROR: db_redis [redis_dbase.c:1231]: db_redis_perform_query(): Failed to convert redis reply for row<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'> 9(39) ERROR: db_redis [redis_dbase.c:1243]: db_redis_perform_query(): failed to perform the query<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'> 9(39) ERROR: db_redis [redis_dbase.c:1829]: db_redis_query(): failed to do the query<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'> 9(39) ERROR: usrloc [udomain.c:981]: udomain_contact_expired_cb(): db_query failed<o:p></o:p></span></p></div></div></div></div></div><div><p class=MsoNormal><span style='color:#073763'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>Any hints?<o:p></o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='color:#073763'>Thanks and regards,<o:p></o:p></span></p></div></div></div></div></div></div></div></div></div><p class=MsoNormal>_______________________________________________<br>Kamailio (SER) - Users Mailing List<br><a href="mailto:sr-users@lists.kamailio.org">sr-users@lists.kamailio.org</a><br>https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users<o:p></o:p></p></div></blockquote></div><p class=MsoNormal><o:p> </o:p></p></div></div></body></html>