RE: [Sipping] Call Completion: In Defense of Explicit Operations

"Michael Hammer \(mhammer\)" <mhammer@cisco.com> Mon, 09 April 2007 17:55 UTC

Return-path: <sipping-bounces@ietf.org>
Received: from [127.0.0.1] (helo=stiedprmman1.va.neustar.com) by megatron.ietf.org with esmtp (Exim 4.43) id 1Hay5J-0006ne-Py; Mon, 09 Apr 2007 13:55:21 -0400
Received: from [10.91.34.44] (helo=ietf-mx.ietf.org) by megatron.ietf.org with esmtp (Exim 4.43) id 1Hay5I-0006mh-9x for sipping@ietf.org; Mon, 09 Apr 2007 13:55:20 -0400
Received: from rtp-iport-1.cisco.com ([64.102.122.148]) by ietf-mx.ietf.org with esmtp (Exim 4.43) id 1Hay5G-0004uq-TU for sipping@ietf.org; Mon, 09 Apr 2007 13:55:20 -0400
Received: from rtp-dkim-2.cisco.com ([64.102.121.159]) by rtp-iport-1.cisco.com with ESMTP; 09 Apr 2007 13:55:20 -0400
Received: from rtp-core-2.cisco.com (rtp-core-2.cisco.com [64.102.124.13]) by rtp-dkim-2.cisco.com (8.12.11/8.12.11) with ESMTP id l39HtIQA009176; Mon, 9 Apr 2007 13:55:18 -0400
Received: from xbh-rtp-211.amer.cisco.com (xbh-rtp-211.cisco.com [64.102.31.102]) by rtp-core-2.cisco.com (8.12.10/8.12.6) with ESMTP id l39HshlQ014015; Mon, 9 Apr 2007 17:55:14 GMT
Received: from xmb-rtp-20b.amer.cisco.com ([64.102.31.53]) by xbh-rtp-211.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 9 Apr 2007 13:55:12 -0400
X-MimeOLE: Produced By Microsoft Exchange V6.5
Content-class: urn:content-classes:message
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
Subject: RE: [Sipping] Call Completion: In Defense of Explicit Operations
Date: Mon, 09 Apr 2007 13:55:07 -0400
Message-ID: <072C5B76F7CEAB488172C6F64B30B5E302DB35A0@xmb-rtp-20b.amer.cisco.com>
In-Reply-To: <46154996.50305@nostrum.com>
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
Thread-Topic: [Sipping] Call Completion: In Defense of Explicit Operations
Thread-Index: Acd3tjKkl07dgjfaS4qxHAiuLtrMgQDGHGUA
References: <46154996.50305@nostrum.com>
From: "Michael Hammer (mhammer)" <mhammer@cisco.com>
To: Adam Roach <adam@nostrum.com>, SIPPING WG <sipping@ietf.org>
X-OriginalArrivalTime: 09 Apr 2007 17:55:12.0076 (UTC) FILETIME=[385D18C0:01C77AD0]
DKIM-Signature: v=0.5; a=rsa-sha256; q=dns/txt; l=6153; t=1176141318; x=1177005318; c=relaxed/simple; s=rtpdkim2001; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=mhammer@cisco.com; z=From:=20=22Michael=20Hammer=20\(mhammer\)=22=20<mhammer@cisco.com> |Subject:=20RE=3A=20[Sipping]=20Call=20Completion=3A=20In=20Defense=20of= 20Explicit=20Operations |Sender:=20 |To:=20=22Adam=20Roach=22=20<adam@nostrum.com>, =20=22SIPPING=20WG=22=20<s ipping@ietf.org>; bh=XHtPJ61pvX9JBtEhsi+c3rwkOShZ4FXUTtR1wd57vXo=; b=CmStRF2C85ZP8x4TzBuV9Z6A7mA23ooFaj0vDYAaFf6yqufk9qHe0GJjn69nT3EPuzzxAb3H Oq7PLVrsteq5nc44JLYibeOeejmi0C6v4M5CZeqwEx1q2WjCpE9fQGFJ;
Authentication-Results: rtp-dkim-2; header.From=mhammer@cisco.com; dkim=pass ( sig from cisco.com/rtpdkim2001 verified; );
X-Spam-Score: 0.0 (/)
X-Scan-Signature: b2809b6f39decc6de467dcf252f42af1
Cc:
X-BeenThere: sipping@ietf.org
X-Mailman-Version: 2.1.5
Precedence: list
List-Id: "SIPPING Working Group \(applications of SIP\)" <sipping.ietf.org>
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=unsubscribe>
List-Post: <mailto:sipping@ietf.org>
List-Help: <mailto:sipping-request@ietf.org?subject=help>
List-Subscribe: <https://www1.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=subscribe>
Errors-To: sipping-bounces@ietf.org

Adam,

I am confused about the disconnect between the true state of the call in
the solution you proprose.  In the case of CCBS or CCNR, in fact no call
is in progress.  The initial call has failed and the service is all
about state of a queue for managing priority of the next call attempt
that should be made with the targetted party.  Your reference to a "call
queue" is off the mark.  Only one call is in progress, the one that
caused the target to be busy.  (Or none if NR)  The other callers are
free to call elsewhere or not.  Their lines are not busy with the caller
"hanging on".  That is the whole point of the feature.

Also, I thought binary floor control was about manage sessions/media
*after* a call is completed.  In this way, it seems to be tainted by the
dual operational effects you assert for a subscription-based mechanism.
If floor control for failed as well as completed calls?

And yes, interworking with the TDM version of the feature is important.

To me the Subscription model was exactly called for since this is all
about learning the state of the priority order or not only who called,
but who called and wanted to be notified in order to call again.

Mike


> -----Original Message-----
> From: Adam Roach [mailto:adam@nostrum.com] 
> Sent: Thursday, April 05, 2007 3:10 PM
> To: SIPPING WG
> Subject: [Sipping] Call Completion: In Defense of Explicit Operations
> 
> Despite what appeared to be early agreement in the working 
> group (and on the MIG mailing list) that we wanted to 
> discourage the use of SUBSCRIBE and NOTIFY as general purpose 
> RPC mechanisms. This is the primary objection that I have 
> raised to draft-poetzl-sipping-call-completion,
> which uses SUBSCRIBE and NOTIFY to manipulate call queue state.
> 
> In the spirit of sending text, I described an alternate set 
> of mechanisms in draft-roach-sipping-callcomp-bfcp, which 
> performs the same task without having implied side effects 
> from the creation of a subscription.
> 
> I'll further note that the use of SUBSCRIBE to both create a 
> subscription and manipulate a call queue falls under the 
> category of "one operation with two separate effects." We 
> have a very poor institutional memory indeed if we cannot 
> recall why operations of this nature are Really Bad Ideas 
> (cf. REFER creating a subscription; REGISTER with call 
> processing upload; and BYE with an "Also" header field).
> 
> All of this notwithstanding, in Prague, there seemed to be a 
> curious indifference to pursuing the path laden with such 
> Really Bad Ideas. I suspect that this indifference is a 
> result of the arguments raised so far against the mechanism I 
> have proposed, which I have done little to refute so far 
> (largely because I believed that the merits of a system with 
> explicit operations were self-evident enough that the 
> objections would seem trifling in comparison).
> 
> As far as I can tell, the objections raised so far have 
> fallen into three primary categories:
> 
>    1. "The use of BFCP is troubling because, in a decomposed gateway,
>       the BFCP goes to the Media Gateway, while the signaling goes to
>       the Media Gateway Controller."
> 
>       This objection, raised on one of the slides during the SIPPING
>       meeting on March 23rd as the official reason TISPAN rejected the
>       approach, is based on a simple misconception.
> 
>       The BFCP goes wherever the SDP says the BFCP goes. In 
> the case of
>       a decomposed gateway, this could be the Media Gateway, the Media
>       Gateway Controller, or any other random network-connected server
>       that the Media Gateway Controller wants. I agree that 
> it probably
>       is most sensible to send it to the Media Gateway Controller, and
>       this is trivial to achieve.
> 
>    2. "In the case of PSTN interwork, there is no way to 
> guarantee that
>       the ISUP (or other) signaling from the PSTN side lands 
> on the same
>       gateway that the client has a BFCP connection to."
> 
>       This is true, and it is a relatively difficult problem to solve
>       (not impossible, though; I proposed several potential 
> solutions in
>       San Diego). It is meaningless to raise it in objection to an
>       alternate proposal, since it exists in almost precisely the same
>       form in draft-poetzl-sipping-call-completion; and any solution
>       that can be applied to one solution can be applied to the other.
> 
>    3. "We don't want to add another protocol."
> 
>       I suspect this argument is the one that is receiving the most
>       traction, probably because most of the people involved in the
>       discussion are not familiar with BFCP. The protocol 
> itself is very
>       straightforward and extremely easy to implement. In fact,
>       exclusively for the purpose of answering this email (and
>       demonstrating this very point), I threw together a BFCP
>       implementation sufficient for implementation of the Call
>       Completion service described in 
> draft-roach-sipping-callcomp-bfcp.
>       It took me two hours, and compiles down to less than 4 kb of
>       object code on an intel processor. It's attached to this message
>       to help the participants in the conversation understand just how
>       very little is being added to applications by this use of BFCP.
> 
> So, is that it? The first two objections are simply red 
> herrings, and the third is based on a misconception regarding 
> the level of effort required to implement BFCP. Are we really 
> going to down the path of doing things incorrectly over what 
> amount to misunderstandings?
> 
> /a
> 
> 
> 
> P.S. In case anyone wants a more full-featured BFCP stack, 
> I'll point to 
> the confiance project on SourceForge, available under the Academic 
> Freedom License, which is compatible with commercial development. See 
> http://confiance.sourceforge.net/
> 

_______________________________________________
Sipping mailing list  https://www1.ietf.org/mailman/listinfo/sipping
This list is for NEW development of the application of SIP
Use sip-implementors@cs.columbia.edu for questions on current sip
Use sip@ietf.org for new developments of core SIP