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

"Lee, Richard FTC" <Richard.Lee.FTC@FMR.COM> Fri, 11 October 2013 18:25 UTC

Return-Path: <Richard.Lee.FTC@FMR.COM>
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 B256921E809B for <rtcweb@ietfa.amsl.com>; Fri, 11 Oct 2013 11:25:59 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.598
X-Spam-Level:
X-Spam-Status: No, score=-6.598 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_MED=-4]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Bea7DwIZusvf for <rtcweb@ietfa.amsl.com>; Fri, 11 Oct 2013 11:25:42 -0700 (PDT)
Received: from msginmsm07vapp.fmr.com (ltm-fwus209m-210m.fidelity.com [155.199.204.10]) by ietfa.amsl.com (Postfix) with ESMTP id 8E3B921E808A for <rtcweb@ietf.org>; Fri, 11 Oct 2013 11:25:41 -0700 (PDT)
Received: from msgrtphc01win.DMN1.FMR.COM (MSGRTPHC01WIN.dmn1.fmr.com [10.93.142.12]) by msginmsm07vapp.fmr.com (Sentrion-MTA-4.2.2/Sentrion-MTA-4.2.1) with ESMTP id r9BIPXrW016367 (version=TLSv1/SSLv3 cipher=RC4-MD5 bits=128 verify=FAIL); Fri, 11 Oct 2013 18:25:35 GMT
X-DKIM: OpenDKIM Filter v2.1.3 msginmsm07vapp.fmr.com r9BIPXrW016367
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=fmr.com; s=2012-05-26; t=1381515935; bh=wUYn+wYM/gyHoCiGyTnJysQXus7SInusQF07P5idOVw=; h=From:To:CC:Date:Subject:Message-ID:References:In-Reply-To: Content-Type:MIME-Version; b=PHJ6x3IaLC0nQTxyi9CHz6xw6ZDuuQEZD2CPZJmdKZJvYrL35mndYs3tlLjL0+Y9m NhaVYP6NcCpEBr5JmTk1B79Z2ClZskP8ClJnUKVdoSy1FAYbowhqF6fAjTRanZrT13 sfSqkirj1slEibNPuu0QNwDRqKH4GeNwkW8qHT2Y=
Received: from MSGRTPCCRE2WIN.DMN1.FMR.COM ([10.95.11.31]) by msgrtphc01win.DMN1.FMR.COM ([10.93.142.12]) with mapi; Fri, 11 Oct 2013 14:25:34 -0400
From: "Lee, Richard FTC" <Richard.Lee.FTC@FMR.COM>
To: "rtcweb@ietf.org" <rtcweb@ietf.org>
Date: Fri, 11 Oct 2013 14:25:33 -0400
Thread-Topic: [rtcweb] Payload Types assignments was Re: SV: [mmusic] WGLC of draft-ietf-rtcweb-use-cases-and-requirements-11
Thread-Index: Ac7Gq1VOykSgMZqUTRqvXhIF7obhAwAAbyWA
Message-ID: <3B4DBB0890AD6642BEAB7B3470FC18F90117A1A1D789@MSGRTPCCRE2WIN.DMN1.FMR.COM>
References: <C5E08FE080ACFD4DAE31E4BDBF944EB11667BBA0@xmb-aln-x02.cisco.com> <5238446D.8050700@ericsson.com> <9F33F40F6F2CD847824537F3C4E37DDF17BCF581@MCHP04MSX.global-ad.net> <524AB730.7040809@ericsson.com> <525272E8.5050300@ericsson.com> <5253E5EB.8030608@alvestrand.no> <AAE428925197FE46A5F94ED6643478FEAD1BDC6F0B@HE111644.EMEA1.CDS.T-INTERNAL.COM> <CA+9kkMDo2zu12qLfEeSC2YFaEeK-LbZ4JTDJiG8zfktBb-iB2A@mail.gmail.com> <AAE428925197FE46A5F94ED6643478FEAD1BDC7177@HE111644.EMEA1.CDS.T-INTERNAL.COM> <CA+9kkMDg+EYPPSSP_LA9S98QECT5yPCHN9QxwTbejAmo6ijudA@mail.gmail.com>
In-Reply-To: <CA+9kkMDg+EYPPSSP_LA9S98QECT5yPCHN9QxwTbejAmo6ijudA@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
acceptlanguage: en-US
Content-Type: multipart/alternative; boundary="_000_3B4DBB0890AD6642BEAB7B3470FC18F90117A1A1D789MSGRTPCCRE2_"
MIME-Version: 1.0
Subject: Re: [rtcweb] Payload Types assignments was Re: SV: [mmusic] WGLC of draft-ietf-rtcweb-use-cases-and-requirements-11
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Fri, 11 Oct 2013 18:26:07 -0000

I think peer to peer communications are fine and will work akin to the Skype (Best Effort delivery) model
Session quality will suffer periodically. While annoying, part of the price to pay for a free service
The expectation of providing network guarantees for timely service delivery does require active intervention (ToS or DSCP) with associated cost
Negotiation of codecs and bandwidth assignments are typically done by the endpoints in a peer to peer endpoints for a given session.
Due to the bandwidth options associated with video, it is expected that controls will be implemented at enterprise borders to enforce session constraints
In part to allow as many sessions as possible.

Enterprise support of webRTC will probably evolve as SIP has done.
There will be a service/proxy exposed to allow communications inside the corporate network
In many organizations protocols that bypass standard firewalls (STUN, TURN, ICE ...) are blocked.

Regards
Rich



From: rtcweb-bounces@ietf.org [mailto:rtcweb-bounces@ietf.org] On Behalf Of Ted Hardie
Sent: Friday, October 11, 2013 1:56 PM
To: BeckW@telekom.de
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] Payload Types assignments was Re: SV: [mmusic] WGLC of draft-ietf-rtcweb-use-cases-and-requirements-11

On Fri, Oct 11, 2013 at 2:20 AM, <BeckW@telekom.de<mailto:BeckW@telekom.de>> wrote:
Ted wrote:
> 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 issue.

> What am I missing?
Here are some examples that were mentioned on the list or elsewhere:
- My company doesn't allow tunnels to the TURN server of some outside WebRTC service. How can I tell the WebRTC service to use my company's TURN server?

I see.  I was taking your original statement "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?" a bit too literally--I thought you were focused purely on prioritization and resource allocation.  If part of what you mean is "how do I discover a service on the local network when I require it", then the answer is going to be dependent on the service, not on the condition that causes you to require it.  That it is, for TURN you look to RFC 5766 and RFC 5928 and their successors, not to RTCWEB.

- My ISP uses DSCP code point x for low delay. How can I tell my WebRTC service to use this code point for the flows that require low delay (as Harald correctly pointed out, only the service self knows about the requirements of a flow)?

So, I'm not sure there are many places where DSCP markings from external parties are trusted at AS borders in any case, but the theory is that we say what DSCP marking should be used and the ISP recognizes it as WebRTC traffic from that code point.  In the case where the ISP does trust external markings but doesn't use a standard one, you have a bit of problem in any case--the marking on the packet from the peer may be valid in the origin network, so recommending it be changed to the one in the destination may result in sub-optimal processing in the origin.  At that point, you need one of the two peer networks to adjust the markings at the border.  This is, again, not really a problem for RTCWEB to solve.

- My ISP requires admission control to protect its low delay class from packet loss. How can a WebRTC service contact the resource admission control service (ok, this a bit speculative)?
Yeah, I tend to agree that this is speculative.

In all those cases, the WebRTC service needs information about the user's infrastructure, be it the company intranet or the ISP. We currently don't have a good way to get such information.


For the services like TURN, I believe the answer is "use what ever is defined for that service, rather than inventing a new one for WebRTC".  For the marking, I think the answer has to be "define a standard marking", since you likely can't find the specific markings and then implement translations for all the networks a flow might traverse.
Just my opinion as a contributor, mind, not a chair or company statement.
regards,

Ted



Wolfgang Beck


-----Ursprüngliche Nachricht-----
Von: rtcweb-bounces@ietf.org<mailto:rtcweb-bounces@ietf.org> [mailto:rtcweb-bounces@ietf.org<mailto:rtcweb-bounces@ietf.org>] Im Auftrag von Harald Alvestrand
Gesendet: Dienstag, 8. Oktober 2013 13:01
An: rtcweb@ietf.org<mailto:rtcweb@ietf.org>
Betreff: Re: [rtcweb] Payload Types assignments was Re: SV: [mmusic] WGLC of draft-ietf-rtcweb-use-cases-and-requirements-11

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 application.
You can't tell what the right priority ranking is without asking the application.

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@ietf.org<mailto:rtcweb@ietf.org>
https://www.ietf.org/mailman/listinfo/rtcweb
_______________________________________________
rtcweb mailing list
rtcweb@ietf.org<mailto:rtcweb@ietf.org>
https://www.ietf.org/mailman/listinfo/rtcweb