Re: [clue] CLUE Data Channel: SDP Offer/Answer Proceudres
Paul Kyzivat <pkyzivat@alum.mit.edu> Thu, 20 February 2014 05:18 UTC
Return-Path: <pkyzivat@alum.mit.edu>
X-Original-To: clue@ietfa.amsl.com
Delivered-To: clue@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id A41431A0320 for <clue@ietfa.amsl.com>; Wed, 19 Feb 2014 21:18:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.035
X-Spam-Level:
X-Spam-Status: No, score=-0.035 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, J_CHICKENPOX_111=0.6, J_CHICKENPOX_44=0.6, SPF_SOFTFAIL=0.665] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 8VwYoyRd66TV for <clue@ietfa.amsl.com>; Wed, 19 Feb 2014 21:18:47 -0800 (PST)
Received: from QMTA11.westchester.pa.mail.comcast.net (qmta11.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:44:76:96:59:211]) by ietfa.amsl.com (Postfix) with ESMTP id E50A91A02D8 for <clue@ietf.org>; Wed, 19 Feb 2014 21:18:46 -0800 (PST)
Received: from omta12.westchester.pa.mail.comcast.net ([76.96.62.44]) by QMTA11.westchester.pa.mail.comcast.net with comcast id UVHw1n0030xGWP85BVJjtR; Thu, 20 Feb 2014 05:18:43 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta12.westchester.pa.mail.comcast.net with comcast id UVJi1n00g3ZTu2S3YVJijC; Thu, 20 Feb 2014 05:18:43 +0000
Message-ID: <53059032.40908@alum.mit.edu>
Date: Thu, 20 Feb 2014 00:18:42 -0500
From: Paul Kyzivat <pkyzivat@alum.mit.edu>
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.7; rv:24.0) Gecko/20100101 Thunderbird/24.3.0
MIME-Version: 1.0
To: clue@ietf.org
References: <7594FB04B1934943A5C02806D1A2204B1D18D51B@ESESSMB209.ericsson.se>, <53014B44.60600@nteczone.com> <2sen2h648ta6sevyeyw1y44k.1392596179208@email.android.com>, <53015E29.2000102@nteczone.com> <vd5x2knhr4rleweleq05w8po.1392599487052@email.android.com> <53016764.9050201@nteczone.com> <53018B68.2080209@alum.mit.edu> <530198FB.9000905@nteczone.com> <53027E21.2040008@alum.mit.edu> <53054E30.4090708@nteczone.com>
In-Reply-To: <53054E30.4090708@nteczone.com>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=comcast.net; s=q20121106; t=1392873523; bh=SeGkNmSDI8DtdDDTjbbPPKWoEpGVaeAly33e6uadB/E=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=XJTb3iQhiTc0o3W9TUrzFVorphEDDkC488oS+/YPGW8rhJ164xtMm9Gkx5G1KKT2k zwLcIGB55IZR+EdZBT+KiyOlKL2deNuzGRgSHh3CsbX+SHWeSYr8QSBaJsd6z40dRr 3uQuiQ3q9p9tHSEJ313HVmvzEf5APdphs6O4CM0XeZAYgN+XQBTr+SG5onatGw5T1M f/DeV9e1Ei6v+7FKnkypwuQL+67QES4pH8z2TsEEZWE+5MmVKzAAehdlOClhdTJv0J ppm1O3vkzEdOYo2MH4W2YBtaqCc3vstlmBAP4VUtkbVGAH3ZOlcegV5M5Qs8ZpVHPR NWGm0i3vTRWxg==
Archived-At: http://mailarchive.ietf.org/arch/msg/clue/jGEWjResE0aQVcTcLcvsd6gpNQ4
Subject: Re: [clue] CLUE Data Channel: SDP Offer/Answer Proceudres
X-BeenThere: clue@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: CLUE - ControLling mUltiple streams for TElepresence <clue.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/clue>, <mailto:clue-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/clue/>
List-Post: <mailto:clue@ietf.org>
List-Help: <mailto:clue-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/clue>, <mailto:clue-request@ietf.org?subject=subscribe>
X-List-Received-Date: Thu, 20 Feb 2014 05:18:49 -0000
On 2/19/14 7:37 PM, Christian Groves wrote: >>>> The webrtc data channel open protocol does not take a stream ID as an >>>> argument. It internally assigns stream IDs. Rtcweb has specified how >>>> you can use preassigned channels without the open, but then it isn't >>>> using the data channel protocol. >>> [CNG] I just threw something together here without much thought. So for >>> the case where the streamID isn't specified "data channel protocol" >>> could be the value to indicate that it is used? >> >> That still requires declaring every channel in SDP doesn't it? >> (Maybe that is your goal. But it is a non-goal for webrtc.) > [CNG] Is it a non-goal for webrtc? Isn't > draft-ejzak-mmusic-data-channel-sdpneg declaring channels? The ejzak draft isn't really a mainstream rtcweb-sponsored draft. Richard and I and some other people had a discussion about the concepts in this once. (I forget which meeting.) I think the draft came from that. The main rtcweb people don't want to declare channels in SDP. We have just managed to get to a point where they can tolerate it as an option. >> My thinking is that the sctpmap attribute identifies the a discipline >> (convention) used to assign meaning to streams. Then the specification >> of that discipline provides the details of how streams are assigned/used. > [CNG] I understand this but there seems to be a LOT of overlap between > the SCTP SDP and the Ejzak SDP. The goal of both is out-of-band > negotiation of what is running on the STCP streams. There is overlap because Richard is trying to improve on what the sctp-sdp draft proposes. But the sctp-sdp draft only intends to define the association itself, and some attributes of it, such as the max number of streams. It does nothing on a per-channel basis. >> Then, when the discipline is webrtc-datachannel (preferably changed to >> a better name) draft-ietf-rtcweb-data-channel spells that out. So it >> defines how streams are grouped into channels, and defines both >> external and internal negotiation. It *ought* to reference (or be >> merged with) the Ejzak draft for external negotiation. > [CNG] Yes it certainly could do with being merged. >> >>>> IMO, from an mmusic perspective, we need to support both the static >>>> and dynamic assignment of channels. We just want it to be done more >>>> clearly. >>> [CNG] Perhaps this is key, for a particular app in a SCTP association we >>> need to say whether or not the streamID assignment is static or dynamic >>> via the data channel protocol". >> >> Again, for interop with rtcweb we are stuck with "webrtc-datachannel" >> as the "app". > [CNG] I don't think that's a problem so long as its declared that it > will be used. >> >>>> From a CLUE perspective, we need to decide if we want to use the >>>> static or dynamic assignment. IMO the preferred choice is not obvious >>>> - both have their attractions. At the moment I am *slightly* >>>> preferring the dynamic. >>> [CNG] Dynamic is probably OK so long as we have some sort of label >>> mechanism to help sort out mapping when you have multiple instances of >>> the same app. >> >> I think we would just specify an explicit "label" that CLUE uses to >> identify its channel. > [CNG] Is that an "app" label? :-). No. It is an arbitrary label. For channels opened with the channel protocol it shows up in the API. > I don't think the problem is unique > to CLUE so I think what ever is used here should be generic mechanism > for indicating labels. That is what it is in JSEP. Thanks, Paul >> Thanks, >> Paul >> >>>> Thanks, >>>> Paul >>>> >>>>>> >>>>>> But, never the less, it would probably be good to have an example >>>>>> showing how things would look like using Richard's draft, until we've >>>>>> decided whether we are going to use it or not. I'll add that. >>>>>> >>>>>> Regards, >>>>>> >>>>>> Christer >>>>>> >>>>>> Sent from my Sony Ericsson Xperia arc S >>>>>> >>>>>> Christian Groves <Christian.Groves@nteczone.com> wrote: >>>>>> >>>>>> >>>>>> Hello Christer, >>>>>> >>>>>> I think that for the signaling we must specify a way of >>>>>> negotiating at >>>>>> the SDP level whether CLUE is supported. I agree there's lots of >>>>>> ways it >>>>>> could be done but we need to indicate which one/s CLUE should use. >>>>>> >>>>>> So for the SDP O/A procedures and example I think you have to assume >>>>>> the >>>>>> use of draft-ejzak-mmusic-data-channel-sdpneg otherwise you can't say >>>>>> its a CLUE data channel according to the SDP given. You're just >>>>>> opening >>>>>> a generic channel, which may or may not be clue. Particularly in the >>>>>> Answerer's case, it doesn't know that the Offer is going to use the >>>>>> channel for CLUE. >>>>>> >>>>>> However: >>>>>> m=application 54111 SCTP/DTLS 54111 >>>>>> a=sctpmap:54111 webrtc-datachannel max-message-size=100000 streams=1 >>>>>> a=dcmap:54111 stream=2;label="CLUE 1"; subprotocol="CLUE"; max_retr=3 >>>>>> >>>>>> would unambiguously define it as a CLUE data channel. >>>>>> >>>>>> Regards, Christian >>>>>> >>>>>> On 17/02/2014 11:16 AM, Christer Holmberg wrote: >>>>>>> Hi Christian, >>>>>>> >>>>>>> If you want to negotiate usage of CLUE (or, any other specific usage >>>>>>> of a webrtc-datachannel) in SDP, one option is to use Richard's >>>>>>> draft. The usage of that draft is listed as an open issue in the >>>>>>> CLUE >>>>>>> data channel draft. >>>>>>> >>>>>>> SIP also provides other mechanisms, e.g. media feature tags, for >>>>>>> indicating support of features. >>>>>>> >>>>>>> Regards, >>>>>>> >>>>>>> Christer >>>>>>> >>>>>>> Sent from my Sony Ericsson Xperia arc S >>>>>>> >>>>>>> Christian Groves <Christian.Groves@nteczone.com> wrote: >>>>>>> >>>>>>> >>>>>>> Hello Christer, >>>>>>> >>>>>>> With the use of webrtc-datachannel how do I negotiate via SDP >>>>>>> whether I >>>>>>> want to use clue or not? >>>>>>> >>>>>>> A SCTP association (and thus webrtc-datachannel) for example >>>>>>> could be >>>>>>> used for BFCP,CLUE and T.38. It seems wasteful to establish the SCTP >>>>>>> association to figure out that the endpoints support >>>>>>> webrtc-datachannel >>>>>>> put don't support the application that you want. >>>>>>> >>>>>>> In the example in section 4.6 there's no way of distinguishing that >>>>>>> description for CLUE vs BFCP vs anything else. Its not a CLUE data >>>>>>> channel is a generic data channel. >>>>>>> >>>>>>> Regards, Christian >>>>>>> >>>>>>> On 16/02/2014 1:03 AM, Christer Holmberg wrote: >>>>>>>> Hi, >>>>>>>> >>>>>>>> The draft submission deadline has passed, but I still wrote some >>>>>>>> more text, shown below, for the SDP Offer/Answer Procedures >>>>>>>> section. >>>>>>>> >>>>>>>> Regards, >>>>>>>> >>>>>>>> Christer >>>>>>>> >>>>>>>> PS. Note that I will be on vacation next week, so I will once again >>>>>>>> do my best trying to stay away from e-mails :) >>>>>>>> >>>>>>>> ----------------------- >>>>>>>> >>>>>>>> 4. SDP Offer/Answer Procedures >>>>>>>> >>>>>>>> 4.1. General >>>>>>>> >>>>>>>> This section describes how the SDP media description ("m=") >>>>>>>> line for >>>>>>>> a CLUE data channel is created, and how it is used in SDP >>>>>>>> offers and >>>>>>>> answers. >>>>>>>> >>>>>>>> NOTE: The proceudres associated with "m=" lines for other >>>>>>>> media types >>>>>>>> (e.g. audio and video) used in a CLUE session are outside the >>>>>>>> scope >>>>>>>> of this document. >>>>>>>> >>>>>>>> OPEN ISSUE #3: It is FFS whether the SDP-based WebRTC Data >>>>>>>> Channel >>>>>>>> Negotiation mechanism >>>>>>>> [I-D.ejzak-dispatch-webrtc-data-channel-sdpneg] >>>>>>>> will be used with the CLUE data channel. >>>>>>>> >>>>>>>> NOTE: If [I-D.ejzak-dispatch-webrtc-data-channel-sdpneg] will >>>>>>>> be used >>>>>>>> with the CLUE data channel, a new associated 'sub-protocol' >>>>>>>> value >>>>>>>> needs to be registered with IANA. >>>>>>>> >>>>>>>> 4.2. SDP Media Description Fields >>>>>>>> >>>>>>>> The field values of the "m=" line for the CLUE data channel >>>>>>>> are set >>>>>>>> as following: >>>>>>>> >>>>>>>> >>>>>>>> +----------------+----------------+------------------------+----------------+ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> | media | port | >>>>>>>> proto | fmt | >>>>>>>> >>>>>>>> +----------------+----------------+------------------------+----------------+ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> | "applicationS | DTLS port | "UDP/TLS/UDPTL" | SCTP >>>>>>>> port | >>>>>>>> | | value >>>>>>>> | | value | >>>>>>>> >>>>>>>> +----------------+----------------+------------------------+---------------+ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Table 1: SDP "proto" field values >>>>>>>> >>>>>>>> 4.3. SDP sctpmap Attribute >>>>>>>> >>>>>>>> The field values of the SDP sctpmap attribute associated >>>>>>>> with the >>>>>>>> CLUE data channel "m=" are set as following: >>>>>>>> >>>>>>>> >>>>>>>> +---------------------+---------------------------+-----------------------+---------+ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> | sctpmap-number | app | >>>>>>>> max-message-size | stream | >>>>>>>> >>>>>>>> +---------------------+---------------------------+-----------------------+---------+ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> | fmt value of | "webrtc-datachannel" | >>>>>>>> Implemenation | "1" | >>>>>>>> | the "m=" line | | >>>>>>>> specific | | >>>>>>>> >>>>>>>> +---------------------+---------------------------+-----------------------+---------+ >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> >>>>>>>> Table 2: SDP "proto" field values >>>>>>>> >>>>>>>> 4.4. SDP Offerer Procedures >>>>>>>> >>>>>>>> The procedures for the offerer follow the normal proceures >>>>>>>> defined in >>>>>>>> [ref-to-3264]. >>>>>>>> >>>>>>>> When the offerer creates an offer, which contains an "m=" >>>>>>>> line >>>>>>>> for a >>>>>>>> CLUE data channel, it assigns the field values to the "m=" >>>>>>>> line >>>>>>>> according to the procedures in Section 4.2. In addition, the >>>>>>>> offerer >>>>>>>> MUST insert an SDP sctpmap attribute associated with the "m=" >>>>>>>> line. >>>>>>>> >>>>>>>> In an offer, the offerer MUST NOT insert more than one "m=" >>>>>>>> line for >>>>>>>> a CLUE data channel. >>>>>>>> >>>>>>>> NOTE: CLUE does not support the usage of multiple CLUE data >>>>>>>> channels. >>>>>>>> >>>>>>>> The offerer MUST NOT insert more than one SDP sctpmap >>>>>>>> attributes in >>>>>>>> an "m=" line for a CLUE data channel. >>>>>>>> >>>>>>>> If an offerer, in a subsequent offer, wants to disable the >>>>>>>> CLUE data >>>>>>>> channel, it assigns a zero port value to the "m=" line >>>>>>>> associated >>>>>>>> with the CLUE data channel. The answerer MUST NOT insert an >>>>>>>> SDP >>>>>>>> sctpmap attribute associated with the "m=" line. >>>>>>>> >>>>>>>> 4.5. SDP Answerer Procedures >>>>>>>> >>>>>>>> The procedures for the answerer follow the normal proceures >>>>>>>> defined >>>>>>>> in [ref-to-3264]. >>>>>>>> >>>>>>>> If the answerer receives an offer, which contains an "m=" >>>>>>>> line >>>>>>>> for a >>>>>>>> CLUE data channel, and the answerer accepts the "m=" line, it >>>>>>>> creates >>>>>>>> and inserts an "m=" line in the associated answer. The >>>>>>>> answerer >>>>>>>> assigns the field values to the "m=" line according to the >>>>>>>> procedures >>>>>>>> in Section 4.2. >>>>>>>> >>>>>>>> If, in the offer, a zero port value has been assigned to the >>>>>>>> "m=" >>>>>>>> line for the CLUE channel, or it the answerer does not >>>>>>>> accept the >>>>>>>> "m=" line, but accepts other "m=" lines in the offer (i.e. >>>>>>>> the >>>>>>>> answerer will not reject the whole offer), it still >>>>>>>> inserts an >>>>>>>> "m=" >>>>>>>> line for a CLUE data channel in the associated answer. The >>>>>>>> answerer >>>>>>>> then assigns a zero port value to the "m=" line. The answerer >>>>>>>> MUST >>>>>>>> NOT insert an SDP sctpmap attribute associated with the "m=" >>>>>>>> line. >>>>>>>> >>>>>>>> 4.6. Example >>>>>>>> >>>>>>>> m=application 54111 SCTP/DTLS 54111 >>>>>>>> a=sctpmap:54111 webrtc-datachannel >>>>>>>> max-message-size=100000 streams=1 >>>>>>>> >>>>>>>> Figure 1: SDP Media Description for a CLUE data >>>>>>>> channel >>>>>>>> >>>>>>>> _______________________________________________ >>>>>>>> clue mailing list >>>>>>>> clue@ietf.org >>>>>>>> https://www.ietf.org/mailman/listinfo/clue >>>>>>>> >>>>>>> _______________________________________________ >>>>>>> clue mailing list >>>>>>> clue@ietf.org >>>>>>> https://www.ietf.org/mailman/listinfo/clue >>>>>>> >>>>>> >>>>> >>>>> _______________________________________________ >>>>> clue mailing list >>>>> clue@ietf.org >>>>> https://www.ietf.org/mailman/listinfo/clue >>>>> >>>> >>>> _______________________________________________ >>>> clue mailing list >>>> clue@ietf.org >>>> https://www.ietf.org/mailman/listinfo/clue >>>> >>> >>> _______________________________________________ >>> clue mailing list >>> clue@ietf.org >>> https://www.ietf.org/mailman/listinfo/clue >>> >> >> _______________________________________________ >> clue mailing list >> clue@ietf.org >> https://www.ietf.org/mailman/listinfo/clue >> > > _______________________________________________ > clue mailing list > clue@ietf.org > https://www.ietf.org/mailman/listinfo/clue >
- [clue] CLUE Data Channel: SDP Offer/Answer Proceu… Christer Holmberg
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Christian Groves
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Christer Holmberg
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Christian Groves
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Christer Holmberg
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Christian Groves
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Paul Kyzivat
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Paul Kyzivat
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Paul Kyzivat
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Christian Groves
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Christer Holmberg
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Liuyan (Scarlett)
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Makaraju, Maridi Raju (Raju)
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Paul Kyzivat
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Paul Kyzivat
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Christian Groves
- Re: [clue] CLUE Data Channel: SDP Offer/Answer Pr… Paul Kyzivat