Re: [rtcweb] ROAP Example Application

Matthew Kaufman <matthew.kaufman@skype.net> Mon, 07 November 2011 23:42 UTC

Return-Path: <matthew.kaufman@skype.net>
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 6427321F8B73 for <rtcweb@ietfa.amsl.com>; Mon, 7 Nov 2011 15:42:45 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.289
X-Spam-Level:
X-Spam-Status: No, score=-6.289 tagged_above=-999 required=5 tests=[AWL=0.310, BAYES_00=-2.599, 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 illUCX914U1b for <rtcweb@ietfa.amsl.com>; Mon, 7 Nov 2011 15:42:44 -0800 (PST)
Received: from mx.skype.net (mx.skype.net [78.141.177.88]) by ietfa.amsl.com (Postfix) with ESMTP id 5AA6C21F8A62 for <rtcweb@ietf.org>; Mon, 7 Nov 2011 15:42:44 -0800 (PST)
Received: from mx.skype.net (localhost [127.0.0.1]) by mx.skype.net (Postfix) with ESMTP id D05C416F6; Tue, 8 Nov 2011 00:42:42 +0100 (CET)
DKIM-Signature: v=1; a=rsa-sha1; c=relaxed; d=skype.net; h=message-id :date:from:mime-version:to:cc:subject:references:in-reply-to :content-type:content-transfer-encoding; s=mx; bh=+jnhhYlG7u4vT0 pQs1VdbT1IZo0=; b=nd0n1TmNeLTI36IJ7K8ftoSIYSm5WvBE0u0N79Qrt6bjLe F92P5wiFhIrplTQ6mGmNI5WUk/pc0CvmZAb6FxQnyBoomaQgub1boGahO9UlsnwG 4AZL73sKw1Xm9EBdlLx2m/XY42Hq6SQnC84daLEaaynUaaxRQjldO2grbsrow=
DomainKey-Signature: a=rsa-sha1; c=nofws; d=skype.net; h=message-id:date:from :mime-version:to:cc:subject:references:in-reply-to:content-type: content-transfer-encoding; q=dns; s=mx; b=TrfibpXBXRPd6vX46JZihc xIlZ9sM280OEXnb2v7vYG6127ZmYaCuGmgh1RKDlm6xBL97XFcyojlw1ERrWnH2u 1Wqf7IKVpyO5QwIUwqsaLwfy0rNjEAskq+/eCFAS1Xho7EhioJKYYgf7WKILqO04 YWwHI9cVn5J9qInhE0+T4=
Received: from zimbra.skype.net (zimbra.skype.net [78.141.177.82]) by mx.skype.net (Postfix) with ESMTP id CE9517F6; Tue, 8 Nov 2011 00:42:42 +0100 (CET)
Received: from localhost (localhost [127.0.0.1]) by zimbra.skype.net (Postfix) with ESMTP id A3BA51685A01; Tue, 8 Nov 2011 00:42:42 +0100 (CET)
X-Virus-Scanned: amavisd-new at lu2-zimbra.skype.net
Received: from zimbra.skype.net ([127.0.0.1]) by localhost (zimbra.skype.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id x7nkEXyqPYq4; Tue, 8 Nov 2011 00:42:41 +0100 (CET)
Received: from Matthew-Kaufman-Air.local (50-0-2-20.static.sonic.net [50.0.2.20]) by zimbra.skype.net (Postfix) with ESMTPSA id E95851672681; Tue, 8 Nov 2011 00:42:40 +0100 (CET)
Message-ID: <4EB86CEF.9040201@skype.net>
Date: Mon, 07 Nov 2011 15:42:39 -0800
From: Matthew Kaufman <matthew.kaufman@skype.net>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.6; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1
MIME-Version: 1.0
To: Randell Jesup <randell-ietf@jesup.org>
References: <EED7DD83-EFDF-43B3-B9EE-7D28D057FA37@cisco.com> <ED6F9988-76B3-4A0A-B885-E805CD131476@skype.net> <CA+9kkMBOSvKfp27xbBmVhtdfmO5imQ-owXayA-6DCpsizEUJmA@mail.gmail.com> <4EA20101.8090401@skype.net> <405C23A2-8E22-464E-A0A3-038E497237B4@acmepacket.com> <4EA2378E.4010502@jesup.org>
In-Reply-To: <4EA2378E.4010502@jesup.org>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: rtcweb@ietf.org
Subject: Re: [rtcweb] ROAP Example Application
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: Mon, 07 Nov 2011 23:42:45 -0000

On 10/21/11 8:25 PM, Randell Jesup wrote:
> On 10/21/2011 9:12 PM, Hadriel Kaplan wrote:
>> I think what you're getting at is: if we threw out SDP and 
>> re-designed how/what devices indicated/negotiated media-plan stuff, 
>> we wouldn't end up with SDP again - neither in syntax nor semantics 
>> nor even architecture, as we'd likely separate the higher-layer info 
>> portion, transport portion, and the pure codec-type negotiation stuff 
>> into separate components; and we'd probably move the codec 
>> negotiation into the media-path itself potentially, for example.  Is 
>> that what you mean?
>
>
> Actually, I think Matthew is thinking of something else entirely 
> (though you're right that SDP is not what we'd do with a clean piece 
> of paper - but that would be a multi-year effort, and in the end 
> unless there was a major driving adopter, it would fall by the wayside 
> like SDP-ng (and for that matter, cap-neg)).

Yes, I was thinking of something other than re-creating SDP.

>
>> I don't disagree with that, and it's been raised many times in the 
>> SIP-related working groups over the years.  We know SDP isn't "clean" 
>> in terms of either syntax or semantics, but obviously in the SIP 
>> world it was way too late to change, and folks now use the info all 
>> being together in the SIP signaling-plane to their advantage.
>>
>> I think though you can sort of emulate the separation in RTCWeb, even 
>> with the SDP offer/answer and ROAP.  You create a MediaStream with a 
>> track of "data" type, put it in a PeerConnection, and issue the SDP 
>> Offer.  Then when the data connection is open to the peer 
>> Browser/device, you create your audio/video tracks/streams and add 
>> them in, and when the new Offer is issued by the Browser you send the 
>> ROAP over the data connection to the peer, who does likewise for the 
>> Answer.  That might work.
>
>
> This isn't what Matthew was thinking of - he wanted to know if with 
> these tools, it would ease negotiating codecs that didn't exist when 
> the web-app was written (especially with a low-level API to the 
> browser and its codecs).

Approximately yes. What I want to know is, with the tools we have (SDP), 
would it be possible to solve the negotiate-a-codec-that-didn't-exist 
problem while *NOT* impacting the underlying transport... and, 
separately, would it be possible to solve the 
negotiate-a-transport-session problem while *NOT* impacting the codec 
selection.

My original thought experiment from October 21st has, to date, not been 
addressed by anyone other than myself I'm afraid.

Matthew Kaufman


>
>> -hadriel
>>
>>
>> On Oct 21, 2011, at 7:32 PM, Matthew Kaufman wrote:
>>
>>> On 10/21/2011 12:01 PM, Ted Hardie wrote:
>>>> On Fri, Oct 21, 2011 at 10:37 AM, Matthew 
>>>> Kaufman<matthew.kaufman@skype.net>  wrote:
>>>> Thought experiment:
>>>>
>>>> If one had a connection object that supported an underlying 
>>>> protocol that could send one or more encrypted flows of both 
>>>> real-time media and reliable data, what information would you need 
>>>> to exchange between the two browser endpoints in order to ensure 
>>>> that any pair of browsers with any future audio or video codec 
>>>> could use the best mutually-supported codecs?
>>>>
>>>>
>>>> I think I am missing your point slightly.  Do you mean the 
>>>> connection object talks to an abstraction layer that manages how 
>>>> the flows are sent, and the swapping occurs in what it manages, or 
>>>> do you mean the connection object should be able to swap out 
>>>> whether it is talking to ICE, DTLS-SRTP, or TCP-over-UDP 
>>>> transparently?  or something else?
>>> I mean "what if the connection object was sitting on top of 
>>> something like RTMFP", in other words a protocol that can trivially 
>>> be asked to open a secure (encrypted and authenticated) 
>>> NAT-traversing session between your browser and another browser and 
>>> then can deliver multiple parallel flows of partially-reliable media 
>>> and fully-reliable data (prioritized appropriately)  to the far end.
>>>
>>> Then the next question I asked is, IF you had a connection object 
>>> like that, what is the minimum you need to get the 
>>> latest-and-greatest-codec-just-works behavior that Cullen, et. al. 
>>> have described?
>>>
>>> Matthew Kaufman
>>>
>
>