Re: [MMUSIC] Bundle rejection oddities

Eric Rescorla <ekr@rtfm.com> Sat, 05 March 2016 17:20 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (ietfa.amsl.com [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id BF6DD1B3488 for <mmusic@ietfa.amsl.com>; Sat, 5 Mar 2016 09:20:49 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -0.077
X-Spam-Level:
X-Spam-Status: No, score=-0.077 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, J_CHICKENPOX_15=0.6, J_CHICKENPOX_19=0.6] autolearn=no
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Mjuf_p7uiEC5 for <mmusic@ietfa.amsl.com>; Sat, 5 Mar 2016 09:20:46 -0800 (PST)
Received: from mail-yk0-x22a.google.com (mail-yk0-x22a.google.com [IPv6:2607:f8b0:4002:c07::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 9C2E31B3485 for <mmusic@ietf.org>; Sat, 5 Mar 2016 09:20:46 -0800 (PST)
Received: by mail-yk0-x22a.google.com with SMTP id n145so7573515ykb.1 for <mmusic@ietf.org>; Sat, 05 Mar 2016 09:20:46 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc; bh=sSyvPvE4Qs4n85SHbwdcLmY2x4Q8QTzwRulaWsx9xnk=; b=K5DhlNaXoXjBXo6+Pg/vdfh60cLl5Z1q0nyr4Wl2/uRDwlE9snO0QpIIvFNA39dRtY V21HPqPNDZ5ZKV8dZ6ReRZIuuRjboc5L+rWLN7CyveyuIsdtZYmIJTrF7OhZywQ/54Gi 1cMtG2T2dND7QYau+cZYrHJ1fPF7yXtTmlfy00QNXNhHJqZMvMPMZXIlSymIadPfdG4k PYFUwTZmFKRUGXRaXUFOfx6w5UAOp3uUAhDx6/o3cKMAUBf/JRtWSsSIbtDQCSerigHU UzIUkfLHFcTKP60sERWUuZC418MUhxxK7BPOhrcQZfFeuC6PapdtUgv86+8EqEmP21KZ ceSQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:mime-version:in-reply-to:references:from:date :message-id:subject:to:cc; bh=sSyvPvE4Qs4n85SHbwdcLmY2x4Q8QTzwRulaWsx9xnk=; b=a9YBk5yKGBPlDlAzMeN6XwzfQH0Ugfny/b49MwxbI8CXU1Xx0hYsT+yDdt3Q05P91e H8ZxopMTbIMHOJyVnLLLEfFUvj6aOtwK1yI9EGt8pcCeaCp3NsNzcEtoTUHiFUFyfk1Y SERl5pGf+QngWh4V7F8HnmPjO90t6yOYWyBw6AklLLR9wnNKsjpIKBYQNibTN47CigSt nvDoEwkD/R/PQ8UI2XO5qVhSiED9OJTRkNkNotjgsFLn7vuhvAhpAPtVx7MMOziG8E7g DT36s8ldmZAx8IbJD4f1JBFQZhHUzse8zyU1mhSOuLNkuDfuuvqwnpts0GJINCkb1iC7 OwaQ==
X-Gm-Message-State: AD7BkJKTu62PpyXi1B5YcpRlHiG9kRIKjX36ietk17SLHGlc+kWcbYx9JFeidaIcpkTDty61lwpn5fBjJAcarA==
X-Received: by 10.37.231.130 with SMTP id e124mr7547493ybh.146.1457198445845; Sat, 05 Mar 2016 09:20:45 -0800 (PST)
MIME-Version: 1.0
Received: by 10.13.249.5 with HTTP; Sat, 5 Mar 2016 09:20:06 -0800 (PST)
In-Reply-To: <7594FB04B1934943A5C02806D1A2204B37E5C221@ESESSMB209.ericsson.se>
References: <CABcZeBO4FEACT851653xA5=onorvPe30Hoc6Lp79KRftRtoZGA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B37E591A9@ESESSMB209.ericsson.se> <7594FB04B1934943A5C02806D1A2204B37E59A2E@ESESSMB209.ericsson.se> <CABcZeBMfvvhQmF4+G+9fXfDHq50caBqP3wG=nVNVTD-m0=4iew@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B37E5BC45@ESESSMB209.ericsson.se> <CABcZeBMZ2Z9Rgzx_4FWKyEE51SC=DXC18Kwzqah6L1xxX311BQ@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B37E5C221@ESESSMB209.ericsson.se>
From: Eric Rescorla <ekr@rtfm.com>
Date: Sat, 05 Mar 2016 09:20:06 -0800
Message-ID: <CABcZeBOe8SPa0XBuaah+dFWGWx318xmLKosA4SsPjTZ_iYuLbg@mail.gmail.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Content-Type: multipart/alternative; boundary="94eb2c0b12eebb918f052d5073db"
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/klImlSIctVM8AD5-ioK65Clfjro>
Cc: mmusic WG <mmusic@ietf.org>
Subject: Re: [MMUSIC] Bundle rejection oddities
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: Multiparty Multimedia Session Control Working Group <mmusic.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/mmusic>, <mailto:mmusic-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/mmusic/>
List-Post: <mailto:mmusic@ietf.org>
List-Help: <mailto:mmusic-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmusic>, <mailto:mmusic-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 05 Mar 2016 17:20:49 -0000

On Fri, Mar 4, 2016 at 8:46 AM, Christer Holmberg <
christer.holmberg@ericsson.com> wrote:

> Hi,
>
> >>>>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'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


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



> - I do use "corresponding" when I talk about m- lines in offers and
> answers. If we use it "corresponding" also for offers and answers we would
> end up with text like "the corresponding m- line in the corresponding
> answer".
>

Again, the problem is "associated". Feel free to choose another term than
corresponding.

-Ekr





> Regards,
>
> Christer
>
>
>
> From: mmusic [mailto:mmusic-bounces@ietf.org] 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.
>
> Regards,
>
> Christer
>
>
> 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
> this:
>
>    a=group:BUNDLE alpha bravo charlie
>    m=audio 1111
>    a=mid:alpha
>    a=candidate
>
>    m=video 2222
>    a=mid:bravo
>    a=candidate
>
>    m=video 3333
>    a=mid:charlie
>    a=candidate
>
> 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
>    a=mid:alpha
>
>    m=video 4444
>    a=mid:bravo
>    a=candidate
>
>    m=video 4444
>    a=mid:charlie
>
>
> 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
>    a=mid:alpha
>
>    m=video 5555
>    a=mid:bravo
>    a=candidate
>
>    m=video 5555
>    a=mid:charlie
>
>
> 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
>    a=mid:alpha
>
>    m=video 0
>    a=mid:bravo
>
>    m=video 4444
>    a=mid:charlie
>    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.
>
> -Ekr
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>