Re: [MMUSIC] draft-ietf-mmusic-msrp-usage-data-channel - "a=setup" versus "a=dcsa:x setup"

Juergen Stoetzer-Bradler <Juergen.Stoetzer-Bradler@alcatel-lucent.com> Mon, 26 October 2015 13:03 UTC

Return-Path: <juergen.stoetzer-bradler@alcatel-lucent.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 560591B3D7C for <mmusic@ietfa.amsl.com>; Mon, 26 Oct 2015 06:03:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -6.311
X-Spam-Level:
X-Spam-Status: No, score=-6.311 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_15=0.6, RCVD_IN_DNSWL_HI=-5, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 J9y7CDIJCrxP for <mmusic@ietfa.amsl.com>; Mon, 26 Oct 2015 06:03:07 -0700 (PDT)
Received: from smtp-fr.alcatel-lucent.com (fr-hpgre-esg-01.alcatel-lucent.com [135.245.210.22]) (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 97F2D1B3D78 for <mmusic@ietf.org>; Mon, 26 Oct 2015 06:03:06 -0700 (PDT)
Received: from fr711usmtp1.zeu.alcatel-lucent.com (unknown [135.239.2.122]) by Websense Email Security Gateway with ESMTPS id 0F050C7B00470; Mon, 26 Oct 2015 13:03:02 +0000 (GMT)
Received: from FR711WXCHHUB02.zeu.alcatel-lucent.com (fr711wxchhub02.zeu.alcatel-lucent.com [135.239.2.112]) by fr711usmtp1.zeu.alcatel-lucent.com (GMO) with ESMTP id t9QD31Vo001354 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Mon, 26 Oct 2015 14:03:04 +0100
Received: from [135.224.202.215] (135.239.27.38) by FR711WXCHHUB02.zeu.alcatel-lucent.com (135.239.2.112) with Microsoft SMTP Server (TLS) id 14.3.195.1; Mon, 26 Oct 2015 14:03:03 +0100
To: Christian Groves <Christian.Groves@nteczone.com>, Christer Holmberg <christer.holmberg@ericsson.com>, "Schwarz, Albrecht (Albrecht)" <albrecht.schwarz@alcatel-lucent.com>, "mmusic@ietf.org" <mmusic@ietf.org>, Paul Kyzivat <pkyzivat@alum.mit.edu>
References: <5617C92A.4030009@alcatel-lucent.com> <7594FB04B1934943A5C02806D1A2204B37B388F5@ESESSMB209.ericsson.se> <561CFF32.5080601@alcatel-lucent.com> <7594FB04B1934943A5C02806D1A2204B37B41098@ESESSMB209.ericsson.se> <786615F3A85DF44AA2A76164A71FE1ACDF79BE0B@FR711WXCHMBA01.zeu.alcatel-lucent.com> <7594FB04B1934943A5C02806D1A2204B37B45C07@ESESSMB209.ericsson.se> <5627AE91.5070605@nteczone.com> <7594FB04B1934943A5C02806D1A2204B37B82481@ESESSMB209.ericsson.se> <5628E0AB.4090605@nteczone.com>
From: Juergen Stoetzer-Bradler <Juergen.Stoetzer-Bradler@alcatel-lucent.com>
Message-ID: <562E2485.3040407@alcatel-lucent.com>
Date: Mon, 26 Oct 2015 14:03:01 +0100
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0
MIME-Version: 1.0
In-Reply-To: <5628E0AB.4090605@nteczone.com>
Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="------------ms030800050004010103090501"
X-Originating-IP: [135.239.27.38]
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/AUK4TCTzKxRt641UVJjPbdqZygo>
Subject: Re: [MMUSIC] draft-ietf-mmusic-msrp-usage-data-channel - "a=setup" versus "a=dcsa:x setup"
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: Mon, 26 Oct 2015 13:03:11 -0000

Albrecht, Christian, Christer, Paul,

Thanks for further setup related comments.
Based on your feedback I would propose following text, which makes
the dcsa embedded setup attribute mandatory for MSRP.

Thank you,
Juergen

New section 5.1.1.3:

5.1.1.3.  Use of the setup Attribute

    The SDP setup attribute, as introduced in [RFC4145], can be used in
    WebRTC data channel related SDP media descriptions as a media level
    attribute, which is associated with the corresponding UDP/DTLS/SCTP
    or TCP/DTLS/SCTP "m" line.  In this case the setup attribute is of
    the form "a=setup:<role>", where <role> assumes values as defined in
    [RFC4145].  Such a setup attribute is used as specified in
    [I-D.ietf-mmusic-sctp-sdp] in order to negotiate the establishment
    roles of the DTLS connection and the SCTP association.  If an MSRP
    session is negotiated over a data channel, then such an "a=setup"
    attribute has no relationship with the MSRP session.

    Additionally, the setup attribute can be embedded in a dcsa attribute
    and hence can explicitly be associated with an MSRP session over a
    specific data channel.  In such a case it is of the form "a=dcsa:x
    setup:<role>", with x being the data channel's SCTP stream
    identifier.  Such a dcsa embedded setup attribute has no relationship
    with the DTLS connection and SCTP association establishment roles.

    A dcsa embedded setup attribute MUST be used for MSRP sessions over
    data channels.

    The dcsa embedded setup attribute in an MSRP over data channel
    description is used to negotiate, which MSRP session endpoint assumes
    the active role as per Section 4.2.2 of [RFC6135] and Section 5.4 of
    [RFC4975].

    It is considered an error if an MSRP over data channel description
    does not contain a dcsa embedded setup attribute.


Extended section 6:

6.  Gateway Configuration

    This section describes the network configuration where one MSRP
    endpoint uses data channels as MSRP transport, the other MSRP
    endpoint uses TLS/TCP connections as MSRP transport, and the two MSRP
    endpoints interwork via an MSRP gateway.

    Specifically, a gateway can be configured to interwork an MSRP
    session over a data channel with a peer that does not support data
    channel transport in one of two ways.  In one model, the gateway
    performs as a MSRP B2BUA to interwork all the procedures as necessary
    between the endpoints.  No further specification is needed for this
    model.

    Alternately, the gateway can use CEMA procedures to provide transport
    level interworking between MSRP endpoints using different transport
    protocols as follows.

    When the gateway performs transport level interworking between MSRP
    endpoints, all of the procedures in Section 5 apply to each peer,
    with the following additions:

    o  The endpoint establishing an MSRP session using data channel
       transport SHALL NOT request inclusion of any relays, although it
       MAY interoperate with a peer that signals the use of relays.

    o  The gateway receiving an SDP offer that includes a request to
       negotiate an MSRP session on a data channel can provide transport
       level interworking in the same manner as a CEMA SBC by forwarding
       TCP or TLS transport parameters in a new "m" line with the
       appropriate attributes within the forwarded SDP offer.

       *  Especially, the gateway interworks the received MSRP over data
          channel associated dcsa embedded setup attribute with the media
          description level "a=setup" attribute of the MSRP over TCP or
          TLS "m" line within its forwarded SDP offer.

    o  Similarly, a gateway receiving an SDP offer to negotiate an MSRP
       session using TCP or TLS transport with an endpoint that only
       supports data channel transport for MSRP can provide transport
       level interworking in the same manner as a CEMA SBC by
       establishing a new data channel for the MSRP session with the
       target endpoint.

       *  In this case the gateway interworks the received MSRP over TCP
          or TLS associated "a=setup" attribute with the dcsa embedded
          setup attribute of the generated MSRP over data channel
          description.



On 22.10.2015 15:12, Christian Groves wrote:
> At this stage I don't care which method is chosen. The main is to progress the draft.
>
> Regards, Christian
>
> On 21/10/2015 8:10 PM, Christer Holmberg wrote:
>> Hi,
>>
>>> The "rule of thumb" I had is covered by Juergen's text. It was basically that an endpoint only 
>>> includes a=dsca:setup if it wanted a role
>>> different than what is indicated in a=setup. However I think Christer has a separate view.
>> Correct. I want a=setup to only impact the data channel itself - not what is "inside" the data 
>> channel.
>>
>>> I think the original source of the problem is that RFC6135 links the MSRP establishment role to 
>>> the a=setup. I.e. the active side
>>> is the one that sends the first MSRP message. So these are linked. To unlink it for MSRP over DC 
>>> its proposed to use a=setup (which
>>> was defined for transport connection setup) in the DC (via dsca) to control the MSRP protocol 
>>> setup.
>> You can always give a=dsca:setup the same value as a=setup.
>>
>>> I think at the end of the day the decision is whether we want every WebRTC endpoint to send 
>>> "a=setup" and "a=dsca:setup" every time
>>> it wants to set up a MSRP datachannel or whether it only has to send a=dsca:setup if wants a 
>>> different role from the a=setup.
>> I see no problem in sending both, as they are used for different things.
>>
>> Regards,
>>
>> Christer
>>
>>
>> Regards, Christian
>>
>> On 16/10/2015 9:20 AM, Christer Holmberg wrote:
>>> Albrecht, I can't parse what you said.
>>>
>>> If a piece of information is required in order for something to work,
>>> then it must be mandatory to include that piece of information. Of
>>> course, you may define an implicit default value, but the information
>>> must be there.
>>>
>>> Regards,
>>>
>>> Christer
>>>
>>> Sent from my Windows Phone
>>> ----------------------------------------------------------------------
>>> -- 
>>> From: Schwarz, Albrecht (Albrecht)
>>> <mailto:albrecht.schwarz@alcatel-lucent.com>
>>> Sent: ‎14/‎10/‎2015 20:09
>>> To: Christer Holmberg <mailto:christer.holmberg@ericsson.com>;
>>> Stoetzer-Bradler, Juergen (Juergen)
>>> <mailto:juergen.stoetzer-bradler@alcatel-lucent.com>; mmusic@ietf.org
>>> <mailto:mmusic@ietf.org>; Christian Groves
>>> (Christian.Groves@nteczone.com) <mailto:Christian.Groves@nteczone.com>
>>> Subject: RE: [MMUSIC] draft-ietf-mmusic-msrp-usage-data-channel -
>>> "a=setup" versus "a=dcsa:x setup"
>>>
>>> Hello Christer,
>>>
>>> such a prescriptive sentence
>>>
>>> />//If a setup value is required for the MSRP session establishment,
>>> then the dcsa setup attribute must be mandatory./
>>>
>>> relates to a “*conditionally ‘mandatory’*”, i.e., an *optional*
>>> tagging in general, right?
>>>
>>> @Christian, you had a good rule of thumb proposed, covering the
>>> conditionality.
>>>
>>> What’s your view?
>>>
>>> Regards,
>>>
>>> Albrecht
>>>
>>> *From:*mmusic [mailto:mmusic-bounces@ietf.org] *On Behalf Of *Christer
>>> Holmberg
>>> *Sent:* Dienstag, 13. Oktober 2015 15:01
>>> *To:* Stoetzer-Bradler, Juergen (Juergen); mmusic@ietf.org
>>> *Subject:* Re: [MMUSIC] draft-ietf-mmusic-msrp-usage-data-channel -
>>> "a=setup" versus "a=dcsa:x setup"
>>>
>>> Hi,
>>>
>>> If a setup value is required for the MSRP session establishment, then
>>> the dcsa setup attribute must be mandatory.
>>>
>>> Regards,
>>>
>>> Christer
>>>
>>> *From:*Juergen Stoetzer-Bradler
>>> [mailto:Juergen.Stoetzer-Bradler@alcatel-lucent.com]
>>> *Sent:* 13. lokakuuta 2015 15:55
>>> *To:* Christer Holmberg; mmusic@ietf.org <mailto:mmusic@ietf.org>
>>> *Subject:* Re: [MMUSIC] draft-ietf-mmusic-msrp-usage-data-channel -
>>> "a=setup" versus "a=dcsa:x setup"
>>>
>>> Hello Christer,
>>>
>>> Thank you for your comments.
>>>
>>> A dcsa embedded setup attribute does not have any MSRP transport
>>> protocol related establishment role semantics.
>>> But an MSRP over data channel endpoint still needs to know its MSRP
>>> session establishment role.
>>> In some data channel to TCP (or TLS) transport interworking cases,
>>> which are described in section 6, this MSRP session establishment role
>>> cannot always be derived from the DTLS/SCTP establishment role.
>>> In such cases a dcsa embedded setup attribute for MSRP seems to be
>>> required.
>>> However, in some other interworking cases, and especially in
>>> end-to-end data channel cases the MSRP session establishment role
>>> could be tightly coupled with the DTLS/SCTP establishment roles and
>>> hence with the "a=setup" attribute.
>>> If we don't allow the "a=setup" attribute to also describe the MSRP
>>> session establishment role (if no "a=dcsa:x setup"
>>> attribute is present), then we should probably specify that a dcsa
>>> embedded setup attribute is mandatory for MSRP over data channel
>>> sessions.
>>>
>>> For MSRP as sub-protocol, would a mandatory "a=dcsa:x setup:<role>"
>>> attribute be agreeable?
>>>
>>> Thanks,
>>> Juergen
>>>
>>> On 10.10.2015 06:26, Christer Holmberg wrote:
>>>
>>>      Hi.
>>>
>>>      First, I think you suggest far too much text, but that is editorial.
>>>
>>>      Second, as you say, the media level 'setup' attribute is used to
>>>      negotiate the SCTPoDTLS association establishment. But, I don't
>>>      think it should be used to negotiate the MSRP roles etc in case
>>>      the 'dcsa:x setup' is not present. The 'setup' attribute has
>>>      nothing to do with the protocol carried within the data channel -
>>>      the reason we defined the 'dsca' attribute was to be able to carry
>>>      such information.
>>>
>>>      Regards,
>>>
>>>      Christer
>>>
>>>      Sent from my Windows Phone
>>>
>>> ----------------------------------------------------------------------
>>> -- 
>>>
>>>      *From: *Juergen Stoetzer-Bradler
>>> <mailto:Juergen.Stoetzer-Bradler@alcatel-lucent.com>
>>>      *Sent: *‎09/‎10/‎2015 17:03
>>>      *To: *mmusic@ietf.org <mailto:mmusic@ietf.org>
>>>      *Subject: *[MMUSIC] draft-ietf-mmusic-msrp-usage-data-channel -
>>>      "a=setup" versus "a=dcsa:x setup"
>>>
>>>      Hello,
>>>
>>>      An MSRP over data channel related SDP media description will have
>>>      a media level "a=setup:<role>" attribute and may additionally
>>>      contain an "a=dcsa" encapsulated setup attribute "a=dcsa:x
>>>      setup:<role>". Current version
>>>      draft-ietf-mmusic-msrp-usage-data-channel-02
>>>      does not yet have any text related to the setup attribute except
>>>      for listing it as potential dcsa encapsulated MSRP specific attribute.
>>>      As the media level "a=setup" attribute is used to negotiation the
>>>      DTLS and SCTP establishment roles, and as the setup attribute is
>>>      also used
>>>      in MSRP over TCP cases to negotiate the "active" role of MSRP
>>>      session endpoints (RFCs 6135, 6714) we propose to explicitly describe
>>>      the semantics of dcsa encapsulated setup attributes for MSRP over
>>>      data channel in draft-ietf-mmusic-msrp-usage-data-channel.
>>>
>>>      We propose to add a new section 5.1.1.3 "Media Description Level
>>>      setup Attribute Versus Data Channel Specific setup Attribute"
>>>      after section 5.1.1.2 ("Use of dcsa Attribute") and to extend
>>>      existing section 6 ("Gateway Configuration") with setup attribute
>>>      related procedures.
>>>
>>>      Would the following new section 5.1.1.3 and modified section 6 be
>>>      agreeable?
>>>
>>>      Thanks,
>>>      Juergen
>>>
>>>      Proposed new Section 5.1.1.3:
>>>
>>>      5.1.1.3.  Media Description Level setup Attribute Versus Data
>>>      Channel Specific setup Attribute
>>>
>>>         The SDP setup attribute, as introduced in [RFC4145], can be used in
>>>         WebRTC data channel related SDP media descriptions as a media level
>>>         attribute, which is directly associated with the corresponding
>>>      DTLS/
>>>         SCTP "m" line.  In this case the setup attribute is of the form
>>>         "a=setup:<role>", where <role> assumes values as defined in
>>>         [RFC4145].  Such a setup attribute is then used as specified in
>>>         [I-D.ietf-mmusic-sctp-sdp] in order to negotiate the establishment
>>>         roles of the DTLS connection and the SCTP association.
>>>
>>>         Additionally, the setup attribute can be embedded in a dcsa
>>>      attribute
>>>         and hence can explicitly be associated with an MSRP session over a
>>>         specific data channel.  In such a case it is of the form "a=dcsa:x
>>>         setup:<role>", with x being the data channel's SCTP stream
>>>         identifier.  Such a dcsa attribute embedded setup attribute has no
>>>         relationship with the DTLS connection and SCTP association
>>>         establishment roles.
>>>
>>>         dcsa attribute embedded setup attributes are OPTIONAL for MSRP
>>>         sessions over data channels.
>>>
>>>         If an MSRP over data channel description contains a dcsa embedded
>>>         setup attribute, then this embedded setup attribute is used to
>>>         negotiate, which MSRP session endpoint assumes the active role
>>>      as per
>>>         Section 4.2.2 of [RFC6135] and Section 5.4 of [RFC4975].
>>>
>>>         If an MSRP over data channel description does not contain a dcsa
>>>         embedded setup attribute, then the media description level
>>>      "a=setup"
>>>         attribute, which is associated with the data channel's DTLS
>>>         connection and SCTP association, is used to negotiate, which MSRP
>>>         session endpoint assumes the active role.
>>>
>>>         If an MSRP over data channel endpoint wants to negotiate an
>>>      active or
>>>         non-active MSRP session establishment role, which is different from
>>>         its DTLS connection and SCTP association establishment role,
>>>      then it
>>>         MUST include a dcsa embedded setup attribute for this MSRP session.
>>>         In this case this dcsa embedded setup attribute's value is
>>>      different
>>>         from the value of the DTLS/SCTP "m" line's "a=setup" attribute.
>>>
>>>
>>>      Proposed modified section 6:
>>>
>>>      6.  Gateway Configuration
>>>
>>>         This section describes the network configuration where one MSRP
>>>         endpoint uses data channels as MSRP transport, the other MSRP
>>>         endpoint uses TLS/TCP connections as MSRP transport, and the
>>>      two MSRP
>>>         endpoints interwork via an MSRP gateway.
>>>
>>>         Specifically, a gateway can be configured to interwork an MSRP
>>>         session over a data channel with a peer that does not support data
>>>         channel transport in one of two ways.  In one model, the gateway
>>>         performs as a MSRP B2BUA to interwork all the procedures as
>>>      necessary
>>>         between the endpoints.  No further specification is needed for this
>>>         model.
>>>
>>>         Alternately, the gateway can use CEMA procedures to provide
>>>      transport
>>>         level interworking between MSRP endpoints using different transport
>>>         protocols as follows.
>>>
>>>         When the gateway performs transport level interworking between MSRP
>>>         endpoints, all of the procedures in Section 5 apply to each peer,
>>>         with the following additions:
>>>
>>>         o  The endpoint establishing an MSRP session using data channel
>>>            transport SHALL NOT request inclusion of any relays, although it
>>>            MAY interoperate with a peer that signals the use of relays.
>>>
>>>         o  The gateway receiving an SDP offer that includes a request to
>>>            negotiate an MSRP session on a data channel can provide
>>>      transport
>>>            level interworking in the same manner as a CEMA SBC by
>>>      forwarding
>>>            TCP or TLS transport parameters in a new "m" line with the
>>>            appropriate attributes within the forwarded SDP offer.
>>>
>>>            *  If the received data channel side SDP offer contains a dcsa
>>>               embedded setup attribute for the to be negotiated MSRP
>>>      session,
>>>               then the gateway interworks this dcsa embedded setup
>>>      attribute
>>>               with the media description level "a=setup" attribute of this
>>>               MSRP session's "m" line in its forwarded SDP offer.
>>>
>>>            *  If the received data channel side SDP offer does not
>>>      contain a
>>>               dcsa embedded setup attribute for the to be negotiated MSRP
>>>               session, then the gateway interworks the media description
>>>               level "a=setup" attribute, which is directly associated with
>>>               the data channel's DTLS/SCTP "m" line, with the media
>>>               description level "a=setup" attribute of this MSRP session's
>>>               "m" line in its forwarded SDP offer.
>>>
>>>         o  Similarly, a gateway receiving an SDP offer to negotiate an MSRP
>>>            session using TCP or TLS transport with an endpoint that only
>>>            supports data channel transport for MSRP can provide transport
>>>            level interworking in the same manner as a CEMA SBC by
>>>            establishing a new data channel for the MSRP session with the
>>>            target endpoint.
>>>
>>>            *  In this case the gateway interworks the TCP or TLS associated
>>>               media description level "a=setup" attribute of the to be
>>>               negotiated MSRP session's received "m" line either with the
>>>               media description level "a=setup" attribute of the data
>>>               channel's DTLS/SCTP "m" line, or with the dcsa embedded setup
>>>               attribute of this MSRP session's new data channel.
>>>
>>>            *  If the gateway's DTLS connection and SCTP association
>>>               establishment role on its data channel side is equal to the
>>>               "a=setup" attribute's value of the received MSRP over TCP or
>>>               TLS "m" line, then the gateway MAY add a dcsa embedded setup
>>>               attribute to the description of the MSRP session's new data
>>>               channel in its generated data channel side offer.
>>>               Alternatively, in this case the gateway MAY omit adding
>>>      such a
>>>               dcsa embedded setup attribute to the description of the MSRP
>>>               session's new data channel in its generated data channel side
>>>               offer.  Otherwise, if the gateway's DTLS connection and SCTP
>>>               association establishment role is different from the MSRP
>>>      over
>>>               TCP or TLS associated received "a=setup" attribute's value,
>>>               then the gateway MUST add a dcsa embedded setup attribute to
>>>               the description of the MSRP session's new data channel in its
>>>               generated data channel side offer.
>>>
>>>            *  If the gateway adds a dcsa embedded setup attribute
>>>      associated
>>>               with this MSRP session to its data channel side SDP
>>>      offer, then
>>>               the value of this embedded setup attribute MUST be equal
>>>      to the
>>>               value of the "a=setup" attribute, which is associated
>>>      with this
>>>               MSRP session's "m" line in the received TCP or TLS side SDP
>>>               offer.
>>>
>>
>