Re: [MMUSIC] WGLC for draft-ietf-mmusic-data-channel-sdpneg

Juergen Stoetzer-Bradler <juergen.stoetzer-bradler@nokia.com> Wed, 17 February 2016 13:14 UTC

Return-Path: <juergen.stoetzer-bradler@nokia.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 0DCD91B397C for <mmusic@ietfa.amsl.com>; Wed, 17 Feb 2016 05:14:52 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -5.701
X-Spam-Level:
X-Spam-Status: No, score=-5.701 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_14=0.6, J_CHICKENPOX_15=0.6, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001] autolearn=ham
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 y7oGJm_Ct_rw for <mmusic@ietfa.amsl.com>; Wed, 17 Feb 2016 05:14:49 -0800 (PST)
Received: from smtp-fr.alcatel-lucent.com (fr-hpida-esg-02.alcatel-lucent.com [135.245.210.21]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9DDFE1B396D for <mmusic@ietf.org>; Wed, 17 Feb 2016 05:14:48 -0800 (PST)
Received: from fr712umx4.dmz.alcatel-lucent.com (unknown [135.245.210.45]) by Websense Email Security Gateway with ESMTPS id D6C54FF61D5ED for <mmusic@ietf.org>; Wed, 17 Feb 2016 13:14:43 +0000 (GMT)
Received: from fr712usmtp2.zeu.alcatel-lucent.com (fr712usmtp2.zeu.alcatel-lucent.com [135.239.2.42]) by fr712umx4.dmz.alcatel-lucent.com (GMO-o) with ESMTP id u1HDEkpE018318 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK) for <mmusic@ietf.org>; Wed, 17 Feb 2016 13:14:46 GMT
Received: from FR712WXCHHUB03.zeu.alcatel-lucent.com (fr712wxchhub03.zeu.alcatel-lucent.com [135.239.2.74]) by fr712usmtp2.zeu.alcatel-lucent.com (GMO) with ESMTP id u1HDDOOY016173 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL) for <mmusic@ietf.org>; Wed, 17 Feb 2016 14:14:41 +0100
Received: from [149.204.68.190] (135.239.27.40) by FR712WXCHHUB03.zeu.alcatel-lucent.com (135.239.2.74) with Microsoft SMTP Server (TLS) id 14.3.195.1; Wed, 17 Feb 2016 14:12:50 +0100
To: mmusic@ietf.org
References: <BBE9739C2C302046BD34B42713A1E2A22E88D533@ESESSMB105.ericsson.se> <565CEF7B.7010305@nteczone.com> <949EF20990823C4C85C18D59AA11AD8BADE16A00@FR712WXCHMBA11.zeu.alcatel-lucent.com> <56682B96.9020008@alcatel-lucent.com> <56684C13.9030106@alum.mit.edu> <5668F9C1.4040606@nteczone.com> <566903E3.8020108@alum.mit.edu> <566A16D2.1070108@nteczone.com> <949EF20990823C4C85C18D59AA11AD8BADE22AB4@FR712WXCHMBA11.zeu.alcatel-lucent.com> <566AEB05.3040501@alum.mit.edu> <56AACC37.8090900@cisco.com> <56AB8596.9090304@alum.mit.edu> <56B12F48.409@cisco.com> <56B25159.70002@alum.mit.edu> <56B28240.7080206@cisco.com> <56B2DA8D.2000909@alum.mit.edu> <56B41A47.10901@nteczone.com> <56B63EF8.8080100@alum.mit.edu> <56B8BDA4.7060305@cisco.com> <56B8CBB5.7070507@alum.mit.edu> <56BCF47E.2000603@cisco.com> <56BDB7BC.1060104@alcatel-lucent.com> <56BE0F51.7050700@alum.mit.edu> <56C05B90.5070107@alcatel-lucent.com> <56C1F810.4060309@alum.mit.edu> <56C31DC5.80105@alcatel-lucent.com>
From: Juergen Stoetzer-Bradler <juergen.stoetzer-bradler@nokia.com>
Message-ID: <56C471D1.8010701@alcatel-lucent.com>
Date: Wed, 17 Feb 2016 14:12:49 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.5.1
MIME-Version: 1.0
In-Reply-To: <56C31DC5.80105@alcatel-lucent.com>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg="sha-256"; boundary="------------ms060308090808070600020805"
X-Originating-IP: [135.239.27.40]
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/5t_3r85yYummand-sYG-m5dNRMY>
Subject: Re: [MMUSIC] WGLC for draft-ietf-mmusic-data-channel-sdpneg
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 17 Feb 2016 13:14:52 -0000

Hi Paul, Christian, Flemming, Bo,

Have just submitted version 08 of draft-ietf-mmusic-data-channel-sdpneg.
The changes compared to version 07 are essentially as follows.

*   Two new paragraphs in section 5.1.2.1 (dcsa Attribute) regarding the relationship of 
subprotocols and their attributes.
*   Two new SDP offer/answer considerations in section 5.2.5 (Various SDP Offer/Answer Scenarios and 
Considerations)  regarding unknown subprotocol attributes or known subprotocol attributes, whose 
data channel transport specific semantic is not known.
*   A new paragraph in section 8.1 (IANA Considerations / Subprotocol Identifiers) related to cases, 
where a subprotocol is defined for data channel and Websocket transport.

These changes should address the points discussed in this email thread.

Thank you,
Juergen


On 16.02.2016 14:01, Juergen Stoetzer-Bradler wrote:
> Paul,
>
> Thanks for further feedback. Fully agree now that the subprotocol parameter should stay optional.
> Will come back with with a proposal of how the sdpneg text could be enhanced as discussed.
>
> Thanks,
> Juergen
>
> On 15.02.2016 17:08, EXT Paul Kyzivat wrote:
>> On 2/14/16 5:48 AM, Juergen Stoetzer-Bradler wrote:
>>> Paul,
>>>
>>> In your case 2) I would agree that the usage of dcsa embedded attributes
>>> seems questionable. After all, the dcsa attribute is defined in sdpneg
>>> as encapsulating a subprotocol specific attribute. If the subprotocol
>>> may dynamically change over time without further (SDP offer/answer)
>>> negotiation, then a negotiation of dcsa embedded attributes may indeed
>>> not be very helpful.
>>>
>>> In your case 1), I am wondering how would the SDP answerer know which
>>> subprotocol to use for which data channel, if the subprotocol id is not
>>> added to the data channel's dmap attribute (at least if multiple data
>>> channels are negotiated)? Conceivably via some provisioning, or via a
>>> mutual understanding of a certain subprotocol to SCTP stream id mapping,
>>> or via a certain a priori agreed label usage. I hadn't thought of such
>>> cases when raising the question if the subprotocol should actually be
>>> mandatory.
>>
>> IMO it could be any of those. But for this use case it seems more likely that channels will be 
>> opened dynamically rather than via SDP.
>>
>> I think the provision for *not* specifying the subprotocol was primarily to establish equivalence 
>> with what is possible via DCEP.
>>
>> One possibility is that SDP is used to specify how many channels are opened, with the 
>> understanding that each of them will use the same application-specific protocol.
>>
>> One possible use for dcsa with an unnamed protocol would be if the intent is to use a proprietary 
>> variant of a standard protocol, where there is still a desire to negotiate options using 
>> attributes applicable to that standard base protocol. But I'm really stretching to come up with 
>> this.
>>
>>> But such use cases would certainly go beyond a pure SDP offer/answer
>>> negotiation use case and I would argue that such use cases would also go
>>> beyond the scope of the sdpneg draft.
>>
>> Probably.
>>
>>> I could now imagine the sdpneg draft saying that an SDP offerer should
>>> add a subprotocol identifier to an offered data channel's dcmap
>>> attribute, if it also adds dcsa embedded subprotocol attributes. And
>>> that an implementation would be on its own, if it does not follow that
>>> recommendation (for whatever reasons).
>>
>> That could work.
>>
>>> Further, similar as for non-dcsa embedded attributes, we could
>>> explicitly add text to the sdpneg draft saying that a recipient of an an
>>> SDP offer or answer should ignore dcsa embedded attributes not only if
>>> they are completely unknown, but also if their semantics related to the
>>> subprotocol is not known.
>>> (The current draft says in sec 5.2.3 that the SDP answerer "/Parses and
>>> applies the SDP offer.  Note that the typical parser normally ignores
>>> unknown SDP attributes, which includes data channel related
>>> attributes./" I think we could make this clearer and explicitly refer to
>>> dcsa embedded subprotocol attributes.)
>>
>> Yes, that would help.
>>
>>     Thanks,
>>     Paul
>>
>>> Thanks,
>>> Juergen
>>>
>>> On 12.02.2016 17:58, EXT Paul Kyzivat wrote:
>>>> Juergen,
>>>>
>>>> You bring up a point that perhaps needs further discussion: what does
>>>> it mean when the subprotocol is not specified?
>>>>
>>>> IIUC there are at least a couple of reasons this might come about:
>>>>
>>>> 1) The protocol to be used is not standardized. There is no globally
>>>> unique name for it. The two ends know what protocol to use based on
>>>> context.
>>>>
>>>> 2) The protocol to be used on the channel is not determined via SDP
>>>> negotiation. The applications want to establish the channel, and then
>>>> dynamically decide what protocol to use with it. (And that protocol
>>>> may change over time.)
>>>>
>>>> I guess that it still might be meaningful to use dcsa with (1), but
>>>> there would be no way to determine by examination of the SDP whether
>>>> the usage was compatible with the protocol. In this case the usage of
>>>> the attributes would be "off label" - being adapted to the proprietary
>>>> protocol in a way that hopefully the two ends agree.
>>>>
>>>> I don't see how dcsa makes much sense for (2). If you don't know what
>>>> protocol will be used then how do you know what attributes to use?
>>>>
>>>>     Thanks,
>>>>     Paul
>>>>
>>>> On 2/12/16 5:45 AM, Juergen Stoetzer-Bradler wrote:
>>>>> Flemming, Paul,
>>>>>
>>>>> The current a=dcmap related text in
>>>>> draft-ietf-mmusic-data-channel-sdpneg doesn't require that the
>>>>> 'subprotocol' parameter must always be present - rather it is specified
>>>>> as an optional parameter. Thus, current sdpneg text would allow to
>>>>> create an SDP offer for a data channel, which contains one a=dcmap
>>>>> attribute and potentially multiple a=dcsa attributes without the
>>>>> subprotocol actually being given. Based on this discussion I am
>>>>> wondering if the subprotocol parameter should actually be mandatory.
>>>>>
>>>>> In the specific case of MSRP, the msrp-usage-data-channel draft says in
>>>>> 5.1.1.1 that the dcmap attribute includes the label and subprotocol
>>>>> parameters. The current text could possible be made more explicit by
>>>>> saying that the 'subprotocol="MSRP"' parameter must always be present.
>>>>> Have just submitted version 04 of the msrp-usage-data-channel draft,
>>>>> which proposes to add subprotocol identifier "MSRP" to the WebSocket
>>>>> Subprotocol Name registry. This registry would then associate
>>>>> subprotocol id "MSRP" with the msrp-usage-data-channel document.
>>>>> There, in section 5.1.1.2 the MSRP specific usages of the a=dcsa
>>>>> attribute are specified. And there the MSRP specific SDP attributes,
>>>>> which can be dcsa embedded, are described.
>>>>> 'setup' is an attribute, whose semantic changes when being dcsa embedded
>>>>> and associated with subprotocol MSRP, as compared to the meaning of an
>>>>> "a=setup" media level attribute of a TCP/MSRP m-line. Hence these
>>>>> semantical differences are explicitly addressed in the
>>>>> msrp-usage-data-channel draft.
>>>>>
>>>>> Regarding sdpneg, I also think that the current text in sdpneg seems to
>>>>> be sufficient regarding the usage of dcsa encapsulated SDP attributes as
>>>>> being bound to the data channel's subprotocol.  But as the semantic of a
>>>>> dcsa encapsulated attribute may be subprotocol specific (like 'setup'),
>>>>> I'd now tend to consider the subprotocol parameter in the dcmap
>>>>> attribute as being mandatory, as mentioned above. As already discussed,
>>>>> the Websocket subprotocol registry would then refer to the document,
>>>>> which specifies the subprotocol specific usage of dcsa encapsulated
>>>>> parameters.
>>>>>
>>>>> Thanks,
>>>>> Juergen
>>>>>
>>>>>
>>>>> On 11.02.2016 21:52, Flemming Andreasen wrote:
>>>>>>
>>>>>>
>>>>>> On 2/8/16 12:09 PM, Paul Kyzivat wrote:
>>>>>>> On 2/8/16 11:09 AM, Flemming Andreasen wrote:
>>>>>>>>
>>>>>>>>
>>>>>>>> On 2/6/16 1:44 PM, Paul Kyzivat wrote:
>>>>>>>>> On 2/4/16 10:43 PM, Christian Groves wrote:
>>>>>>>>>> Isn't this the approach we're taking today?
>>>>>>>>>> draft-ietf-mmusic-data-channel-sdpneg has general text and specific
>>>>>>>>>> drafts are used to describe protocols that use the mechanism (i.e.
>>>>>>>>>> draft-ietf-mmusic-msrp-usage-data-channel &
>>>>>>>>>> draft-ietf-clue-datachannel).
>>>>>>>>>
>>>>>>>>> It remains to be seen if that will be enough. E.g., there currently
>>>>>>>>> aren't any iana considerations in
>>>>>>>>> draft-ietf-mmusic-msrp-usage-data-channel.
>>>>>>>>>
>>>>>>>>> Suppose I encounter some sdp that uses msrp over a data channel, but
>>>>>>>>> that usage is unknown to me. How do I find the spec (the
>>>>>>>>> reference to
>>>>>>>>> draft-ietf-mmusic-msrp-usage-data-channel) that defines that usage?
>>>>>>>>>
>>>>>>>>> I would like to think that the iana registries will allow me to
>>>>>>>>> trace
>>>>>>>>> back to the relevant specs.
>>>>>>>>>
>>>>>>>> No disagreement on that part, however having taken another look at
>>>>>>>> both
>>>>>>>> sdpneg and the msrp-usage documents, I still don't agree with your
>>>>>>>> original request for all (existing and new) attributes to specify how
>>>>>>>> they may or may not be used with the dcsa attribute defined by
>>>>>>>> sdpneg.
>>>>>>>>
>>>>>>>> As Christian noted, the sub-protocol specifics are defined in
>>>>>>>> individual
>>>>>>>> documents (like msrp-usage), which calls your the parameters that
>>>>>>>> are at
>>>>>>>> least needed to be supported for that usage. Taking MSRP as an
>>>>>>>> example,
>>>>>>>> why isn't that enough, and how do you see the resulting set of
>>>>>>>> attributes that may or may not be used with MSRP differ between use
>>>>>>>> in a
>>>>>>>> data-channel (and hence encapsulated in dcsa) or as a regular media
>>>>>>>> stream ?
>>>>>>>
>>>>>>> Based on this discussion, I conclude that it should be sufficient for
>>>>>>> this draft to say that before an attribute can be used with dcsa,
>>>>>>> such usage must be defined somewhere. This could be either:
>>>>>>> - as part of the definition of the attribute, OR
>>>>>>> - as part of the definition of the protocol referenced on the m-line.
>>>>>>>
>>>>>> We are getting closer, but it's still not obvious to me that you
>>>>>> cannot use an attribute with dcsa if it has not been explicitly
>>>>>> defined for the attribute in question. Clearly, there are attributes
>>>>>> that wouldn't make sense over data channels, just like there are
>>>>>> attributes that don't make sense over particular media descriptions.
>>>>>>
>>>>>> Again, I'd like to hear from more people on this, including the
>>>>>> authors.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> -- Flemming
>>>>>>
>>>>>>
>>>>>>
>>>>>>>     Thanks,
>>>>>>>     Paul
>>>>>>>
>>>>>>>> Also, it would be good to hear from more people on this, including
>>>>>>>> the
>>>>>>>> document authors.
>>>>>>>>
>>>>>>>> Thanks
>>>>>>>>
>>>>>>>> -- Flemming
>>>>>>>>
>>>>>>>>
>>>>>>>>>     Thanks,
>>>>>>>>>     Paul
>>>>>>>>>
>>>>>>>>>> Regards, Christian
>>>>>>>>>>
>>>>>>>>>> On 4/02/2016 3:58 PM, Paul Kyzivat wrote:
>>>>>>>>>>> On 2/3/16 5:42 PM, Flemming Andreasen wrote:
>>>>>>>>>>>
>>>>>>>>>>>> I'm not concerned about the IANA part. I agree that *if* we
>>>>>>>>>>>> need to
>>>>>>>>>>>> expliclty specify attribute interactions for "dcsa", then it
>>>>>>>>>>>> should be
>>>>>>>>>>>> part of the IANA registry. What I am not agreeing with at this
>>>>>>>>>>>> point is
>>>>>>>>>>>> that there is indeed a need to explicitly speficy these
>>>>>>>>>>>> interactions as
>>>>>>>>>>>> opposed to relying on a more general algorithmic approach
>>>>>>>>>>>> (plus the
>>>>>>>>>>>> offerer being responsible for generating a valid offer if he
>>>>>>>>>>>> wants to
>>>>>>>>>>>> establish a data channel).
>>>>>>>>>>>
>>>>>>>>>>> Well, an obvious one is that the protocol(s) the attribute
>>>>>>>>>>> pertains to
>>>>>>>>>>> need to be defined to work over data channels.
>>>>>>>>>>>
>>>>>>>>>>>     Thanks,
>>>>>>>>>>>     Paul
>>>>>>>>>>>
>>>>>>>>>>> _______________________________________________
>>>>>>>>>>> mmusic mailing list
>>>>>>>>>>> mmusic@ietf.org
>>>>>>>>>>> https://www.ietf.org/mailman/listinfo/mmusic
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> _______________________________________________
>>>>>>>>>> mmusic mailing list
>>>>>>>>>> mmusic@ietf.org
>>>>>>>>>> https://www.ietf.org/mailman/listinfo/mmusic
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> _______________________________________________
>>>>>>>>> mmusic mailing list
>>>>>>>>> mmusic@ietf.org
>>>>>>>>> https://www.ietf.org/mailman/listinfo/mmusic
>>>>>>>>> .
>>>>>>>>>
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> mmusic mailing list
>>>>>>> mmusic@ietf.org
>>>>>>> https://www.ietf.org/mailman/listinfo/mmusic
>>>>>>> .
>>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>
>>
>
>