Re: [rtcweb] I-D Action: draft-ietf-rtcweb-data-protocol-01.txt

Randell Jesup <randell-ietf@jesup.org> Sun, 27 October 2013 09:46 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 89CC911E8163 for <rtcweb@ietfa.amsl.com>; Sun, 27 Oct 2013 02:46:15 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.849
X-Spam-Level:
X-Spam-Status: No, score=-1.849 tagged_above=-999 required=5 tests=[AWL=0.150, BAYES_00=-2.599, J_CHICKENPOX_13=0.6]
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 yTKlZIRzPyqk for <rtcweb@ietfa.amsl.com>; Sun, 27 Oct 2013 02:46:09 -0700 (PDT)
Received: from r2-chicago.webserversystems.com (r2-chicago.webserversystems.com [173.236.101.58]) by ietfa.amsl.com (Postfix) with ESMTP id C3EBF11E8160 for <rtcweb@ietf.org>; Sun, 27 Oct 2013 02:46:08 -0700 (PDT)
Received: from pool-173-59-53-40.phlapa.fios.verizon.net ([173.59.53.40]:2216 helo=[192.168.1.12]) by r2-chicago.webserversystems.com with esmtpsa (TLSv1:DHE-RSA-AES256-SHA:256) (Exim 4.80) (envelope-from <randell-ietf@jesup.org>) id 1VaMvA-000GuJ-98 for rtcweb@ietf.org; Sun, 27 Oct 2013 04:46:08 -0500
Message-ID: <526CE0BE.90606@jesup.org>
Date: Sun, 27 Oct 2013 05:45:34 -0400
From: Randell Jesup <randell-ietf@jesup.org>
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:17.0) Gecko/20130801 Thunderbird/17.0.8
MIME-Version: 1.0
To: rtcweb@ietf.org
References: <20131021191343.32574.60876.idtracker@ietfa.amsl.com> <03FBA798AC24E3498B74F47FD082A92F3D86C821@US70UWXCHMBA04.zam.alcatel-lucent.com> <A87B4291-FA11-43BB-B8F0-55C59CF63421@lurchi.franken.de> <CAOJ7v-20YkvazNLqmbjQcOkhaedd+MKm8d6x2oeL46imvuLrzA@mail.gmail.com> <03FBA798AC24E3498B74F47FD082A92F3D86C8DB@US70UWXCHMBA04.zam.alcatel-lucent.com> <120FE29C-150E-47BF-951C-B8124EB7A262@lurchi.franken.de> <03FBA798AC24E3498B74F47FD082A92F3D86C9A2@US70UWXCHMBA04.zam.alcatel-lucent.com> <5269F3B5.2020308@alvestrand.no> <03FBA798AC24E3498B74F47FD082A92F3D86CD4C@US70UWXCHMBA04.zam.alcatel-lucent.com> <526C4297.2000006@alum.mit.edu>
In-Reply-To: <526C4297.2000006@alum.mit.edu>
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-Get-Message-Sender-Via: r2-chicago.webserversystems.com: authenticated_id: randell@jesup.org
Subject: Re: [rtcweb] I-D Action: draft-ietf-rtcweb-data-protocol-01.txt
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, 27 Oct 2013 09:46:15 -0000

On 10/26/2013 6:30 PM, Paul Kyzivat wrote:
> Richard,
>
> On 10/25/13 4:51 PM, Ejzak, Richard P (Richard) wrote:
>> Hi Harald,
>> You said: " I can't see a way to mix the two paradigms that 
>> guarantees this never happening."  The two paradigms being browser 
>> selection vs. application selection of data channel stream ids.

You can.  You just have to be careful.  For example, your application 
could define that pre-negotiated channels will use 100-110, and then 
specify those to both ends before association/offer/answer.  Later it 
could use data-protocol to add dynamic channels (using even-odd).  Since 
we've told both ends about 100-110, there's no problem here.  Even/odd 
is ONLY to avoid glare when both sides decide to open a channel "at the 
same time".  If you add a pre-negotiated channel after initial 
establishment, it's up to you to avoid colliding with any existing 
channels and to avoid colliding with any in-process-of-creation dynamic 
(data-protocol) channels.  There are a number of ways to avoid such a 
collision safely (never use dynamic channels; use the DTLS role or an 
existing dynamic channel id to determine even/odd, etc).

>> My proposal has three elements, which together can guarantee that 
>> there are no stream id allocation conflicts between peers:
>>     1. The browser and application select stream ids based on initial 
>> SDP offerer/answerer role rather than DTLS role (e.g., initial 
>> offerer uses even ids, initial answerer uses odd ids). With this 
>> rule, the offering application knows its role immediately without 
>> waiting for the DTLS or SDP handshake to occur.
>
> A similar issue has come up in the discussion of partial 
> offers/answers. (Regarding how to assign a=mid values.) And a similar 
> solution was proposed.
>
> It was then rejected on the basis that sometimes both "ends" think 
> they are offerers or answerers. This comes about as a result of 
> signaling-only B2BUAs that play games with O/A on two legs.

Exactly why we went with DTLS roles.

-- 
Randell Jesup -- rjesup a t mozilla d o t com