[Kamailio-Users] INVITE branch handling for multiple contacts.

Juha Heinanen jh at tutpro.com
Sun Aug 3 09:21:48 CEST 2008


Alex Balashov writes:

 > 3. Proxy bifurcates the call into two branches 'branch A' (to A) and 
 > 'branch B' (to B).  Rewrites RURI, relays INVITE.
 > 
 > 4. A answers with 200 OK.
 > 
 > 5. B answers with 200 OK.
 > 
 > 6. Proxy passes back 200 OK to SBC for A.  Then for B.
 > 
 > 7. SBC issues in-dialog end-to-end ACK for that 200 OK;  proxy decides 
 > to forward it only to A as per the ONREPLY-ROUTE.  No replies are 
 > forwarded to B.  It is here that I think things go wrong.
 > 
 > 8. B keeps sending 200 OKs and getting no ACKs for them, and eventually 
 > gives up and kills the session.
 > 
 > So, it looks like not all replies are being statefully relayed to both 
 > branches.
 > 
 > Additionally, it looks like the following is happening:
 > 
 > - At step #6 above, the 200 OK passed to the SBC is for A only.

canceling of b branch should happen already after step 4, but perhaps 4 and
5 take place almost simultaneously and there is some race condition
related bug in tm module.

-- juha




More information about the sr-users mailing list