[MMUSIC] Trickle ICE
worley@ariadne.com (Dale R. Worley) Mon, 08 April 2013 23:22 UTC
Return-Path: <worley@shell01.TheWorld.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 4FA8C21F8EBE for <mmusic@ietfa.amsl.com>; Mon, 8 Apr 2013 16:22:03 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.98
X-Spam-Level:
X-Spam-Status: No, score=-2.98 tagged_above=-999 required=5 tests=[BAYES_00=-2.599, RCVD_IN_DNSWL_LOW=-1, RCVD_IN_SORBS_WEB=0.619]
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 fcktfFzKDyNk for <mmusic@ietfa.amsl.com>; Mon, 8 Apr 2013 16:22:02 -0700 (PDT)
Received: from TheWorld.com (pcls5.std.com [192.74.137.145]) by ietfa.amsl.com (Postfix) with ESMTP id 91D1F21F8EB2 for <mmusic@ietf.org>; Mon, 8 Apr 2013 16:22:02 -0700 (PDT)
Received: from shell.TheWorld.com (svani@shell01.theworld.com [192.74.137.71]) by TheWorld.com (8.14.5/8.14.5) with ESMTP id r38NLk4X010264 for <mmusic@ietf.org>; Mon, 8 Apr 2013 19:21:48 -0400
Received: from shell01.TheWorld.com (localhost [127.0.0.1]) by shell.TheWorld.com (8.13.6/8.12.8) with ESMTP id r38NLkvm2196652 for <mmusic@ietf.org>; Mon, 8 Apr 2013 19:21:46 -0400 (EDT)
Received: (from worley@localhost) by shell01.TheWorld.com (8.13.6/8.13.6/Submit) id r38NLkV72189030; Mon, 8 Apr 2013 19:21:46 -0400 (EDT)
Date: Mon, 08 Apr 2013 19:21:46 -0400
Message-Id: <201304082321.r38NLkV72189030@shell01.TheWorld.com>
From: worley@ariadne.com
Sender: worley@ariadne.com
To: mmusic@ietf.org
In-reply-to: <99971244-6523-4025-AF84-1AC72D8E0681@gmail.com> (alan.b.johnston@gmail.com)
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>
Subject: [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: Mon, 08 Apr 2013 23:22:03 -0000
> 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] 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