Re: [MMUSIC] Questions about ICE candidates with BUNDLE

Christer Holmberg <christer.holmberg@ericsson.com> Fri, 13 November 2015 22:14 UTC

Return-Path: <christer.holmberg@ericsson.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 212241A1BE3 for <mmusic@ietfa.amsl.com>; Fri, 13 Nov 2015 14:14:38 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.201
X-Spam-Level:
X-Spam-Status: No, score=-4.201 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001] autolearn=ham
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 rzJhXXfi5ycC for <mmusic@ietfa.amsl.com>; Fri, 13 Nov 2015 14:14:36 -0800 (PST)
Received: from sesbmg22.ericsson.net (sesbmg22.ericsson.net [193.180.251.48]) (using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id EBB921A1B98 for <mmusic@ietf.org>; Fri, 13 Nov 2015 14:14:35 -0800 (PST)
X-AuditID: c1b4fb30-f79626d000006adf-bc-564660c9ba79
Received: from ESESSHC020.ericsson.se (Unknown_Domain [153.88.253.125]) by sesbmg22.ericsson.net (Symantec Mail Security) with SMTP id D8.63.27359.9C066465; Fri, 13 Nov 2015 23:14:33 +0100 (CET)
Received: from ESESSMB209.ericsson.se ([169.254.9.202]) by ESESSHC020.ericsson.se ([153.88.183.78]) with mapi id 14.03.0248.002; Fri, 13 Nov 2015 23:14:33 +0100
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Peter Thatcher <pthatcher@google.com>
Thread-Topic: [MMUSIC] Questions about ICE candidates with BUNDLE
Thread-Index: AQHRHYnoiYnnoBeSf02zTdZqfDK2qp6Y3iNggABJvwCAAPE6oA==
Date: Fri, 13 Nov 2015 22:14:33 +0000
Message-ID: <7594FB04B1934943A5C02806D1A2204B37BEF98E@ESESSMB209.ericsson.se>
References: <CAJrXDUHutBgaPOV73-CyD_Knz+G5RFE0VX4s3+GqGV8K=B1LNA@mail.gmail.com> <7594FB04B1934943A5C02806D1A2204B37BED248@ESESSMB209.ericsson.se> <CAJrXDUE0zutaCci2pojS6+=015DKqd7ocR5a9AWLoTC6jV+x6w@mail.gmail.com>
In-Reply-To: <CAJrXDUE0zutaCci2pojS6+=015DKqd7ocR5a9AWLoTC6jV+x6w@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.149]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmplkeLIzCtJLcpLzFFi42KZGfG3VvdkgluYwcQLBhZTlz9msbi2/DWr A5PHgk2lHkuW/GQKYIrisklJzcksSy3St0vgyrh99Q97wT6NisZ1/5gbGHeodzFyckgImEhM +z6PCcIWk7hwbz1bFyMXh5DAEUaJjulr2SGcJYwSfQuPA2U4ONgELCS6/2mDNIgIaEpMntzM ChJmFlCXuLo4CCQsLOAgsefJVnaIEkeJOSvOsUHYThIfr18Fi7MIqEqcnXudEcTmFfCVuND7 iBFi1W1GiZPTO1hBEpwCgRKfzzeCFTECHff91BqwQ5kFxCVuPZkPdbSAxJI955khbFGJl4// sULYShJrD29ngbhNU2L9Ln2IVkWJKd0P2SH2CkqcnPmEZQKj2CwkU2chdMxC0jELSccCRpZV jKLFqcVJuelGRnqpRZnJxcX5eXp5qSWbGIGRc3DLb4MdjC+fOx5iFOBgVOLhNTB2CxNiTSwr rsw9xCjBwawkwhthAhTiTUmsrEotyo8vKs1JLT7EKM3BoiTO28z0IFRIID2xJDU7NbUgtQgm y8TBKdXAmMB5dNL/DW1iu5IucEwRmH/Y+VvWG54QDwNTVqU/EVwfv+7sLLn5an/ZBu6M4zsd 7v97HfHklZJoThXzien2xzewfWlZqx6/pqLhkU9at9CD31JHhbi8vOyNwqX/LNO6un3ettka z+JkwndP59vBeO7g0v1t58/Ee33f/6zWL+OEYOtGn6LtG5RYijMSDbWYi4oTAfB8VNCYAgAA
Archived-At: <http://mailarchive.ietf.org/arch/msg/mmusic/1hpouGs14JQiAfsZHZxAV_iX_dU>
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:14:38 -0000

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). That is not an issue in the answer, as the same candidates can be assigned to each m- line in the bundle group.

Also keep in mind that, when a subsequent offer is sent, the bundle-only attribute is no longer used. Would you then also in the subsequent offer only assign possible candidates to only one m- line within the bundle group?
 
>>> 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.

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

Regards,

Christer