Re: [Rum] Codec requirements in draft-rosen-rue-01

James Hamlin <james.hamlin@purple.us> Wed, 04 September 2019 19:38 UTC

Return-Path: <james.hamlin@purple.us>
X-Original-To: rum@ietfa.amsl.com
Delivered-To: rum@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 1D05B120DA3 for <rum@ietfa.amsl.com>; Wed, 4 Sep 2019 12:38:09 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.898
X-Spam-Level:
X-Spam-Status: No, score=-1.898 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=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 0SMcIBzvA4O5 for <rum@ietfa.amsl.com>; Wed, 4 Sep 2019 12:38:05 -0700 (PDT)
Received: from 1pmail.ess.barracuda.com (1pmail.ess.barracuda.com [209.222.82.12]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 5BFB3120D97 for <rum@ietf.org>; Wed, 4 Sep 2019 12:38:03 -0700 (PDT)
Received: from smtp.purple.us (unknown [208.17.91.143]) by mx13.us-east-2a.ess.aws.cudaops.com (version=TLSv1.2 cipher=ECDHE-RSA-AES256-SHA384 bits=256 verify=NO); Wed, 04 Sep 2019 19:37:59 +0000
Received: from 1-WP-402-EXCH.purplenetwork.net (10.0.10.144) by 1-wp-401-exch.purplenetwork.net (10.0.10.143) with Microsoft SMTP Server (TLS) id 15.0.1263.5; Wed, 4 Sep 2019 12:37:55 -0700
Received: from 1-WP-402-EXCH.purplenetwork.net ([fe80::b41b:40df:b152:6817]) by 1-wp-402-exch.purplenetwork.net ([fe80::b41b:40df:b152:6817%27]) with mapi id 15.00.1263.000; Wed, 4 Sep 2019 12:37:55 -0700
From: James Hamlin <james.hamlin@purple.us>
To: Eric Burger <eburger@standardstrack.com>, "rum@ietf.org" <rum@ietf.org>
Thread-Topic: [Rum] Codec requirements in draft-rosen-rue-01
Thread-Index: AQHVUV6wjLP/Oy7TOEegGP/2NVsbUqcP75GAgAAn6QCAARFKAIAABkIAgAANRQCAAAZWAIAG7fPMgAJvOgCAAYNjgP//x8HtgACMIoCAAAXaAP//j3xW
Date: Wed, 04 Sep 2019 19:37:55 +0000
Message-ID: <1567625874574.45183@purple.us>
References: <FD1DA567-B821-4CA5-9C1F-C7558F68E183@brianrosen.net>, <E1i5alH-000hoC-NP@se5-lax1.servconfig.com>
In-Reply-To: <E1i5alH-000hoC-NP@se5-lax1.servconfig.com>
Accept-Language: en-GB, en-US
Content-Language: en-GB
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.0.10.15]
Content-Type: multipart/alternative; boundary="_000_156762587457445183purpleus_"
MIME-Version: 1.0
X-BESS-ID: 1567625876-893024-10512-338429-1
X-BESS-VER: 2019.1_20190823.2224
X-BESS-Apparent-Source-IP: 208.17.91.143
X-BESS-Outbound-Spam-Score: 0.00
X-BESS-Outbound-Spam-Report: Code version 3.2, rules version 3.2.2.218063 [from cloudscan17-141.us-east-2b.ess.aws.cudaops.com] Rule breakdown below pts rule name description ---- ---------------------- -------------------------------- 0.00 HTML_MESSAGE BODY: HTML included in message 0.00 BSF_BESS_OUTBOUND META: BESS Outbound
X-BESS-Outbound-Spam-Status: SCORE=0.00 using global scores of KILL_LEVEL=7.0 tests=HTML_MESSAGE, BSF_BESS_OUTBOUND
X-BESS-BRTS-Status: 1
Archived-At: <https://mailarchive.ietf.org/arch/msg/rum/DzLT8wmvk7ETR1urOfsxCMNPc8I>
Subject: Re: [Rum] Codec requirements in draft-rosen-rue-01
X-BeenThere: rum@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Relay User Machine <rum.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rum>, <mailto:rum-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rum/>
List-Post: <mailto:rum@ietf.org>
List-Help: <mailto:rum-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rum>, <mailto:rum-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 04 Sep 2019 19:38:09 -0000

Just wanted to be clear that we aren't requiring the VRS provider's side to offer Opus.


Thanks


________________________________
From: Rum <rum-bounces@ietf.org> on behalf of Eric Burger <eburger@standardstrack.com>
Sent: 04 September 2019 20:15
To: rum@ietf.org
Subject: Re: [Rum] Codec requirements in draft-rosen-rue-01

That's the beauty of MTI. Old, old equipment will interoperate (G.711) and as the base upgrades / new users appear, they get the benefit of 46 years of codec development.

It's not 1972 any more...


-------- Original message --------
From: Brian Rosen <br@brianrosen.net>
Date: 9/4/19 2:54 PM (GMT-05:00)
To: James Hamlin <james.hamlin@purple.us>
Cc: rum@ietf.org, Paul Kyzivat <pkyzivat@alum.mit.edu>
Subject: Re: [Rum] Codec requirements in draft-rosen-rue-01

I believe way the spec reads, it’s MTI, and also mandatory to offer in SDP.  Adam, can you confirm?

If rue calls old machine, rue offers G.711 and OPUS.  Old machine answers G.711
If old machine calls rue, old machine offers G.711 and rue answers G.711

If I’m mistaken, I have no problem requiring offers to have G.711 and H.264 (and 4103).

Brian

> On Sep 4, 2019, at 1:52 PM, James Hamlin <james.hamlin@purple.us> wrote:
>
>
> I think making Opus mandatory will require transcoding for many calls. G.711 is likely to be the only option for calls that are relayed and therefore have a PSTN leg. Making G.711 mandatory and Opus recommended would allow for calls where Opus cannot sensibly be offered.
>
> MTI as the term is used in the WebRTC context ( https://webrtcglossary.com/mti ), I think, refers to what must be implemented in a WebRTC stack whereas, I think, we are talking about what must be in an SDP offer.
>
> Best regards
>
> James
>
> ________________________________________
> From: Rum <rum-bounces@ietf.org> on behalf of Brian Rosen <br@brianrosen.net>
> Sent: 04 September 2019 14:54
> To: Paul Kyzivat
> Cc: rum@ietf.org
> Subject: Re: [Rum] Codec requirements in draft-rosen-rue-01
>
> I think our consensus is MTI:
> Audio: G.711 and Opus
> Video: H.264
>
> We need to get into the details of H.264 to maintain compatibility with the WebRTC specs and as much backwards compatibility as possible.
>
> Anyone object?
>
>
>
>> On Sep 3, 2019, at 10:48 AM, Paul Kyzivat <pkyzivat@alum.mit.edu> wrote:
>>
>> On 9/2/19 4:39 AM, James Hamlin wrote:
>>> Just to add: the VRS industry supports a variety of endpoints, many of which are hardware based and not built by VRS providers themselves. H.264 and G..711 therefore need to be in the MTI list.
>>> I believe the FCC order related to compensation by compliant providers not that every call had to come from a compliant endpoint.
>>
>> Sorry if I got that wrong. I wrote that from memory and perhaps my memory is faulty.
>>
>>      Thanks,
>>      Paul
>>
>>> Best Regards
>>> James
>>> ________________________________________
>>> From: Rum <rum-bounces@ietf.org> on behalf of Paul Kyzivat <pkyzivat@alum..mit.edu>
>>> Sent: 28 August 2019 16:48
>>> To: rum@ietf.org
>>> Subject: Re: [Rum] Codec requirements in draft-rosen-rue-01
>>> On 8/28/19 11:25 AM, Eric Burger wrote:
>>>> I guess the question is whether we want today’s devices to have a chance of being RUM compatible. I don’t think anyone will be surprised if a five-year-old device is history. Is it realistic for current devices to get VP8 upgrade? [Would be nice for some manufacturers or others building such devices to pipe in here.]
>>> Lets be clear about what we mean by "RUM compatible".
>>> When Henning and I were working on this with the providers in 2014 and
>>> 2015 there was an expectation that the providers would be required to
>>> support the defined RUE devices, but they would also be permitted to
>>> support their existing proprietary devices. The RUE devices could have
>>> requirements that their existing devices don't meet. But calls between
>>> the two were expected to work.
>>> There was great consternation when subsequently the FCC issued a
>>> proposed order that said only VRS calls involving RUE-compatible devices
>>> would be compensated. (But that was in 2015. I presume it has not happened.)
>>> If there is an intent to exclude non-RUM-compliant devices from use in
>>> VRS calls then there needs to be a migration plan to get from here to there.
>>>        Thanks,
>>>        Paul
>>>>> On Aug 28, 2019, at 10:38 AM, Brian Rosen <br@brianrosen.net> wrote:
>>>>>
>>>>> If we require OPUS and G.711 as MTI and we require both H.264 and VP8 as MTI, then we get backwards compatibility without transcoding and forwards compatibility with WebRTC.  Isn’t that what we want?
>>>>>
>>>>> Brian
>>>>>
>>>>>> On Aug 28, 2019, at 10:15 AM, Paul Kyzivat <pkyzivat@alum.mit.edu> wrote:
>>>>>>
>>>>>> Inline...
>>>>>>
>>>>>> On 8/27/19 5:57 PM, Adam Roach wrote:
>>>>>>> I certainly have thoughts. The executive summary is that I personally believe RUM should specify Opus as the one audio codec MTI, and match RFC 7742's "Non-Browser" requirements for the video codec MTI. Rationale below.
>>>>>>> From an interop perspective, the important thing is that any given profile has (at least) one MTI video codec and (at least) one MTI audio codec.. I know there is a strong desire -- one that I share -- that these endpoints can talk to/be implemented in web browsers without the need for media transcoding.
>>>>>>> For audio: WebRTC selected G.711 and Opus as both MTI; the former because it works without transcoding to landline PSTN destinations, and the latter because it sounds much, much better. RUM could make the same decision; or it could decide to move away from a codec that is as old as I am and opt to designate Opus as the only MTI. Given that RUM inherently needs to deploy into audio/video environments, backwards compatibility with the PSTN seems to be unnecessary baggage.
>>>>>>
>>>>>> Please keep in mind where we are coming from. The RUM will be a new interface to the *existing* VRS infrastructure. That infrastructure currently has proprietary devices that serve the RUE function, deployed to VRS users and to Communications Assistants (CAs, Interpreters). These have G.711 MTI, and also *recommend* G.722.2.
>>>>>>
>>>>>> Making OPUS the only MTI audio codec would be problematic.
>>>>>>
>>>>>>> For video: While specifying either VP8 or H.264 would be sufficient for system interop, and for interop with compliant WebRTC endpoints, I'd really prefer not to re-live the WebRTC video codec wars. Concretely, what I would propose is that RUM indicate that the video codec requirements are defined to be identical to those defined for "WebRTC Non-Browsers" in Section 5 of RFC 7742. It should be made clear that RUM endpoints *are* *not* WebRTC Non-Browsers per se; merely that they comply with the same video codec requirements as WebRTC Non-Browsers.
>>>>>>
>>>>>> Continuing my comment above, existing devices have H.264 Constrained Baseline Profile, Level 1.3, packetization mode 1 as the MTI codec. Odds are many of these devices aren't capable of VP8.
>>>>>>
>>>>>> We can't realistically require a wholesale swap out of existing devices before the RUE defined by RUM can work. We can *discuss* whether forcing the providers to transcode is a practical way forward. I'm dubious.
>>>>>>
>>>>>>    Thanks,
>>>>>>    Paul
>>>>>>
>>>>>>> /a
>>>>>>> On 8/27/19 2:34 PM, Brian Rosen wrote:
>>>>>>>> Well, we certainly want interoperability, and I think we can only get that with MTI codecs.
>>>>>>>>
>>>>>>>> I think we really are talking about a WebRTC-compatible endpoint, but we want interoperability with a WebRTC browser endpoint.
>>>>>>>>
>>>>>>>> Not sure how to say this.  Maybe Adam can help.
>>>>>>>>
>>>>>>>> Brian
>>>>>>>>
>>>>>>>>> On Aug 12, 2019, at 4:20 PM, Paul Kyzivat <pkyzivat@alum.mit.edu> wrote:
>>>>>>>>>
>>>>>>>>> draft-rosen-rue-01 changes the video codec requirements. It now simply references webrtc RFC7742.
>>>>>>>>>
>>>>>>>>> RFC7742 distinguishes three types of endpoints: "WebRTC browser", "WebRTC non-browser", and "WebRTC-compatible endpoint". AFAIK it assumes that each end is one of these.
>>>>>>>>>
>>>>>>>>> Is the expectation here that both the RUE and the provider comply with one of these? In particular, that the provider may simply be a "WebRTC-compatible endpoint? Notably:
>>>>>>>>>
>>>>>>>>>   "WebRTC-compatible endpoints" are free to implement any video codecs
>>>>>>>>>   they see fit.  This follows logically from the definition of "WebRTC-
>>>>>>>>>   compatible endpoint".  It is, of course, advisable to implement at
>>>>>>>>>   least one of the video codecs that is mandated for WebRTC browsers,
>>>>>>>>>   and implementors are encouraged to do so.
>>>>>>>>>
>>>>>>>>> Similarly, the audio requirements have been changed to reference webrtc RFC7874. That one doesn't have the distinction between "WebRTC browser", "WebRTC non-browser", and "WebRTC-compatible endpoint". It applies the same requirements to all. In particular, it requires OPUS support. I don't know why it doesn't make the same endpoint distinctions as for video.
>>>>>>>>>
>>>>>>>>> I think simply referencing these documents isn't sufficient. Seems like we need a more nuanced specification of what is required, though we may still reference these docs with qualifications.
>>>>>>>>>
>>>>>>>>>    Thanks,
>>>>>>>>>    Paul
>>>>>>>>>
>>>>>>>>>
>>>>>>
>>>>>
>>>>> --
>>>>> Rum mailing list
>>>>> Rum@ietf.org
>>>>> https://www.ietf.org/mailman/listinfo/rum
>>>>
>>>>
>>> --
>>> Rum mailing list
>>> Rum@ietf.org
>>> https://www.ietf.org/mailman/listinfo/rum
>>
>> --
>> Rum mailing list
>> Rum@ietf.org
>> https://www.ietf.org/mailman/listinfo/rum
>
> --
> Rum mailing list
> Rum@ietf.org
> https://www.ietf.org/mailman/listinfo/rum

--
Rum mailing list
Rum@ietf.org
https://www.ietf.org/mailman/listinfo/rum