[SR-Users] potential PRACK related topos bug
miconda at gmail.com
Tue Apr 13 20:39:59 CEST 2021
On 13.04.21 20:35, Daniel-Constantin Mierla wrote:
> 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
>> 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.
Btw, just to add as I forgot about, parallel forking was not something
really taken in consideration, the case of topos being int he node after
a proxy doing parallel forking, it may work, just that was also not part
of initial design, you should test it in case you needed for such scenarios.
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)
More information about the sr-users