Re: [rtcweb] ROAP Example Application

Hadriel Kaplan <HKaplan@acmepacket.com> Sun, 23 October 2011 04:33 UTC

Return-Path: <HKaplan@acmepacket.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 01DE121F8B05 for <rtcweb@ietfa.amsl.com>; Sat, 22 Oct 2011 21:33:33 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.422
X-Spam-Level:
X-Spam-Status: No, score=-2.422 tagged_above=-999 required=5 tests=[AWL=0.177, 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 V8QzU5CUXNjk for <rtcweb@ietfa.amsl.com>; Sat, 22 Oct 2011 21:33:32 -0700 (PDT)
Received: from etmail.acmepacket.com (etmail.acmepacket.com [216.41.24.6]) by ietfa.amsl.com (Postfix) with ESMTP id 4391821F8B04 for <rtcweb@ietf.org>; Sat, 22 Oct 2011 21:33:32 -0700 (PDT)
Received: from MAIL2.acmepacket.com (10.0.0.22) by etmail.acmepacket.com (216.41.24.6) with Microsoft SMTP Server (TLS) id 8.2.254.0; Sun, 23 Oct 2011 00:33:31 -0400
Received: from MAIL1.acmepacket.com ([169.254.1.230]) by Mail2.acmepacket.com ([169.254.2.157]) with mapi id 14.01.0270.001; Sun, 23 Oct 2011 00:33:31 -0400
From: Hadriel Kaplan <HKaplan@acmepacket.com>
To: Randell Jesup <randell-ietf@jesup.org>
Thread-Topic: [rtcweb] ROAP Example Application
Thread-Index: AQHMkTzqIPS33yu45ku7Rql3YT8OCw==
Date: Sun, 23 Oct 2011 04:33:30 +0000
Message-ID: <5D11719A-F62F-4340-8A41-202D218B4DE9@acmepacket.com>
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>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [216.41.24.34]
Content-Type: text/plain; charset="us-ascii"
Content-ID: <CA30B04D99083E44944C1FAA99E8133F@acmepacket.com>
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: AAAAAQAAAWE=
Cc: "<rtcweb@ietf.org>" <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: Sun, 23 Oct 2011 04:33:33 -0000

On Oct 21, 2011, at 11:25 PM, Randell Jesup wrote:

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

Well one really good reason to do it would be to be able to get a session on/off-hold (ie, start/stop RTP using SDP direction attributes), or add/remove streams, without clipping and without loading the Web Server down passing ROAP messages back/forth.  That might be almost necessary in some applications.  For example one where you have a lot of separate video sessions up on a screen and change which one is active at any given time by a mouseover/click.  Or a game application, where you might have a direct data channel open between all participants anyway, and want to do audio/video whenever the users are in the same area of the game or by team-commands or whatever.

-hadriel