Re: [MMUSIC] Trickle ICE
Martin Thomson <martin.thomson@gmail.com> Thu, 11 October 2012 17:13 UTC
Return-Path: <martin.thomson@gmail.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 12F0121F86B8 for <mmusic@ietfa.amsl.com>; Thu, 11 Oct 2012 10:13:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -3.857
X-Spam-Level:
X-Spam-Status: No, score=-3.857 tagged_above=-999 required=5 tests=[AWL=-0.258, 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 Ca2oShY+TLLl for <mmusic@ietfa.amsl.com>; Thu, 11 Oct 2012 10:13:18 -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 E5E3221F86C3 for <mmusic@ietf.org>; Thu, 11 Oct 2012 10:13:17 -0700 (PDT)
Received: by mail-wi0-f178.google.com with SMTP id hr7so2093375wib.13 for <mmusic@ietf.org>; Thu, 11 Oct 2012 10:13:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type; bh=xIsSOzKlQgAyt7lOIFpDDgPI+SlCZC8hrQbTRwab6Lg=; b=ioYuKwCk93xynJ5CZcH/q+PsorEiGHt2KNCiU5/7+4dmp7mnKk+DmeBmfcN0r/w0pM fsHF+1UaWpqDd5lKX4jM11a+xbgTnVimVIft0Z1sL/ajZcKDMCAYT2n9Hnj8MF2yJV8I tgIXcs/zu+CEtg7z8vGZ9ZYUVjmlAGCD+G9/QwoL8k/9iHGT6sIcWQaHxW1P7yYzgjFN PWgM08ZfKa2L5X+asiR31jZQn0Hd9pa63TWVNPv6bjSXxsY6gT6+oZyDDXUFRnGlpi88 n5jRSBazqTMm5BDKOvRycnX0iD1ev4ZcO3seGNMn9KMB3JH9+w02QRtDrkUpj/+R4peH UUCw==
MIME-Version: 1.0
Received: by 10.180.93.33 with SMTP id cr1mr22199339wib.8.1349975597009; Thu, 11 Oct 2012 10:13:17 -0700 (PDT)
Received: by 10.180.96.9 with HTTP; Thu, 11 Oct 2012 10:13:16 -0700 (PDT)
In-Reply-To: <5075FAC3.20709@jitsi.org>
References: <20121010141600.30314.22528.idtracker@ietfa.amsl.com> <5075864F.3030700@jitsi.org> <CABkgnnX1TaXMYqqLzvwzMRjPO72CccUj6j7oic_-6Oqy+pUZrg@mail.gmail.com> <5075FAC3.20709@jitsi.org>
Date: Thu, 11 Oct 2012 10:13:16 -0700
Message-ID: <CABkgnnXtK_c1G2t9_0pFpNYZAdXCtDxtdSroRXQHjqfcQq_j2g@mail.gmail.com>
From: Martin Thomson <martin.thomson@gmail.com>
To: Emil Ivov <emcho@jitsi.org>
Content-Type: text/plain; charset="UTF-8"
Cc: MMUSIC IETF WG <mmusic@ietf.org>
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: Thu, 11 Oct 2012 17:13:19 -0000
On 10 October 2012 15:46, Emil Ivov <emcho@jitsi.org> wrote: > Yes, the above sentence may indeed be misleadingly read as "respecting > the order of the streams is all there is to it". What was really meant > was something along the lines of: "respecting the order of streams > improves the chances of the connectivity checks being run simultaneously > for a particular stream/component" > >> A naive implementation would use the set of known candidates on each >> component to make this determination. However, that set is >> potentially different to the set of candidates known to their peer. >> That could cause a mismatch if both peers "unfreeze the first >> non-empty checklist." > > Correct, but this is not going to be a problem. When the corresponding > candidates eventually find their way to the agent, it would unfreeze > their local counter-parts and, if necessary, rerun any in-progress or > failed checks. This is explained in Section 9: > > [snip] the agent examines the check > list looking for another pair that would be redundant with the new > one. If such a pair exists and its state is: > > Failed: the agent chooses the pair with the higher priority local > candidate, places it in the Waiting state and removes the other > one as redundant. > In-Progress: The agent cancels the in-progress transaction (where > cancellation happens as explained in Section 7.2.1.4 of > [RFC5245]), then it chooses the pair with the higher priority > local candidate, places it in the Waiting state and removes the > other one as redundant. > > Does this sound reasonable or were you referring to something else? Actually, this part in Section 9 wasn't very clear. I think that the terms aren't quite right. "Redundant" and "priority" have specific meanings in ICE that I think aren't quite right for using here. This wasn't immediately clear, though I get where you are going with this. Though I do think that you need to ensure that this cancellation doesn't occur to the highest priority" You aren't talking about priority or redundancy, I think. You want to ensure that you are making checks on the first component (of the first media stream). What you want is probably more like: The agent examines the check list and looks for a pair with the same foundation. Where multiple such pairs exist, the one from the component that is first in order is selected. If an existing pair is selected, based on its state, the following actions are taken: Failed: The agent marks the new pair as Failed. [[?: not sure that this is entirely safe, might need to re-open this one to prevent a race condition...]] In-Progress: If the new pair is for a component [[i.e. media stream + component]] after the existing pair, the new pair is Frozen. If the new pair is for a component that comes before the existing pair's component the existing pair becomes Frozen, the outstanding transaction on the existing pair is cancelled, and the new pair is placed in the Waiting state. Waiting: If the new pair is for a component [[i.e. media stream + component]] after the existing pair, the new pair is Frozen. If the new pair is for a component that comes before the existing pair's component the existing pair becomes Frozen and the new pair is placed in the Waiting state. etc... Does *that* make sense? > Mmm ... it might be my lack of IETF experience, but aren't references > supposed to happen the other way around? That is, if RTCWEB decides to > use Trickle ICE, then shouldn't RTCWEB documents be referring to this > spec and making whatever normative declarations they find appropriate? Yes, but the draft makes the claim about a WebRTC app that is contacting peers in the same domain. This makes a big assumption: namely, that ALL the other entities in that domain implement trickle ICE. I infer from this that you are assuming that rtcweb is going to make this MUST implement, so that you can at least expect all browsers to implement trickle ICE. That is if you are assuming that the same domain is only using browsers. > Besides, trickle ICE is already in use by XMPP apps and SIP will > probably follow. Why would the RTCWEB usage be referred to and not the > others? SIP may well follow, but that doesn't mean that you can make any assumptions about support. >> In particular, this relates to the decision to require >> signaling of support for trickle ICE outside of SDP (a decision that I >> need to think about a little more). > > Well the idea is that it doesn't really need to be signalling. The > example that we give is about a WebRTC app with no cross domain support. > In this case the WebRTC app can just enable trickle ICE without checking > anything since the remote agent is bound to have it too. Again, it's > just an example. We are not saying this is how it's going to be done for > RTCWEB. You can't send an offer sans candidates and expect it to work. That's part of the reason you are writing this draft, as I understand. Unless you know for certain that the other side implements it. I don't think that this is realistic. Therefore, signaling. > Does this make sense? Not entirely ;)
- [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Martin Thomson
- Re: [MMUSIC] Trickle ICE Christer Holmberg
- Re: [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Christer Holmberg
- Re: [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Martin Thomson
- Re: [MMUSIC] Trickle ICE Martin Thomson
- Re: [MMUSIC] Trickle ICE Christer Holmberg
- Re: [MMUSIC] Trickle ICE Olle E. Johansson
- Re: [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Lishitao
- Re: [MMUSIC] Trickle ICE Christer Holmberg
- Re: [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Christer Holmberg
- Re: [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Martin Thomson
- Re: [MMUSIC] Trickle ICE Martin Thomson
- Re: [MMUSIC] Trickle ICE Christer Holmberg
- Re: [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Christer Holmberg
- Re: [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Emil Ivov
- Re: [MMUSIC] Trickle ICE Martin Thomson
- Re: [MMUSIC] Trickle ICE Bernard Aboba
- Re: [MMUSIC] Trickle ICE Christer Holmberg
- Re: [MMUSIC] Trickle ICE Christer Holmberg
- Re: [MMUSIC] Trickle ICE Olle E. Johansson
- Re: [MMUSIC] Trickle ICE Christer Holmberg