Re: [MMUSIC] Bundle rejection oddities

Christer Holmberg <> Sat, 05 March 2016 18:59 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id D15691B35BB for <>; Sat, 5 Mar 2016 10:59:40 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -3
X-Spam-Status: No, score=-3 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, J_CHICKENPOX_15=0.6, J_CHICKENPOX_19=0.6, RCVD_IN_DNSWL_MED=-2.3] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id puuLmvFrmkpM for <>; Sat, 5 Mar 2016 10:59:38 -0800 (PST)
Received: from ( []) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id C3DDA1B35B9 for <>; Sat, 5 Mar 2016 10:59:37 -0800 (PST)
X-AuditID: c1b4fb2d-f79836d000006396-99-56db2c975ab5
Received: from (Unknown_Domain []) by (Symantec Mail Security) with SMTP id DB.30.25494.79C2BD65; Sat, 5 Mar 2016 19:59:36 +0100 (CET)
Received: from ([]) by ([]) with mapi id 14.03.0248.002; Sat, 5 Mar 2016 19:59:35 +0100
From: Christer Holmberg <>
To: Eric Rescorla <>
Thread-Topic: [MMUSIC] Bundle rejection oddities
Thread-Index: AQHRdbAze3OVqIuh4UG8lpLJiZIPzJ9Ip1fEgAA8meCAADmsAIAAGfeA///0wACAAEjsQIABlSIAgAAnxtA=
Date: Sat, 5 Mar 2016 18:59:35 +0000
Message-ID: <>
References: <> <> <> <> <> <> <> <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
x-originating-ip: []
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpnkeLIzCtJLcpLzFFi42KZGbHdWHeGzu0wgz0/WSxWvD7HbjF1+WMW ByaPJUt+MnlMftzGHMAUxWWTkpqTWZZapG+XwJXxqOU+W8GnhIqfG7uYGxi3xHUxcnJICJhI vF+0gw3CFpO4cG89kM3FISRwmFHi5Pxz7BDOYkaJ38fnsHYxcnCwCVhIdP/TBmkQEVCQ+PXn BAuIzSwgL3FhyRomEFtYQF/i3ZRH7BA1BhITLr5lhbCTJA73/wCLswioSHT1dzGD2LwCvhJt tx8xQuzayiLx49AfsEGcAoESL3svgjUwAl33/RTEAmYBcYlbT+YzQVwtILFkz3lmCFtU4uXj f6wQtpJE45InYDczC2hKrN+lD9GqKDGl+yE7xF5BiZMzn7BMYBSbhWTqLISOWUg6ZiHpWMDI sopRtDi1uDg33chYL7UoM7m4OD9PLy+1ZBMjMHoObvmtu4Nx9WvHQ4wCHIxKPLwFwrfChFgT y4orcw8xSnAwK4nw/tK6HSbEm5JYWZValB9fVJqTWnyIUZqDRUmcl+3T5TAhgfTEktTs1NSC 1CKYLBMHp1QD43yOP2wSiuXnT+l3LrLyucgqu+ZPzvwZqXuXqT9RMvly0aC815Ux5z936cXW yptJumf/LDaPdVHmM5Q0fv9ZNs8yuvv1Td90+XWXKqzN5St38IWv3KRh89Hw6tErWSEsgYpL btzyOLL1qNXdU5cLwo1TREV+r2a7d8PvsMsvzmRzu21uyXyySizFGYmGWsxFxYkAY8XPLZoC AAA=
Archived-At: <>
Cc: mmusic WG <>
Subject: Re: [MMUSIC] Bundle rejection oddities
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Sat, 05 Mar 2016 18:59:41 -0000


>>>>>>What about adding the following note to section 11.1:
>>>>>>   “NOTE: The ICE-related media-level SDP attributes might end up being associated with
>>>>>>   with an "m=" line in the answer that does not correspond to the "m=" line
>>>>>>   to which the ICE-related SDP attributes were associated in the associated offer.”
>>>>>I think the key point here is not that but that the attributes may be attached in the
>>>>>offer to an m= line which ends up being defunct.
>>>> That could e.g. be covered by adding the following sentence to the note:
>>>> "This could happen e.g. if the "m=" line in the offer is rejected and moved out
>>>>of the bundle group by the answerer."
>>> Well, I think the key point here is that you need to take the attributes out of the
>>> defunct line, which neither this text nor the previous text really captures.
>>The 3rd bullet in the bullet list does say:
>>      "the answerer only associates ICE-related media-level SDP attributes with the "m=" line associated with the
>>      answerer BUNDLE-tag."
>>Perhaps we could add to that statement:
>>"The answerer MUST NOT associated ICE-related media-level SDP attributes with any other "m=" lines within the bundle group."
>>(And a similar statement to the bullet talking about the offer)
>No I don't think this is getting at the right point, which is about the mismatch.
>I would add after the third bullet:
>   Note that because the ICE parameters apply to the bundle group rather than
>   to a given "m=" line, but only appear within the "m=" section associated with
>   the sender's BUNDLE-tag,, it is possible for the offerer's and answerer's
>   ICE parameters to appear within "m=" sections that do not correspond to
>   each other, for instance if the answerer rejects the "m=" section associated
>   with the offeror's BUNDLE-tag. It is the responsibility of both sides to match
>   up the ICE parameters appropriately, regardless of which "m=" section of
>   the bundle group they appear in.

I can work with that.

Now, IF we move ahead with Peter's suggestion (feel free to comment on that) to apply the same rule also for other attributes with identical values, the text would be put in the general O/A section.

>>>>>I'd also like to observe that this paragraph exemplifies an infelicity in the current
>>>>>draft, which is the overloading of the term "associated", which appears three times
>>>>>in this paragraph alone with two different meanings. I think it would be clearer if
>>>>>instead different terms were used. I suggest "member of" for being in a bundle group,
>>>>>"appears in" or "attached to" for being in a given m= section, and "corresponding"
>>>>>for "the SDP offer/answer that this answer/offer" goes with
>>>> I agree that "associated" is used in many places. But, I have had to change the terminology so many
>>>> times already, because every time someone has reviewed the document he/she has had ideas on how to modify the terminology.
>>>> The current terminology is what we have been able to agree upon, so I do not want to change it again. I really think it's time to ship BUNDLE.
>>> I'm happy to have different terminology but not to have the same term used for multiple
>>> purposes, which is the current situation. I'm sympathetic to editor fatigue, but I think
>>> having the document be readable is more important.
>>Just a few comments on your suggestions:
> - You suggest saying "member of bundle group". But, I don't think I say "associated with bundle group", but "within bundle 
> group". At least that is my intention, so please let me know if you've found > some places where that's not the case.
> S1.
>   The offerer and answerer [RFC3264] use the BUNDLE extension to
>   negotiate the BUNDLE addresses, one for the offerer (offerer BUNDLE
>   address) and one for the answerer (answerer BUNDLE address), to be
>   used for receiving the bundled media associated with a BUNDLE group.
> S 5.
>   All media associated with a BUNDLE group share a single 5-tuple, i.e.
>   in addition to using a single address:port combination all bundled
>   media MUST be transported using the same transport-layer protocol

In those cases the text talks about the MEDIA, not SDP parameters. I am happy to change it to something else, but I am not sure whether we could say "media attached to the bundle group", "media that appears in the bundle group" or "media that is a member of the bundle group"?

>>- You suggest saying "attribute appearing in m- line". Such terminology has been used in the past, and I was asked to change it, because attributes are not part of m- lines.
>I would recommend the JSEP terminology of "appearing within an m= section"
>In any case, the problem is the use of "associated" here. Feel free to use
>another term that's not "associated"

"m= line" is used throughout the document, so I don't want to change that to "m= section", because I don't think it can be done with a simple search/replace.

At one point I think I suggested "media description", which would include both the "m=" line and the attributes. Then we could have said "within the media description", "add to the media description", etc. But, people weren't happy with that either.

Whatever change I do, it has to be something that EVERYONE agrees with. Otherwise, when X reviews the document, I may end up having to change it all again...

I know that at least Paul and Flemming have had comments on the terminology, so I'd like to get some input from them.



From: mmusic [] On Behalf Of Christer Holmberg
Sent: 4. maaliskuuta 2016 5:53
To: Eric Rescorla; mmusic WG
Subject: Re: [MMUSIC] Bundle rejection oddities
Hi Ekr,

I think I presented exactly the same use-case when it was first suggested to not associate shared candidates with each bundled m- line.

I'll look if I can add some additional text somewhere, to point out that the candidates can be associated with different m- lines in offers and answers, e.g. due to the use-case you described.



Sent from my Windows Phone
From: Eric Rescorla
Sent: ‎04/‎03/‎2016 02:53
To: mmusic WG
Subject: [MMUSIC] Bundle rejection oddities
Hi folks,
I've been working through the bundle draft and I've come across a sort
of surprising consequence that I wanted to share with the group. Sorry
for the extended example, but I think it's hard to get without that.
Consider the case where an offerer has three m= lines, alpha, bravo,
and charlie. This creates an initial offer that's (schematically) like
   a=group:BUNDLE alpha bravo charlie
   m=audio 1111
   m=video 2222
   m=video 3333
Per 8.2, and because this isn't bundle-only, each m= line has a unique
address and a set of candidates (I'm ignoring the ufrag and ice-pwd
for now).
Assume that the answerer rejects the first m= line, so per 8.3, it
pulls alpha out of the bundle group and sets is port number to 0.  Per
11.2, it only associates candidates with the answerer bundle tag,
which is bravo:
   a=group:BUNDLE bravo charlie
   m=audio 0
   m=video 4444
   m=video 4444
So far so good. Now consider what happens if the offerer does an
ICE restart and (for instance) changes some property about the
second m= line. Per S 11.1 bullet 1, it only uses a shared address
for the second two m= lines and only attaches a candidate to the
second one (bravo). I.e.,
   a=group:BUNDLE bravo charlie
   m=audio 0
   m=video 5555
   m=video 5555
If the answerer decides to reject bravo (leaving only charlie),
it now sets its port to 0 and pulls it out of the bundle group,
giving us:
   a=group:BUNDLE charlie
   m=audio 0
   m=video 0
   m=video 4444
   a=candidate     <-- See here
Note that the candidate here is on the third m= line but it needs to
be paired with the candidates on the second (rejected) m= line from
the offerer. I'm not saying that this is fatal: the logical
interpretation is that the candidates (and other ICE parameters) are
associated with the whole bundle group (and implicitly duplicated) and
just appear with one m= line. However, it is a bit odd and probably
should be called out in the spec lest people get confused.