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

From: Juergen Stoetzer-Bradler <[email-masked]>
Date: Fri, 9 Oct 2015 16:03:22 +0200

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.

---

From: Christer Holmberg <[email-masked]>
Date: Sat, 10 Oct 2015 04:26:40 +0000

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:[email-masked]>
Sent: ‎09/‎10/‎2015 17:03
To: [email-masked]<mailto:[email-masked]>
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.

Thanks,
Juergen

6.  Gateway Configuration

---

From: Juergen Stoetzer-Bradler <[email-masked]>
Date: Tue, 13 Oct 2015 14:55:14 +0200

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:
> 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
>
> ----------------------------------------------------------------------------------------------------
> From: Juergen Stoetzer-Bradler <mailto:[email-masked]>
> To: [email-masked] <mailto:[email-masked]>
> 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

---

From: Christer Holmberg <[email-masked]>
Date: Tue, 13 Oct 2015 13:00:31 +0000

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:[email-masked]] 
Sent: 13. lokakuuta 2015 15:55
To: Christer Holmberg; [email-masked]
Subject: Re: [MMUSIC] draft-ietf-mmusic-msrp-usage-data-channel - "a=setup" versus "a=dcsa:x setup"

Hello Christer,

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.

Thanks,
Juergen

Hi.

Regards,

Christer

  _____  

To: [email-masked]

Hello,

Thanks,
Juergen

6.  Gateway Configuration

---

From: "Schwarz, Albrecht (Albrecht)" <[email-masked]>
Date: Wed, 14 Oct 2015 17:09:50 +0000

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:[email-masked]] On Behalf Of Christer Holmberg
Sent: Dienstag, 13. Oktober 2015 15:01
To: Stoetzer-Bradler, Juergen (Juergen); [email-masked]
Subject: Re: [MMUSIC] draft-ietf-mmusic-msrp-usage-data-channel - "a=setup" versus "a=dcsa:x setup"

Hi,

Regards,

Christer

From: Juergen Stoetzer-Bradler [mailto:[email-masked]]
Sent: 13. lokakuuta 2015 15:55
To: Christer Holmberg; [email-masked]<mailto:[email-masked]>
Subject: Re: [MMUSIC] draft-ietf-mmusic-msrp-usage-data-channel - "a=setup" versus "a=dcsa:x setup"

Hello Christer,

Thanks,
Juergen

Regards,

Christer

Thanks,
Juergen

6.  Gateway Configuration

---

From: Christer Holmberg <[email-masked]>
Date: Fri, 16 Oct 2015 07:20:02 +0000

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:[email-masked]>
Sent: ‎14/‎10/‎2015 20:09
To: Christer Holmberg<mailto:[email-masked]>; Stoetzer-Bradler, Juergen (Juergen)<mailto:[email-masked]>; [email-masked]<mailto:[email-masked]>; Christian Groves ([email-masked])<mailto:[email-masked]>
Subject: RE: [MMUSIC] draft-ietf-mmusic-msrp-usage-data-channel - "a=setup" versus "a=dcsa:x setup"

Hello Christer,

Regards,
Albrecht

Hi,

Regards,

Christer

Hello Christer,

Thanks,
Juergen

Regards,

Christer

Thanks,
Juergen

6.  Gateway Configuration

---

From: Christian Groves <[email-masked]>
Date: Wed, 21 Oct 2015 17:26:09 +0200

Hello Albrecht and Christer,

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.

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.

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.

Regards, Christian

On 16/10/2015 9:20 AM, Christer Holmberg wrote:
> 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
>
> ------------------------------------------------------------------------
> From: Schwarz, Albrecht (Albrecht) 
> <mailto:[email-masked]>
> To: Christer Holmberg <mailto:[email-masked]>; 
> Stoetzer-Bradler, Juergen (Juergen) 
> <mailto:[email-masked]>; [email-masked] 
> <mailto:[email-masked]>; Christian Groves 
> ([email-masked]) <mailto:[email-masked]>
> />//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?
>
> *From:*mmusic [mailto:[email-masked]] *On Behalf Of *Christer 
> Holmberg
> *Sent:* Dienstag, 13. Oktober 2015 15:01
> *To:* Stoetzer-Bradler, Juergen (Juergen); [email-masked]
> *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:[email-masked]]
> *Sent:* 13. lokakuuta 2015 15:55
> *To:* Christer Holmberg; [email-masked] <mailto:[email-masked]>
> *Subject:* Re: [MMUSIC] draft-ietf-mmusic-msrp-usage-data-channel - 
> "a=setup" versus "a=dcsa:x setup"
>
> Hello Christer,
>
> A dcsa embedded setup attribute does not have any MSRP transport 
> protocol related establishment role semantics.
> 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"
>     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
>
>     ------------------------------------------------------------------------
>
>     *From: *Juergen Stoetzer-Bradler
>     <mailto:[email-masked]>
>     *Sent: *‎09/‎10/‎2015 17:03
>     *To: [email-masked] <mailto:[email-masked]>
>     *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
>     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.
>
>     forwarding

---

From: Paul Kyzivat <[email-masked]>
Date: Wed, 21 Oct 2015 11:43:46 -0400

On 10/9/15 10:03 AM, Juergen Stoetzer-Bradler wrote:
> 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.

IMO it makes perfect sense to separate out the negotiation of the msrp 
role via a=dcsa setup.

That still leaves a=setup overloaded, for both SCTP setup and DTLS 
setup. There really ought to be separate negotiation of those two.

	Thanks,
	Paul

> 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.
>
> _______________________________________________
> mmusic mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/mmusic
>

---

From: Christer Holmberg <[email-masked]>
Date: Wed, 21 Oct 2015 18:03:20 +0000

Hi,

>> 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
>> endpoints (RFCs 6135, 6714) we propose to explicitly describe the 
>> semantics of dcsa encapsulated setup attributes for MSRP over data 
> IMO it makes perfect sense to separate out the negotiation of the msrp role via a=dcsa setup.

+ 1

> That still leaves a=setup overloaded, for both SCTP setup and DTLS setup. There really ought to be separate negotiation of those two.

At least there are now separate "connection" attributes for SCTP and DTLS, as the latest version of draft-dtls-sdp defines the SDP "dtls-connection" attribute for DTLS.

Regards,

Christer

---

From: Christer Holmberg <[email-masked]>
Date: Wed, 21 Oct 2015 18:10:43 +0000

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:
> 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.
> 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.
> attribute is present), then we should probably specify that a dcsa 
> embedded setup attribute is mandatory for MSRP over data channel 
> sessions.
>
>     setup:<role>". Current version

---

From: Christian Groves <[email-masked]>
Date: Thu, 22 Oct 2015 15:12:11 +0200

At this stage I don't care which method is chosen. The main is to 
progress the draft.

Regards, Christian

---

From: Juergen Stoetzer-Bradler <[email-masked]>
Date: Mon, 26 Oct 2015 14:03:01 +0100

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

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

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