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
>