Subject: Re: [MMUSIC] Single SCTP usage per SDP session?

From: Paul Kyzivat <[email-masked]>
Date: Mon, 01 Dec 2014 17:15:40 -0500

On 11/26/14 2:00 PM, Christer Holmberg wrote:

> <Raju>
>> Per my understanding, draft-ietf-tsvwg-sctp-dtls-encaps just talks about SCTP over DTLS and allowing multiple SCTP associations, which is perfectly fine.
>> Then it is possible to come up with SCTP-SDP semantics to use that capability.
>> One m= line allowing one SCTP over DTLS limit is fine. Using BUNDLE you can replicate same 4-tuple in multiple m= lines. Then there is only one DTLS association
>> established and multiple SCTP associations over that is possible (one per m= line).
>> If BUNDLE is not used then I believe same 4-tuple on multiple m= lines are NOT possible. This is because, per my understanding, unlike TCP/native-SCTP used under non-
>> ICE environments, in ICE-environments the TCP/UDP port specified is used both as client and server port for DTLS.
>
> Even with BUNDLE, you would have to use the same m= line port value from the beginning, which is not allowed. So, you basically would have to add the additional SCTPoDTLS m= lines once the usage of BUNDLE has been negotiated.

bundle-only would allow you to set this up.

	Thanks,
	Paul

---

From: Christer Holmberg <[email-masked]>
Date: Tue, 2 Dec 2014 08:22:48 +0000

Hi,

>>> One m= line allowing one SCTP over DTLS limit is fine. Using BUNDLE 
>>> you can replicate same 4-tuple in multiple m= lines. Then there is only one DTLS association established and multiple SCTP associations over that is possible (one per m= line).
>>> If BUNDLE is not used then I believe same 4-tuple on multiple m= 
>>> lines are NOT possible. This is because, per my understanding, unlike TCP/native-SCTP used under non- ICE environments, in ICE-environments the TCP/UDP port specified is used both as client and server port for DTLS.
>>

Correct.

But, then we would need to have rules saying that you are not allowed to move an m= line associated with a SCTP usage out of the BUNDLE group, etc.

Regards,

Christer

---

From: Paul Kyzivat <[email-masked]>
Date: Tue, 02 Dec 2014 10:49:14 -0500

> But, then we would need to have rules saying that you are not allowed to move an m= line associated with a SCTP usage out of the BUNDLE group, etc.

How is this different from any other bundle-only m-line?

---

From: Christer Holmberg <[email-masked]>
Date: Tue, 2 Dec 2014 16:48:40 +0000

Hi,

>>>>> you can replicate same 4-tuple in multiple m= lines. Then there is only one DTLS association established and multiple SCTP associations over that is possible (one per >>>>> m= line).
>>>>> lines are NOT possible. This is because, per my understanding, unlike TCP/native-SCTP used under non- ICE 
>>>>> environments, in ICE-environments the TCP/UDP port specified is used both as client and server port for DTLS.
>>>>
>>>> Even with BUNDLE, you would have to use the same m= line port value from the beginning, which is not allowed. So, you basically would have to add the additional >>>> SCTPoDTLS m= lines once the usage of BUNDLE has been negotiated.
>>>

bundle-only is used to ensure that an m- line is only accepted by the answerer if accepted into a BUNDLE group. Currently nothing prevents the offerer to, in a later offer, move that m- line out of that BUNDLE group.

Regards,

Christer

---

From: Paul Kyzivat <[email-masked]>
Date: Tue, 02 Dec 2014 12:13:54 -0500

> bundle-only is used to ensure that an m- line is only accepted by the answerer if accepted into a BUNDLE group. Currently nothing prevents the offerer to, in a later offer, move that m- line out of…

And that is no different here. If you bundled multiple SCTP 
associations, each on a separate SCTP port, then you can take them out 
of the bundle, each on its own addr/udp-port.

If you want to take more than one out, you can put each on its own udp 
port, or you could group them together in a second (new) bundle, again 
using bundle-only for all but the first in that bundle.

This is very similar to the situation with RTP, except that you must use 
bundle-only when there is more than one in a bundle.

	Thanks,
	Paul