[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