Re: [clue] CLUE Data Channel: SDP Offer/Answer Proceudres

Christer Holmberg <christer.holmberg@ericsson.com> Mon, 17 February 2014 09:41 UTC

Return-Path: <christer.holmberg@ericsson.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 937B31A0392 for <clue@ietfa.amsl.com>; Mon, 17 Feb 2014 01:41:35 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.451
X-Spam-Level:
X-Spam-Status: No, score=-1.451 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HELO_EQ_SE=0.35, J_CHICKENPOX_111=0.6, J_CHICKENPOX_16=0.6, J_CHICKENPOX_17=0.6, J_CHICKENPOX_44=0.6, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] 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 aYrDtdcKDBIA for <clue@ietfa.amsl.com>; Mon, 17 Feb 2014 01:41:32 -0800 (PST)
Received: from mailgw2.ericsson.se (mailgw2.ericsson.se [193.180.251.37]) by ietfa.amsl.com (Postfix) with ESMTP id B96D01A047B for <clue@ietf.org>; Mon, 17 Feb 2014 01:41:31 -0800 (PST)
X-AuditID: c1b4fb25-b7f038e000005d01-4d-5301d9474d1b
Received: from ESESSHC008.ericsson.se (Unknown_Domain [153.88.253.124]) by mailgw2.ericsson.se (Symantec Mail Security) with SMTP id 77.15.23809.749D1035; Mon, 17 Feb 2014 10:41:28 +0100 (CET)
Received: from ESESSMB209.ericsson.se ([169.254.9.216]) by ESESSHC008.ericsson.se ([153.88.183.42]) with mapi id 14.02.0387.000; Mon, 17 Feb 2014 10:40:19 +0100
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Christian Groves <Christian.Groves@nteczone.com>, "clue@ietf.org" <clue@ietf.org>
Thread-Topic: [clue] CLUE Data Channel: SDP Offer/Answer Proceudres
Thread-Index: Ac8qVqpg/4DOh4ZTSGSaavDifVp2WgBELw4AAAOFnDH///pZgIAAFQ0D///19ACAACrvAIAAEC6AgABc7XQ=
Date: Mon, 17 Feb 2014 09:40:18 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B1D19C661@ESESSMB209.ericsson.se>
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>
In-Reply-To: <530198FB.9000905@nteczone.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.20]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFjrILMWRmVeSWpSXmKPExsUyM+Jvja7HTcZggy/NrBZf3jeyWOw/dZnZ gcljyZKfTB4rzs9kCWCK4rJJSc3JLEst0rdL4MqY+OMhU0FLQcX0s8+YGxinh3cxcnJICJhI NL3/xw5hi0lcuLeerYuRi0NI4BCjxIu+RewQzhJGiae9S4EcDg42AQuJ7n/aIA0iAuESHduu MILYwgJOEjfbDrBBxJ0l1jbMYIewkyQONDcwg9gsAqoSV2d/A7N5BXwlnrV8YIaY/4FJYtvk K2AJTgEdiSnH34MNZQS66PupNUwgNrOAuMStJ/OZIC4VkFiy5zwzhC0q8fLxP1YIW1Hi6vTl UPU6Egt2f2KDsLUlli18DbVYUOLkzCcsExhFZyEZOwtJyywkLbOQtCxgZFnFyJ6bmJmTXm60 iREYDQe3/FbdwXjnnMghRmkOFiVx3g9vnYOEBNITS1KzU1MLUovii0pzUosPMTJxcEo1MJoe WKr6IVEp06T7XvLPvpN2Bw9x2yqwzYmfHVeeu65x+xzJDVMOXJhr8eDzcos4R9ePZ9cVTk74 PYOh5vNzmapTd1Z9uji1T8+ibetP7UU3dqlmK8xwvbUniYNrb/+vuP151y9obZly8AqH7IwL PzQ97x08c/ik8bzXqzsPzeMPbHoo3vjJw6lIiaU4I9FQi7moOBEAourcPFQCAAA=
Archived-At: http://mailarchive.ietf.org/arch/msg/clue/SJMJkiAco4Z3V4gCogTUbjn-ckw
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: Mon, 17 Feb 2014 09:41:36 -0000

Hi,

I will read and comment on this at another moment, but to me it seems like this discussion belongs to the MMUSIC (and perhaps RTCWEB) list.

Regards,

Christer

________________________________________
From: clue [clue-bounces@ietf.org] on behalf of Christian Groves [Christian.Groves@nteczone.com]
Sent: Monday, 17 February 2014 7:07 AM
To: clue@ietf.org
Subject: Re: [clue] CLUE Data Channel: SDP Offer/Answer Proceudres

Hello Paul,

On 17/02/2014 3:09 PM, Paul Kyzivat wrote:
> On 2/16/14 8:35 PM, Christian Groves wrote:
>> Hello Christer,
>>
>> Please see below.
>>
>> Regards, Christian
>>
>> On 17/02/2014 12:11 PM, Christer Holmberg wrote:
>>> Hi,
>>>
>>> If the offerer offers a data channel, AND also some way indicates
>>> support of CLUE, we can always specify that the offerer MUST be able
>>> to use the data channel for CLUE. The WebRTC data channel protocol can
>>> then be used to open the channel for CLUE.
>> [CNG] I agree.
>>
>> I'm still uncomfortable with the way these drafts are layered.
>
> I'm troubled too, but maybe not exactly the same way you are.
> IMO it isn't that the layering is so wrong. Rather it is that the
> terminology used is confusing.
[CNG] Yes the terminology isn't helping either.

>
>> 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.
>
>> 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?
>
> 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".
>
> 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.

>
>     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