[SR-Users] CANCEL with Totag

Iñaki Baz Castillo ibc at aliax.net
Wed Nov 24 19:13:21 CET 2010


2010/11/24 Alex Balashov <abalashov at evaristesys.com>:
> On 11/24/2010 10:36 AM, Iñaki Baz Castillo wrote:
>
>> It works as I expected:
>>
>> - The CANCEL arrives to Kamailio (1.5) with Totag (bug in UAC).
>>
>> - Kamailio does t_relay() for the CANCEL without checking
>> loose-routing or Totag (CANCEL threatment is now above loose-routing
>> section).
>>
>> - Kamailio replies 200 to the CANCEL and generates its own CANCEL (of
>> course with no Totag).
>
> It seems to me that this should not work here if Kamailio were being
> properly strict.
>
> As per RFC 3261 Section 9.1, "Client Behavior" in "Canceling a Request:
>
>   The Request-URI, Call-ID, To, the numeric part of CSeq, and
>   From header fields in the CANCEL request MUST be identical to
>   those in the request being cancelled, including tags.
>
> If the initial INVITE did not have a To tag (which, it of course, doesn't),
> neither should the CANCEL.  Otherwise, this CANCEL should not be matched.

I know, sure.  This is a bug in the UAC. I have done a workaround in
Kamailio. And as I expected, Kamailio doesn't care the existence or
not of a Totag, it just matches the INVITE transaction by inspecting
the Via branch (which allows my workaround).


-- 
Iñaki Baz Castillo
<ibc at aliax.net>



More information about the sr-users mailing list