Re: [MMUSIC] Signaling trickle support

Emil Ivov <emcho@jitsi.org> Thu, 08 November 2012 19:25 UTC

Return-Path: <emil@sip-communicator.org>
X-Original-To: mmusic@ietfa.amsl.com
Delivered-To: mmusic@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 4A6D521F8533 for <mmusic@ietfa.amsl.com>; Thu, 8 Nov 2012 11:25:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.217
X-Spam-Level:
X-Spam-Status: No, score=-3.217 tagged_above=-999 required=5 tests=[AWL=0.382, BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([64.170.98.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id K2FJq9O3KEnO for <mmusic@ietfa.amsl.com>; Thu, 8 Nov 2012 11:25:25 -0800 (PST)
Received: from mail-pa0-f44.google.com (mail-pa0-f44.google.com [209.85.220.44]) by ietfa.amsl.com (Postfix) with ESMTP id 3289521F84C4 for <mmusic@ietf.org>; Thu, 8 Nov 2012 11:25:25 -0800 (PST)
Received: by mail-pa0-f44.google.com with SMTP id fb11so2365915pad.31 for <mmusic@ietf.org>; Thu, 08 Nov 2012 11:25:25 -0800 (PST)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20120113; h=message-id:date:from:organization:user-agent:mime-version:to:cc :subject:references:in-reply-to:content-type :content-transfer-encoding:x-gm-message-state; bh=HEr6bPbQi0hK3uVUGjpJlXEvCdmA2BOjr42RU5yYCFY=; b=J7zCz5WDhuzq5h3ldj3M0nGKKBXZ5SKPyFuihHFXcq8MdwDF9VuUhuDJtkeotS5u+F VR0HiG4kkRnZAbWANkkEzUqV0WjA6ldaK4Ew4WhdEjaI15zQ4mQlL3/YEC0cdBRcZVbO I87OnYX4rA5y11hWcTTExLyB1RSYk1/GfhRl+b3nW7RRtmUmFlfh9uN3BoZxU3K82T8W 0dViJReVbHClT4IMYqis4QAJCISIjn8LB3vlI/qnWhz6sQ5Ppv4v4KY3594Dvh1lsKm1 h5TzJRaU6zCs0ekqA9rdGNbxub7WWR6ReTbCva/3sc58E7ipTgMK0eA0Uc00P+/yfd6n LbDQ==
Received: by 10.66.76.162 with SMTP id l2mr24931506paw.36.1352402724897; Thu, 08 Nov 2012 11:25:24 -0800 (PST)
Received: from dhcp-4225.meeting.ietf.org ([2001:df8:0:64:15d2:1438:5e06:e012]) by mx.google.com with ESMTPS id n7sm16559752pav.26.2012.11.08.11.25.21 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 08 Nov 2012 11:25:23 -0800 (PST)
Message-ID: <509C0724.3050300@jitsi.org>
Date: Thu, 08 Nov 2012 14:25:24 -0500
From: Emil Ivov <emcho@jitsi.org>
Organization: Jitsi
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:16.0) Gecko/20121026 Thunderbird/16.0.2
MIME-Version: 1.0
To: Flemming Andreasen <fandreas@cisco.com>
References: <CABkgnnVR-prV8xgzPx9H-MYRM_vTui-8GGfTD0yy1JPvJJzrrQ@mail.gmail.com> <509AB627.1090507@alum.mit.edu> <509B5F87.1010807@ericsson.com> <7594FB04B1934943A5C02806D1A2204B027800@ESESSMB209.ericsson.se> <509BC947.709@cisco.com> <509BCBFB.2020305@jitsi.org> <CABkgnnVMf53Vk_Rd-0erZN4ZLDKM4ePOvMfLJnfOUNVxdWYLqQ@mail.gmail.com> <509BD563.9080808@cisco.com> <509BDE01.9060705@jitsi.org> <509C02F2.10303@cisco.com>
In-Reply-To: <509C02F2.10303@cisco.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Gm-Message-State: ALoCoQmaxUg6r9DEj+C75AvfUv6yFblnodQ+HBU1o11WOjkQ1rSuS/+wKaDf1ZnIhAcsNOWVgRAc
Cc: "mmusic@ietf.org" <mmusic@ietf.org>, Paul Kyzivat <pkyzivat@alum.mit.edu>, Christer Holmberg <christer.holmberg@ericsson.com>
Subject: Re: [MMUSIC] Signaling trickle support
X-BeenThere: mmusic@ietf.org
X-Mailman-Version: 2.1.12
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: <http://www.ietf.org/mail-archive/web/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: Thu, 08 Nov 2012 19:25:26 -0000

Hey Flemming,

On 08.11.12, 14:07, Flemming Andreasen wrote:
> 
> On 11/8/12 11:29 AM, Emil Ivov wrote:
>> Hey Flemming,
>>
>> On 08.11.12, 10:53, Flemming Andreasen wrote:
>>> On 11/8/12 10:46 AM, Martin Thomson wrote:
>>>> Trolled.
>>>>
>>>> Though to be honest, I don't see a way around this particular problem.
>>>>    The idea of using a Require: trickle header is fraught with problems;
>>>> the idea that you might use an a= line doesn't give you the
>>>> characteristics you desire.  I just don't know how to cause the
>>>> failure that is needed when this isn't supported.
>>> Can we capture the desired characteristics and failure mode for starters ?
>> The "really" desired characteristic is knowing in advance whether or not
>> the remote party can do trickle so that you know whether you can afford
>> to send an empty offer without causing it to freak out.
> Why would you send an empty offer ?

Normally the offer should contain only candidates that are readily
available (such as host candidates). However if the offerer does not
wish to disclose those for privacy reasons, then it would just send an
offer with no candidates. This is for example how Chrome currently behaves.

It also places 0.0.0.0:1 in the c= and m= lines.

That's currently explain in section 4 of the draft:

http://tools.ietf.org/html/draft-rescorla-mmusic-ice-trickle-00#section-4


>> Since protocols like SIP don't really have things like XMPP disco and
>> Cap Neg that would have allowed it, we were considering other options.
>> One such option would be to send a trickle offer and format it in a way
>> that would cause a non-trickle answerer to reject it in a _predictable_
>> way. This would allow the offerer to retry with a regular ICE offer.
> I thought the point with trickle-ICE was to reduce call setup latency

It is.

> and hence you would want to make sure that things complete in as few 
> round-trips as possible. This doesn't seem to line up with that (?).

The thing is that in cases where trickle ICE support cannot be
pre-confirmed you have to fall back to half trickle. The probing
requests would hence allow for an optimisation compared to that.

With half-trickle the offerer has to gather all candidates anyway so,
while doing so, they might as well try and check if they really need to
complete it before sending their first offer.

>>>> Besides, the failure modes all lead to an expenditure of time that is
>>>> worse than the simple candidate gathering scenarios (reflexive,
>>>> relay), though not "other" gathering methods (UPnP, etc...).
>>> Is there a requirement here that needs to be written down ?
>> The point that Martin is making is that sending an offer and then
>> waiting for the failure may potentially take longer than just gathering
>> your candidates. This is true especially in cases where the offerer is
>> only planning on using a single port, on a single interface, with a
>> single STUN/TURN server and no other candidate gathering mechanisms.
> I would agree with that.
>>
>> But then, if this really is the case, the offerer knows it and can
>> choose not to do the probing.
> Agreed.
>>>> half-trickle is a reasonable solution.
>>> Sorry - what's half-trickle ?
>> We had that in the slides on Tuesday but it's not yet in the draft. The
>> idea is that if you can't confirm support for trickle in the answerer,
> Do you mean: if you don't know if the answerer supports it before 
> sending an offer to him 

Yes. That's what I meant. The offerer needs to know that in advance in
order to decide how to form their offer.

Cheers,
Emil

> [since confirming support in the answer should 
> be easy]  ?
>> you just send a vanilla ICE offer and you also indicate you do support
>> trickle. A trickle ICE answerer can then trickle candidates and in
>> general you get half the optimizations of Trickle ICE. You even get more
>> than that in case the offerer is able to predictively gather candidates
>> before the call is initiated.
> Agreed.
>>
>> We'll describe this in the next version.
> Ok - thanks for the explanation.
> 
> -- Flemming
>>
>> Cheers,
>> Emil
>>
>>> -- Flemming
>>>
>>>
>>>> On 8 November 2012 10:12, Emil Ivov <emcho@jitsi.org> wrote:
>>>>> I actually think this was supposed to be a joke. At least that's how I
>>>>> got it.
>>>>>
>>>>> Emil
>>>>>
>>>>> On 08.11.12, 10:01, Flemming Andreasen wrote:
>>>>>> This is very different from the way we normally handle extensions in SDP
>>>>>> both from a pure signaling and negotiation point of view. I share the
>>>>>> sentiment of others that this does not look like a good idea but would
>>>>>> like to understand if there were other considerations for suggesting
>>>>>> this radically different approach.
>>>>>>
>>>>>> Thanks
>>>>>>
>>>>>> -- Flemming
>>>>>>
>>>>>> On 11/8/12 9:23 AM, Christer Holmberg wrote:
>>>>>>> +1
>>>>>>>
>>>>>>> Regards,
>>>>>>>
>>>>>>> Christer
>>>>>>>
>>>>>>> -----Original Message-----
>>>>>>> From: mmusic-bounces@ietf.org [mailto:mmusic-bounces@ietf.org] On Behalf Of Miguel A. Garcia
>>>>>>> Sent: 8. marraskuuta 2012 9:30
>>>>>>> To: Paul Kyzivat; Martin Thomson; Emil Ivov
>>>>>>> Cc: mmusic@ietf.org
>>>>>>> Subject: Re: [MMUSIC] Signaling trickle support
>>>>>>>
>>>>>>> As an individual...
>>>>>>>
>>>>>>> I concur with Paul, changing the v= version in the SDP is a very bad idea.
>>>>>>>
>>>>>>> Let met quote RFC 4566:
>>>>>>>
>>>>>>>
>>>>>>>        The "v=" field gives the version of the Session Description Protocol.
>>>>>>>        This memo defines version 0.  There is no minor version number.
>>>>>>>
>>>>>>>
>>>>>>> This means that if you define another version different than zero, then, as a side effect, you are creating a different version of SDP than the one specified in RFC 4566. So, you will need to create an RFC specifying how such version of SDP works.
>>>>>>>
>>>>>>> /Miguel
>>>>>>>
>>>>>>> On 07/11/2012 20:27, Paul Kyzivat wrote:
>>>>>>>> On 11/7/12 8:59 AM, Martin Thomson wrote:
>>>>>>>>> Matthew, Justin and I were discussing the problem of signaling
>>>>>>>>> trickle ICE support and the following proposal was made:
>>>>>>>>>
>>>>>>>>> The 24th bit in SDP is currently set to zero.  This bit is
>>>>>>>>> specifically reserved for forward compatibility purposes.  We can use
>>>>>>>>> this bit.  Set this bit to one to indicate support for trickle ICE.
>>>>>>>>>
>>>>>>>>> This meets the "works if supported, fails if it doesn't criteria".
>>>>>>>>>
>>>>>>>>> This solution may also be appropriate for bundle/mmt/whatever.
>>>>>>>> After some side discussion, I guess you are talking about bits in the
>>>>>>>> value of the v= field ???
>>>>>>>>
>>>>>>>> If so, I still have no idea what you are talking about. The syntax for
>>>>>>>> the value of v= is 1*DIGIT. You can choose to represent that in binary
>>>>>>>> and then choose bit 24 if you want, but that has no significance in 4566.
>>>>>>>>
>>>>>>>> Assigning a new SDP version to signal Trickle ICE support seems like
>>>>>>>> an incredibly bad idea.
>>>>>>>>
>>>>>>>>         Thanks,
>>>>>>>>         Paul
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> mmusic mailing list
>>>>>>>> mmusic@ietf.org
>>>>>>>> https://www.ietf.org/mailman/listinfo/mmusic
>>>>>>>>
>>>>>>> --
>>>>>>> Miguel A. Garcia
>>>>>>> +34-91-339-3608
>>>>>>> Ericsson Spain
>>>>>>> _______________________________________________
>>>>>>> mmusic mailing list
>>>>>>> mmusic@ietf.org
>>>>>>> https://www.ietf.org/mailman/listinfo/mmusic
>>>>>>> _______________________________________________
>>>>>>> mmusic mailing list
>>>>>>> mmusic@ietf.org
>>>>>>> https://www.ietf.org/mailman/listinfo/mmusic
>>>>>>> .
>>>>>>>
>>>>> --
>>>>> https://jitsi.org
>>>> .
>>>>
>>>
> 
> 

-- 
https://jitsi.org