Subject: [MMUSIC] BUNDLE TEXT: ICE Procedures (18.6)

From: Christer Holmberg <[email-masked]>
Date: Tue, 18 Jun 2013 06:56:38 +0000

Hi,

I did some updates (mostly editorial) to the BUNDLE ICE Procedures section.

So, when reviewing BUNDLE-04, for the ICE parts, please use the text below as base :)

Regards,

Christer

----------------------------------

8.  Usage With ICE

8.1.  General

   This section describes how to use the BUNDLE mechanism together with
   the Interactive Connectivity Establishment (ICE) mechanism [RFC5245].

8.2.  ICE Candidates

8.2.1.  Offerer Procedures

   When an ICE-enabled Offerer generates an SDP Offer, with a BUNDLE
   group, the Offerer MUST assign ICE candidates [RFC5245] to each "m="
   line in the BUNDLE group.

   If the Offerer assigns unique addresses to each "m=" line in the
   BUNDLE group, the Offerer MUST assign assign unique ICE candidate
   values to each "m=" line in the BUNDLE group.  The Offerer MUST NOT
   assign the same ICE candidate values to "m=" lines outside the BUNDLE
   group, or to "m=" lines in another BUNDLE group.

   If the Offerer assigns the BUNDLE address to each "m=" line in the
   BUNDLE group, the Offerer MUST assign assign identical ICE candidate
   values to each "m=" line in the BUNDLE group.  The Offerer MUST NOT
   assign the same ICE candidate values to "m=" lines outside the BUNDLE
   group, or to "m=" lines in another BUNDLE group.

8.2.2.  Answerer Procedures

   When an ICE-enabled Answerer generates an SDP Answer, with a BUNDLE
   group, the Answerer MUST assign ICE candidates to each "m=" line in
   the BUNDLE group.  The Answerer MUST assign identical ICE candidate
   values to each "m=" line in the BUNDLE group.  The Answerer MUST NOT
   assign the same ICE candidate values to "m=" lines outside the BUNDLE
   group, or to "m=" lines in another BUNDLE group.

8.3.  ICE Connectivity Checks

   Once a BUNDLE address has been selected for the Offerer and the
   Answerer, it is RECOMMENDED to perform ICE connectivity checks and
   keep-alives [RFC5245] for the whole BUNDLE group, rather than for
   each individual "m=" line in the BUNDLE group.

---

From: Harald Alvestrand <[email-masked]>
Date: Tue, 18 Jun 2013 10:52:03 +0200

> So, when reviewing BUNDLE-04, for the ICE parts, please use the text 
.... snipped stuff I have no issues with ....

>    each individual "m=" line in the BUNDLE group.

I have a bit of trouble parsing this last paragraph.

There are two possibilities:

- The offer/answer is incomplete, so we don't know whether BUNDLE will 
be turned on or not. (This can happen only in updates - you can't do ICE 
checks before choosing the BUNDLE address in the initial exchange, since 
you don't know the remote candidates)

- The offer/answer is complete, and both parties know the BUNDLE address

In the last state, it's impossible to do anything BUT check connectivity 
for the whole BUNDLE group; there is nothing else to check for. So 
RECOMMENDED doesn't make sense; it's not even a MUST, it's just the way 
things work.

In the first state, I think it should be RECOMMENDED to delay checking 
until you have completed the exchange, so that you know what the BUNDLE 
address is. But that's not what the words seem to say.

Could you clarify?

            Harald

---

From: Christer Holmberg <[email-masked]>
Date: Tue, 18 Jun 2013 10:17:43 +0000

Hi Harald,

> - The offer/answer is incomplete, so we don't know whether BUNDLE will be turned on or not. (This can happen only in updates - you can't 
> do ICE checks before choosing the BUNDLE address in the initial exchange, since you don't know the remote candidates)
>
> In the last state, it's impossible to do anything BUT check connectivity for the whole BUNDLE group; there is nothing else to check for. So RECOMMENDED doesn't make sense; it's not even a MUST, it's just the way things work.

I have no problem with adding MUST.

> In the first state, I think it should be RECOMMENDED to delay checking until you have completed the exchange, so that you know what the BUNDLE address is. But that's not what the words seem to say.
>
> Could you clarify?

Isn't that covered with the "Once a BUNDLE address has been selected"? Or, should I say "negotiated" instead?

Or, did I misunderstand your comment?

Regards,

Christer

---

From: Harald Alvestrand <[email-masked]>
Date: Tue, 18 Jun 2013 13:02:29 +0200

> I have no problem with adding MUST.

I'd prefer that. Or even change "it is RECOMMENDED to perform ICE 
connectivity checks" to "ICE connectivity checks are performed". If 
there's only one possible way to do it, it seems superfluous to use 
words that look like there's an alternative.

> Isn't that covered with the "Once a BUNDLE address has been selected"? Or, should I say "negotiated" instead?

Yes, on second reading, that's implied - you talk about my second state, 
not the first one.