[OpenSIPS-Users] CANCELing the connection - no totag in ACK
Iñaki Baz Castillo
ibc at aliax.net
Thu Nov 18 22:28:15 CET 2010
2010/11/13 Maciej Bylica <mbsip at gazeta.pl>:
> The call is generated by UA registered with Opensips, then t_relayed
> to OPERATOR_1 and his MGW to PSTN.
> UA------>OPENSIPS----->OPERATOR_1_SIPPROXY-------->MGW
>
> The proper call flow should be (A) is UA, B is OPERATOR_1_SIPPROXY
> 1. (A)--------------------INVITE --------------------->(B)
> 2. (A)<------------------180 RIGING------------------(B)
> 3. (A)--------------------CANCEL------------------->(B)
> 4. (A)<------------------OK----------------------------(B)
> 5. (A)<---------487 Request Terminated-----------(B)
> 6. (A)--------------------ACK------------------------->(B)
> and it looks the same, but:
>
> - CANCEL should be sent by (A) without To tag
> - OK should be sent by (B) with To tag
> - 487 with the same To tag
Wrong. 200 OK for CANCEL is sent by the proxy (CANCEL is hop by hop).
However 487 is sent by the UAS (not by the proxy) and of course the
UAS doesn't know which To tag has chosen the proxy for the 200
(CANCEL). Also, there could be multiple UAS's (parallel forking).
> - ACK should be sent by (A) with exactly the same To tag.
Just a final 487 will be delivered by the proxy to the UAC (even in
case there is parallel forking) so the ACK must contain the same Totag
than the 487 received.
> Unfortunately it is not my case :(
> - I am fine with CANCEL
> - I am receiving proper OK with To tag
> - and here is the source of my problem. 487 is sent by (B) without
> totag proposed in OK message previously sent.
And that is correct.
> - ACK is obviously using the same totag as OK,
That is wrong. It should be the same Totag as the UAC receives in the 487.
> so im my case no totag is incorporated into ACK method.
> The after-effect is that ACK is asked for proxy auth.
The proxy should not be dialog aware (Totag value aware). It should
inspect just the transaction identifier (Via's branch and CSeq).
--
Iñaki Baz Castillo
<ibc at aliax.net>
More information about the Users
mailing list