Re: [BLISS] thoughts on draft-ietf-bliss-call-completion - URIs and routing

Dale.Worley@comcast.net Fri, 22 August 2008 22:46 UTC

Return-Path: <bliss-bounces@ietf.org>
X-Original-To: bliss-archive@optimus.ietf.org
Delivered-To: ietfarch-bliss-archive@core3.amsl.com
Received: from [127.0.0.1] (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 530933A683F; Fri, 22 Aug 2008 15:46:13 -0700 (PDT)
X-Original-To: bliss@core3.amsl.com
Delivered-To: bliss@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id ABC223A683F for <bliss@core3.amsl.com>; Fri, 22 Aug 2008 15:46:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.303
X-Spam-Level:
X-Spam-Status: No, score=-3.303 tagged_above=-999 required=5 tests=[AWL=0.296, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id K+zJWHHS+msh for <bliss@core3.amsl.com>; Fri, 22 Aug 2008 15:46:10 -0700 (PDT)
Received: from TheWorld.com (pcls6.std.com [192.74.137.146]) by core3.amsl.com (Postfix) with ESMTP id 7F36E3A67CC for <bliss@ietf.org>; Fri, 22 Aug 2008 15:46:10 -0700 (PDT)
Received: from shell.TheWorld.com (IDENT:105@shell01.theworld.com [192.74.137.71]) by TheWorld.com (8.13.6/8.13.6) with ESMTP id m7MMioXj022513 for <bliss@ietf.org>; Fri, 22 Aug 2008 18:44:52 -0400
Received: from shell01.TheWorld.com (localhost.theworld.com [127.0.0.1]) by shell.TheWorld.com (8.13.6/8.12.8) with ESMTP id m7MMioK912658654 for <bliss@ietf.org>; Fri, 22 Aug 2008 18:44:50 -0400 (EDT)
Received: (from worley@localhost) by shell01.TheWorld.com (8.13.6/8.13.6/Submit) id m7MMio0h12702106; Fri, 22 Aug 2008 18:44:50 -0400 (EDT)
Date: Fri, 22 Aug 2008 18:44:50 -0400
Message-Id: <200808222244.m7MMio0h12702106@shell01.TheWorld.com>
To: bliss@ietf.org
From: Dale.Worley@comcast.net
In-reply-to: <488DCD8A.2040202@cisco.com> (jdrosen@cisco.com)
References: <488DCD8A.2040202@cisco.com>
Subject: Re: [BLISS] thoughts on draft-ietf-bliss-call-completion - URIs and routing
X-BeenThere: bliss@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: "Basic Level of Interoperability for SIP Services \(BLISS\) BoF" <bliss.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/bliss>, <mailto:bliss-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/pipermail/bliss>
List-Post: <mailto:bliss@ietf.org>
List-Help: <mailto:bliss-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bliss>, <mailto:bliss-request@ietf.org?subject=subscribe>
MIME-Version: 1.0
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: 7bit
Sender: bliss-bounces@ietf.org
Errors-To: bliss-bounces@ietf.org

   From: Jonathan Rosenberg <jdrosen@cisco.com>

Let me describe the information flow in CC, in the ideal case:

- caller sends original INVITE to callee
- callee returns failure response containing Call-Info header
  containing CC subscription URI
- caller subscribes to CC subscription URI
- callee sends NOTIFY containing recall URI
- caller sends INVITE to recall URI

(Note that "NOTIFY containing recall URI" is a fairly recent addition.
I've also omitted use of a suspend/resume server URI.)

In both the CC subscription and the recall, the caller is allowed to
use the original INVITE request URI if it does not receive or cannot
remember the URI provided by the callee.  In the CC subscription case,
the caller is required to also fork the SUBSCRIBE to the original
request URI, in hope of reaching other UASs than the one that
generated the failure response that was returned to the UAC.  In both
cases, the caller adds an "m" parameter to the request URI to mark the
request as a CC request, and also to carry the CCBS vs. CCNR datum.

With that background behind us:

   Also, I would NOT assume that SUBSCRIBE and INVITE to the same URI are 
   routed identically; this is not even true in theory as proxies are 
   allowed to do method-based routing. Indeed, typically SUBSCRIBE are 
   routed to appropriate servers based on event packages.

True.  But we expect that method-based routing will be applied to
requests only when they enter the administrative domain of the request
URI, that is, differing routing will only be done as part of
implementing the requested services.  We expect that "mailing list"
forwarding, whose only purpose is to allow one URI to be an alias for
other URIs, will not be method-sensitive.

   I think the callback INVITE needs to be to a different SIP URI. I 
   suspect it will need different treatment on both sides; i.e., that call 
   should not go to voicemail (I suspect).

In the ideal case, the CC subscription NOTIFY provides a callback URI,
which the callee could use to obtain any treatment of the recall
INVITE that it prefers.  However, gateways may not be able to remember
the callback URI, and so using the original request URI is the
fallback.  In any case, the 'm' parameter on the recall request URI
will tag the INVITE as a recall.

   Using the philosophy embraced in:
   http://www.ietf.org/internet-drafts/draft-ietf-sipping-service-identification-02.txt
   a service URI is absolutely the right thing to differentiate here.

I don't understand what you mean by "service URI" here.  That term is
used only once in the I-D that you reference, and only in regard to
presence.

   I do not understand the usage or need for the 'm' and 'monitor'
   attributes. Monitor shows up as a URI param, in fact. Not at all
   sure why that is needed.

The 'monitor' URI parameter is an arbitrary element of the examples.

The 'm' URI parameter is used to (1) mark the CC SUBSCRIBE as such,
(2) mark the recall INVITE as such, and (3) to carry the CCBS vs. CCNR
datum.

The original definition of the 'm' parameter was in a design where the
URI was always in a Call-Info header with "purpose=call-completion",
so its name was chosen for brevity, representing "mode".  The current
design has that parameter standing on its own in request-URIs, so we
may want a longer name.

As I described above, the 'm' parameter is useful to mark CC
SUBSCRIBEs and INVITEs even when the caller can't remember a URI
provided by the callee.

The 'm' parameter is used to carry the CCBS vs. CCNR status.  This
information is not mandatory, but for callees that do not have rich,
unambiguous presence information, knowing whether the caller perceived
a busy condition or a no-answer condition may be helpful in deciding
whether the callee may be available for recall.  It is also helpful in
the SS7-to-SIP-to-SS7 double-gateway situation, preventing loss of
information between the caller SS7 and the callee SS7.  This
encourages use of SIP as a transit network between SS7 systems.

Dale
_______________________________________________
BLISS mailing list
BLISS@ietf.org
https://www.ietf.org/mailman/listinfo/bliss