[BLISS] thoughts on draft-ietf-bliss-call-completion

Jonathan Rosenberg <jdrosen@cisco.com> Mon, 28 July 2008 13: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 528F83A6839; Mon, 28 Jul 2008 06:46:01 -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 6395B3A67A5 for <bliss@core3.amsl.com>; Mon, 28 Jul 2008 06:45:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.599
X-Spam-Level:
X-Spam-Status: No, score=-6.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_MED=-4]
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 Z1QIXZTIT35F for <bliss@core3.amsl.com>; Mon, 28 Jul 2008 06:45:57 -0700 (PDT)
Received: from ams-iport-1.cisco.com (ams-iport-1.cisco.com [144.254.224.140]) by core3.amsl.com (Postfix) with ESMTP id 6405F3A6808 for <bliss@ietf.org>; Mon, 28 Jul 2008 06:45:57 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.31,266,1215388800"; d="scan'208";a="15594232"
Received: from ams-dkim-1.cisco.com ([144.254.224.138]) by ams-iport-1.cisco.com with ESMTP; 28 Jul 2008 13:45:38 +0000
Received: from ams-core-1.cisco.com (ams-core-1.cisco.com [144.254.224.150]) by ams-dkim-1.cisco.com (8.12.11/8.12.11) with ESMTP id m6SDjbMK023679 for <bliss@ietf.org>; Mon, 28 Jul 2008 15:45:37 +0200
Received: from xbh-ams-332.emea.cisco.com (xbh-ams-332.cisco.com [144.254.231.87]) by ams-core-1.cisco.com (8.13.8/8.13.8) with ESMTP id m6SDjbkh012043 for <bliss@ietf.org>; Mon, 28 Jul 2008 13:45:38 GMT
Received: from xfe-ams-331.emea.cisco.com ([144.254.231.72]) by xbh-ams-332.emea.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 28 Jul 2008 15:45:37 +0200
Received: from [10.61.65.243] ([10.61.65.243]) by xfe-ams-331.emea.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Mon, 28 Jul 2008 15:45:37 +0200
Message-ID: <488DCD8A.2040202@cisco.com>
Date: Mon, 28 Jul 2008 09:45:46 -0400
From: Jonathan Rosenberg <jdrosen@cisco.com>
User-Agent: Thunderbird 2.0.0.9 (Windows/20071031)
MIME-Version: 1.0
To: bliss@ietf.org
X-OriginalArrivalTime: 28 Jul 2008 13:45:37.0670 (UTC) FILETIME=[378D1260:01C8F0B8]
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; l=4368; t=1217252738; x=1218116738; c=relaxed/simple; s=amsdkim1002; h=Content-Type:From:Subject:Content-Transfer-Encoding:MIME-Version; d=cisco.com; i=jdrosen@cisco.com; z=From:=20Jonathan=20Rosenberg=20<jdrosen@cisco.com> |Subject:=20thoughts=20on=20draft-ietf-bliss-call-completio n |Sender:=20; bh=t2WuSe6p7Qa89Z/MlfK8KpWnBBRVbMIUX2RBkhZ4kmg=; b=hmBKS0uuSMt1IaiCzBbyPuWLMmKAR+DeS0JFOrY3LQNTa273qlMH1MZ2uh TpMWYBGpZ3Cetxm2iBPHAK5rzqK633BI5hWofzrz18y34y/dfufZrZL9ui4/ vei+LeDnU6;
Authentication-Results: ams-dkim-1; header.From=jdrosen@cisco.com; dkim=pass ( sig from cisco.com/amsdkim1002 verified; );
Subject: [BLISS] thoughts on draft-ietf-bliss-call-completion
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>
Content-Transfer-Encoding: 7bit
Content-Type: text/plain; charset="us-ascii"; Format="flowed"
Sender: bliss-bounces@ietf.org
Errors-To: bliss-bounces@ietf.org

A key part of the mechanism in here is that it focuses on the 'server to 
server' aspect of the problem. It defines only what would need to flow 
between domains or between organizations to accomplish this feature 
between organizations. I think that aspect of it needs to be emphasized. 
For example, some diagrams which show this, including different models 
for how the agents can be co-located.

Very much related to that, ccbs has an effect of introducing work in one 
domain (the one of the callee) that primarily (if not exclusively) 
benefits the other (the one of the caller). This provides an unfortunate 
  negative incentive for implementing this in a callee domain. I think 
we need to take care to minimize the amount of work required on the 
callee's side to support this. So for example, I am reluctant to 
introduce requirements to do things like suspend/resume, as these 
introduce additional work and state on behalf of the callee's agent.

Also related, I think we need to consider the security implications of 
this. So, if a malicious caller calls a busy user many times, they can 
cause state to build up in the callee's agent. Indeed I think an 
implementation would almost be required to construct the call-info URI 
in a way that allowed it to contain all of the needed state, moving the 
burden to the caller. This isn't discussed at all, afaict, and its a 
critical design issue. I seem to recall that this was discussed previously.

On the HERFP problem, I think the issue is really deeper than that. The 
issue is really targeting/re-forwarding. The question is, if A calls B 
and this is retargeted to C, does it make sense to call complete on B or 
on C? C kind of makes sense; but what if C is busy for a while and 
during that time, the forwarding rules change and calls to B no longer 
forward to C. Now, if A called B back they would reach B (who was the 
person they REALLY wanted to call anyway), but a call completion request 
would in fact go to C. This seems wrong to me. One might even argue that 
call completion and forwarding are incompatible. Frankly, if our initial 
solution basically didn't support it (no Call-Info passed back at all 
when a call is forwarded), I think that is arguably a feature. I suspect 
experts on feature interaction have looked at this one; would be curious 
on the best practices around this in the PSTN.

I also think its a mistake to require 199 or 130 or any other 'HERFP' 
response - again, making this too complicated. Simplicity is key for 
this feature IMHO.

I have a practical worry on using the Call-ID as a correlator for the 
subscription. The reality of deployments are many B2BUAs exist, and this 
  is no longer a reliable e2e correlator for things. Anyway its not 
needed; the URI should be sufficient (and unlike call-id, is reliable). 
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.

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). 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 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.

What does a calling domain do when it wants to invoke this service and 
the terminating side doesn't support it. Do we have a recommended 'poor 
mans' version of this that requires no additional support? i.e., I am 
aware of implementations that actually periodically send INVITEs. 
Indeed, doing so may be incentive to properly deploy a sub/not solution 
to avoid such deluge...

Thanks,
Jonathan R.
-- 
Jonathan D. Rosenberg, Ph.D.                   499 Thornall St.
Cisco Fellow                                   Edison, NJ 08837
Cisco, Voice Technology Group
jdrosen@cisco.com
http://www.jdrosen.net                         PHONE: (408) 902-3084
http://www.cisco.com
_______________________________________________
BLISS mailing list
BLISS@ietf.org
https://www.ietf.org/mailman/listinfo/bliss