Re: [clue] CLUE Data Channel: SDP Offer/Answer Proceudres
Christian Groves <Christian.Groves@nteczone.com> Thu, 20 February 2014 00:37 UTC
Return-Path: <Christian.Groves@nteczone.com>
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 91E401A02D8 for <clue@ietfa.amsl.com>; Wed, 19 Feb 2014 16:37:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 0.5
X-Spam-Level:
X-Spam-Status: No, score=0.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_111=0.6, J_CHICKENPOX_16=0.6, J_CHICKENPOX_17=0.6, J_CHICKENPOX_44=0.6] 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 p9ytEaiARnXB for <clue@ietfa.amsl.com>; Wed, 19 Feb 2014 16:37:12 -0800 (PST)
Received: from cserver5.myshophosting.com (cserver5.myshophosting.com [175.107.161.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0E6061A052F for <clue@ietf.org>; Wed, 19 Feb 2014 16:37:12 -0800 (PST)
Received: from ppp118-209-254-53.lns20.mel6.internode.on.net ([118.209.254.53]:52247 helo=[127.0.0.1]) by cserver5.myshophosting.com with esmtpsa (TLSv1:DHE-RSA-AES128-SHA:128) (Exim 4.82) (envelope-from <Christian.Groves@nteczone.com>) id 1WGHaK-0005w3-Ku for clue@ietf.org; Thu, 20 Feb 2014 11:33:52 +1100
Message-ID: <53054E30.4090708@nteczone.com>
Date: Thu, 20 Feb 2014 11:37:04 +1100
From: Christian Groves <Christian.Groves@nteczone.com>
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; 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>
In-Reply-To: <53027E21.2040008@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 - cserver5.myshophosting.com
X-AntiAbuse: Original Domain - ietf.org
X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12]
X-AntiAbuse: Sender Address Domain - nteczone.com
X-Get-Message-Sender-Via: cserver5.myshophosting.com: authenticated_id: christian.groves@nteczone.com
X-Source:
X-Source-Args:
X-Source-Dir:
Archived-At: http://mailarchive.ietf.org/arch/msg/clue/yXMnYC_jB07VB4jE9LaZXqQlFAQ
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 00:37:15 -0000
Hello Paul, Please see below. Regards, Christian On 18/02/2014 8:24 AM, Paul Kyzivat wrote: > On 2/17/14 12:07 AM, Christian Groves wrote: >> Hello Paul, > > [snip] > >>>> The SCTP >>>> draft allows the specification of "app"s that relate to the SCTP >>>> association as a means of negotiating what goes in the SCTP >>>> association. >>>> One of those "app"s may be the webrtc data channel. It has its own >>>> means >>>> of negotiating of what is in the SCTP association (i.e. Richard's >>>> draft). >>> >>> I agree with your interpretation here. That doesn't mean the layering >>> is wrong - just the terminology. >>> >>> The use of a=sctpmap is clearly intended as an analog to a=rtpmap. But >>> in reality its purpose is not at all analogous to a=rtpmap. So the >>> name confuses. >>> >>> And that mis-analogy is continued, by language that says sctpmap is >>> defining a mapping from a port number to a payload format. Again, that >>> is not what it is doing. (If it were, then you would be restricted to >>> one payload format for all the streams on the association.) AFAICT, >>> the name you are giving in sctpmap describes some sort of "convention" >>> for how all the streams in the association are to be managed and used. >>> E.g., "webrtc-datachannel" says that the streams will be managed in >>> pairs, as channels, and that webrtc data channel protocol may be used >>> to dynamically assign channels. (That is the same conclusion you have >>> reached.) >>> >>> IMO a lot of the language should be changed to be less confusing. >>> >>>> Both these methods are basically just indicating what will be in >>>> the SCTP streams. >>> >>> Both? Which? The only thing that actually says, in SDP, what will be >>> in the individual SCTP streams is Richard's draft. >> [CNG] The SCTP draft does say which "apps" will be in the association. >> That what I mean by "what's in the streams" in the general sense. > > "apps" is a cop out - it is a meaningless term. [CNG] I agree, I'm just reusing the existing term. Different protocols will be signaled across different SCTP streams. > > "Loosely" I am inclined to think there is only one "app" at each end > of the association, or maybe just one distributed app at both ends of > the association. I find it hard to consider "webrtc-datachannel" an > "application". It is just another layer in a stack. What we are more > likely to recognize as the "application" is above that. (We are > working our way up, from layer 7. But I've lost count.) [CNG] I don't think we need to make any assumptions about the number of apps. A endpoint could have one or more SCTP associations. In those associations they could have 1 or more SCTP streams carrying one or more protocols. > > But then there is some piece of application behavior associated with > each channel. *That* is where it gets clue-specific. > > This is one of the things that deserves better terminology. [CNG] I agree. > >>>> Rather than have two methods for negotiating what is >>>> in the SCTP association it almost seems better to have one method for >>>> negotiation of what apps there are and then to tag whether or not the >>>> webrtc data channel will be used to open it. >>>> >>>> e.g. >>>> >>>> m=application 54111 SCTP/DTLS 54111 >>>> a=sctpmap:54111 stream=2;label="CLUE 1"; subprotocol="CLUE"; >>>> max_retr=3; >>>> webrtc-datachannel-tag >>>> a=webrtc-datachannel:max-message-size=100000 streams=1 >>>> >>>> webrtc-datachannel-tag would take whether an "app" uses the webrtc >>>> data >>>> channel open protocol. >>>> a=webrtc-datachannel attribute would give the attributes of the >>>> protocol. >>> >>> There are problems with this - not for CLUE, but for webrtc, or >>> anything that doesn't want to use O/A to define every channel. >>> >>> 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? > > 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. > > 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? :-). 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. > > 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] 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