Re: [rtcweb] Working group last call for draft-ietf-rtcweb-audio

Roman Shpount <roman@telurix.com> Fri, 18 December 2015 23:24 UTC

Return-Path: <roman@telurix.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 2D9091A004C for <rtcweb@ietfa.amsl.com>; Fri, 18 Dec 2015 15:24:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.278
X-Spam-Level:
X-Spam-Status: No, score=-1.278 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id pAR9gsRduzdC for <rtcweb@ietfa.amsl.com>; Fri, 18 Dec 2015 15:24:19 -0800 (PST)
Received: from mail-ig0-x22e.google.com (mail-ig0-x22e.google.com [IPv6:2607:f8b0:4001:c05::22e]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5351B1A0049 for <rtcweb@ietf.org>; Fri, 18 Dec 2015 15:24:19 -0800 (PST)
Received: by mail-ig0-x22e.google.com with SMTP id to18so2377310igc.0 for <rtcweb@ietf.org>; Fri, 18 Dec 2015 15:24:19 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=telurix-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=o0ksi5511coOPhn6UNViAskski+Jzkd9Cb54z0HJwJg=; b=QtPyySZ2tyOAG+a912HJesL4kmCP2DNHuSbGd7AvRnpfgkU1ccbSia/wnnxHxlObVq XHaVqMF70V3gpk+d/XZjtWA9XtIOiSe1znrYGhYjwuRIfQKx5A/SIGpaVut9uh6FHfqz 6mM8Wq+hRvqfOnmvmsnJFFgKz8T45+vSaEAcBMajGkgwFuUBRsMjCqqhwT23uzJaBL6Q yRYchFhf5MvHINOvuWEcgmEYd3Qyv4QMoCf9xTor3IEZH89VAmGKh8CUK0SIgCj5fPzp YH7kapRxzdpskoduZg/DNAS07TlMNzNURMeozoGtCbjKy4OEqwS/qyrRji5GPxT+r39A NoQA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:date :message-id:subject:from:to:cc:content-type; bh=o0ksi5511coOPhn6UNViAskski+Jzkd9Cb54z0HJwJg=; b=jVGJqvG6rMHv/V9qDr+iul9wJVBMeuuJbNHqxk13n7qN7xuaXhzh6rEhiKAjazGUc+ /BtLy8h94Nwl9xkN7UMRSGxgeK/VCgtb7SVOo3cFGoi8a4kjoF4IMvgVZtxVhiZwrV+c avIbTlNyky5mWVK39IEk8cQ0r9BiRRCg77zMwdDEJXw8EIxOHiK6feijgDKOfZ7PCvet RwfUFVSmGOvI4JA6Qb+g62IMO+0uPJYfYiyMr3AyjsQZKJzjQ+gYUGciv9E52hl2rx46 7z11ViZ54GTL6ftV4JfpSjz7mH6+pSnQ/DGQl8lT/qvwkUKuEgczuXg5Ep559ZyeB13M g5BQ==
X-Gm-Message-State: ALoCoQmEY0sRE5/VjjDstL9kcUQCVqFgUtZ27crKztSBnQ0pAxJ5/k/sNQ9P9qZU4r9aYkZCowlkXG9HL2uJMZ3AqGbQDgGNKw==
X-Received: by 10.50.73.1 with SMTP id h1mr6191467igv.88.1450481057857; Fri, 18 Dec 2015 15:24:17 -0800 (PST)
Received: from mail-ig0-f179.google.com (mail-ig0-f179.google.com. [209.85.213.179]) by smtp.gmail.com with ESMTPSA id q74sm7408147ioe.42.2015.12.18.15.24.16 for <rtcweb@ietf.org> (version=TLSv1/SSLv3 cipher=OTHER); Fri, 18 Dec 2015 15:24:16 -0800 (PST)
Received: by mail-ig0-f179.google.com with SMTP id jw2so2372634igc.1 for <rtcweb@ietf.org>; Fri, 18 Dec 2015 15:24:16 -0800 (PST)
MIME-Version: 1.0
X-Received: by 10.50.62.178 with SMTP id z18mr6192683igr.2.1450481056062; Fri, 18 Dec 2015 15:24:16 -0800 (PST)
Received: by 10.36.105.15 with HTTP; Fri, 18 Dec 2015 15:24:15 -0800 (PST)
In-Reply-To: <CA+9kkMBxbmGggCUaBPVtsJ7o3ZvBS=xvDKkmvfJxdVbM8NgiEQ@mail.gmail.com>
References: <CA+9kkMDAL1mKqt7cTRmU4YqX2S5QN4RKn2cfbPaBeDgx=yiN0Q@mail.gmail.com> <CAD5OKxtvhaqx=H10=fUiGAjvnGAb_g89p2TZT9iNEg2F9k+6FA@mail.gmail.com> <CA+9kkMApyK4YPaWbQATy9zGfCOd3Dyfr8cY2amODgFE4XQCA=A@mail.gmail.com> <CAD5OKxtDGUv3akJTe6ZRYNhQN=SMY_R+GeV_Kg67Y6EYq+aV=A@mail.gmail.com> <CA+9kkMCvAcxnc=QdGvTm3=VNOQ3TtO+d8PfbfVA8sLeEA6rRqg@mail.gmail.com> <CAD5OKxtu-dsahdwL7t7Br34V-guqKmsdTsztOK_8sSsvWYsF=g@mail.gmail.com> <CA+9kkMBxbmGggCUaBPVtsJ7o3ZvBS=xvDKkmvfJxdVbM8NgiEQ@mail.gmail.com>
Date: Fri, 18 Dec 2015 18:24:15 -0500
X-Gmail-Original-Message-ID: <CAD5OKxvaJTRtfDQLwpvi+etdh8ZQvP5eRROSvRY2Hg-Uasisww@mail.gmail.com>
Message-ID: <CAD5OKxvaJTRtfDQLwpvi+etdh8ZQvP5eRROSvRY2Hg-Uasisww@mail.gmail.com>
From: Roman Shpount <roman@telurix.com>
To: Ted Hardie <ted.ietf@gmail.com>
Content-Type: multipart/alternative; boundary="047d7bd760c219a5320527347058"
Archived-At: <http://mailarchive.ietf.org/arch/msg/rtcweb/KZVGOktj8E4ZYDeC7FUbSSS0aRA>
Cc: Cullen Jennings <fluffy@cisco.com>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Working group last call for draft-ietf-rtcweb-audio
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.15
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: <https://mailarchive.ietf.org/arch/browse/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: Fri, 18 Dec 2015 23:24:22 -0000

On Fri, Dec 18, 2015 at 5:22 PM, Ted Hardie <ted.ietf@gmail.com> wrote:

>
> ​Sorry that this was not clear; I meant specifically A-D.​
>
> Offer/answer telephone event negotiation is normally by directional. This
>> normally enabled DTMF detection in PSTN gateways. So, if you have any
>> system that connects WebRTC client to PSTN network, and if the person on
>> PSTN network will press a keypad digit, this digit will be sent to WebRTC
>> client. Furthermore, it is common for DTMF digit detection to be caused by
>> talk off, i.e. some voice periodically triggers DTMF detection. Finally,
>> some gateways will also send ANS tones if the call hits a fax machine, so
>> WebRTC end point will get not only DTMF events, but events for tone that
>> someone just happened to enable on the gateway. Unless we want to transcode
>> media coming from PSTN, WebRTC client will need to deal with any incoming
>> telephone-events. All of this being said, it is up to WebRTC client to
>> decide what to do with the received events. I am fine with these tones
>> being discard as long as they are being discarded in a manner which does
>> not disrupt normal audio processing.
>>
>
> ​This seems to result in exactly the case Cullen was concerned about; if
> they may be discarded their functionality remains completely unreliable.​
> But more to the point, you are not pointing to uses of A-D, but number
> detection and events which would still be covered.
>

This is completely unrelated. This applies to all DTMF tones, not A-D
specifically. What I am saying is that WebRTC endpoints must be able to
generate all DTMF tones including A-D and send them to legacy PSTN
(gateway). Legacy PSTN will receive and handle them. If legacy PSTN
(gateway) sends DTMF tones to WebRTC end point (and it will, even though
they are not expected there), WebRTC endpoint can discard them, as long as
it does it nicely.



> ​While this is no doubt not your intent, I must say your message reads as
>> "Sure it's broken now, but we must make sure it remains broken to be
>> backwards compatible."​
>>
>
My intent is that there is an existing well understood functionality set
with its benefits (wide support) and faults (unreliability). This
functionality set is called DTMF. Why WebRTC needs to redefine this set is
beyond my understanding.


> ​The only A-D tone in the one example you gave (echolink) was to pull up a
> different stored configuration.
>

So, one out of four tones is used in this example.

DTMF tone A-D are used to provide prioritized call handling service in ITU
>>>> Q.955.3 specification which is still used by some PBX and phone systems.
>>>>
>>>>
>>> ​Again, not at all clear that a WebRTC client would ever expect to use
>>> these features of a PBX.
>>>
>>
>> There are intranet WebRTC applications that access in-company legacy PBX
>> via a private gateway.
>>
>
> ​And they are using the A-D set?
>

Yes, they are using A-D set to provide priority dialing.


> Finally, some calling card like systems allow remote control of functions
>>>> such as flash by mapping them to extended DTMF tones.
>>>>
>>>>
>>> ​If there is a calling card system using WebRTC, I have not heard of
>>> it.  Can you provide a pointer?​
>>>
>>
>> Once again, this would be a private WebRTC application used to place
>> calls through a gateway which is under control of the person who developer
>> the app.
>>
>>
> ​So this is theoretical.​
>

This is real with existing SIP interface being replaced by WebRTC.


> ​Removing them from the set does as well, at least as far as I can tell.
> No one has suggested that they be the subject of discovery or negotiation.​
>

And then they will be added back by some vendor who got a critical customer
who is using these tones for something.

Despite many words exchanged, I think our entire argument can be boiled
down to "let's remove these tones since they sometimes do not work and they
are ugly" vs "let's keep these tones since they are sometimes used and do
work on occasion."

P.S. I have proposed several other things in addition to tones A-D. Are
there any comments regarding adding the following:

Generated events MUST have duration of no more than 6000 ms and no
less than 40 ms with the recommended default duration of 100 ms for each
tone. The gap between events MUST be no less then 30 ms with the
recommended default duration of 70 ms. Event SHOULD start on a regular
audio packet border. Event and gap duration SHOULD be rounded up to the
next regular audio packet border.

During the time events are generated audio SHOULD NOT be sent for the
same audio stream. When gaps between events are generated, silence and not
the background audio SHOULD be sent using regular audio encoding.

If multiple audio sampling rates are supported, audio/telephone-event
payload SHOULD be present for each supported sampling rate. Endpoints
SHOULD use audio/telephone-event format parameters during the offer/answer
exchange to indicate which events are supported.

Receivers MUST be able to consume any audio/telephone-event events in such
a way that it will not generate audio artifacts, unexpected packet loss
concealment, jitter buffer adjustments, payload mismatches, or invalid RTCP
statistics calculation. Receivers MAY generate audio corresponding to the
received events but are also allowed to discard them in a manner that does
not affect regular audio processing.
_____________
Roman Shpount