Re: [MMUSIC] UPDATE mechanism for Trickle ICE - Comment on draft-ivov-mmusic-trickle-ice-sip-01

Emil Ivov <emcho@jitsi.org> Wed, 23 October 2013 13:08 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 0209111E8190 for <mmusic@ietfa.amsl.com>; Wed, 23 Oct 2013 06:08:36 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.249
X-Spam-Level:
X-Spam-Status: No, score=-3.249 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, HELO_EQ_FR=0.35, RCVD_IN_DNSWL_LOW=-1]
Received: from mail.ietf.org ([12.22.58.30]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 68nanSjvSE86 for <mmusic@ietfa.amsl.com>; Wed, 23 Oct 2013 06:08:31 -0700 (PDT)
Received: from mail-wi0-f178.google.com (mail-wi0-f178.google.com [209.85.212.178]) by ietfa.amsl.com (Postfix) with ESMTP id AB15F11E835D for <mmusic@ietf.org>; Wed, 23 Oct 2013 06:08:22 -0700 (PDT)
Received: by mail-wi0-f178.google.com with SMTP id hn9so836799wib.11 for <mmusic@ietf.org>; Wed, 23 Oct 2013 06:08:22 -0700 (PDT)
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20130820; h=x-gm-message-state:message-id:date:from:organization:user-agent :mime-version:to:cc:subject:references:in-reply-to:content-type :content-transfer-encoding; bh=MknhpDsKTJb81r7itLzF5hsKpz883ltTGKPqWq8sD5k=; b=bmPKMm2cIiA9O3pIFAnzVjUrT7opvEvOu6K56nHJACPDWq+tPhWsNEjIU7eaWiqKrA Yyo4ZVNZDBaGwKGuaUshFuEhxoLcZfbIC5Ti3CpRfyCy0+xucgt4SZZ9bVPmPqI8fqoH aZcRxI5S2ifhx8Sme2PoGnutCkOgyJgSvrR8rrv9Ve4fNfIVs0ulSdJ+Pcm9IinmepKz hlvhofNab2P3wTGFsJVHDYi2oX3Sdr+VuRuIR7nP3kDyOixdHpSSv35vt7/pyMI8DJLh oXbgvSiTLLSkRUOWu308uv9oTztt3GpsvJHdj7MjVOExs7Y4jIpvZXGLiM6V+aeaCbcN hlhA==
X-Gm-Message-State: ALoCoQlhZwz3XLUHY2AShr7OPf7+WhVY7I+TSR/+2zgSXBwUzrMOg53N8xAVyb2KhS8qH05p5c3Y
X-Received: by 10.180.187.2 with SMTP id fo2mr2011392wic.65.1382533702075; Wed, 23 Oct 2013 06:08:22 -0700 (PDT)
Received: from pastropnet.u-strasbg.fr (pastropnet.u-strasbg.fr. [130.79.90.87]) by mx.google.com with ESMTPSA id y20sm16843827wib.0.2013.10.23.06.08.20 for <multiple recipients> (version=TLSv1 cipher=ECDHE-RSA-RC4-SHA bits=128/128); Wed, 23 Oct 2013 06:08:21 -0700 (PDT)
Message-ID: <5267CA43.8020304@jitsi.org>
Date: Wed, 23 Oct 2013 15:08:19 +0200
From: Emil Ivov <emcho@jitsi.org>
Organization: Jitsi
User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/20130620 Thunderbird/17.0.7
MIME-Version: 1.0
To: Christer Holmberg <christer.holmberg@ericsson.com>
References: <00a401cece8b$7b00f780$7102e680$@co.in> <CAPvvaaK3YOOB-Ta8+eoRcfQ8NrNRDdDf5a3VvOaN0vK=0unf7A@mail.gmail.com> <00ce01cecf48$6c0b5500$4421ff00$@co.in>, <5266BB46.4070305@jitsi.org> <7594FB04B1934943A5C02806D1A2204B1C4EBB51@ESESSMB209.ericsson.se>, <5266C0A7.5040305@jitsi.org> <7594FB04B1934943A5C02806D1A2204B1C4EBBEA@ESESSMB209.ericsson.se> <5266DAB0.7020001@jitsi.org> <7594FB04B1934943A5C02806D1A2204B1C4EC9F2@ESESSMB209.ericsson.se>
In-Reply-To: <7594FB04B1934943A5C02806D1A2204B1C4EC9F2@ESESSMB209.ericsson.se>
Content-Type: text/plain; charset="ISO-8859-1"; format="flowed"
Content-Transfer-Encoding: 7bit
Cc: 'mmusic' <mmusic@ietf.org>
Subject: Re: [MMUSIC] UPDATE mechanism for Trickle ICE - Comment on draft-ivov-mmusic-trickle-ice-sip-01
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: Wed, 23 Oct 2013 13:08:36 -0000

Hey Christer,

On 23.10.13, 12:25, Christer Holmberg wrote:
> Hi Emil,
>
> First, I completely messed up with the candidate types. Sorry for the
> confusion :)
>
> Anyway, it doesn't really matter what type of candidates are trickled
> - it's about whether trickled candidates can be affected by
> Offers/Answers.

And by affected you really mean invalidated. OK, I think I understand now.

I don't think there's anything in 5245 that defines semantics which 
would invalidate existing candidates.

I do agree that we could further clarify this in 5245bis and/or Trickle 
for SIP.

>>> So, that would mean that if an Offer is received without the
>>> peer refexive candidates, the answerer would remove them.
>>
>> You lost me. How would an answerer remove candidates from an offer
>> if they weren't there in the first place? Did you mean to say
>> something else?
>
> I referred to the example below, where an Offer does not contain a
> candidate that was previously trickled, and whether the answerer will
> then assume that the candidate is no longer valid.

Right. I don't think there's such a risk. 5245 explicitly forbids update 
Offers and Answers to remove candidates that have been announced 
previously and it allows (as in MAY, not SHOULD) that new candidates be 
added.

The former should address your concern and I believe we could simply 
remove the latter as it is of little use, if any.

>>> The issue that can occur is if you:
>>>
>>> - first send an Answer (to an Offer), without candidate X;
>>>
>>> - then you send a trickle request with candidate X;
>>>
>>> - the trickle request reaches the remote endpoint BEFORE the
>>> Answer.
>>
>> We agreed that the answerer would either wait for a PRACK or an
>> INFO with end-of-candidates before starting trickling, so I don't
>> think this can happen.
>
> But, in the example above the Offer, and the Answer, may not contain
> any new candidates, the Answer simply contains a list of previously
> negotiated candidates. I don't think there will be an INFO with
> end-of-candidates in that case, or a PRACK (in case the Offer was
> received in an UPDATE, or in a POF).

Yes, maybe not. This would be a non-restarting update Offer and we could 
specify that such offers (and their answers) don't get to change ICE. 
Only ICE restarts do.

> Anyway, once some rules regarding WHEN candidates can be trickled, it
> may be easier to point on concrete issues (if any).

OK.

> It would also be easier to explain the issues with a whiteboard :)
>
>> I think I do but I am not sure. Why would you consider lack of a
>> candidate as an indication that a candidate needs to be removed if
>> including that candidate was a MAY in the first place?
>
> Again, IF we say that trickled candidates MAY be present in
> Offers/Answers, and will not be removed in case they are not present,
> then there should be no issue.

OK, agreed.

Emil

>
> Regards,
>
> Christer
>
>
>
>
>
>>>> Because, we don't signal server reflexive candidates in O/A
>> either, do we?
>>>>
>>>> If so, then I assume that Offers and Answers would have no
>>>> impact
>> on  >> trickle candidates (unless, of course, there is an ICE
>> restart). Or?
>>>
>>> Yes, I believe that's the way to go. We might need to state this
>>> >
>> explicitly in 5245 in order to avoid confusion.
>>
>>
>> Emil
>>
>>>
>>> Regards,
>>>
>>> Christer
>>>
>>>
>> ----------------------------------------------------------------------
>>
>>
--  > *From:* Emil Ivov [emcho@jitsi.org]  > *Sent:* Tuesday, 22
>> October 2013 8:52 PM  > *To:* Parthasarathi R  > *Cc:* Christer
>> Holmberg; 'Enrico Marocco (TiLab)'; 'mmusic'
>>> *Subject:* Re: UPDATE mechanism for Trickle ICE - Comment on  >
>> draft-ivov-mmusic-trickle-ice-sip-01
>>>
>>> On 22.10.13, 19:01, Parthasarathi R wrote:
>>>> Emil,
>>>>
>>>> In case of ICE Trickle handling in SIP (based on RFC 3261),
>>>> glare
>> is  >> unavoidable  >  > I don't think this is true.
>>>
>>>> as per RFC 3264 offer/answer mechanism. The glare handling has
>>>> >>
>> to be done by SIP provided mechanism like 491 handling in
>> UPDATE/RE-INVITE.
>>>> draft-partha-rtcweb-jsep-sip-01 callflow works for UPDATE &
>>>> ICE
>> compliant  >> SIP UA and no need of extra extension.
>>>
>>> Yes, there is a well defined mechanism for handling glare with
>>> 3264. With that I agree. (Adoption and implementation levels are
>>> a
>> different  > story but let's not worry about that right now.)  >
>> > The thing is that this mechanism would be hugely inefficient for
>> > trickle. The likelihood of glare occurring even more than once
>> there is  > extremely high when using UPDATEs.
>>>
>>> You are actually quite likely to make the whole process even
>>> longer
>> than  > Vanilla ICE so unless your purpose is to make Trickle
>> pointless, I don't  > think this is a good idea.
>>>
>>>> INFO based mechanism fails to identify the actual glare
>>>> situation
>> in  >> offer/answer.
>>>
>>> I think you might have misunderstood the way trickle ICE works
>>> with INFO.
>>>
>>> Once the initial offer/answer is complete (and those rely on the
>> regular  > glare handling, independently of trickle or ICE) there
>> are no additional  > offers and answers.
>>>
>>> INFO requests transport asynchronous signalling between ICE
>>> agents
>> (NOT  > offers and answers) and it is perfectly fine for either
>> party to be  > sending them at any point in time. There's no
>> possibility of glare here.
>>>
>>> Does this help clarify things?
>>>
>>> Emil
>>>
>>>
>>>> Of course,  it is possible to reduce the trickle ICE glare
>> handling with  >> special SDP handling (enhanced offer/answer)
>> within RE-INVITE/UPDATE in case  >> both endpoints supports the
>> mechanism.
>>>>
>>>> Please read inline for more comments.
>>>>
>>>> Thanks Partha
>>>>
>>>>
>>>>
>>>>> -----Original Message----- From: Emil Ivov
>>>>> [mailto:emcho@jitsi.org]  >>> Sent: Tuesday,
>> October 22, 2013 6:39 AM  >>> To: Parthasarathi R  >>> Cc:
>> Christer Holmberg; Enrico Marocco (TiLab); mmusic  >>> Subject: Re:
>> UPDATE mechanism for Trickle ICE - Comment on draft-ivov-  >>>
>> mmusic-trickle-ice-sip-01  >>>  >>> On Mon, Oct 21, 2013 at 8:29
>> PM, Parthasarathi R  >>> <partha@parthasarathi.co.in> wrote:
>>>>>> Hi all,
>>>>>>
>>>>>> I have mailed earlier why SIP INFO is not the right choice
>>>>>> for
>>>>> Trickle ICE  >>>> in
>>>>>> http://www.ietf.org/mail-archive/web/mmusic/current/msg11964.html.
>>
>>>>>>
>>>
>>>>> I remember. Have you noticed my answer?
>>>>>
>>>>> http://www.ietf.org/mail-archive/web/mmusic/current/msg11932.html
>>
>>>>>
>>>
>>>>
>>>> <Partha> Please note that my question is after your answer
>> (msg11964 >  >> msg11932). </Partha>  >>  >>>> The main  >>>>
>> reason is the glare handling. I have added the callflow in Sec 6.4
>> of  >>>> draft-partha-rtcweb-jsep-sip-01 to explain how UPDATE
>> handling will
>>>>> look for  >>>> Trickle ICE handling in SIP w.r.t JSEP
>>>>> mapping.
>>>>>
>>>>> I am confused. You say that your main issue is glare handling
>>>>> and
>> yet  >>> your draft proposes a solution that *introduces* glare
>> (through  >>> crossing UPDATEs) and then doesn't say anything
>> about handling it. Is  >>> this intentional? Am I missing
>> something?
>>>>>
>>>>
>>>> <Partha> 491 is the only known glare handling. We shall work
>>>> and
>> further  >> enhance glare handling in UPDATE/RE-INVITE as it is
>> obvious glare situation.
>>>> I wish to confirm that INFO mechanism does not work for this
>> situation  >> before deep diving. </Partha>  >>  >>>> Could you
>> please explain how  >>>> glare with Trickle ICE Info package will
>> be handled.
>>>>>
>>>>> That's simple. Glare does NOT occur when trickling through
>>>>> INFO.
>>>>
>>>> <Partha> The actual glare situation will be missed in INFO
>> </Partha>  >>  >>>  >>> Emil  >>>  >>> --  >>>https://jitsi.org
>> <https://jitsi.org/> <https://jitsi.org/>  >>  >>  >  > --  >
>> https://jitsi.org <https://jitsi.org/> <https://jitsi.org/>
>>
>> -- https://jitsi.org <https://jitsi.org/>
>>
>
> -- https://jitsi.org
>

-- 
https://jitsi.org