Re: [Ice] ICE PAC: When to start the timer waiting for possible peer reflexive candidates?

Nils Ohlmeier <nohlmeier@mozilla.com> Mon, 29 April 2019 20:31 UTC

Return-Path: <nohlmeier@mozilla.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 D5C31120151 for <ice@ietfa.amsl.com>; Mon, 29 Apr 2019 13:31:19 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 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, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=mozilla.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 v4nNlIw5tWRZ for <ice@ietfa.amsl.com>; Mon, 29 Apr 2019 13:31:17 -0700 (PDT)
Received: from mail-pg1-x52f.google.com (mail-pg1-x52f.google.com [IPv6:2607:f8b0:4864:20::52f]) (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 2D210120142 for <ice@ietf.org>; Mon, 29 Apr 2019 13:31:17 -0700 (PDT)
Received: by mail-pg1-x52f.google.com with SMTP id l18so5709497pgj.6 for <ice@ietf.org>; Mon, 29 Apr 2019 13:31:17 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=mozilla.com; s=google; h=from:message-id:mime-version:subject:date:in-reply-to:cc:to :references; bh=Hfp00IRroht5c/SUejFQZcUH/Y6PWnjsr7q06ZJMLEs=; b=MoffZEQ3cmZSxiV9kOqdFBvVjAzv2hS4T6VRcKm2OtJ2DDHXfQZXQ2MKlWom2VSKoE L/09ArbHy/o8IqCmJHcNg2yOX57jIj0BM3XQ492zc4kKkbd9OzbQviKmSyEXKbNF5KtJ HTd3DOnVgpbMe7XdU8sspSa9//cyfiw2tgXbk=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:message-id:mime-version:subject:date :in-reply-to:cc:to:references; bh=Hfp00IRroht5c/SUejFQZcUH/Y6PWnjsr7q06ZJMLEs=; b=gONyee54pTZSsRuH+sMTf8K4ZxE0bRdHJyupAww2N4ca7Ph9aUMeTGs8u2nHyzIMsD YWYysBYKE0EfNkGWOmiEX+Z5yjbT0qJzFE3ORNEI0YEjR5+NvYPxOYrFUHvcrxB/a3JV 7lMMQNC9j2yRUAXgRzwFO+XVdqoSXHHKesQJ+7THTCEQy9CrD1I9ngLTOX22qZN+25jm lsgIAlIksGbWjlfolFAw2s6L8Sc0Ck7WzMLe0TAfttmGRuehv197Yjsmmi8STKTFKFgf CxLCnkewUXhwFYexnO+WYZWDCKOFwlP1ndykjgGFixk5xNq2VlcjlbbuehFDSTgrrf+R kXng==
X-Gm-Message-State: APjAAAUeSL3xeoOdFYHx/sDgR0oaOUEbOaxytLl3OicdC0sQ/yDf0mOT PNfdczh85otydA0u2BRkM9xNnA==
X-Google-Smtp-Source: APXvYqwcwfnCOY7hZOyqSDLPvMmTJPkBsg40bzRI4YOFV+6ylhIYmapcBf376MVcpqZPtuE6tLc6IQ==
X-Received: by 2002:aa7:9a9a:: with SMTP id w26mr28522814pfi.116.1556569875627; Mon, 29 Apr 2019 13:31:15 -0700 (PDT)
Received: from [10.252.34.218] (guest-nat.fw1.untrust.mtv2.mozilla.net. [63.245.221.200]) by smtp.gmail.com with ESMTPSA id t24sm45701342pfe.110.2019.04.29.13.31.13 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Mon, 29 Apr 2019 13:31:14 -0700 (PDT)
From: Nils Ohlmeier <nohlmeier@mozilla.com>
Message-Id: <DDCFC753-8B33-4031-89EB-FA8C3C5BE9C6@mozilla.com>
Content-Type: multipart/alternative; boundary="Apple-Mail=_756A8B29-6855-44CF-9E00-E765D4B28F7D"
Mime-Version: 1.0 (Mac OS X Mail 11.5 \(3445.9.1\))
Date: Mon, 29 Apr 2019 13:31:12 -0700
In-Reply-To: <CAOJ7v-3JkrYnWpghusRytVvTn1u7OibL9J3NyVh+ia9neSyuHA@mail.gmail.com>
Cc: Christer Holmberg <christer.holmberg@ericsson.com>, Roman Shpount <roman@telurix.com>, "ice@ietf.org" <ice@ietf.org>
To: Justin Uberti <juberti@google.com>
References: <3A66B735-03C9-41FF-95AD-500B0D469C80@ericsson.com> <CAD5OKxsMgNTQPNP4Ni72H+yD4iUeyNK+x6CSvdBApGnPTpr_vg@mail.gmail.com> <A4EC3C01-4D7D-45DF-876D-E58706F74866@ericsson.com> <CAD5OKxt8tDemkK=v4X1gjwJGLYrxcd95S7uV53_fsga6grZ_rA@mail.gmail.com> <30518269-CA9D-4F50-8CE3-062A01DBCD7F@mozilla.com> <CAD5OKxvmRK8Xzu4FSRv3Lgdg-VrrufzGhjAdSmfcLLkrm-jtjw@mail.gmail.com> <0AD3077C-74FA-4585-942A-375B83B3A7A0@ericsson.com> <CAD5OKxsgpf7Hv_nxFOZFwfNk7-_xNRzmoPTA2bZCqZo3wzudKQ@mail.gmail.com> <HE1PR07MB316172053751D307F83DE0EB933E0@HE1PR07MB3161.eurprd07.prod.outlook.com> <CAD5OKxu332E8vzdc4dt09NxXGf9Cr2izwECDAQjc7V_YDx3r5w@mail.gmail.com> <HE1PR07MB316189447ED302BEC5021946933F0@HE1PR07MB3161.eurprd07.prod.outlook.com> <CAOJ7v-3Dv4N5j0KykxQf-gHQfvJ9x-VzbTTTcdJyfgYgcdYy5A@mail.gmail.com> <HE1PR07MB3161E4496E7BDC5FF419CCE793390@HE1PR07MB3161.eurprd07.prod.outlook.com> <CAOJ7v-3JkrYnWpghusRytVvTn1u7OibL9J3NyVh+ia9neSyuHA@mail.gmail.com>
X-Mailer: Apple Mail (2.3445.9.1)
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/zjFMo2yyYQnDv-PGUacEu7Zybas>
Subject: Re: [Ice] ICE PAC: When to start the timer waiting for possible peer reflexive candidates?
X-BeenThere: ice@ietf.org
X-Mailman-Version: 2.1.29
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: Mon, 29 Apr 2019 20:31:20 -0000


> On Apr 29, 2019, at 11:07, Justin Uberti <juberti@google.com> wrote:
> 
> However, you can have a local candidate long before the remote peer gets it, so starting the timer once you have a candidate sounds strange to me. I think we should at least wait until the agent has sent the agent to the peer. 
> 
> This is an important observation - we don't want to start the timer until we think both us and the peer agent are running ICE processing (e.g., if we just gathered candidates but didn't send an offer, we shouldn't start the timer). I'm not totally sure what you meant above, but one way to ensure we're in the right state would be to start the timer when both of the below are true:
> 1) We have sent or received an answer.
> 2) Local candidate gathering has completed (including the case when zero candidates have been gathered).
> 
> #2 may not be strictly necessary, but gives us more flexibility in trickle cases if gathering takes a very long time (10+ seconds) for some reason.

Just as warning here: the worst case scenario is that a TURN and/or STUN server was provided/configured which is not reachable. In that case local gathering will only end after the STUN transactions to these unreachable servers have timed out, which by default is 32 seconds.

Doesn’t it make more sense to have #2 be something like: have received at least one remote candidate, even it turns out to be in an locally unsupported format, or an end-of-canditates with no candidates provided at all.

This would result though in situations where you never start the timer if you receive an answer SDP, but never any ICE candidate or end-of-candidates. Which to me looks some strange edge case where the remote agent has crashed or otherwise failed to gather anything including end-of-candidates.

Best
  Nils Ohlmeier