Re: [MMUSIC] Questions about ICE candidates with BUNDLE

Peter Thatcher <pthatcher@google.com> Fri, 13 November 2015 22:53 UTC

Return-Path: <pthatcher@google.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 126E11B33EF for <mmusic@ietfa.amsl.com>; Fri, 13 Nov 2015 14:53:15 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.388
X-Spam-Level:
X-Spam-Status: No, score=-1.388 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FM_FORGED_GMAIL=0.622, HTML_MESSAGE=0.001, SPF_PASS=-0.001, T_RP_MATCHES_RCVD=-0.01] 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 UOCPxb9f9EeF for <mmusic@ietfa.amsl.com>; Fri, 13 Nov 2015 14:53:12 -0800 (PST)
Received: from mail-oi0-x230.google.com (mail-oi0-x230.google.com [IPv6:2607:f8b0:4003:c06::230]) (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 9AEB91B33EB for <mmusic@ietf.org>; Fri, 13 Nov 2015 14:53:12 -0800 (PST)
Received: by oixx65 with SMTP id x65so46216139oix.0 for <mmusic@ietf.org>; Fri, 13 Nov 2015 14:53:12 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type; bh=gnZVMxuf0iUqmkhz8j3TdSgR/ztCQ+VGDjdFICwlaIU=; b=G0q/DeZMqZvHP3M33hHKoUTTwgrLLKD5olScNcnxr8on9F+MjE603bacjoOAIBkaBj Ck46N6SYlxqFL43xdD2x4Iy1vfdkOLvJpITz0gflovj8AfnvZw+e+o0mQ+P/aDZJN8n8 fmuY3dtqM5NbpDBrXfHa9Fo6V49/KgJlWjNNQTej1A5NBerPUun4n9NUWy02X2ITkMxG rZfW0ZcAPio+pLXKt2iCqTmdME9Eq0FlnEFoECW9MTdJBtmGBFhrrjyty8c8ilMNT0AK Pl+06ZbWpHenHDaIlQcob+sh46izQo01fuTFjMDJVdDNnLMuGlon4YpoSbUgBi26lbFk O1UQ==
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:content-type; bh=gnZVMxuf0iUqmkhz8j3TdSgR/ztCQ+VGDjdFICwlaIU=; b=mbcbMHos7JVROD7df7qjA3ODl2BJVTd+v/OdyqUjN9hDFeQDo6Vqn4ddrY3A+Dz8Am uSYRoH4/gWJy8Ttq549GfDVQ661j03+Bzzd3P58Q09ZnhZODgRlwYxHgKNqcEOfpcL0F OE1BVln5PnzAxf1bXZG1OhwyZW0BSFvjYlzNMGEhyHuFuSJT8o98D+ak2S2lehx4owPo urB5NbxBi3HAMC11fx21NTQ8smRr/U6hTrt5mnVRCjb7V9yPRJf/1hSIC6HQgOvqH/6G tu6AhBV6i0L/+3KHQsX9ZOgKA0yTuqDMss7GKg6M4EYQ5RMqdwIKjv8EbKKzd3XFWcpw 87UA==
X-Gm-Message-State: ALoCoQnUelAnTYALmdI7nnRODKM3dnx3MuICO6DGFSn3wYYXBXGTSZW/JwGZdrvVB2RTXxGWZavg
X-Received: by 10.202.104.211 with SMTP id o80mr13678023oik.126.1447455191917; Fri, 13 Nov 2015 14:53:11 -0800 (PST)
MIME-Version: 1.0
Received: by 10.202.108.9 with HTTP; Fri, 13 Nov 2015 14:52:32 -0800 (PST)
In-Reply-To: <7594FB04B1934943A5C02806D1A2204B37BEF98E@ESESSMB209.ericsson.se>
References: <CAJrXDUHutBgaPOV73-CyD_Knz+G5RFE0VX4s3+GqGV8K=B1LNA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B37BED248@ESESSMB209.ericsson.se> <CAJrXDUE0zutaCci2pojS6+=015DKqd7ocR5a9AWLoTC6jV+x6w@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B37BEF98E@ESESSMB209.ericsson.se>
From: Peter Thatcher <pthatcher@google.com>
Date: Fri, 13 Nov 2015 14:52:32 -0800
Message-ID: <CAJrXDUFZUkogpX9Jnz-y1BxSbE0SnQE3CAg-EXy12-k9tFzjuA@mail.gmail.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Content-Type: multipart/alternative; boundary="001a114101488b2eb4052473ec2f"
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/zRcw38FlwN10U9sOtfaGYyNrtTE>
Cc: "mmusic@ietf.org" <mmusic@ietf.org>
Subject: Re: [MMUSIC] Questions about ICE candidates with BUNDLE
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: Fri, 13 Nov 2015 22:53:15 -0000

On Fri, Nov 13, 2015 at 2:14 PM, Christer Holmberg <
christer.holmberg@ericsson.com> wrote:

> Hi,
>
> >>>1.  It says "answerer MUST assign shared ICE candidates to each bundled
> 'm=' line ... in the answer".  What is
> >>>the reasoning for duplicating candidates in this way in the answer?
> Clearly at this point, the offerer understands
> >>>BUNDLE and BUNDLE is negotiated, and the offerer (when using
> bundle-only) doesn't include duplicate candidates,
> >>>so what's value in duplicating the candidates in the answer?  If there
> isn't a good reason, I'd prefer to not duplicate
> >>>them, even if that means using 'a=bundle-only' in the answer (which is
> currently unspecified)
> >>
> >>At an early stage, we made a design decision that we’ll explicitly
> include all information in each m- line (like we do for non-BUNDLE), even
> if that means duplicating information.
> >>
> >>Otherwise we have to define procedures what happens if the m- line, in
> which the candidates were included, is e.g. later removed
> >>from the BUNDLE group. Then the candidates have to be assigned to some
> other m- line within the BUNDLE group, to make sure
> >>they are “seen” in the current SDP associated with the BUNDLE group. Etc.
> >
> ​> But that's not true for offers.  Offers can put "a=bundle-only" in the
> m-line and then leave out ICE candidates.  So why can't answers do that
> also?
>
> The reason you don't need to include candidates in a bundle-only m- line
> is so that you don't need to reserve unique candidates for the m- line (as
> the m- line is not going to be used unless it's placed in a bundle group,
> and hence will share the candidates associated with the bundle group).


​In the case of an m-line in an answer that is an answer to a bundle-only
m-line in an offer, the same logic applies:  the m-line is not going to be
used unless it's place in a bundle group, so you don't need to reserve
unique candidates, so you don't need to include any candidates.



> That is not an issue in the answer, as the same candidates can be assigned
> to each m- line in the bundle group.
>
>
​I thinking mandating the candidates be duplicated in the answer has three
issues:

1.  It conflicts with trickle ICE.
2.  It's slightly more complex to implement (we have to go add extra logic
to go duplicate these things)
3.  It's a complete waste of time/space/effort.  The recipient of these
duplicate candidates is never going to anything with them.


> Also keep in mind that, when a subsequent offer is sent, the bundle-only
> attribute is no longer used.


​Can you point out where in the draft it says that?  I tried finding it and
I had a difficult time seeing where bundle-only wasn't allowed in a
reoffer.​
​


> Would you then also in the subsequent offer only assign possible
> candidates to only one m- line within the bundle group?
>

​That sounds logical to me.  They aren't included in the first offer.  Why
add them to subsequent offers?  It's inconsistent, and a waste.



>
> >>> 2.  If the answerer does not include any candidates in the answer and
> instead trickles them later, should it trickle them
> >>> N times (once for each m-line in the BUNDLE group) or >1 time?  1 time
> seems much more reasonable than N times, but
> >>> if we duplicate candidates in the answer, but not duplicate them while
> trickling, that's a bit inconsistent.  Yet >another reason to not duplicate
> in the answer :).
> >>
> >> Assuming you use SDP to signal the trickled candidates, it’s true that
> you would duplicate them,
> >>
> >​What's the rationale for that?  These duplicates provide no value, and
> in the case of many m-lines (such as a conferencing
> >system with many participants), we could be talking about 30x the number
> of candidates being signaled.
>
> I hear what you are saying.
>
> But, if we would do a change, we also need to look at the full picture,
> and consider subsequent offers etc.
>

​I think a simple rule would be "if you know it's going to be bundled onto
another m-line, don't include candidates".  That would go for bundle-only
m-lines in an offer, bundled m-lines in an answer, and bundled m-lines in a
re-offer.​
​



>
> > but you would still indicate each in a single SDP message sent towards
> the offerer.
> >
> > The default behavior of trickle ICE webrtc is for the "onicecandidate"
> ​> event ​to have one candidate in each event, which means the simple
> WebRTC application will be signalling
> ​> each candidates individually.  For a single SDP message to contain many
> candidates, the application would
> > have to implement some form of candidate batching.  But a smart
> application wouldn't bother doing that.
> > It would just de-duplicate the candidates instead.  Which means it would
> just be counteracting this duplication.
>
> ​> This seems like just a silly waste to me, especially since it's
> apparently only required on the answerer side, and not on the offerer side.​
>
> Why don't you think it's needed on the offerer side? Are you saying that,
> in subsequent offers, each m- line would contain duplicated candidates?
>
>
​I was referring only to initial offers, where they aren't duplicated.  But
as I mentioned, I think bundle-only m-lines should contain in subsequent
offers should contain the same candidates as the initial offer (+ trickled
candidates).   There's no reason to duplicate candidates in a subsequent
offer.



> Regards,
>
> Christer
>
>