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

Klaus Darilion klaus.mailinglists at pernau.at
Fri Mar 7 10:26:54 CET 2008



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.


> 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.

anyway, I asked on the sip-implementors list for help ... and IMO PRACK 
should be used for lossy networks.

regards
klaus



More information about the Devel mailing list