[BLISS] configuring the proxy for ACH

Jonathan Rosenberg <jdrosen@cisco.com> Fri, 18 July 2008 16:19 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 287223A6A24; Fri, 18 Jul 2008 09:19:27 -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 117A23A6A24 for <bliss@core3.amsl.com>; Fri, 18 Jul 2008 09:19:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.275
X-Spam-Level:
X-Spam-Status: No, score=-6.275 tagged_above=-999 required=5 tests=[AWL=-0.277, BAYES_00=-2.599, J_CHICKENPOX_35=0.6, RCVD_IN_DNSWL_MED=-4, WHOIS_NETSOLPR=0.001]
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 AE55tdOsg1vo for <bliss@core3.amsl.com>; Fri, 18 Jul 2008 09:19:24 -0700 (PDT)
Received: from sj-iport-1.cisco.com (sj-iport-1.cisco.com [171.71.176.70]) by core3.amsl.com (Postfix) with ESMTP id 9B0913A6839 for <bliss@ietf.org>; Fri, 18 Jul 2008 09:19:24 -0700 (PDT)
X-IronPort-AV: E=Sophos;i="4.31,211,1215388800"; d="scan'208";a="54883704"
Received: from sj-dkim-3.cisco.com ([171.71.179.195]) by sj-iport-1.cisco.com with ESMTP; 18 Jul 2008 16:19:58 +0000
Received: from sj-core-3.cisco.com (sj-core-3.cisco.com [171.68.223.137]) by sj-dkim-3.cisco.com (8.12.11/8.12.11) with ESMTP id m6IGJuau019639 for <bliss@ietf.org>; Fri, 18 Jul 2008 09:19:56 -0700
Received: from xbh-rtp-201.amer.cisco.com (xbh-rtp-201.cisco.com [64.102.31.12]) by sj-core-3.cisco.com (8.13.8/8.13.8) with ESMTP id m6IGJptN025732 for <bliss@ietf.org>; Fri, 18 Jul 2008 16:19:56 GMT
Received: from xfe-rtp-201.amer.cisco.com ([64.102.31.38]) by xbh-rtp-201.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 18 Jul 2008 12:19:53 -0400
Received: from [10.82.248.28] ([10.82.248.28]) by xfe-rtp-201.amer.cisco.com with Microsoft SMTPSVC(6.0.3790.1830); Fri, 18 Jul 2008 12:19:53 -0400
Message-ID: <4880C2B1.2020203@cisco.com>
Date: Fri, 18 Jul 2008 12:20:01 -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: 18 Jul 2008 16:19:53.0360 (UTC) FILETIME=[1C3DC900:01C8E8F2]
DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; l=4241; t=1216397997; x=1217261997; c=relaxed/simple; s=sjdkim3002; 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:=20configuring=20the=20proxy=20for=20ACH |Sender:=20; bh=DvJEf8FzWjL9jNluo6KqmVCFrXVXTJPK1TzJLlI4vRc=; b=O/Ge8a6c3i+oplR5mt9HzlD43WW61cwRAMJv5xTxOf6fSW61qfRnHifM8e bZpaIz6Qrf8BseJA2Q6GtPkScLIYUE4nbkva1My000I+JiIhKnS53lRpzBa0 LfDkBDQCTF;
Authentication-Results: sj-dkim-3; header.From=jdrosen@cisco.com; dkim=pass ( sig from cisco.com/sjdkim3002 verified; );
Subject: [BLISS] configuring the proxy for ACH
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

Here are some thoughts and a proposal on configuring ACH at the proxy.

Its really important to keep in mind that BLISS is about REAL 
interoperability. That means, figuring out what is REALLY causing the 
interop failures for these features (which the survey and follow on work 
have done a good job at doing), and proposing REAL recommendations to 
fix them. To me, REAL means, that this is something that we believe 
folks will actually do, and would actually solve the problem. Our metric 
of success is, if folks implement our specs, you can plug a phone from 
one vendor into a call agent from another and it works for that feature. 
I don't think BLISS should be an academic exercise.

With that in mind, some thoughts:

1. for configuring the proxy with ACH rules, the ONLY things we need to 
consider are those functions which typically have a button or dedicated 
function on the phone/UA. If something is set up via a web page, we 
don't need to standardize interfaces for that. My sense is, most 
endpoints that have built-in keys or embedded code for ACH features are 
almost exclusively limited to call forwarding (with several variants) 
and DND. I don't think anyone is trying to do ToD-based forwarding rules 
from dedicated software in an endpoint. But if folks have examples, 
please bring them out.

2. XCAP *could* be a way to do this - in theory. But if you look at what 
folks have implemented, well xcap is not exactly a resounding success. 
If we mandate that all phones implement xcap to just set call forward, 
and that all call agents/servers/proxies implement it as well - do we 
think they actually would. Being honest here - I dont think so.

3. The problem we're trying to face here - data-oriented client-server 
transactions - this is actually something that the rest of the Internet 
world has been very successful at solving. At this point, I think it 
would be fruitless to mandate something that we have defined (i.e., xcap 
or a new sip mechanism), and instead, let us just ride the wave. From 
what I can tell, where most folks are going for this stuff is the most 
trivial solution possible - and thats REST.

4. And so, my proposal would be to define a trivial REST interface for 
call forwarding at least. SO something like:

POST http://server.com/joe/profile/callforwarding?value=true

and thats it. PUT vs. POST or whatever, we need to find what the best 
practices are in the "web2.0 world" (if you'll excuse the buzzword). We 
provide an interface for turning it on/off, indicating whether it goes 
to voicemail, allow a target for forwarding.

5. DND - for pre-call DND (where you hit a DND button and future calls 
never reach you). I think, in the modern world, DND is really presence, 
and you are seeing more and more presence deployments including a DND 
state. So my suggestion here would be to use presence for this - i.e., 
the user sets their presence status to "DND". We can debate whether this 
is a new state or is the <busy> state, but lets agree on something (most 
folks are using a separate state for this - and we don't have a value 
for it).

6. as a general rule, we should avoid as much as possible RELYING on a 
consistent mechanism for configuring the phone (i.e., config framework), 
for any of our features to work. Again, the REALITY is that endpoint 
configuration is wildly variable amongst implementations, much more 
variable than any other aspect of the protocol set on endpoint devices. 
I don't think that, having IETF recommend to implement the IETF config 
framework for some features to work, will change at all the likelihood 
of that happening in reality.

Note that, I view configuring the phone as totally different from 
pushing data to the proxy (for which I am proposing a REST interface 
above).



I suspect this will all be controversial, but,thats the fun part :)

Fire away.

-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