#465: WebRTC DSCP Control API

Visit on Github.

Opened Jan 17, 2020

Hello TAG!

I'm requesting a TAG review of WebRTC DSCP Control API - following up to https://github.com/w3ctag/design-reviews/issues/325 who had been closed for lack of an explainer.

An API to control the network priority of media streams sent over WebRTC connections, using DSCP marking and congestion control.

Further details:

  • I have reviewed the TAG's API Design Principles
  • Relevant time constraints or deadlines: N/A
  • The group where the work on this specification is being done: WebRTC WG
  • Major unresolved issues with or opposition to this specification:
  • This work is being funded by:

We'd prefer the TAG provide feedback as 🐛 open issues in our GitHub repo for each point of feedback

Discussions

Discussed Feb 1, 2020 (See Github)

Sangwhan: I looked into this, but I still don't understand it. The WebRTC parts I understand are the encoding parts... this is networking. Packet prioritising etc... can use this API to divide traffic unequally over several channels. I don't understand the use case.

Kenneth: The explainer doesn't explain much either....

Sangwhan: Need to defer to Yves here. I don't understand the value.

Kenneth: Added comments to the issue about explainer and spec returning 40

Comment by @kenchris Feb 11, 2020 (See Github)

The spec URL returns a 404 for me

Comment by @kenchris Feb 11, 2020 (See Github)

The explainer is not very good at explaining the use-cases (very short and not use-case focused) and mostly lists examples. Please have a look at https://w3ctag.github.io/explainers for how to write a good and useful explainer

Comment by @dontcallmedom Feb 11, 2020 (See Github)

(updated the request with updated URL of the spec https://w3c.github.io/webrtc-priority/)

Comment by @ylafon Feb 18, 2020 (See Github)

I was wondering if letting a web app setting network priorities was a good thing to do. I'd rather have hints on relative priorities and let the system decide how to apply them (or not).

Comment by @cynthia Mar 3, 2020 (See Github)

@ylafon and I looked at this again during the Wellington F2F. Aside from the comments above (which we do consider substantial) we don't have further feedback.

Comment by @alvestrand Jun 11, 2020 (See Github)

Note to @ylafon - the spec contains two parts - the local prioritization and the setting of DSCP code points. I take it the local prioritization (which is prioritization among the client's own flows) is uncontroversial.

DSCP code points are usually the subject of network manager rule-setting; if the network is not configured to act on them, they will have no effect. So they can be considered "hints on relative priorities" sent from the host to the network.

The idea that such hints should be settable by the app has been accepted in the IETF for a very long time (years); I'm not eager to reopen that issue there. The relevant IOCTLs are available to all apps running natively on the host, so if we add another level of policing to their use, we're increasing the capability distance between native apps and Web apps. Still, a permissioned model might be a possibility here.

Apologies for the slow response.