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
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.
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.
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/