Re: [Sip] Open Issue #7: CANCEL for non-INVITE
"Bob Penfield" <bpenfield@acmepacket.com> Mon, 10 September 2001 21:24 UTC
Received: from optimus.ietf.org (ietf.org [132.151.1.19] (may be forged)) by ietf.org (8.9.1a/8.9.1a) with ESMTP id RAA02235 for <sip-archive@odin.ietf.org>; Mon, 10 Sep 2001 17:24:44 -0400 (EDT)
Received: from optimus.ietf.org (localhost [127.0.0.1]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id RAA19195; Mon, 10 Sep 2001 17:02:19 -0400 (EDT)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id RAA19104 for <sip@optimus.ietf.org>; Mon, 10 Sep 2001 17:02:14 -0400 (EDT)
Received: from acmepacket.com (mail1.acmepacket.com [63.67.143.10]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id RAA01556 for <sip@ietf.org>; Mon, 10 Sep 2001 17:00:44 -0400 (EDT)
Received: from BobP [63.67.143.2] by acmepacket.com (SMTPD32-6.05) id AA4D7950142; Mon, 10 Sep 2001 17:02:05 -0400
Message-ID: <002501c13a3b$9eb184c0$2300000a@acmepacket.com>
From: Bob Penfield <bpenfield@acmepacket.com>
To: Suheel Hussain <ssh@cisco.com>, Christer Holmberg <christer.holmberg@lmf.ericsson.se>
Cc: Jonathan Rosenberg <jdrosen@dynamicsoft.com>, "'Henning G. Schulzrinne'" <hgs@cs.columbia.edu>, sip@ietf.org
References: <B65B4F8437968F488A01A940B21982BF020D6806@DYN-EXCH-001.dynamicsoft.com> <3B9C5895.AB292BD@lmf.ericsson.se> <3B9D0BFB.6050602@cisco.com>
Subject: Re: [Sip] Open Issue #7: CANCEL for non-INVITE
Date: Mon, 10 Sep 2001 17:00:27 -0400
MIME-Version: 1.0
Content-Type: text/plain; charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
X-Priority: 3
X-MSMail-Priority: Normal
X-Mailer: Microsoft Outlook Express 5.50.4133.2400
X-MimeOLE: Produced By Microsoft MimeOLE V5.50.4133.2400
Content-Transfer-Encoding: 7bit
Sender: sip-admin@ietf.org
Errors-To: sip-admin@ietf.org
X-Mailman-Version: 1.0
Precedence: bulk
List-Id: Session Initiation Protocol <sip.ietf.org>
X-BeenThere: sip@ietf.org
Content-Transfer-Encoding: 7bit
----- Original Message ----- From: "Suheel Hussain" <ssh@cisco.com> To: "Christer Holmberg" <christer.holmberg@lmf.ericsson.se> Cc: "Jonathan Rosenberg" <jdrosen@dynamicsoft.com>; "'Henning G. Schulzrinne'" <hgs@cs.columbia.edu>; <sip@ietf.org> Sent: Monday, September 10, 2001 2:52 PM Subject: Re: [Sip] Open Issue #7: CANCEL for non-INVITE > Christer, > By sending an error code for a CANCEL, does it mean that error-code > should be sent only if I (UA) do not want to process non-INVITE CANCEL? > If yes, then this could lead to backward compatibility problem -- i.e., an > UA running a new version of SIP sending a non-INVITE CANCEL to and > older version UA. For example: > > UA new UA old > -------- REFER -----------> > start processing REFER > wait..wait > I want to cancel > REFER > --------- CANCEL ----------> > sorry I do not know why this cancel > Discard and keep processing REFER > Whew... > I got REFER cancelled -------- REFER processing complete > call transferred > I don't think we would change the requirement to still wait for a final response to the request. The UA should not think the request is cancelled unless it gets a 487 final response to the original request. This should not change even if we allow responses other than 200-OK to a CANCEL. The response to a CANCEL can tell you the CANCEL was rejected, it cannot tell you it was successful. Only the 487 can tell you that. If you get a 200-OK, or some other final response, the CANCEL did not work. Remember, all transactions complete independently. > In this case absence of an error-code signifies that CANCEL was > successful; whereas UA-old does not cancels REFER. > > How do we handle such conditions? We must still get 487 final response to original request to know that the request has truly been cancelled. > > Christer Holmberg wrote: > > >Hi, > > > >My personal opinion is that we, like Henning said, simply should have a > >error code telling "sorry, I can't cancel the specific request". Of > >course we can, if needed, also have different error codes for request > >that can't be cancelled because a final response has been sent, and > >another code for requests that the UAS simply doesn't allow - for any > >reason - the UAC to CANCEL. > > > >For example, even if we most likely always will accept a CANCEL for the > >initial INVITE, there are many cases where we may not accept a CANCEL > >for a re-INVITE. > > > >Eg, if I receive a re-INVITE to change some codecs, I may not accept a > >CANCEL. EVEN if I would be smart enough to remember the previous codecs > >it is not even sure that I have resources to change them back. In that > >case we would need a code saying "well, I did CANCEL your re-INVITE, but > >now I am not able to put the old codecs back, so it would probably be a > >good idea to release the whole call". No, I don't think we want that... > >Another thinkg would be for the UAS to send a BYE, since it can't put > >the codecs back, but I don't think we want that either, so... > > > >Regards, > > > >Christer Holmberg > >Ericsson Finland > > > > > > > > > >Jonathan Rosenberg wrote: > > > >> > >> > >>>-----Original Message----- > >>>From: Henning G. Schulzrinne [mailto:hgs@cs.columbia.edu] > >>>Sent: Sunday, September 02, 2001 5:24 PM > >>>To: sip@ietf.org > >>>Subject: [Sip] Open Issue #7: CANCEL for non-INVITE > >>> > >>> > >>>(Due to travel, I probably missed some of the discussion, so excuse me > >>>for re-raising old issues.) > >>> > >>>A few notes: > >>> > >>>- I think the complexity of CANCEL for non-INVITE on the > >>>server side is > >>>essentially zero. If you don't implement it, you can either return 481 > >>>(i.e., the request has already been completed) or 405 (but see below). > >>> > >>Well, the proposal was pretty much that. It does nothing. Just respond to > >>it. The point is that a client MUSTNOT send it anymore (i.e., its deprecated > >>as it doesn't do anything useful). > >> > >>>- If we don't allow CANCEL for non-INVITE, we have to extend the > >>>definition of 405 (or define a new status code), since the method *is* > >>>supported for an INVITE for the same URL. To wit, the current > >>>text says: > >>> > >>>"The method specified in the \header{Request-Line} is not allowed for > >>>the > >>>address identified by the \header{Request-URI}. The response {\MUST} > >>>include an \header{Allow} header field containing a list of valid > >>>methods for the indicated address." > >>> > >>>Note that this defines the granularity of requests at the URI > >>>level, not > >>>at the method level. > >>> > >>Right. It wasn't the proposal to respond with a 405. Just a 200 OK, in fact. > >> > >>>- Does anything else get simpler if we disallow CANCEL for non-INVITE? > >>> > >>The thing we want to get rid of is the usage in the client, and the > >>processing that, in theory, would need to happen in the server if this was > >>more than a no-op. For example, cancelling a SUBSCRIBE or something would > >>cause the subscription state to be destroyed, and a 487 to the SUBSCRIBE to > >>be sent. With the proposal, the server just 200 OKs the CANCEL, and > >>otherwise ignores it. No deletion of state. No generating of a special > >>response to SUBSCRIBE. > >> > >>>- Under the current model, non-INVITE transactions can have non-zero > >>>duration, if you return a 1xx response. Thus, it is at least > >>>conceivable > >>>that there are methods where the CANCEL could actually accomplish > >>>something. > >>> > >>Well, except that you still need to cotninue retransmitting the request at > >>5s intervals to trigger a response. This is wasteful, and results in slow > >>transactions. I had thought that we had agreed as a group that non-INVITE > >>requests really needed to be responded to immediately to be effective. > >> > >>-Jonathan R. > >> > >>--- > >>Jonathan D. Rosenberg, Ph.D. 72 Eagle Rock Ave. > >>Chief Scientist First Floor > >>dynamicsoft East Hanover, NJ 07936 > >>jdrosen@dynamicsoft.com FAX: (973) 952-5050 > >>http://www.jdrosen.net PHONE: (973) 952-5000 > >>http://www.dynamicsoft.com > >> > >>_______________________________________________ > >>Sip mailing list http://www1.ietf.org/mailman/listinfo/sip > >>This list is for NEW development of the core SIP Protocol > >>Use sip-implementors@cs.columbia.edu for questions on current sip > >>Use sipping@ietf.org for new developments on the application of sip > >> > >> > > -- > > Suheel Hussain > ssh@cisco.com > Cisco Work # (919) 392-2312 > > > _______________________________________________ Sip mailing list http://www1.ietf.org/mailman/listinfo/sip This list is for NEW development of the core SIP Protocol Use sip-implementors@cs.columbia.edu for questions on current sip Use sipping@ietf.org for new developments on the application of sip
- [Sip] Open Issue #7: CANCEL for non-INVITE Jonathan Rosenberg
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Rosen, Brian
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Vijay Gurbani
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Kim Liu
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Shail Bhatnagar
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Kim Liu
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Jonathan Rosenberg
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Brett Tate
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Drage, Keith (Keith)
- [Sip] Open Issue #7: CANCEL for non-INVITE Henning G. Schulzrinne
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Jonathan Rosenberg
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Christer Holmberg
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Henning Schulzrinne
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Rohan Mahy
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Suheel Hussain
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Bob Penfield
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Drage, Keith (Keith)
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Robert Sparks
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Drage, Keith (Keith)
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Robert Sparks
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Jonathan Rosenberg
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Christer Holmberg
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Henning G. Schulzrinne
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Henning G. Schulzrinne
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Gonzalo Camarillo
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Anders Kristensen
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE James Undery
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Henning G. Schulzrinne
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Bob Penfield
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Drage, Keith (Keith)
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Christer Holmberg
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Jonathan Rosenberg
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Bob Penfield
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE James Undery
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Jo Hornsby
- Re: [Sip] Open Issue #7: CANCEL for non-INVITE Henning Schulzrinne
- RE: [Sip] Open Issue #7: CANCEL for non-INVITE Drage, Keith (Keith)