[OpenSIPS-Users] CANCELing the connection - no totag in ACK

Maciej Bylica mbsip at gazeta.pl
Thu Nov 18 23:43:36 CET 2010


Iñaki,

Thank You for clearing a few things up.
Yes You are absolutely right with all signalization aspect, but
transaction identifier inspection really makes me think and again i
see that there are a lot aspects i need to take care of.
Could you pls point me to some hints describing the proper way to
build transaction inspection?

Thanks,
Maciej.


>> 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>
>
> _______________________________________________
> Users mailing list
> Users at lists.opensips.org
> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>



More information about the Users mailing list