I agree; the CANCEL can be sent after receiving a 100 response. The following are some additional snippets which define "provisional response" and why RFC 3261 introduced delaying CANCEL until 1xx received.
Section 6: "Provisional Response: A response used by the server to indicate progress, but that does not terminate a SIP transaction. 1xx responses are provisional, other responses are considered final." Section 7.2: "any response with a status code between 100 and 199 is referred to as a "1xx response"" Section 28.1: "A UA or proxy cannot send CANCEL for a transaction until it gets a provisional response for the request. This was allowed in RFC 2543 but leads to potential race conditions." > -----Original Message----- > From: Tarun2 Gupta [mailto:[email protected]] > Sent: Monday, June 10, 2013 11:11 PM > To: Rupesh Mothe; [email protected] > Subject: Re: [Sip-implementors] CANCEL after 100 trying > > Hi Rupesh > > RFC 3261 9.1 Client Behavior throws light on the expected behavior: > > Excerpts: > 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. > > .. > .. > > If it was allowed to send the CANCEL before receiving a response > for the previous request, the server could receive the CANCEL > before the original request. _______________________________________________ Sip-implementors mailing list [email protected] https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors
