Re: [rtcweb] SDP Security Descriptions (RFC 4568) and RTCWeb

Cullen Jennings <fluffy@iii.ca> Fri, 26 April 2013 18:48 UTC

Return-Path: <fluffy@iii.ca>
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 2192321F9926 for <rtcweb@ietfa.amsl.com>; Fri, 26 Apr 2013 11:48:02 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599]
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 joO-x372S3la for <rtcweb@ietfa.amsl.com>; Fri, 26 Apr 2013 11:48:01 -0700 (PDT)
Received: from mxout-07.mxes.net (mxout-07.mxes.net [216.86.168.182]) by ietfa.amsl.com (Postfix) with ESMTP id 7C36921F991A for <rtcweb@ietf.org>; Fri, 26 Apr 2013 11:48:01 -0700 (PDT)
Received: from [192.168.4.100] (unknown [128.107.239.233]) (using TLSv1 with cipher AES128-SHA (128/128 bits)) (No client certificate requested) by smtp.mxes.net (Postfix) with ESMTPSA id F319A22E1F3; Fri, 26 Apr 2013 14:47:54 -0400 (EDT)
Content-Type: text/plain; charset="iso-8859-1"
Mime-Version: 1.0 (Mac OS X Mail 6.3 \(1503\))
From: Cullen Jennings <fluffy@iii.ca>
In-Reply-To: <CFAE4CD8-5A9C-41D4-9017-C5B505493631@phonefromhere.com>
Date: Fri, 26 Apr 2013 12:47:54 -0600
Content-Transfer-Encoding: quoted-printable
Message-Id: <079FA1E8-0247-4ACD-9F71-4FA86E5616E5@iii.ca>
References: <3FA2E46D-C98E-4FC0-9F1D-AD595A861CE1@iii.ca> <20130425202238.74EF321F96A5@ietfa.amsl.com> <AE1A6B5FD507DC4FB3C5166F3A05A48416281FDB@tk5ex14mbxc272.redmond.corp.microsoft.com> <5179BEEF.4000600@jesup.org> <517A0237.9030008@matthew.at> <CA+9kkMAd6LxPTsA+3LfXFkoZQN-D4pwsAG9Oa9axiFt-QPOSOw@mail.gmail.com> <517A8248.4020604@matthew.at> <1BF967D4-2EEA-489D-977E-E5D711966753@phonefromhere.com> <C5E08FE080ACFD4DAE31E4BDBF944EB1134A2B36@xmb-aln-x02.cisco.com> <CFAE4CD8-5A9C-41D4-9017-C5B505493631@phonefromhere.com>
To: Tim Panton <tim@phonefromhere.com>
X-Mailer: Apple Mail (2.1503)
Cc: "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] SDP Security Descriptions (RFC 4568) and RTCWeb
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, 26 Apr 2013 18:48:02 -0000

On Apr 26, 2013, at 12:31 PM, Tim Panton <tim@phonefromhere.com>
 wrote:

> 
> On 26 Apr 2013, at 19:07, Cullen Jennings (fluffy) wrote:
> 
>> 
>> On Apr 26, 2013, at 7:47 AM, Tim Panton <tim@phonefromhere.com> wrote:
>> 
>>> If anyone still thinks that SDP is just a blob not an API surface, take a look at the 'reference implementation' of browser to browser interop.
>>> https://code.google.com/p/webrtc-samples/source/browse/trunk/apprtc/index.html
>>> 
>>> I count around 100 lines of javascript munging the SDP.
>> 
>> Could you just summarize what the 100 lines do and which theses would be needed for browsers that implemented the drat standards? I'm trying to dig into what we need to fix. 
> 
> 
> The bulk of it seems to be there to coerce the browsers to use the 'best' codec. 
> I see code to remove CN and re-write the m= line to get opus as the first element.
> 
> I think this represents a class of problem where the web programmer will want to assert their 
> preferences, and currently SDP munging is the only available API.
> 
> I personally doubt that any level of standardisation of the SDP will remove the need for such tweaks.

I think that both Firefox and Chrome would agree with was a bug to prefer narrowband codecs over wideband codecs. I'd be shocked to actually see them prefer narrowband over G.711. 

I think the older version of Chrome prefer some non standard codec over opus but that could change. Allowing an application to change preference in that case is a valid reason to munge SDP but not one that most applications will probably care about. If we want to avoid this type of SDP munging, we could easily add a constraint to the API that allowed the application to provide codec preferences along the lines of how openssl allows one to provide crypto preferences. I would like to point out that this code makes opus always the preferred which is really bad for future interoperability. When we come out with opus2, and all the browsers support it, this code will still be using opus1. So in my opinion, this code would be better if it did not do this and just let offer /answer negotiation pick a codec but I digress. 

If the browsers can't process the SDP with the CN and ignore it, that seems like a bug.