Re: [rtcweb] ROAP Example Application

Randell Jesup <randell-ietf@jesup.org> Sat, 22 October 2011 03:29 UTC

Return-Path: <randell-ietf@jesup.org>
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 01F4F1F0C3C for <rtcweb@ietfa.amsl.com>; Fri, 21 Oct 2011 20:29:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.544
X-Spam-Level:
X-Spam-Status: No, score=-2.544 tagged_above=-999 required=5 tests=[AWL=0.055, 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 up+ycDakBz+d for <rtcweb@ietfa.amsl.com>; Fri, 21 Oct 2011 20:29:49 -0700 (PDT)
Received: from r2-chicago.webserversystems.com (r2-chicago.webserversystems.com [173.236.101.58]) by ietfa.amsl.com (Postfix) with ESMTP id 4F3361F0C34 for <rtcweb@ietf.org>; Fri, 21 Oct 2011 20:29:49 -0700 (PDT)
Received: from pool-173-49-141-165.phlapa.fios.verizon.net ([173.49.141.165] helo=[192.168.1.12]) by r2-chicago.webserversystems.com with esmtpsa (TLSv1:AES256-SHA:256) (Exim 4.69) (envelope-from <randell-ietf@jesup.org>) id 1RHSHM-00040p-Hv for rtcweb@ietf.org; Fri, 21 Oct 2011 22:29:48 -0500
Message-ID: <4EA2378E.4010502@jesup.org>
Date: Fri, 21 Oct 2011 23:25:02 -0400
From: Randell Jesup <randell-ietf@jesup.org>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:7.0.1) Gecko/20110929 Thunderbird/7.0.1
MIME-Version: 1.0
To: rtcweb@ietf.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>
In-Reply-To: <405C23A2-8E22-464E-A0A3-038E497237B4@acmepacket.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
X-AntiAbuse: This header was added to track abuse, please include it with any abuse report
X-AntiAbuse: Primary Hostname - r2-chicago.webserversystems.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - jesup.org
X-Source:
X-Source-Args:
X-Source-Dir:
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: Sat, 22 Oct 2011 03:29:50 -0000

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)).

> 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).

What you describe is simply a way for the JS App to do "renegotiations" 
without using the "high path" through the servers.  Eminently doable, 
but not fundamentally different.  It may make renegotiations faster.  No 
reason an app can't do that, and I have some services built on WebRTC in 
mind that may depend on this usage.

> -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
>>


-- 
Randell Jesup
randell-ietf@jesup.org