Re: [rtcweb] The DTMF API [Was: Traffic should be encrypted. (Re: Let's define the purpose of WebRTC)]

Hadriel Kaplan <HKaplan@acmepacket.com> Wed, 16 November 2011 02:43 UTC

Return-Path: <HKaplan@acmepacket.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id C7B6E1F0CA9 for <rtcweb@ietfa.amsl.com>; Tue, 15 Nov 2011 18:43:53 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.473
X-Spam-Level:
X-Spam-Status: No, score=-2.473 tagged_above=-999 required=5 tests=[AWL=0.126, BAYES_00=-2.599]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Ymg62g1URelp for <rtcweb@ietfa.amsl.com>; Tue, 15 Nov 2011 18:43:53 -0800 (PST)
Received: from etmail.acmepacket.com (etmail.acmepacket.com [216.41.24.6]) by ietfa.amsl.com (Postfix) with ESMTP id 1A3221F0C9E for <rtcweb@ietf.org>; Tue, 15 Nov 2011 18:43:53 -0800 (PST)
Received: from MAIL2.acmepacket.com (10.0.0.22) by etmail.acmepacket.com (216.41.24.6) with Microsoft SMTP Server (TLS) id 8.2.254.0; Tue, 15 Nov 2011 21:43:50 -0500
Received: from MAIL1.acmepacket.com ([169.254.1.232]) by Mail2.acmepacket.com ([169.254.2.157]) with mapi id 14.01.0270.001; Tue, 15 Nov 2011 21:43:51 -0500
From: Hadriel Kaplan <HKaplan@acmepacket.com>
To: Randell Jesup <randell-ietf@jesup.org>
Thread-Topic: [rtcweb] The DTMF API [Was: Traffic should be encrypted. (Re: Let's define the purpose of WebRTC)]
Thread-Index: AQHMpAmSSqFSP7Or+0ueIp2KhYuSUg==
Date: Wed, 16 Nov 2011 02:43:50 +0000
Message-ID: <D666B5A5-BF2E-46B7-B97F-06C3736E8357@acmepacket.com>
References: <CAOJ7v-18cNX8xussOPXSEoFxAARu8WriL8XgxPVUXBrWhz=FFg@mail.gmail.com> <4EC28CF5.6000109@jesup.org>
In-Reply-To: <4EC28CF5.6000109@jesup.org>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [216.41.24.34]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <AB39BFE12AD6024DBF82C2DCAA92BFEE@acmepacket.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: AAAAAQAAAWE=
Cc: "<rtcweb@ietf.org>" <rtcweb@ietf.org>
Subject: Re: [rtcweb] The DTMF API [Was: Traffic should be encrypted. (Re: Let's define the purpose of WebRTC)]
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/rtcweb>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 16 Nov 2011 02:43:53 -0000

On Nov 15, 2011, at 11:01 AM, Randell Jesup wrote:

> The problem is you need a bunch more timing info that when it starts. DTMF is not just "this was played", though many use it that way.  DTMF has length as well, and that length may even be indeterminate.  Many SIP ATAs and the like only support sending DTMF as X ms on, Y ms off, but you'll note that those are often configurable, and the protocol is much more expressive than that.
> 
> That said: we absolutely can decide that we only support only sending "now", and that the duration is fixed (or configurable).  For the uses we're talking about, that's probably sufficient.  Some odd PSTN-interop things have been known to use DTMF duration ("hold 4 to fast-forward" or "press and hold 5 to pan the security camera"), but they're rare IMHO, and PSTN interop isn't the prime usecase (and many/most other voip devices don't support press-and-hold anyways).  I'd be fine with this.


You'd be surprised how many things use/need DTMF duration. :(

It caused a lot of issues for certain Mobile/Cellular networks a long time ago where the cell phones couldn't generate a duration for DTMF - I can't remember if it was a limitation of the phones or the cellular technology, but it caused lots of user complaints.
It also caused issues in H.323 because H.245 UII supported both indicating with/without duration and those sending without had problems talking to those needing it.

Regardless, as an FYI - I had put the following DTMF API requirements in draft-kaplan-rtcweb-sip-interworking-requirements-01:

      ----------------------------------------------------------------
      A2-13           WebRTC MUST provide a means for the
                      Browser to generate [RFC4733] DMTF RTP
                      Events for at least the events 0-15, in
                      an audio-type RTP packet stream.
      ----------------------------------------------------------------
      A2-14           WebRTC MAY provide a means for the
                      Browser to receive [RFC4733] DMTF RTP
                      Events for the events 0-15.
      ----------------------------------------------------------------
      A2-15           WebRTC MUST provide a means for the
                      Javascript application to invoke [RFC4733]
                      DTMF events to be generated, and their
                      duration, with a default duration of 50ms.
                      In other words, the Javascript should be
                      able to tell the Browser to generate event
                      "0" for 50ms based on a button click, for
                      example.
      ----------------------------------------------------------------
      A2-16           WebRTC MUST provide a means for the
                      Javascript application to enable or
                      disable [RFC4733] use, per session.
      ----------------------------------------------------------------

-hadriel