[Ice] Trickle ICE review

Peter Thatcher <pthatcher@google.com> Sun, 26 March 2017 03:09 UTC

Return-Path: <pthatcher@google.com>
X-Original-To: ice@ietfa.amsl.com
Delivered-To: ice@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 740031294D4 for <ice@ietfa.amsl.com>; Sat, 25 Mar 2017 20:09:46 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.001
X-Spam-Level:
X-Spam-Status: No, score=-2.001 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, RP_MATCHES_RCVD=-0.001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=google.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id bKjiNTIqgpMc for <ice@ietfa.amsl.com>; Sat, 25 Mar 2017 20:09:45 -0700 (PDT)
Received: from mail-qt0-x230.google.com (mail-qt0-x230.google.com [IPv6:2607:f8b0:400d:c0d::230]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id C36E91293E9 for <ice@ietf.org>; Sat, 25 Mar 2017 20:09:44 -0700 (PDT)
Received: by mail-qt0-x230.google.com with SMTP id n21so16515845qta.1 for <ice@ietf.org>; Sat, 25 Mar 2017 20:09:44 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:from:date:message-id:subject:to; bh=Xi6s7oj1vtTqanFocC2iaYqEiY8QA+cVDW4AGUsM45A=; b=vzf7yuOI5UTk+GzlOOG+UsNrgCO1jDosl1VZM70KSAvwCl5rrJhA7AG0rjH/M6Gd/4 ImfYO3g9ubc1f3/cvdhPf5DfLpykVFM4eVS06Ke7/+/Rzmdd8nMZR06fPsusY6Ndxxw0 gNyiNKDxsjfitNIPzjnZOy5+UXtp2Q0XfnP+y4m90kyTNt0rHRXgJTHQnVpjwbS/LGr5 BgAkUcGtgn9842/u2KZHNop2RwtcHcJ6Dnt3IzQmBRmOFGNX3CjosuH2L6gdS5H808lc 9ILhC2cCOGTXGtOFThQF4nY1gdT5+rHEnUzS4VpdSt82Xiv6qz2AhgEqDn43sK/6jlra GOYQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to; bh=Xi6s7oj1vtTqanFocC2iaYqEiY8QA+cVDW4AGUsM45A=; b=os+qwo4li/q04D4Do+XQsmKJgL2QemQqk/7nBNr21IzdaV66ZT9bGuNdQREKKCNO42 GdzhcXfuqmZg2CVjIRiDAcTSCEZ8pSloNAlrpqhaHr9Pc/+46l4GIa183Q5WOIeZFOPj HtBvwCl2B9e5CWQlnMGhafELkxZlMr4vcvIOczrML8WFTFP7ci63dXt3MuOIq3I8xIG4 Fc3ubTLA4SEXkR8RcgmpN2LmLvXZF64FaOc5PoNJ8jGt2CeH2F3TYrIlm5AHTknDXE37 SQMDgbi6NWwMsLHCo8r5iYowT2/SKJM/JAj6JeHQ6COm97L/8lTLtkTk7R8kkiizjEY+ 4XoA==
X-Gm-Message-State: AFeK/H3udtIvc/kLzg1x47GKuFkUrMdcdizZQClNIK42Jgux3us2kEP8pcrrO8/bUHf4xLL/LOTUEAfXteW4pUgW
X-Received: by 10.200.53.150 with SMTP id k22mr14285636qtb.154.1490497783654; Sat, 25 Mar 2017 20:09:43 -0700 (PDT)
MIME-Version: 1.0
From: Peter Thatcher <pthatcher@google.com>
Date: Sun, 26 Mar 2017 03:09:33 +0000
Message-ID: <CAJrXDUHzNT3v5oMPBQu5_OsXwonY7cogDQgTt5QPxN0=6DWQkQ@mail.gmail.com>
To: "ice@ietf.org" <ice@ietf.org>
Content-Type: multipart/alternative; boundary="001a113e2c0cef479e054b998eb3"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/CrfaMZV8V7yGISZ9-ZeMErS1Olk>
Subject: [Ice] Trickle ICE review
X-BeenThere: ice@ietf.org
X-Mailman-Version: 2.1.22
Precedence: list
List-Id: "Interactive Connectivity Establishment \(ICE\)" <ice.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/ice>, <mailto:ice-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/ice/>
List-Post: <mailto:ice@ietf.org>
List-Help: <mailto:ice-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/ice>, <mailto:ice-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sun, 26 Mar 2017 03:09:46 -0000

Ari and I reviewed the latest Trickle ICE draft in preparation for going to
WGLC and found a few more things worth considering fixing:

- Some minor editorial issues that have separately been sent to the authors.

- The name "ICE negotiation session" with definition of "A virtual session
..." is confusing.   I understand that we need a word for "period between
restarts" and "period across restarts".  But what does "virtual" mean in
this context?  And what does "negotiation" mean in "ICE negotiation
session"?  Here's a possible suggestion: call it "single-exchange session".
  A single-exchange session is the period from a single exchange of ICE
description until the next exchange.  A "normal" ICE session is basically a
multi-exchange session.

- In the phrase " A Trickle ICE agent MUST NOT pair a local candidate until
it has been trickled to the remote agent.", what does "has been trickled"
mean?  That it's been sent on the network?  When it's been acked by the
remote side?  When it is in queue such that it will later be put on the
network?  It seems really hard to pin down an appropriate time when
something "has been trickled".  And then in a WebRTC context, the app might
never signal a candidate (in a client->server use case).  What then?   And
it's not clear to me why this is even useful.   Can we just remove it?  Or
is there something important here?

- The paragraph "Note: So that both agents will have the same view of
candidate priorities, it is important to replacing existing pairs with
seemingly equivalent higher-priority ones and to always update
peer-reflexive candidates if equivalent alternatives are received through
signaling." seems duplicate with other parts in the doc.  Do we even need
this paragraph?

- "Either agent MAY generate a subsequent ICE description at any time
allowed by RFC3264".  This causes ICE to be dependent on SDP, which we were
trying to avoid.  Was this just one place where we missed removing a
dependency on SDP?  I would suggest removing it or replacing it with the
phrase "Either agent MAY generate subsequent ICE descriptions at any time",
unless there is a clear time when an ICE agent cannot (and I can't think of
one).


As soon as these are resolved, we believe we can go to WGLC.