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

Maxim Sobolev sobomax at sippysoft.com
Fri Mar 7 10:17:37 CET 2008


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

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.

Regards,
-- 
Maksym Sobolyev
Sippy Software, Inc.
Internet Telephony (VoIP) Experts
T/F: +1-646-651-1110
Web: http://www.sippysoft.com



More information about the Devel mailing list