Re: [Sip] Open Issue #7: CANCEL for non-INVITE

Christer Holmberg <christer.holmberg@lmf.ericsson.se> Mon, 10 September 2001 06:21 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 CAA03557 for <sip-archive@odin.ietf.org>; Mon, 10 Sep 2001 02:21:08 -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 CAA20026; Mon, 10 Sep 2001 02:07:38 -0400 (EDT)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id CAA19995 for <sip@optimus.ietf.org>; Mon, 10 Sep 2001 02:07:36 -0400 (EDT)
Received: from penguin-ext.wise.edt.ericsson.se (penguin-ext.wise.edt.ericsson.se [194.237.142.110]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id CAA02095 for <sip@ietf.org>; Mon, 10 Sep 2001 02:05:55 -0400 (EDT)
Received: from fogerty.lmf.ericsson.se (fogerty.lmf.ericsson.se [131.160.11.6]) by penguin.wise.edt.ericsson.se (8.11.0/8.10.1/WIREfire-1.3) with ESMTP id f8A67Kv04582; Mon, 10 Sep 2001 08:07:21 +0200 (MEST)
Received: from lmf.ericsson.se (lmf00234pc.lmf.ericsson.se [131.160.30.33]) by fogerty.lmf.ericsson.se (8.11.3/8.11.3) with ESMTP id f8A67Jb14958; Mon, 10 Sep 2001 09:07:19 +0300 (EET DST)
Message-ID: <3B9C5895.AB292BD@lmf.ericsson.se>
Date: Mon, 10 Sep 2001 09:07:17 +0300
From: Christer Holmberg <christer.holmberg@lmf.ericsson.se>
X-Mailer: Mozilla 4.61 [en] (WinNT; I)
X-Accept-Language: en
MIME-Version: 1.0
To: Jonathan Rosenberg <jdrosen@dynamicsoft.com>
CC: "'Henning G. Schulzrinne'" <hgs@cs.columbia.edu>, sip@ietf.org
Subject: Re: [Sip] Open Issue #7: CANCEL for non-INVITE
References: <B65B4F8437968F488A01A940B21982BF020D6806@DYN-EXCH-001.dynamicsoft.com>
Content-Type: multipart/mixed; boundary="------------D9875CBCDAD0137F11C8DC28"
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

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