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

"Henning G. Schulzrinne" <hgs@cs.columbia.edu> Mon, 24 September 2001 17:06 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 NAA24071 for <sip-archive@odin.ietf.org>; Mon, 24 Sep 2001 13:06:35 -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 MAA29999; Mon, 24 Sep 2001 12:44:54 -0400 (EDT)
Received: from ietf.org (odin [132.151.1.176]) by optimus.ietf.org (8.9.1a/8.9.1) with ESMTP id MAA29968 for <sip@ns.ietf.org>; Mon, 24 Sep 2001 12:44:52 -0400 (EDT)
Received: from opus.cs.columbia.edu (opus.cs.columbia.edu [128.59.20.100]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id MAA22972 for <sip@ietf.org>; Mon, 24 Sep 2001 12:44:44 -0400 (EDT)
Received: from cs.columbia.edu (metroliner.cs.columbia.edu [128.59.19.252]) by opus.cs.columbia.edu (8.9.3+Sun/8.9.3) with ESMTP id MAA02820; Mon, 24 Sep 2001 12:44:47 -0400 (EDT)
Message-ID: <3BAF62FF.768ADE99@cs.columbia.edu>
Date: Mon, 24 Sep 2001 12:44:47 -0400
From: "Henning G. Schulzrinne" <hgs@cs.columbia.edu>
Organization: Dept. of Computer Science, Columbia University
X-Mailer: Mozilla 4.78 [en] (X11; U; Linux 2.2.19-3cucs i686)
X-Accept-Language: en
MIME-Version: 1.0
To: James Undery <jundery@ubiquity.net>
CC: sip@ietf.org
Subject: Re: [Sip] Open Issue #7: CANCEL for non-INVITE
References: <NFBBIOJHKKAKGOAKHCCNEEKLCGAA.jundery@ubiquity.net>
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

James Undery wrote:
> 

> The problem I see here is the difference between complete immidately,
> and the ability to cancel before completion. For example this all
> started because of REGISTER, sending 100 then attempting to do the
> database magic (possibly over a network) makes sense to restrict
> retransmission, yet providing full rollback semantics to allow the
> REGISTER to cancel is trickier.

As I have tried to say numerous times before, nobody has to implement
CANCEL even under the current state of affairs. If CANCELing REGISTER is
difficult (which seems likely), just don't do it. CANCEL is advisory, an
optimization. Somehow the "doesn't work for all cases" seems to get
confused with "it's never useful".

There are three possible views of the non-INVITE world:

(1)everything must complete immediately (i.e., within 500 ms) -> no
1xx, no CANCEL

(2) most non-INVITE complete immediately almost all the time, but on
occasion they don't
  (2a) but these things are never cancellable (whether with CANCEL or
something else)
  (2b) for some cases, they are cancellable

I've argued for 2b, simply because I can't rule out this case and since
it seems to reflect reality in other spheres of life.

CANCEL makes sense for view 2b, although it has been argued that you
could also devise a new method for methods where 2b holds. (However,
that clearly only works if overlapping transactions are allowed.) That
is an approximation to CANCEL, but not quite functionally equivalent,
due to the different forking proxy behavior.


-- 
Henning Schulzrinne   http://www.cs.columbia.edu/~hgs

_______________________________________________
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