Re: [MMUSIC] Trickle ICE
"Stach, Thomas" <thomas.stach@siemens-enterprise.com> Tue, 09 April 2013 14:17 UTC
Return-Path: <thomas.stach@siemens-enterprise.com>
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 94DA321F9309 for <mmusic@ietfa.amsl.com>; Tue, 9 Apr 2013 07:17:41 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.599
X-Spam-Level:
X-Spam-Status: No, score=-2.599 tagged_above=-999 required=5 tests=[AWL=0.000, BAYES_00=-2.599]
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 lunfcMsDLzD2 for <mmusic@ietfa.amsl.com>; Tue, 9 Apr 2013 07:17:40 -0700 (PDT)
Received: from senmx12-mx.siemens-enterprise.com (senmx12-mx.siemens-enterprise.com [62.134.46.10]) by ietfa.amsl.com (Postfix) with ESMTP id 591C621F9311 for <mmusic@ietf.org>; Tue, 9 Apr 2013 07:17:38 -0700 (PDT)
Received: from MCHP01HTC.global-ad.net (unknown [172.29.42.234]) by senmx12-mx.siemens-enterprise.com (Server) with ESMTP id 3E0E823F046F; Tue, 9 Apr 2013 16:17:38 +0200 (CEST)
Received: from MCHP04MSX.global-ad.net ([169.254.1.169]) by MCHP01HTC.global-ad.net ([172.29.42.234]) with mapi id 14.02.0328.009; Tue, 9 Apr 2013 16:17:38 +0200
From: "Stach, Thomas" <thomas.stach@siemens-enterprise.com>
To: "Dale R. Worley" <worley@ariadne.com>, "mmusic@ietf.org" <mmusic@ietf.org>
Thread-Topic: [MMUSIC] Trickle ICE
Thread-Index: AQHONK/meLB09GO/TUexf6RCKJEGx5jN79kg
Date: Tue, 09 Apr 2013 14:17:37 +0000
Message-ID: <F81CEE99482EFE438DAE2A652361EE120E575915@MCHP04MSX.global-ad.net>
References: <515AFCFE.7030608@acm.org> <515CB4F2.3010404@jitsi.org> <515D853C.6020107@alum.mit.edu> <515DC02D.7050105@jitsi.org> <99971244-6523-4025-AF84-1AC72D8E0681@gmail.com> <201304082321.r38NLkV72189030@shell01.TheWorld.com>
In-Reply-To: <201304082321.r38NLkV72189030@shell01.TheWorld.com>
Accept-Language: de-AT, en-US
Content-Language: de-DE
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [172.29.42.225]
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
MIME-Version: 1.0
Subject: Re: [MMUSIC] Trickle ICE
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: Tue, 09 Apr 2013 14:17:41 -0000
Dale, this is an excellent analysis and I agree completely. Regards Thomas Dale R. Worley wrote: >> From: Alan Johnston <alan.b.johnston@gmail.com> >> >> I admit that my first thought was that UPDATE was more appropriate >> than INFO. >> >> But the more I think about it, trickling in new candidates is not >> necessarily a part of O/A, rather it can be thought of as >> communication between two ICE Agents. For tunneling another protocol >> using SIP as transport, INFO is the right choice. > > Ah, yes, I now agree with that -- the trickle-ICE updates are "back > channel" amendments to the original offer/answer transfer, not > additional offer/answer transactions. > > Within generic trickle ICE, there is the possibility that additional > candidates are provided "incrementally", that is, each protocol > message includes only the new candidates (and end-of-candidate > indications). There is also the possibility that additional > candidates are provided "cumulatively", that is, each protocol message > includes all of the previously provided candidates. > > We could specify that trickle ICE uses one method or the other, but I > think that we should consider these to be logically equivalent at the > level of generic trickle ICE, and allow the choice between methods to > be done by the usage. The reason for this is that the decision of > method seems to be heavily dependent on the specifics of the usage. > (Allowing each usage to make its own choice requires that we not allow > cumulative updates to withdraw candidates previously offered, as that > functionality cannot be provided with incremental updates.) > > For instance, if updates are carried by an ordered, reliable channel > like TCP, then there is no benefit in sending updates cumulatively. > Similarly if the SIP usage sends updates in UPDATE requests, because > the UAC must serialize UPDATE requests. But if we carry updates in > INFO messages, and we wish to not require the UAC to serialize them, > then cumulative updates are desirable, as out-of-order receipt of INFO > messages can cause an earlier-sent INFO to be permanently blocked by a > later-sent INFO which reaches the UAS first. > > This leads to the point that INFO is preferable to UPDATE because the > UAC does not have to serialize INFOs, which reduces blocking. (As > Paul notes, we've done a lot of work to define how to properly handle > complex cases involving UPDATE, but that work is needed because > UPDATEs have to be serialized with respect to each other, and with > certain other requests.) > > This leads to a broader issue: Generic trickle ICE needs to define > its expectations regarding reliability, correlation, and sequencing of > updates. If both generic ICE and its usages were defined in one I-D, > these issues would just be design considerations, but since the > generic specification and the usage specification are separate, these > issues are requirements defined in the generic ICE document and each > usage document has to show how it satisfies the requirements. That's > hard to do if the requirements aren't explicitly stated. > > In particular, if cumulative updating is used, and candidates are > allowed to be withdrawn, the receiver cannot determine wihch of two > updates is "newer" by inspection, updates need to be sequenced by the > transport mechanism. If incremental updating is used, sequencing is > not relevant. Similarly, if candidates cannot be withdrawn, the newer > of two cumulative updates has the larger candidate list. > > Also, the updates need to be correlated with the "ICE negotiation > context", so if there is an ICE restart, any delayed updates for a > previous context that arrive can be recognized as such and ignored. > > For the SIP usage, a considerable amount of sequencing and correlation > is provided by the CSeq values: A trickle ICE update INFO must have a > CSeq higher than the message containing the offer/answer that started > the corresponding ICE context, and will have a CSeq lower than the > offer/answer that starts the next ICE context. Similarly, CSeq > sequences INFOs. > > Other usages may need other mechanisms to provide this information. > > One matter that I haven't seen discussed is how trickle ICE ensures > that both UAs always test the same candidate pair at the same time. > Even if we assume that the transport of updates is quick and reliable, > slight differences in timing at the two UAs could cause them to choose > (at some moment) different pairs to test. Since vanilla ICE seems to > have been constructed to prevent this, this seems to me that it might > be a problem and must be investigated and documented. > > Dale > _______________________________________________ > mmusic mailing list > mmusic@ietf.org > https://www.ietf.org/mailman/listinfo/mmusic
- [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/draf… Marc Petit-Huguenin
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Stach, Thomas
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Marc Petit-Huguenin
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Paul Kyzivat
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Paul Kyzivat
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Marc Petit-Huguenin
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Emil Ivov
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Paul Kyzivat
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Marc Petit-Huguenin
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Emil Ivov
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Emil Ivov
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Alan Johnston
- [MMUSIC] Using connectivity check to carry additi… Marc Petit-Huguenin
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Stach, Thomas
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Emil Ivov
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Paul Kyzivat
- Re: [MMUSIC] Using connectivity check to carry ad… Martin Thomson
- Re: [MMUSIC] Using connectivity check to carry ad… Marc Petit-Huguenin
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Emil Ivov
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Stach, Thomas
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Stach, Thomas
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Emil Ivov
- [MMUSIC] Trickle ICE Dale R. Worley
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Stach, Thomas
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Paul Kyzivat
- Re: [MMUSIC] Trickle ICE Stach, Thomas
- Re: [MMUSIC] draft-ivov-dispatch-trickle-ice-sip/… Stach, Thomas