Re: [MMUSIC] Signaling trickle support

Emil Ivov <emcho@jitsi.org> Thu, 08 November 2012 23:24 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 4E22221F86B0 for <mmusic@ietfa.amsl.com>; Thu, 8 Nov 2012 15:24:43 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.981
X-Spam-Level:
X-Spam-Status: No, score=-2.981 tagged_above=-999 required=5 tests=[AWL=0.019, BAYES_00=-2.599, J_CHICKENPOX_92=0.6, 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 x8bWzb-5lAOC for <mmusic@ietfa.amsl.com>; Thu, 8 Nov 2012 15:24:42 -0800 (PST)
Received: from mail-da0-f44.google.com (mail-da0-f44.google.com [209.85.210.44]) by ietfa.amsl.com (Postfix) with ESMTP id 2BDD621F866B for <mmusic@ietf.org>; Thu, 8 Nov 2012 15:24:42 -0800 (PST)
Received: by mail-da0-f44.google.com with SMTP id h15so1484622dan.31 for <mmusic@ietf.org>; Thu, 08 Nov 2012 15:24:41 -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=9i2FxxG1a9eSWd4PKc0ptZBXMXC7kwN/r8WmeP8z/8g=; b=OleTCQIwQoVhqEED71iqNfVsZFmBEYhPxNHOs1he63HcfYKy/pfbnUOZ1akyVbhuSc ODqBYGpoUMhUvpxZpjdyvcIZ8EzCuiqF3N5hTW9j0Mc2+h4jlK6FvrdUWVh8mhD8unin C0anwms/MGh28qSXyA/xqkvgBinu4ikN0k9nYJsxfXJiYViZicZRmhzNjT2KDv+vXEQD SfmkVCS4HMVJ7X3DR3ZdQrZtnPYpmmTOrHYEe/cwlmFR9fiOvl+UxyOjMXJTyTrCB4aN f2pkmsoksIBvk2GvI7tsGFddZXG3y5KrllQBZ4V7koYc4QVoFzondp4rENuR3Q68NbTp ynOg==
Received: by 10.68.241.133 with SMTP id wi5mr28359075pbc.48.1352417081770; Thu, 08 Nov 2012 15:24:41 -0800 (PST)
Received: from dhcp-4225.meeting.ietf.org ([2001:df8:0:64:6945:2d5c:a862:4354]) by mx.google.com with ESMTPS id is3sm4783882pbc.6.2012.11.08.15.24.38 (version=TLSv1/SSLv3 cipher=OTHER); Thu, 08 Nov 2012 15:24:40 -0800 (PST)
Message-ID: <509C3F33.8060809@jitsi.org>
Date: Thu, 08 Nov 2012 18:24:35 -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> <509C0724.3050300@jitsi.org> <509C3066.6020209@cisco.com>
In-Reply-To: <509C3066.6020209@cisco.com>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: 7bit
X-Gm-Message-State: ALoCoQkHgts39mRXEtcmayjjuDIoV/99DjqsocvMmVget2m5+icqm5wfc9tqcxb1d2UiYjDobvhI
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 23:24:43 -0000

Hey Flemming,

On 08.11.12, 17:21, Flemming Andreasen wrote:
>>>> 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.
> Somewhat unclear to me as it builds upon an assumption that it is 
> somehow "more efficient"to probe than to collect candidates.

Indeed, this would not always be the case and it would basically come
down to comparing one signalling RTT to the duration of candidate
gathering.

As you agreed in one of your previous mails, the relation may vary:

Executing a single STUN transaction is likely to be less time consuming
than a signalling RTT. Candidate gathering however may also last a lot
longer than a single offer/answer exchange.

However, an agent that has several interfaces and uses them to gather
candidates for three streams that don't have bundle nor RTCP muxing is
going to need quite some time to complete a harvest. Add to this UPnP
allocations and a second STUN server and you could easily find the
signalling RTT tens of times shorter than the candidate gathering.

In all cases the UA would have a fairly good idea of what to expect so
it could easily determine whether or not a probe would make sense.

> Clarifying 
> the criteria for something being "more efficient" would also be helpful 
> here (what is it truly that we are after; setup delay reduction, fewer 
> NAT bindings, ...)

I believe we can agree that in the context of trickle the only thing
that matters is call setup duration.

>> 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.
> Unclear to me since you can collect candidates before you know who to 
> send the offer to.

You could ... but not always. A hard phone can easily do this when
someone picks it up. A softphone however doesn't have a clear early cue
about a pending call initiation so the only way would be to always
maintain a set of active candidates and to keep them alive. Not
necessarily the most desirable option, especially for large deployments.

A web page could be even worse, especially in cases where the calling
functionality is only a side feature (e.g. a support or a customer
service call option).

Cheers,
Emil

> Thanks
> 
> -- Flemming
>>>>>> 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