Re: [rtcweb] Payload Types assignments was Re: SV: [mmusic] WGLC of draft-ietf-rtcweb-use-cases-and-requirements-11

"Karl Stahl" <> Tue, 22 October 2013 14:37 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id D0C8C11E8494 for <>; Tue, 22 Oct 2013 07:37:34 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -0.923
X-Spam-Status: No, score=-0.923 tagged_above=-999 required=5 tests=[AWL=-1.188, BAYES_40=-0.185, HTML_MESSAGE=0.001, MSGID_MULTIPLE_AT=1.449, RCVD_IN_DNSWL_LOW=-1]
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id tszmSftO3PdF for <>; Tue, 22 Oct 2013 07:37:29 -0700 (PDT)
Received: from ( []) by (Postfix) with ESMTP id 7223911E83C7 for <>; Tue, 22 Oct 2013 07:36:40 -0700 (PDT)
Received: from ([]) by (Telecom3 SMTP service) with ASMTP id 201310221636281499; Tue, 22 Oct 2013 16:36:29 +0200
From: Karl Stahl <>
To: 'Dan Wing' <>, 'Ted Hardie' <>, 'Harald Alvestrand' <>
References: <> <> <> <> <> <> <AAE428925197FE46A5F94ED6643478FEAD1BDC6F0B@HE111644.EMEA1.CDS.T-INTERNAL.COM> <> <>
In-Reply-To: <>
Date: Tue, 22 Oct 2013 16:36:31 +0200
Message-ID: <02b501cecf34$1a1dc250$4e5946f0$@stahl>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary="----=_NextPart_000_02B6_01CECF44.DDA69250"
X-Mailer: Microsoft Office Outlook 12.0
Thread-Index: Ac7G4vcMd4grRwnSQw68FakoPtGiLAIMBzEQ
Content-Language: sv
Subject: Re: [rtcweb] Payload Types assignments was Re: SV: [mmusic] WGLC of draft-ietf-rtcweb-use-cases-and-requirements-11
X-Mailman-Version: 2.1.12
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 22 Oct 2013 14:37:35 -0000

This discussion got side tracked from where I started it from, so in the
next two mails I am jumping back to the threads where the original subjects
were left.  


Comment on this discussion: 

Using a WebRTC browser as a client into an application specific network
(e.g. IMS/VoLTE/RCS) is one usage of WebRTC. When building such a gateway as
a Web application, doesn’t the gateway (the web application) in itself know
the characteristics of the application specific network? I don’t see the
need to discover that.


But such gateway has the other side towards the Internet - That is where we
have the Web and the WebRTC browser. 


For the Internet side (in general, and of course with browser to browser
communication over the Internet also in mind)  I raised two questions:

1) How can the browser find a network provided TURN server (both local on a
LAN or provided by a carrier)?

2) Can the WebRTC browser/application convey real-time quality requirements
to the network, by using the payload type (that is what we can still see in
RTP, when both the payload and signaling are hidden from the network as it
is with WebRTC, and diffserv bits are not sufficient and not available
through the OSs).


These questions are related: There are carriers wanting to support WebRTC
traffic with better Internet access than their data crowded best effort
accesses. ICE/STUN/TURN allows a network provider to capture the real-time
traffic in a TURN server, where the network provider can offer a better path
for real-time traffic. 


Capturing such TURN flow, is a good start for providing better network
quality, but it would be even better would if the bandwidth requirements and
maybe some more qualities could be seen by the TURN server, e.g. by
signaling them in the RTP payload type. (This is especially true and I would
say required for RSVP type of networks, that has to reserve bandwidth.)


Jumping back to the two threads I started which were left at:


1) Justin pointing out the bootstrap problem of using reverse DNS to find a
network provided TURN server. (How is the STUN server to use first found?) I
will instead propose an anycast-way, that I think will do everything we are
looking for.


2) Harald listing the media types and their various quality needs. There is
actually a good way to signal those needs to the network (without using the
PT, or diffserv bits, which aren’t sufficient for RSVP type of networks
anyway). The RTP header extension field is also visible to the network, and
a week ago came that outlines
the use of the extension field for classification of the traffic.





Från: [] För Dan Wing
Skickat: den 12 oktober 2013 02:35
Till: Ted Hardie
Ämne: Re: [rtcweb] Payload Types assignments was Re: SV: [mmusic] WGLC of



On Oct 10, 2013, at 9:30 AM, Ted Hardie <> wrote:

On Thu, Oct 10, 2013 at 8:02 AM, <> wrote:

The basic question seems to be: how can the web server or JS client learn
about local policy enforcement elements in the user's network and access
them to allocate bandwidth, setup priorisation etc?


So, I'm a little confused about why that is the basic question.  If the
prioritization is done by something like a diffserv code point, it seems
like the question is how the flow signals its classification, rather than to
whom it signals that .  I would presume that the networks which honor such
markings would be constructed such that some conversant network element is
on path.  What it is and where it is kind of aren't the JS app or browser's

What am I missing?


* Several operating systems do not allow non-privileged applications to set
DSCP bits at all; Windows, for example.  Yes, I know everyone is supposed to
use any other OS, but Linux has also only allowed certain DSCP values to be

* When joining a network, the DSCP values for the network cannot be learned
or discovered -- we lack a protocol to do that.  The RFCs that define DSCP
values are not standards (they are informational) and many a network choose
their own values.  

* Setting the correct DSCP value affects only outgoing traffic but has no
influence on the incoming traffic.  As you stated in a later post, incoming
DSCP isn't trusted anyway.  "Reflexive DSCP Policy" was attempted years ago
to allow the network to assume a host's DSCP settings could be applied to
the other direction, but it was rejected I believe during IETF review but I
couldn't find record why it was actually disposed (document was






The ALTO WG had a very similar problem and proposed DHCP after DNS experts
dismissed a discovery mechanism based on reverse DNS lookups.

The classical solution: avoid the problem by having a webrtc server in your
local network which does policy enforcement/QoS priorisation etc, and
interconnects to some other webrtc server with a standardized protocol like
SIP or XMPP. Popular in RTCWEB, less popular elsewhere..

The DHCP way: let the browser learn about the policy enforcement elements
through DHCP, it may communicate them to the server. This has some problems.
There are no widely adopted DHCP APIs, and the policy enforcement elements
may be unwilling to let some random web server access them.

DNS magic: derive the address of your local policy enforcement element by
manipulating the result of a reverse DNS lookup of the global IP address.

Manual configuration: Solves only the problem of missing DHCP APIs and
introduces the usability nightmare we know too well from SIP clients.

3rd party auth: the user authenticates with a local idP, which not only
carries the user's name but also the local policy enforcement urls as
attributes. A web server can use the 3rd party auth token to access the
local network elements. Haven't thought this through yet.

Wolfgang Beck

-----Ursprüngliche Nachricht-----
Von: [] Im Auftrag von
Harald Alvestrand
Gesendet: Dienstag, 8. Oktober 2013 13:01
Betreff: Re: [rtcweb] Payload Types assignments was Re: SV: [mmusic] WGLC of

On 10/08/2013 09:17 AM, Karl Stahl wrote:
> Hej Magnus,
>> Also, are you really interested in knowing that it is VP9 vs H.264,
>> isn't
> the questions this is video of this priority that is important?
>> I think you need to more carefully consider what are the goals you
>> try to
> achieve them.
> Actually, my concern is to get an idea of the maximum bandwidth that
> could be required for a WebRTC (ICE) setup media flow. Both voice and
> video should be prioritized over data (their individual priority is of
> less importance as long as there is sufficient bandwidth for both).

You don't know that without knowing what the application is for.
In, for instance, a shooter game with voice backchannels, the movement and
event information (data) is MORE time sensitive than the voice data.

> With diffserv you don't need to know the bandwidth requirement, but
> with RSVP reservation (like in cable and mobile networks) you need to
> know how much to reserve. Voice is like 100's kbit/s, video VP8 or
> H.264 is like 3,5 mbps.

Again, without knowing the application, you don't know that.
The application could decide to use QCIF or HD, and the bandwidth variation
of screencast (semi-static with sudden, large changes) is completely
different from that of a talking head, which is again completely different
from a high-movement scene.

> To add to the complication of codec variants, the video codecs in
> question for WebRTC have variable bandwidth, and when there is a poor
> connection we see Chrome reducing the video window size to reduce the
bandwidth used...
> I think the payload type field at best can reflect a maximum bandwidth
> to initially reserve bandwidth for, and thereafter make new
> reservations if the bandwidth changes during the call. So could we
> change RTP to show maximum bandwidth instead of payload type in that
> field outside the encrypted payload :) ... Or maybe that is not a joke?

I think these ruminations only lead to one conclusion:

You can't tell what the needed bandwidth is up front without asking the
You can't tell what the right priority ranking is without asking the

If you need to know the bandwidth or the priority up front, the application
has to tell you. Anything else is pure heuristics.

rtcweb mailing list
rtcweb mailing list


rtcweb mailing list