Subject: [MMUSIC] A corner-case: Rejection/change of bundle tag, bundle-only, and trickle ICE

From: Byron Campen <[email-masked]>
Date: Fri, 24 Feb 2017 11:16:59 -0600

Let's say we have an offer like the following (very pruned down, 
for clarity). Note that it is using trickle ICE, and no candidates have 
been gathered yet.

a=group:BUNDLE 1 2 3

m=audio 9 ...

a=mid:1

...

m=video 9 ...

a=mid:2

...

m=application 0 ...

a=mid:3

a=bundle-only

...

I see a couple of questions here about what transport (if any) mid 3 uses:

* What happens if the answerer rejects mid 1? (2 seems reasonable?)

* What happens if the answerer moves mid 1 out of the bundle? (2 seems 
reasonable?)

* What happens if the answerer rejects both mid 1 and 2? (Uh oh...)

* What happens for combinations of rejecting mids, and moving them out 
of the bundle? (Oh fun...)

     From the signaling alone, it is not always clear to the offerer 
which mid the answerer has chosen to use for transport stuff, so saying 
the answerer chooses arbitrarily doesn't quite solve the problem. I 
suppose the offerer could wait for the first trickle candidate, and use 
the mid specified there (provided it is valid, which I'm not sure has 
been adequately specified...).

Best regards,

Byron Campen

---

From: Taylor Brandstetter <[email-masked]>
Date: Fri, 24 Feb 2017 11:07:58 -0800

> What happens if the answerer rejects mid 1? (2 seems reasonable?)

As currently specified: 2

> What happens if the answerer moves mid 1 out of the bundle? (2 seems
reasonable?)

As currently specified: 2

> What happens if the answerer rejects both mid 1 and 2? (Uh oh...)

As currently specified: This isn't supported.

I discussed these sorts of issues with Christer here:
https://github.com/cdh4u/draft-sdp-bundle/issues/21
And here: https://github.com/cdh4u/draft-sdp-bundle/issues/22

And the conclusion so far is, "you should make sure the m= section things
are bundled on isn't one that's likely to be rejected".

> What happens for combinations of rejecting mids, and moving them out of
the bundle? (Oh fun...)

Whichever one ends up as the "answerer BUNDLE tag", aka the first tag in
"a=group:BUNDLE" in the answer, ends up being used. And this can't be the
mid of something that was "a=bundle-only" in the offer (see above).

On Fri, Feb 24, 2017 at 9:16 AM, Byron Campen <[email-masked]> wrote:

>     Let's say we have an offer like the following (very pruned down, for
> clarity). Note that it is using trickle ICE, and no candidates have been
> gathered yet.
>
> a=group:BUNDLE 1 2 3
>
> m=audio 9 ...
>
> a=mid:1
>
> ...
>
> m=video 9 ...
>
> a=mid:2
>
> ...
>
> m=application 0 ...
>
> a=mid:3
>
> a=bundle-only
>
> ...
>
>
> * What happens for combinations of rejecting mids, and moving them out of
> the bundle? (Oh fun...)
>
>     From the signaling alone, it is not always clear to the offerer which
> mid the answerer has chosen to use for transport stuff, so saying the
> answerer chooses arbitrarily doesn't quite solve the problem. I suppose the
> offerer could wait for the first trickle candidate, and use the mid
> specified there (provided it is valid, which I'm not sure has been
> adequately specified...).
>
> Best regards,
>
> Byron Campen
>
> _______________________________________________
> mmusic mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/mmusic
>

---

From: Byron Campen <[email-masked]>
Date: Fri, 24 Feb 2017 13:27:03 -0600

On 2/24/17 1:07 PM, Taylor Brandstetter wrote:
>
> And the conclusion so far is, "you should make sure the m= section 
> things are bundled on isn't one that's likely to be rejected".

     Oof. That's a pretty bad gotcha...

Best regards,
Byron Campen

---

From: Christer Holmberg <[email-masked]>
Date: Mon, 27 Feb 2017 12:20:25 +0000

Hi,

>> And the conclusion so far is, "you should make sure the m= section things are bundled on isn't one that's likely to be rejected".
>

Just to clarify: this is a design design decision that was made when the bundle-only concept was introduced.

Regards,

Christer