[Sipping] How to report DTMF - conclusion of the app interaction design team: SIP MESSAGE
Jonathan Rosenberg <jdrosen@dynamicsoft.com> Tue, 08 July 2003 16:00 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 MAA28574 for <sipping-archive@odin.ietf.org>; Tue, 8 Jul 2003 12:00:33 -0400 (EDT)
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19Zusw-0002E6-GK for sipping-archive@odin.ietf.org; Tue, 08 Jul 2003 12:00:06 -0400
Received: (from exim@localhost) by www1.ietf.org (8.12.8/8.12.8/Submit) id h68G06LK008558 for sipping-archive@odin.ietf.org; Tue, 8 Jul 2003 12:00:06 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19Zusv-0002Dx-VV for sipping-web-archive@optimus.ietf.org; Tue, 08 Jul 2003 12:00:05 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id MAA28535 for <sipping-web-archive@ietf.org>; Tue, 8 Jul 2003 12:00:02 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 19Zusu-00035u-00 for sipping-web-archive@ietf.org; Tue, 08 Jul 2003 12:00:04 -0400
Received: from ietf.org ([132.151.1.19] helo=optimus.ietf.org) by ietf-mx with esmtp (Exim 4.12) id 19Zusu-00035r-00 for sipping-web-archive@ietf.org; Tue, 08 Jul 2003 12:00:04 -0400
Received: from localhost.localdomain ([127.0.0.1] helo=www1.ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19Zusr-0002Cv-MW; Tue, 08 Jul 2003 12:00:01 -0400
Received: from odin.ietf.org ([132.151.1.176] helo=ietf.org) by optimus.ietf.org with esmtp (Exim 4.20) id 19ZusP-0002C3-Ql for sipping@optimus.ietf.org; Tue, 08 Jul 2003 11:59:33 -0400
Received: from ietf-mx (ietf-mx.ietf.org [132.151.6.1]) by ietf.org (8.9.1a/8.9.1a) with ESMTP id LAA28503 for <sipping@ietf.org>; Tue, 8 Jul 2003 11:59:30 -0400 (EDT)
Received: from ietf-mx ([132.151.6.1]) by ietf-mx with esmtp (Exim 4.12) id 19ZusO-00035L-00 for sipping@ietf.org; Tue, 08 Jul 2003 11:59:32 -0400
Received: from [63.113.44.69] (helo=mail3.dynamicsoft.com) by ietf-mx with esmtp (Exim 4.12) id 19ZusN-00034y-00 for sipping@ietf.org; Tue, 08 Jul 2003 11:59:31 -0400
Received: from dynamicsoft.com ([63.113.47.242]) by mail3.dynamicsoft.com (8.12.8/8.12.1) with ESMTP id h68Fx0iB005698 for <sipping@ietf.org>; Tue, 8 Jul 2003 11:59:00 -0400 (EDT)
Message-ID: <3F0AEA40.4020208@dynamicsoft.com>
Date: Tue, 08 Jul 2003 11:58:56 -0400
From: Jonathan Rosenberg <jdrosen@dynamicsoft.com>
Organization: dynamicsoft
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624
X-Accept-Language: en-us, en
MIME-Version: 1.0
To: sipping <sipping@ietf.org>
Content-Type: text/plain; charset="us-ascii"; format="flowed"
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
Subject: [Sipping] How to report DTMF - conclusion of the app interaction design team: SIP MESSAGE
Sender: sipping-admin@ietf.org
Errors-To: sipping-admin@ietf.org
X-BeenThere: sipping@ietf.org
X-Mailman-Version: 2.0.12
Precedence: bulk
List-Unsubscribe: <https://www1.ietf.org/mailman/listinfo/sipping>, <mailto:sipping-request@ietf.org?subject=unsubscribe>
List-Id: SIPPING Working Group (applications of SIP) <sipping.ietf.org>
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>
Content-Transfer-Encoding: 7bit
Content-Transfer-Encoding: 7bit
Folks, The application interaction design team is near completion of our set of documents: http://www.ietf.org/internet-drafts/draft-rosenberg-sipping-app-interaction-framework-01.txt http://www.ietf.org/internet-drafts/draft-jennings-sip-app-info-01.txt http://www.ietf.org/internet-drafts/draft-burger-sipping-kpml-02.txt http://www.ietf.org/internet-drafts/draft-culpepper-sipping-app-interact-reqs-03.txt There are really few open issues that we are aware of. The main point of contention, and I think the issue most folks want to see a decision on, is how to actually convey the DTMF to the application when KPML is used. Even within the design team we never really had strong consensus here. However, in the interests of progress, we chose the path we felt was the one of "least evil". That path was to use a SIP MESSAGE request from the client to the application, with content that contains the digits. Not ideal, no doubt. I suspect its also not clear from the documents that this was our decision. The KPML draft has some artifact text that mentions NOTIFY, and it also still talks about HTTP. The team did decide not to go with those. Here were the choices, and the reasoning we went through: 1. Use HTTP POST, as is done in VoiceXML, HTML, WML This approach works well when the post returns another script to execute, as is the case for the above markups. However, because KPML has no presentation, only input, there is really little value in doing that. KPML is useful for two things. The first are "one shots", where the KPML waits for a single sequence, and when it finds it, reports it to the application. From there, the application interacts with the user using media, and the KPML script is done. Common case: long pound in pre-paid. Another modality is what I call "monitor", where the KPML stays resident for the ENTIRE call, and simply reports sequences as it gets them. Once it reports one, it continues waiting for more. Neither of these modes quite fit the bill for HTTP. It could be done, by having the HTTP POST return the same script that is currently running. Not perfect, though. Furthermore, folks were concerned that HTTP was too much effort to put on a device just to report DTMF. 2. Use SIP INFO No doubt this represents the bulk of the implementations today, all non-interoperable unfortunately. The problem with INFO is that the message from the client to the application needs to be OUTSIDE the dialog. Otherwise, every proxy on the path sees it. There are lots of other problems with sending INFO within the dialog of the call setup. So, once you decide that the messaging from the client to the app is outside the dialog, you can't use INFO. INFO is constrained to be within the scope of a dialog. 3. Use NOTIFY, have App-Info create an implicit subscription The client would send a NOTIFY to the application when the digit sequence was matched. There would be no SUBSCRIBE. Rather, the App-Info header, which was used to pass the script to the client, would effectively create an implicit subscription. Implicit subscriptions have all kinds of troubles, which have been discussed on the list. We then need to manage a dialog between the client and application just for reporting DTMF. 4. Use an explicit SUBSCRIBE from the application to the client This has lots of problems. First, it needs to be done outside of the original call setup dialog. That means it needs GRUUs for the application to target the SUBSCRIBE to the specific UA instance that made the call. It also introduces a lot of extra overhead, and would repeat information in the App-Info header (i.e., an expression of interest) 5. New Method We could invent a new method, like REPORT-EVENT or something, sent from the client to the application. However, that seemed too specialized. Also not clear what is really gained from a new method above MESSAGE, see below. 6. Messaging Sessions Use an INVITE from the client to the application, for the purpose of setting up a messaging session, ala MSRP. Once the session is setup, convey the digits using content in MSRP messages. This seemed like a lot of overhead and work for what is probably going to be one or two messages. 7. SIP MESSAGE Send a SIP MESSAGE request from the client to the application, containing the digit sequence to report. This was a bit of a bending of the semantic of MESSAGE, which is really meant for conveying information for display to a user. However, the issue is mostly philosophical in nature. We didnt see any particular technical issue that would prevent this from working, unlike all of the above ones which had technical issues. So, as the path of least ugliness and minimal resistance, we went for MESSAGE. No doubt folks will have comments. The design team is at the point now where broader group input is needed to determine if there is consensus around this, or any other, direction. We felt it was important to capture our thinking on the options above, to give people a context for our decision and to serve as a grounding for further discussion. So, please fire away. Thanks, Jonathan R. -- Jonathan D. Rosenberg, Ph.D. 600 Lanidex Plaza Chief Technology Officer Parsippany, NJ 07054-2711 dynamicsoft jdrosen@dynamicsoft.com FAX: (973) 952-5050 http://www.jdrosen.net PHONE: (973) 952-5000 http://www.dynamicsoft.com _______________________________________________ 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
- [Sipping] How to report DTMF - conclusion of the … Jonathan Rosenberg
- RE: [Sipping] How to report DTMF - conclusion of … Eric Burger
- RE: [Sipping] How to report DTMF - conclusion of … Eric Burger
- RE: [Sipping] How to report DTMF - conclusion of … Eric Burger
- RE: [Sipping] How to report DTMF - conclusion of … Steve Fisher
- RE: [Sipping] How to report DTMF - conclusion of … Eric Burger
- Re: [Sipping] How to report DTMF - conclusion of … Paul Kyzivat
- Re: [Sipping] How to report DTMF - conclusion of … Rohan Mahy
- Re: [Sipping] How to report DTMF - conclusion of … Paul Kyzivat
- RE: [Sipping] How to report DTMF - conclusion of … Chris Boulton