[rtcweb] We are moving beyond the assumptions on which O/A is based

Paul Kyzivat <pkyzivat@alum.mit.edu> Sat, 11 May 2013 16:51 UTC

Return-Path: <pkyzivat@alum.mit.edu>
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 1AFD421F8B64 for <rtcweb@ietfa.amsl.com>; Sat, 11 May 2013 09:51:26 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.182
X-Spam-Level:
X-Spam-Status: No, score=-0.182 tagged_above=-999 required=5 tests=[AWL=0.255, BAYES_00=-2.599, FH_RELAY_NODNS=1.451, HELO_MISMATCH_NET=0.611, RDNS_NONE=0.1]
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 Q9N83k1+YkAd for <rtcweb@ietfa.amsl.com>; Sat, 11 May 2013 09:51:20 -0700 (PDT)
Received: from qmta05.westchester.pa.mail.comcast.net (qmta05.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:43:76:96:62:48]) by ietfa.amsl.com (Postfix) with ESMTP id 7335E21F8539 for <rtcweb@ietf.org>; Sat, 11 May 2013 09:51:19 -0700 (PDT)
Received: from omta06.westchester.pa.mail.comcast.net ([76.96.62.51]) by qmta05.westchester.pa.mail.comcast.net with comcast id ac921l00716LCl055grDA4; Sat, 11 May 2013 16:51:13 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta06.westchester.pa.mail.comcast.net with comcast id agrD1l00a3ZTu2S3SgrDTl; Sat, 11 May 2013 16:51:13 +0000
Message-ID: <518E7700.1080906@alum.mit.edu>
Date: Sat, 11 May 2013 12:51:12 -0400
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:17.0) Gecko/20130328 Thunderbird/17.0.5
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <20130503054601.4639.64651.idtracker@ietfa.amsl.com> <CALe60zAi_Lx3QFCbBQ5aPNkgorJAff0E79jkpbQX1Qt3wf2bzg@mail.gmail.com> <CAOJ7v-1Wk6u7XiYrNVmoqr5Jisu2WRvZpte7hQTOiP8YHUc6hg@mail.gmail.com> <518A1268.8090107@ericsson.com> <01AB1BF5-7ABF-4DD3-A831-3A6C96EA680C@iii.ca> <1447FA0C20ED5147A1AA0EF02890A64B1C2C818F@ESESSMB209.ericsson.se>
In-Reply-To: <1447FA0C20ED5147A1AA0EF02890A64B1C2C818F@ESESSMB209.ericsson.se>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 8bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1368291073; bh=wB4XNvyjdnVCeacxn+B4/wovRoaUl/krqBhYfaa3sWo=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=YRF9YEbMJLtBbjoN+g/T1LvivXp0T5MVJ65a5AJQn7C5gvwmZ0xGhzVOrfBU/IX5o aYNjY1a9EtN9pjqZm/mBqxBDsYGcSGwStElxzok2Pi7L8Kg7cO9KFhmitc1V7dP850 yz7xlmAntv7aBwen44IWnp2jIhgI6fJ/DCNKuRrruFpwIMncibjLRmIZPIZidVJdRw XoYZ9bcPrQUtA4nitAD7mPmJmgvzzlecExA1QHZJ9Utv3TR6M3c5wv+gN5h6AY+/Sr 17rcZ//z36di88s1eaHe4oGVy0BVgGWiDcbRcqHEca4YuaW9JBFGElftnvaryAVzwx qzF9sJWYf3hmA==
Subject: [rtcweb] We are moving beyond the assumptions on which O/A is based
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, 11 May 2013 16:51:26 -0000

I found what Stefan said below to be interesting:

On 5/11/13 8:20 AM, Stefan Håkansson LK wrote:

> Absolutely. The API (as of now) is aligned towards sending media. You'd
> construct a PC-stream containing PC-tracks which in turn corresponds to
> microphones and cameras. If you want to send that PC-stream to a peer
> you do "addStream" with it on a PeerConnection. If you want to add or
> remove a PC-track, there are operations for that - and it would be
> reflected on the far end.
>
> The point is that the API is about sending - not about setting up a
> session with a certain amount of ougoing and incoming PC-tracks, and to
> me that harmonizes very well with the handshake in
> draft-uberti-rtcweb-plan-00 which has separate O/A exchanges for media
> A->B and B->A respectively. An additional benefit seems to be that those
> two exchanges are somewhat independent and would not cause glare. This
> is denoted as a 3-way handshake in the draft, that is a bit misleading
> perhaps.

A very similar situation holds for CLUE.

Maybe this is a more fundamental change than we have been thinking.

O/A works best when both sides have similar capabilities and desires. 
(It makes sense to set up to receive what I hope to receive, because it 
is likely that you will want to send that.) It works poorly when you and 
I might have a highly eclectic set of stuff we could send, and 
unpredictable interests for what we are interested in receiving.

In clue we are addressing that by exchanging (in a separate channel) 
advertisements of what the endpoints are willing to send, and only doing 
O/A to set up the media that is of interest.

In rtcweb it isn't so structured, but I suspect something is happening 
implicitly, though it may be more hard-wired per application.

In clue we may still end up negotiating separate one-way streams in each 
direction, similar to what Stefan mentions below. With bundling there 
isn't a big penalty for that (e.g., in ports and RTCP traffic) though 
there is an extra O/A required.

But for both RTCWEB and CLUE there are cases where we must negotiate 
bidirectional streams for compatibility with legacy devices. So there 
must be a way to do that.

I don't have a specific action to recommend here. This just seems like a 
somewhat fundamental shift that out to be recognized. It probably isn't 
just RTCWEB and CLUE, it is really related to more complex communication 
scenarios. ISTM that CLUE is addressing this by building a layer on top 
of O/A, while RTCWEB is *battling* with O/A.

	Thanks,
	Paul