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

Brian Rosen <> Wed, 04 September 2019 18:55 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 8B918120BCC for <>; Wed, 4 Sep 2019 11:55:01 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.888
X-Spam-Status: No, score=-1.888 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 1nV_2lJgAVc3 for <>; Wed, 4 Sep 2019 11:54:58 -0700 (PDT)
Received: from ( [IPv6:2607:f8b0:4864:20::744]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 42853120BB4 for <>; Wed, 4 Sep 2019 11:54:58 -0700 (PDT)
Received: by with SMTP id x134so10485159qkb.0 for <>; Wed, 04 Sep 2019 11:54:58 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=8yL5lRnXJrXMJQ0L7hwqnALcenyQ4thHjQXgvhgn+Tw=; b=fMYa/9/CNONa+bGQqAyt68wGyUTBAutBlM3YjpdrLad/UYcOGm3jjI/PYTfgvxZDE/ 3w/Oy1O5rL4XhN5W26H82B4U/YBSIwGWqy+AqtWIFxOmbxEPKDR3VWsa2SMR2UbD+Zir J8KXx/w5Zu8XfuDQcFtouaVT8COK4ViKDlTGLZwcal56U0MFNEeeFM0xuK//iUhxswqo 0uftz8qCVbk2z3SzxteQU6aLWL2PmETGUX4eNn0R+TF1gWR0r9bnwcnO4LP+amFrQFaK NBqC7wn+eXJeDvcJMeLrILsLNWrR4aeeCMpKawWN+40NCFPq6JQH6D3AkipqnXf/xeXq zKaQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=8yL5lRnXJrXMJQ0L7hwqnALcenyQ4thHjQXgvhgn+Tw=; b=RfMv9+giNzEKzJRpKhHrKmfzuGLrr8D7/3SpIDtvOt9e0n43Q3NxUmM2eTOxBaMz81 2EPQ8YIpFNyoZHopZ4b09f6vbymJkJB4vVOXf745OY7PSz+uR/K93HjFL74CArajRRfV JVB4NQLuioTS/ngNOmSokET10InkSEU0MOYIGtW2WPApdRyCqoqnHTLKqLN3NisrW3I5 BTABtGyRvBkhwJFEUbnAmhsPm6mbwEp10U7vqvZxcx9pHLXjEilEwxKya5gAvZd9zsnq 2WwTduzX8lMZgIZyK3qOD9Y/ZKy+Kla2E26i1X7LF8fxcCkkFFt8fl+iXrx5MtJFDcB0 FQXA==
X-Gm-Message-State: APjAAAXw7r5m4NGARnZybtbyvHN5nD6mrWkeR7fc/JwKcpWpR5Hdhiv/ WgrzLsw73ItyjrzlFB5tmOSEPKpdX4w=
X-Google-Smtp-Source: APXvYqzBl3gdn1NsudzAoFRFR0uBv0KZIp3a3nZb6TKt8tLV2Qy0OMsnUHFlBmvu3BnYkDQ/nVPwmA==
X-Received: by 2002:a37:a00d:: with SMTP id j13mr41268744qke.2.1567623297104; Wed, 04 Sep 2019 11:54:57 -0700 (PDT)
Received: from brians-mbp-2388.lan ([]) by with ESMTPSA id k199sm3973330qke.45.2019. (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 04 Sep 2019 11:54:56 -0700 (PDT)
Content-Type: text/plain; charset=utf-8
Mime-Version: 1.0 (Mac OS X Mail 12.4 \(3445.104.11\))
From: Brian Rosen <>
In-Reply-To: <>
Date: Wed, 4 Sep 2019 14:54:53 -0400
Cc: Paul Kyzivat <>, "" <>
Content-Transfer-Encoding: quoted-printable
Message-Id: <>
References: <> <> <> <> <> <> <> <> <> <> <> <> <> <>
To: James Hamlin <>
X-Mailer: Apple Mail (2.3445.104.11)
Archived-At: <>
Subject: Re: [Rum] Codec requirements in draft-rosen-rue-01
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Relay User Machine <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Wed, 04 Sep 2019 18:55:02 -0000

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).


> On Sep 4, 2019, at 1:52 PM, James Hamlin <> 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 ( ), 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 <> on behalf of Brian Rosen <>
> Sent: 04 September 2019 14:54
> To: Paul Kyzivat
> Cc:
> 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 <> 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 <> on behalf of Paul Kyzivat <>
>>> Sent: 28 August 2019 16:48
>>> To:
>>> 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 <> 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 <> 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 <> 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 mailing list
>> --
>> Rum mailing list
> --
> Rum mailing list