[SR-Users] potential PRACK related topos bug

Daniel-Constantin Mierla miconda at gmail.com
Tue Apr 13 20:35:07 CEST 2021


On 13.04.21 19:56, Juha Heinanen wrote:
> Test topology using K 5.4 where topos module is loaded in Proxy1:
>
>    A - Proxy1 - Proxy2 - Proxy1 - B
>
> A sends INVITE, B responds with 183 Session Progress, and A sends PRACK.
>
> The result is that PRACK starts to loop in second Proxy1 instance
> instead of being forwarded to B.
>
> If topos module is not loaded in Proxy1, it forwards PRACK to B as it
> should.
>
> Also, if Proxy1 loads topos module, but A does not send PRACK, other
> in-dialog requests (e.g. BYE) work fine.

The topos module was not designed for spirals, so the messages of the
same dialog have to pass only one time through topos processing. For
example, t should work if you load topos in the proxy2. For spirals, it
may work in some cases, but not guaranteed, you may get it working
better by playing with its event_routes to skip topos processing in one
of the Porxy1 steps.

If you need to do two different topology striping, one for each Porxy1
steps, you have to try the development version and set different context
for initial requests on Proxy1 steps. I didn't really test it for this
use case, I needed context for some grouping without the case of
spiralling, but thinking a bit about what it does internally, it may
make it work better with spirals.

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