Re: [rtcweb] ROAP Example Application
Eric Rescorla <ekr@rtfm.com> Fri, 21 October 2011 14:22 UTC
Return-Path: <ekr@rtfm.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 673F621F8C80 for <rtcweb@ietfa.amsl.com>; Fri, 21 Oct 2011 07:22:45 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -102.963
X-Spam-Level:
X-Spam-Status: No, score=-102.963 tagged_above=-999 required=5 tests=[AWL=0.014, BAYES_00=-2.599, FM_FORGED_GMAIL=0.622, RCVD_IN_DNSWL_LOW=-1, USER_IN_WHITELIST=-100]
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 qF5I8w8HLOkl for <rtcweb@ietfa.amsl.com>; Fri, 21 Oct 2011 07:22:44 -0700 (PDT)
Received: from mail-vx0-f172.google.com (mail-vx0-f172.google.com [209.85.220.172]) by ietfa.amsl.com (Postfix) with ESMTP id 3AB3821F8C7D for <rtcweb@ietf.org>; Fri, 21 Oct 2011 07:22:44 -0700 (PDT)
Received: by vcbfo1 with SMTP id fo1so4056624vcb.31 for <rtcweb@ietf.org>; Fri, 21 Oct 2011 07:22:43 -0700 (PDT)
Received: by 10.52.76.199 with SMTP id m7mr2524112vdw.63.1319206963565; Fri, 21 Oct 2011 07:22:43 -0700 (PDT)
MIME-Version: 1.0
Received: by 10.220.161.20 with HTTP; Fri, 21 Oct 2011 07:22:03 -0700 (PDT)
In-Reply-To: <4EA17E25.9080208@skype.net>
References: <EED7DD83-EFDF-43B3-B9EE-7D28D057FA37@cisco.com> <4EA11552.3010507@skype.net> <4EA150BC.9040605@alvestrand.no> <4EA17E25.9080208@skype.net>
From: Eric Rescorla <ekr@rtfm.com>
Date: Fri, 21 Oct 2011 07:22:03 -0700
Message-ID: <CABcZeBPusnBUUU9Ry_Mcn98BWP_YEEbLn3EjrUeOs15ibF_X2w@mail.gmail.com>
To: Matthew Kaufman <matthew.kaufman@skype.net>
Content-Type: text/plain; charset="ISO-8859-1"
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: Fri, 21 Oct 2011 14:22:45 -0000
On Fri, Oct 21, 2011 at 7:13 AM, Matthew Kaufman <matthew.kaufman@skype.net> wrote: > On 10/21/11 4:00 AM, Harald Alvestrand wrote: >> >> On 10/21/2011 08:46 AM, Matthew Kaufman wrote: >>> >>> On 10/20/11 7:08 PM, Cullen Jennings wrote: >>>> >>>> I liked Dan Yorks rant on what we need and it made me want to show some >>>> simple code using an interface like the current W3C PeerConnection API along >>>> with ROAP. Assuming the ROAP objects got passed in and out of the Peer >>>> Connection object, here is a short little example I copied that shows how >>>> simple it is to write a web application that sets up an audio / video >>>> connection between two browsers. It assumes a simple web server that that >>>> can pass messages from alice to bob and visa versa. Both alice and bob just >>>> short poll the web server to get messages from their mailbox and post >>>> messages to the others mailbox. The web server does not transform the >>>> messages in any way. Clearly this example is wrong in some ways, lacks >>>> authentication, and various error handling but I think it illustrates the >>>> basics of the interfaces. >>>> >>>> >>> >>> Thanks for the example. >>> >>> However, in addition to illustrating the basics, it also illustrates that >>> ICE parameters and codec SDP parameters are now inextricably intertwined >>> within this proposal, where in fact there is a good argument that not only >>> should they be kept separate but that in fact they are the responsibility of >>> different objects within the JavaScript API. >> >> As I've noted before, they are more entangled than one might like them to >> be; > > This is just an argument that RTP is actually a poor choice as well, but I'm > afraid it is too late for that. > >> if we don't support the extension to use a single RTP session, we don't >> know how many ICE sessions we need to set up until we know at least how many >> top level media types we want to support. If we want to support multiple RTP >> sessions for other reasons, we need similar control of the number of ICE >> sessions set up. > > But none of these examples actually shows that there's a requirement to > combine the two into a single blob. > > An easy solution to these examples, for instance, would be to exchange the > codec-choosing blobs *first* and then, based on the results, examine the > "encoder" and "decoder" objects to see how many transport streams they need > attached. Or, even easier, when you wire the media encoding/decoding objects > to the transport object, the transport object can know what it will need to > be transporting and, once it receives an internal event that the codec and > RTP parameters have been selected, it can fire an event to JavaScript > containing the ICE setup blob. Note that Jingle in some cases does sort of the opposite of this: The caller offers combined media encoding/decoding objects and transport objects (in a session-initiate) and the callee sends back only transport objects (in a transport-info) and then the combined media encoding objects and transport objects (in a session-accept). XEP-0167 has a good example of this. -Ekr
- Re: [rtcweb] ROAP Example Application Tim Panton
- [rtcweb] ROAP Example Application Cullen Jennings
- Re: [rtcweb] ROAP Example Application Matthew Kaufman
- Re: [rtcweb] ROAP Example Application Harald Alvestrand
- Re: [rtcweb] ROAP Example Application Matthew Kaufman
- Re: [rtcweb] ROAP Example Application Eric Rescorla
- Re: [rtcweb] ROAP Example Application Matthew Kaufman
- Re: [rtcweb] ROAP Example Application Ted Hardie
- Re: [rtcweb] ROAP Example Application Matthew Kaufman
- Re: [rtcweb] ROAP Example Application Hadriel Kaplan
- Re: [rtcweb] ROAP Example Application Randell Jesup
- Re: [rtcweb] ROAP Example Application Hadriel Kaplan
- Re: [rtcweb] ROAP Example Application Matthew Kaufman
- Re: [rtcweb] ROAP Example Application Matthew Kaufman