[OpenSER-Devel] [Serdev] Possible bug in the tm module in the presence of packet loss/branches

Bogdan-Andrei Iancu bogdan at voice-system.ro
Fri Mar 7 11:39:39 CET 2008


Hi Klaus,


Klaus Darilion wrote:
> Maxim Sobolev schrieb:
>   
>> Klaus Darilion wrote:
>>     
>>>> The correct behavior of the tm module in this case would be to 
>>>> continue with INVITE re-transmits until we get provisional response 
>>>> and immediate CANCEL once that response comes in.
>>>>         
>>> Is this really the correct behavior? Is this behavior defined in RFC 
>>> 3261?
>>>       
>> --- RFC 3261 ---
>>    Once the CANCEL is constructed, the client SHOULD check whether it
>>    has received any response (provisional or final) for the request
>>    being cancelled (herein referred to as the "original request").
>>
>>    If no provisional response has been received, the CANCEL request MUST
>>    NOT be sent; rather, the client MUST wait for the arrival of a
>>    provisional response before sending the request.
>> --- RFC 3261 ---
>>     
>
> Ok. But this does not explicitly mention that the proxy should still 
> send retransmissions.
>
>   
I agree on this, but so far there was no explicit mention that it should 
or it shouldn't  :)...
>   
>> According to my reading yes, UAC should wait either arrival of the first 
>> provisional response or expiration of Timer B (doing due retransmits in 
>> the meantime for unreliable transports) and send CANCEL if provisional 
>> reply comes in.
>>     
>
> Yes. From figure 5 it looks like retransmissions should not be stopped, 
> but figures are usually not normative.
>   
As mentioned before, IMHO , figure 5 does not contain at all the case of 
a CANCEL generated by the UAC. So I guess it does not provide any useful 
info for our case.
> anyway, I asked on the sip-implementors list for help ... and IMO PRACK 
> should be used for lossy networks.
>   
indeed, I think there are on that list  persons with better 
understanding on the SIP RFC ;)

Regards,
Bogdan



More information about the Devel mailing list