On 18.04.21 17:33, Juha Heinanen wrote:
Daniel-Constantin Mierla writes:
In case of topology:
A - P1 - P2 - P1 - B
is the idea to use in P1 context "in" when initial request comes to P1 from A or B and context "out" when initial request comes to P1 from P2?
Does context need to be set in replies too? If so, is reply context the same as the corresponding request context?
And finally, does context need to be set for in-dialog requests/replies the same way as for initial requests?
Normally the context has to be set for the initial request. Set one value for the request coming from A to P1 and another one for P2 to P1, using one of the event routes.
I did more testing on this. When P1 receives INVITE from A, it calls tps_set_context("leg1") in on_topos:msg-sending and when it receives the INVITE from P2, it calls tps_set_context("leg2").
INVITE and 200 OK seems to work as they should, but when P1 receives ACK from A, it first forwards the ACK back to itself and adds Route header to it. After receiving the ACK from itself, it removes the Route header and adds second Via header with different branch value and then forwards the ACK to P2.
I have pcap of this if it would help to figure out what is going on.
Can you reproduce with debug=3 in kamailio.cfg, send me all the logs messages (from the initial invite to ack) along with the pcap and the records in the database from the topos_d and topos_t table?
Cheers, Daniel