From notifications@github.com Mon Oct 9 20:12:57 2017 From: Dmitri Savolainen To: sr-dev@lists.kamailio.org Subject: [sr-dev] [kamailio/kamailio] registrar: function "registered(...)" different workers integrity (#1267) Date: Mon, 09 Oct 2017 11:12:50 -0700 Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0327154937==" --===============0327154937== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable ### Description Sometimes "registered" function return different result for different SIP wor= ker process. It seems reproduced for a some time after restart. I have locate it on 4.4.6v= ersion and reproduce for master branch too. I tried Register/Unregister sip = account while testing (via SIP) ### Troubleshooting #### Reproduction ``` children=3D8 # registrar params modparam("registrar", "append_branches", 0) modparam("registrar", "use_path", 1) modparam("registrar", "path_mode", 0)=20 modparam("registrar", "max_expires", 1800) modparam("registrar", "min_expires", 60) # usrloc params modparam("usrloc", "db_mode", 2) modparam("usrloc", "timer_interval", 20) #default 60 modparam("usrloc", "db_check_update", 1) modparam("usrloc", "use_domain", 1) modparam("usrloc", "nat_bflag", FLB_NATB)=20 modparam("usrloc", "db_ops_ruid", 1) request_route{ route(REG); route(TESTREG); exit; } route[SEND_TESTREG] { $uac_req(method)=3D"PUBLISH"; $uac_req(ruri) =3D $tu; $uac_req(furi) =3D $tu; $uac_req(turi) =3D $tu; $uac_req(callid) =3D $ci;=20 $uac_req(ouri) =3D "MYADDRPORT"; uac_req_send(); } route[PRINT_REGISTERED] { if (registered("location", "$tu")){ xlog("L_INFO", "$rm $ci registered"); } else{ xlog("L_INFO", "$rm $ci NOT registered"); } } route[REG] { if (!is_method("REGISTER")) return; xlog("L_INFO", "-------------------------------------"); route(PRINT_REGISTERED); if ( !save("location") ) { sl_reply_error(); exit; } route(PRINT_REGISTERED); # children=3D8 route(SEND_TESTREG); route(SEND_TESTREG); route(SEND_TESTREG); route(SEND_TESTREG); route(SEND_TESTREG); route(SEND_TESTREG); route(SEND_TESTREG); route(SEND_TESTREG); exit; } route[TESTREG]{ if (!is_method("PUBLISH")) return; usleep("500"); route(PRINT_REGISTERED); sl_send_reply("200", "OK"); exit; } ``` #### Log Messages Oct 9 20:13:38 kamailio[19514] INFO: