[SR-Users] potential PRACK related topos bug

Juha Heinanen jh at tutpro.com
Sun Apr 18 17:33:48 CEST 2021

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.

-- Juha

More information about the sr-users mailing list