Re: [rtcweb] ROAP Example Application

Harald Alvestrand <harald@alvestrand.no> Fri, 21 October 2011 11:00 UTC

Return-Path: <harald@alvestrand.no>
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 546A621F8B47 for <rtcweb@ietfa.amsl.com>; Fri, 21 Oct 2011 04:00:14 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -110.599
X-Spam-Level:
X-Spam-Status: No, score=-110.599 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_HI=-8, 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 ba7zAVqps0wV for <rtcweb@ietfa.amsl.com>; Fri, 21 Oct 2011 04:00:13 -0700 (PDT)
Received: from eikenes.alvestrand.no (eikenes.alvestrand.no [158.38.152.233]) by ietfa.amsl.com (Postfix) with ESMTP id A138621F8B28 for <rtcweb@ietf.org>; Fri, 21 Oct 2011 04:00:13 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by eikenes.alvestrand.no (Postfix) with ESMTP id 09A0F39E08B; Fri, 21 Oct 2011 13:00:11 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at eikenes.alvestrand.no
Received: from eikenes.alvestrand.no ([127.0.0.1]) by localhost (eikenes.alvestrand.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 2X+DRWWw9De5; Fri, 21 Oct 2011 13:00:10 +0200 (CEST)
Received: from [192.168.1.58] (162.80-203-220.nextgentel.com [80.203.220.162]) by eikenes.alvestrand.no (Postfix) with ESMTPS id 81FF539E088; Fri, 21 Oct 2011 13:00:10 +0200 (CEST)
Message-ID: <4EA150BC.9040605@alvestrand.no>
Date: Fri, 21 Oct 2011 13:00:12 +0200
From: Harald Alvestrand <harald@alvestrand.no>
User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.2.23) Gecko/20110921 Thunderbird/3.1.15
MIME-Version: 1.0
To: Matthew Kaufman <matthew.kaufman@skype.net>
References: <EED7DD83-EFDF-43B3-B9EE-7D28D057FA37@cisco.com> <4EA11552.3010507@skype.net>
In-Reply-To: <4EA11552.3010507@skype.net>
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: Fri, 21 Oct 2011 11:00:14 -0000

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

It illustrates that while a lot of the concerns of codecs and ICE 
sessions are reasonably separate, the functions that manipulate RTP 
sessions need access to both.

                     Harald