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

Paul Kyzivat <pkyzivat@alum.mit.edu> Mon, 17 February 2014 04:09 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 5CA421A031F for <clue@ietfa.amsl.com>; Sun, 16 Feb 2014 20:09:18 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: 1.165
X-Spam-Level: *
X-Spam-Status: No, score=1.165 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_16=0.6, J_CHICKENPOX_17=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 LcC_m8BLJjJQ for <clue@ietfa.amsl.com>; Sun, 16 Feb 2014 20:09:15 -0800 (PST)
Received: from qmta14.westchester.pa.mail.comcast.net (qmta14.westchester.pa.mail.comcast.net [IPv6:2001:558:fe14:44:76:96:59:212]) by ietfa.amsl.com (Postfix) with ESMTP id 66CE41A0031 for <clue@ietf.org>; Sun, 16 Feb 2014 20:09:15 -0800 (PST)
Received: from omta05.westchester.pa.mail.comcast.net ([76.96.62.43]) by qmta14.westchester.pa.mail.comcast.net with comcast id TG4M1n0010vyq2s5EG9CGw; Mon, 17 Feb 2014 04:09:12 +0000
Received: from Paul-Kyzivats-MacBook-Pro.local ([50.138.229.164]) by omta05.westchester.pa.mail.comcast.net with comcast id TG9C1n0093ZTu2S3RG9CaM; Mon, 17 Feb 2014 04:09:12 +0000
Message-ID: <53018B68.2080209@alum.mit.edu>
Date: Sun, 16 Feb 2014 23:09:12 -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>
In-Reply-To: <53016764.9050201@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=1392610152; bh=QaLdF2U3csyc+99qGNWz7iwTgDK93dNFZDG+KVZCuA8=; h=Received:Received:Message-ID:Date:From:MIME-Version:To:Subject: Content-Type; b=AxxAi7KdeVQKSDycv4gFzAu7y6oSPlJPTfo7bBN4hjK7b5X3rdiiqOMbI5MzBXEdW i/2cXhuDppbmOqBzGP/EaiYOKFg3944cbfZZFTEaAL9wcJ2pYQQ0P0QUjTVoc2DlYb oQEq7joJdGyJ9yNyqKyxiNq4hepbrKk+cSydlwPP5B/aLhTz3Nknc1MMbTHutYLcQ6 jcSCXs+M9wHUK4hjKXbfY1hjRWWv4fJNUnyC0t9B+toD0LH5086iT7DYkC3IP3LDK0 08EQqMvnJusk3cER2NYbTc2bfSQLgX4iKSfljYR3cym9DGWRU3aG3DZx6o+u3MIRwH Fy/SCn2RrczQA==
Archived-At: http://mailarchive.ietf.org/arch/msg/clue/6HKu9EwWWUu1uV44ZenA_AQhUY0
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 04:09:18 -0000

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.

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

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

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.

 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.

	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
>