[OpenSER-Users] Bug in 200 to CANCEL (wrong To_tag)

Klaus Darilion klaus.mailinglists at pernau.at
Thu Oct 25 14:27:06 CEST 2007


You could ask on the sip-implementors mailing list.

regards
klaus

Iñaki Baz Castillo schrieb:
> El Thursday 25 October 2007 11:15:41 Klaus Darilion escribió:
>> Iñaki Baz Castillo schrieb:
>>> El Tuesday 23 October 2007 14:31:23 Klaus Darilion escribió:
>>>> And what says the RFC about a proxy which does parallel forking? Then
>>>> there may be multiple 180 ringing with multiple to tags. Which one
>>>> should be used?
>>> Hi again.
>>>
>>> Note that RFC 3261 assumes parallel forking in a different way as OpenSer
>>> does. OpenSer just replies **one** final response to UAC but notes what
>>> RFC 3261 says:
>> I think it does not assume a different way then Openser - this is just a
>> race condition: proxy forwards to A and B. A sends 200. proxy sends 200
>> to caller and CANCEL to B. If B picks up the phone and sends the 200 OK
>> before the CANCEL arrives then the proxy should forward the 200 OK from
>> B to the caller too and the caller has to deal to send a BYE to one of
>> the calls.
>>
>> Further this race condition is not related to you CANCEL problem as if
>> there is already a 200 OK there will not be a CANCEL anymore, but a BYE.
> 
> Yes, it's different case.
> In fact, I'm thinking about this CANCEL problem I can't find a solution 
> compliant with that RFC expects, it's just impossible:
> 
> RFC says that when UAC sends a CANCEL (with no to_tag) it must receive a "200 
> cancelled" with the to_tag of previous 180 or 183 (where there is a to_tag).
> But in the other hand, CANCEL is hop by hop related, so the SIP device that 
> must reply to that CANCEL is the proxy and not the UAS. If the proxy 
> generates various branchs because parallel forking there could be various 180 
> with different to_tag, so in case of CANCEL how could OpenSer reply a 200 
> with every to_tags the UAC knows? that's why OpenSer replies with a new 
> to_tag.
> 
> If I'm right in the above explanation (could you confirm please?) then, what 
> should we do? open a bug for RFC? XDD
> It's clear that Asterisk in pedantic mode (this is: matching tags) it doesn't 
> recognize the "200 cancelled" with new tag from OpenSer. Is it because 
> being "too much" RFC compliant?
> 
> 
> Best regards.
> 
> 




More information about the Users mailing list