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