[SR-Users] potential PRACK related topos bug

Daniel-Constantin Mierla miconda at gmail.com
Wed Apr 21 15:15:59 CEST 2021


On 20.04.21 13:09, Juha Heinanen wrote:
> Daniel-Constantin Mierla writes:
>
>> Can you try with latest master branch? I pushed a commit to topos
>> module.
> Tried with latest master and the following in-dialog code:
>
>     if (!loose_route_mode("1")) {
>         if (is_method("ACK")) {
>             if (t_check_trans()) {
>                 t_relay();
>             } else {
>                 xinfo("Discarding unmatched $rm <$ru> by <$fu>\n");
>             };
>         } else {
>             xnotice("Discarding in-dialog $rm <$ru> without Route header\n");
>             send_reply("404", "Not found");
>         };
>         exit;
>     };
>
> Got this to syslog:
>
> Apr 20 10:53:11 edge /usr/bin/edge-proxy[15624]: NOTICE: {1 2 PRACK 
> HWoFVYqzNT_-3egFTTvu0Q} <script>: Discarding in-dialog PRACK 
> <sip:atpsh-607eb272-3d06-1-leg1 at 46.182.160.60> without Route header
>
> when P1 received PRACK from A (in toplogy A - P1 - P2 - P1 - B).
>
> topos event route in P1 looks like this:
>
> event_route[topos:msg-sending] {
>
>   if ($mt == 1) {
>     if (is_method("INVITE") && !has_totag()) {
>         if ($sndto(ip) == "P2") {
> 	    xinfo("Setting topos leg to <leg1> on <$rm> to $sndto(ip)");
> 	    tps_set_context("leg1");
> 	} else {
> 	    xinfo("Setting topos leg to <leg2> on <$rm> to $sndto(ip)");
> 	    tps_set_context("leg2");
>         };
>     };
> }

Hmm ... the issue seems to be related to missing record-route list for
callee side in the transaction record.

I do not have a test bedwhere I can reproduce during the next days,
would it be possible for you to use topos with db backend (mysql)
instead of redis and send again the logs with debug=3? That should
provide details of the db queries and indicate if the record-route
values are stored/retrieved to/from database.

Cheers,
Daniel

-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - Online
May 17-20, 2021 (Europe Timezone) - June 7-10, 2021 (America Timezone)
  * https://www.asipto.com/sw/kamailio-advanced-training-online/




More information about the sr-users mailing list