Re: [rtcweb] JSEP-bis and WebRTC-Extensions Section 5.2

Tim Panton <thp@westhawk.co.uk> Sun, 07 May 2023 13:27 UTC

Return-Path: <thp@westhawk.co.uk>
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 A6F95C14CE2E for <rtcweb@ietfa.amsl.com>; Sun, 7 May 2023 06:27:25 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.496
X-Spam-Level:
X-Spam-Status: No, score=-2.496 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, HTTPS_HTTP_MISMATCH=0.1, RCVD_IN_DNSWL_LOW=-0.7, RCVD_IN_ZEN_BLOCKED_OPENDNS=0.001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001, URIBL_DBL_BLOCKED_OPENDNS=0.001, URIBL_ZEN_BLOCKED_OPENDNS=0.001] autolearn=unavailable autolearn_force=no
Received: from mail.ietf.org ([50.223.129.194]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id V7LobGR79r3K for <rtcweb@ietfa.amsl.com>; Sun, 7 May 2023 06:27:20 -0700 (PDT)
Received: from smtp002.apm-internet.net (smtp002.apm-internet.net [85.119.248.221]) (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 BFF75C14CE38 for <rtcweb@ietf.org>; Sun, 7 May 2023 06:27:18 -0700 (PDT)
Received: (qmail 13389 invoked from network); 7 May 2023 13:27:15 -0000
X-APM-Out-ID: 16834660351338
X-APM-Authkey: 255286/0(159927/0) 43
Received: from unknown (HELO zimbra003.verygoodemail.com) (85.119.248.218) by smtp002.apm-internet.net with SMTP; 7 May 2023 13:27:15 -0000
Received: from localhost (localhost [127.0.0.1]) by zimbra003.verygoodemail.com (Postfix) with ESMTP id D4E0B81845; Sun, 7 May 2023 14:27:15 +0100 (BST)
Received: from zimbra003.verygoodemail.com ([127.0.0.1]) by localhost (zimbra003.verygoodemail.com [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id Nv3Qy3LBD38Q; Sun, 7 May 2023 14:27:15 +0100 (BST)
Received: from smtpclient.apple (unknown [192.67.4.77]) by zimbra003.verygoodemail.com (Postfix) with ESMTPSA id AF1818039E; Sun, 7 May 2023 14:27:15 +0100 (BST)
From: Tim Panton <thp@westhawk.co.uk>
Message-Id: <8A7B8A70-7E37-4B0F-917D-C2FF62B84768@westhawk.co.uk>
Content-Type: multipart/alternative; boundary="Apple-Mail=_0C0D4D65-2702-4902-9633-A8526DEB873F"
Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3731.500.231\))
Date: Sun, 07 May 2023 14:27:05 +0100
In-Reply-To: <HE1PR07MB444193373683D3D0E2F0735F93709@HE1PR07MB4441.eurprd07.prod.outlook.com>
Cc: Christer Holmberg <christer.holmberg=40ericsson.com@dmarc.ietf.org>, "rtcweb@ietf.org" <rtcweb@ietf.org>
To: Christer Holmberg <christer.holmberg@ericsson.com>
References: <CAPn_nMPhh0x5-_BKa0xF595Y8LXo5oRQjJqFgxFLtcCf+-FpOw@mail.gmail.com> <HE1PR07MB44416F5D6CCD8940D5974E3193709@HE1PR07MB4441.eurprd07.prod.outlook.com> <61AC7C19-2806-483F-9526-637DB5D46104@westhawk.co.uk> <HE1PR07MB444193373683D3D0E2F0735F93709@HE1PR07MB4441.eurprd07.prod.outlook.com>
X-Mailer: Apple Mail (2.3731.500.231)
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/Bn_y9nm4aJShPNfVpInaCKFmtuw>
Subject: Re: [rtcweb] JSEP-bis and WebRTC-Extensions Section 5.2
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.39
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: Sun, 07 May 2023 13:27:25 -0000


> On 7 May 2023, at 13:16, Christer Holmberg <christer.holmberg@ericsson.com> wrote:
> 
> Hi,
> 
> I don’t think you would use O/A as a mechanism to indicate what your library can support in general. For example, your library may support video, but you are not going to offer video unless you intend to use it.

Codecs are probably a better comparison - you will offer _all_ the video codecs that are supported with a priority order - or none at all.

> 
> Regarding your suggestion, would it be only for the RTP header extensions? If so, we would say “supported by the application” for one feature and “supported” for the other features, which I still think would be confusing.

I think so - since the change W3C API in question only allows management of RTP header extensions .


> 
> Are there actually some real implementation issues behind the proposed change, or is it only about W3C and IETF using different terminology?

It’s an API layer thing. At present there are no ways for a javascript application to manage which RTP header extensions are present in an offer*. So the current behaviour is to offer _everything_ the library/stack is capable of. The W3C is creating an API point that allows the javascript application to decide which extensions (of all the ones supported by the stack) are useful/relevant/safe for the application.


If both side’s webRTC implementations support a lot of RTP header extensions, the current wording will have them _all_ offered and all accepted in an answer, even if none of them add any value to the application - bloating the packet size needlessly. 
Specifically: ’supported’ is taken to mean supported by the user agent - rather than supported by the application as a whole.

(This is my understanding of the issue at least)

Tim.


* other than ‘hand’ editing the SDP.
> 
> Regards,
> 
> Christer
> 
> Sent from Outlook for iOS <https://aka.ms/o0ukef>
> From: rtcweb <rtcweb-bounces@ietf.org> on behalf of Tim Panton <thp@westhawk.co.uk>
> Sent: Sunday, May 7, 2023 1:16:27 PM
> To: Christer Holmberg <christer.holmberg=40ericsson.com@dmarc.ietf.org>
> Cc: rtcweb@ietf.org <rtcweb@ietf.org>
> Subject: Re: [rtcweb] JSEP-bis and WebRTC-Extensions Section 5.2
>  
> I was also thinking about this too - and I somewhat agree.
> 
> We could replace ‘supported' with 'supported by the current application’ since at a high level what this change does is to differentiate between extensions that the library (libwebrtc etc) can support vs extensions the current application wants to support.
> 
> It also makes it clearer that this is an editorial change.
> 
> T.
> 
>> On 7 May 2023, at 11:10, Christer Holmberg <christer.holmberg=40ericsson.com@dmarc.ietf.org> wrote:
>> 
>> Hi,
>> 
>> I have issues with the proposed change.
>> 
>> First, AFAIK, "enabled" is not used in any other O/A specification.
>> 
>> Second, my reading of "supported" is that it is something that the endpoint is actually willing to/capable of using within the session. 
>> 
>> Third, within the JSEP O/A procedures, "supported" is used for other features (e.g., FEC mechanisms). Using other terminology for one feature will only confuse the reader, in my opinion.
>> 
>> Fourth, if it is unclear what "supported" really means we should rather clarify that.
>> 
>> Regards,
>> 
>> Christer
>> 
>> Sent from Outlook for iOS <https://aka.ms/o0ukef>
>> From: rtcweb <rtcweb-bounces@ietf.org> on behalf of Justin Uberti <justin@fixie.ai>
>> Sent: Saturday, May 6, 2023 3:30:33 AM
>> To: rtcweb@ietf.org <rtcweb@ietf.org>; superuser@gmail.com <superuser@gmail.com>
>> Subject: [rtcweb] JSEP-bis and WebRTC-Extensions Section 5.2
>>  
>> The WebRTC W3C WG is working on an extension spec <https://w3c.github.io/webrtc-extensions/#rtp-header-extension-control-modifications> that suggests behavior for RTP header extension O/A that conflicts slightly with the current version of JSEP. Rather than have this sort of ad-hoc extensions extension to JSEP in the W3C spec, it was suggested that we could apply a tiny patch to JSEP before JSEP-bis is finalized (it's currently in the RFC Editor state). Murray was supportive of this but wanted to make sure the WG was fully behind this change first.
>> 
>> For context, Section 5.2 in the W3C extension spec basically says that WebRTC endpoints can control the extensions that are in use, and as a result O/A negotiation should a) use only the extensions that are enabled by the endpoint, and b) always reoffer all extensions, rather than the previously negotiated set.
>> 
>> I've made a PR that captures this request at https://github.com/rtcweb-wg/jsep/pull/1033/files <https://protect2.fireeye.com/v1/url?k=31323334-501d5122-313273af-454445555731-45f3175ddedc0fdc&q=1&e=d500064c-f63a-47ed-b1ec-2ff879fda6f4&u=https%3A%2F%2Fgithub.com%2Frtcweb-wg%2Fjsep%2Fpull%2F1033%2Ffiles>, and it basically makes two surgical changes:
>> 1) replaces the use of "supported RTP header extensions" with "enabled RTP header extensions"
>> 2) changes the text around "extensions... present in the most recent answer" to instead say "extensions... enabled on the associated transceiver" (similar to how codecs are handled in JSEP).
>> 
>> Please let me know if this sounds reasonable to you or you have concerns.
>> 
>> Thanks,
>> Justin
>> 
>> _______________________________________________
>> rtcweb mailing list
>> rtcweb@ietf.org
>> https://www.ietf.org/mailman/listinfo/rtcweb
>