Re: [rtcweb] Data Channel Negotiation
Martin Thomson <martin.thomson@gmail.com> Mon, 11 February 2013 19:40 UTC
Return-Path: <martin.thomson@gmail.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 348F721F8845 for <rtcweb@ietfa.amsl.com>; Mon, 11 Feb 2013 11:40:13 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.839
X-Spam-Level:
X-Spam-Status: No, score=-4.839 tagged_above=-999 required=5 tests=[AWL=-1.240, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id OJDhbNRzMZSE for <rtcweb@ietfa.amsl.com>; Mon, 11 Feb 2013 11:40:12 -0800 (PST)
Received: from mail-wg0-f43.google.com (mail-wg0-f43.google.com [74.125.82.43]) by ietfa.amsl.com (Postfix) with ESMTP id 5CCEC21F87C3 for <rtcweb@ietf.org>; Mon, 11 Feb 2013 11:40:12 -0800 (PST)
Received: by mail-wg0-f43.google.com with SMTP id e12so4920714wge.34 for <rtcweb@ietf.org>; Mon, 11 Feb 2013 11:40:11 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:x-received:in-reply-to:references:date:message-id :subject:from:to:cc:content-type; bh=zah9+3FssmdJx49N4H6IVp6lcfh8+hI3dVMXL0TzajE=; b=mMkBONjxtIFV2GKbUNsB9ZOBkVWlEmQl8E3XGxYlpdJ1kR9Gokwlp86RXqDrpsER4X rqxYX8ei7hIr36jGPDlciqr4d4WEh8iHABCzMzIh4pqOCTiwNzXtL9axN5QFjXo3AODv qSHU++GQv/X6w1bo0YxZ+7J+or5E54pYOITPaOuYVejXp0Z0OvUep9w/KPqxANSjzqF9 7b2M9WqupZiZcChuV8wuNTuuu0tX8irP99T2elJoMUpHrC7BYpRADOxc9BRGlwWyLQoO IdmK1bjHz6u0qLUsMB0rzbqJ7sYJ7W50jOJQWB0ir3UfngsMUH15mCQZsfBnP0LEbSAK xsag==
MIME-Version: 1.0
X-Received: by 10.180.90.147 with SMTP id bw19mr18306260wib.28.1360611611456; Mon, 11 Feb 2013 11:40:11 -0800 (PST)
Received: by 10.194.5.135 with HTTP; Mon, 11 Feb 2013 11:40:11 -0800 (PST)
In-Reply-To: <C6503CC4-34D6-408A-8EFC-037F1668DDD0@lurchi.franken.de>
References: <CABkgnnWUpMSBLioSD2+p82vGszX9R0Q4WFfME5j-DuK+B7KVJw@mail.gmail.com> <C6503CC4-34D6-408A-8EFC-037F1668DDD0@lurchi.franken.de>
Date: Mon, 11 Feb 2013 11:40:11 -0800
Message-ID: <CABkgnnWWF5LCm7YqfUT9LY4mkHS5E5n2miihA_ymStcOBcbgrw@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
To: Michael Tuexen <Michael.Tuexen@lurchi.franken.de>
Content-Type: text/plain; charset="UTF-8"
Cc: Randell Jesup <randell-ietf@jesup.org>, "rtcweb@ietf.org" <rtcweb@ietf.org>
Subject: Re: [rtcweb] Data Channel Negotiation
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: Mon, 11 Feb 2013 19:40:13 -0000
On 8 February 2013 09:43, Michael Tuexen <Michael.Tuexen@lurchi.franken.de> wrote: >> Creating a new data channel triggers the onnegotiationneeded event. > The signaling channel might have a different RTT than the peer to peer > connections. So you prefer to do take always the signaling channel. But since you have a short path for this, you can take that path. Some people may prefer to take the slower signaling path for this, but those that care about speed will use the data channel to do channel establishment (and they will probably do what I suggest below). > Taking down a data channel is not signaled via SDP, right? I believe that you are able to use in-band mechanisms (6525) for take-down. > How do you handle a shortage in the number of streams? How do you > handle collisions if both sides want to open a data channel and > chose the same streams? A shortage is easy, createDataChannel can throw an exception. Collisions are also easy - if you care about consistency, then do an offer/answer, which has inbuilt glare resolution. If you don't care about consistency, both sides can create and use channels without having to agree on the details. (That's mostly based on the stuff below. > There is also a limitation of lifetime in milli seconds. Sure, let's have that too. All this is per-message, so consistency isn't really a required property. > So basically a data channel is not symmetric anymore. Do you consider > it bidirectional or unidirectional? Yes. Depending on the needs of your application. Inherently, they are unidirectional. But if you care about the bidirectional property, then you are free to perform a signaling negotiation to ensure consistency (which is the only property that was provided by the negotiation as designed previously). >> Firstly, the arrival of a packet on a stream that is not negotiated >> will require the creation of a data channel. The properties of this > If you consider a data channel to be bidirectional, what makes sure > that a stream for the backwards direction is available? How do you > now the pairing? There is no guarantee. Two reasons for this, neither of which I find particularly dire: a. I don't recall there being any signalling of the stream limit, so there is a possibility that the stream limit in one direction will exceed the limit in the other. Streams with numbers that exceed the lower limit will of course be unable to be reciprocal. Two solutions occur to me: 1. prevent the sending of return messages, or 2. cap the number of channels to the lower of the two stream limits. I prefer the latter. b. There is no guarantee that the other side hasn't already created a data channel on the same number. That's not a problem - you just end up with asymmetry. Note: deferring the allocation of a stream number until messages are sent on streams does allow the browser implementation some flexibility in how it manages assignment of streams. > Not sure why you refer to RFC 4920... RFC 4960 (SCTP) doesn't have such > a limit. Crossed wires :)
- [rtcweb] Data Channel Negotiation Martin Thomson
- Re: [rtcweb] Data Channel Negotiation Randell Jesup
- Re: [rtcweb] Data Channel Negotiation Martin Thomson
- Re: [rtcweb] Data Channel Negotiation Michael Tuexen
- Re: [rtcweb] Data Channel Negotiation Randell Jesup
- Re: [rtcweb] Data Channel Negotiation Martin Thomson
- Re: [rtcweb] Data Channel Negotiation Martin Thomson
- Re: [rtcweb] Data Channel Negotiation Michael Tuexen
- Re: [rtcweb] Data Channel Negotiation Michael Tuexen
- Re: [rtcweb] Data Channel Negotiation Martin Thomson
- [rtcweb] Data Channel Negotiation and reopening o… Randell Jesup
- Re: [rtcweb] Data Channel Negotiation and reopeni… Stefan Håkansson LK
- Re: [rtcweb] Data Channel Negotiation and reopeni… Martin Thomson
- Re: [rtcweb] Data Channel Negotiation and reopeni… Cullen Jennings
- Re: [rtcweb] Data Channel Negotiation and reopeni… Martin Thomson
- Re: [rtcweb] Data Channel Negotiation and reopeni… Randell Jesup
- Re: [rtcweb] Data Channel Negotiation and reopeni… Randell Jesup
- Re: [rtcweb] Data Channel Negotiation and reopeni… Martin Thomson
- Re: [rtcweb] Data Channel Negotiation and reopeni… Martin Thomson
- Re: [rtcweb] Data Channel Negotiation and reopeni… Michael Tuexen
- Re: [rtcweb] Data Channel Negotiation and reopeni… Martin Thomson
- Re: [rtcweb] Data Channel Negotiation and reopeni… Michael Tuexen
- Re: [rtcweb] Data Channel Negotiation and reopeni… Martin Thomson
- Re: [rtcweb] Data Channel Negotiation and reopeni… Ted Hardie
- Re: [rtcweb] Data Channel Negotiation and reopeni… Michael Tuexen
- Re: [rtcweb] Data Channel Negotiation and reopeni… Michael Tuexen
- Re: [rtcweb] Data Channel Negotiation and reopeni… Martin Thomson
- Re: [rtcweb] Data Channel Negotiation and reopeni… Matthew Kaufman (SKYPE)
- Re: [rtcweb] Data Channel Negotiation and reopeni… Michael Thornburgh
- Re: [rtcweb] Data Channel Negotiation and reopeni… Ted Hardie
- Re: [rtcweb] Data Channel Negotiation and reopeni… Randell Jesup
- Re: [rtcweb] Data Channel Negotiation and reopeni… Randell Jesup
- Re: [rtcweb] Data Channel Negotiation and reopeni… Michael Tuexen
- Re: [rtcweb] Data Channel Negotiation and reopeni… Matthew Kaufman (SKYPE)
- Re: [rtcweb] Data Channel Negotiation and reopeni… Matthew Kaufman (SKYPE)
- Re: [rtcweb] Data Channel Negotiation and reopeni… Randell Jesup
- Re: [rtcweb] Data Channel Negotiation and reopeni… Michael Tuexen
- Re: [rtcweb] Data Channel Negotiation and reopeni… Michael Tuexen
- Re: [rtcweb] Data Channel Negotiation and reopeni… Tim Panton
- Re: [rtcweb] Data Channel Negotiation and reopeni… Harald Alvestrand
- Re: [rtcweb] Data Channel Negotiation and reopeni… Paul Kyzivat
- Re: [rtcweb] Data Channel Negotiation and reopeni… Martin Thomson
- Re: [rtcweb] Data Channel Negotiation and reopeni… Paul Kyzivat
- Re: [rtcweb] Data Channel Negotiation and reopeni… Paul Kyzivat
- Re: [rtcweb] Data Channel Negotiation and reopeni… Stefan Håkansson LK
- Re: [rtcweb] Data Channel Negotiation and reopeni… Randell Jesup
- Re: [rtcweb] Data Channel Negotiation and reopeni… Paul Kyzivat
- Re: [rtcweb] Data Channel Negotiation and reopeni… Harald Alvestrand