Re: [Sip] Open Issue #7: CANCEL for non-INVITE
Kim Liu <kliu@lucent.com> Thu, 23 August 2001 17:26 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 NAA27692 for <sip-archive@odin.ietf.org>; Thu, 23 Aug 2001 13:26:55 -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 NAA14266; Thu, 23 Aug 2001 13:13:20 -0400 (EDT)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id NAA14237 for <sip@ns.ietf.org>; Thu, 23 Aug 2001 13:13:18 -0400 (EDT)
Received: from daimanta.ascend.com (daimanta.bos.ascend.com [152.148.40.20]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id NAA27493 for <sip@ietf.org>; Thu, 23 Aug 2001 13:12:01 -0400 (EDT)
Received: from reddog.casc.com (reddog.ascend.com [152.148.100.22]) by daimanta.ascend.com (8.9.3/8.9.3) with ESMTP id NAA29456; Thu, 23 Aug 2001 13:12:49 -0400 (EDT)
Received: from lucent.com ([152.148.210.204]) by reddog.casc.com (8.8.8+Sun/8.8.8) with ESMTP id MAA29691; Thu, 23 Aug 2001 12:45:14 -0400 (EDT)
Message-ID: <3B853990.92A26E8F@lucent.com>
Date: Thu, 23 Aug 2001 13:12:48 -0400
From: Kim Liu <kliu@lucent.com>
Organization: Lucent Technologies
X-Mailer: Mozilla 4.72 [en] (X11; I; SunOS 5.8 sun4u)
X-Accept-Language: en
MIME-Version: 1.0
To: Jonathan Rosenberg <jdrosen@dynamicsoft.com>
CC: "'sip@ietf.org'" <sip@ietf.org>
Subject: Re: [Sip] Open Issue #7: CANCEL for non-INVITE
References: <B65B4F8437968F488A01A940B21982BF020D662A@DYN-EXCH-001.dynamicsoft.com>
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
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
Jonathan Rosenberg wrote: [deleted] > > So, here is the first. Issue #7: CANCEL for non-INVITE. > > Issue description: Currently, bis allows for CANCEL for all methods, not > just INVITE. This made sense way back when, before we recognized that all > non-INVITE methods really need to complete immediately. However, if all > INVITEs are supposed to complete right away (i.e., the server immediately > generates a response, and shouldn't wait for user input), the usage of > CANCEL becomes a race condition. Whether the response is cancelled or not > depends on whether or not the CANCEL beats the server's generation of a > response. The argument has been made, and its a good one, that specifying a > mechanism thats ALWAYS a race condition is futile. > > What is the cost? Some have argued that its nothing, since its harder to > special case INVITE. However, I suspect there is a real cost on the server > side. It now must have logic that tells it how to undo anything it might > have done for a particular method before sending the final response. Yuck. > > The one point of contention at the meeting was whether CANCEL is useful for > stopping timed-out transactions. That is, I send a SUBSCRIBE, and never get > a response. After 16s (or whatever it is), I send CANCEL to terminate it, > because I never got a response. However, I think that this is not a good > argument. Since the server is supposed to respond immediately anway, sending > CANCEL won't help trigger a response, since there is clearly some big error > thats preventing the response from coming anyway. Others argued that errors > can happen for lots of reasons, so perhaps the CANCEL will help. > > My proposal was that we should deprecate CANCEL for non-INVITE. The benefit > is not even quantifiable, at best, and the cost seems high. Of course, for > backwards compatibility, a server should not complain if it gets a CANCEL > for a non-invite, just respond 200 OK (or even 405 is OK) and thats it. It > should have responded to the request anyway. > > There was mild consensus on this, but some key participants disagreed. > Please, speak up and lets resolve this. Limit CANCEL for INVITE only. Trying to handle CANCELs for all/arbitrary methods otherwise is going to be prohibitively complex task -- it will end up as a bunch of special cases -- i.e. if CANCEL is allowed for all methods, how do you treat a CANCEL for a CANCEL? A CANCEL for a BYE? A CANCEL for an ACK? That's ridiculous -- you automatically end up with more special cases for handling CANCEL to handle CANCELs for methods where CANCEL makes no sense. It's a case of confusing an application specific signal (trying to stop a service/application started by another method) with a generic procotol level signal (CANCEL). Since only INVITE and BYE can start/change/stop a call, every other method almost has to be an application or service specific invocation, rather than session affecting -- if this assumption is made, then CANCEL, as a session level signal, is not apropriate for halting a service. Kim _______________________________________________ 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)