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

Justin Uberti <juberti@google.com> Mon, 29 April 2019 18:08 UTC

Return-Path: <juberti@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 BA780120096 for <ice@ietfa.amsl.com>; Mon, 29 Apr 2019 11:08:11 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -17.5
X-Spam-Level:
X-Spam-Status: No, score=-17.5 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] 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 QiDT9iEfkS50 for <ice@ietfa.amsl.com>; Mon, 29 Apr 2019 11:08:09 -0700 (PDT)
Received: from mail-io1-xd30.google.com (mail-io1-xd30.google.com [IPv6:2607:f8b0:4864:20::d30]) (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 E590D1205D3 for <ice@ietf.org>; Mon, 29 Apr 2019 11:08:08 -0700 (PDT)
Received: by mail-io1-xd30.google.com with SMTP id r71so9770376iod.11 for <ice@ietf.org>; Mon, 29 Apr 2019 11:08:08 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=AZFYQbyMFlqDtRGVkOg1sJN8+pkIspVd/N7+RYbIhWk=; b=elStJc5uW0b1G3egCisRhTQ0S2aPj9fyJNGgTadLE4RcdZG1BwvPOpg1CJGHwaQJPO i6y/UrHy7XdSb+5NyW+yPSH+mNjjZ8ZxogpsxJbowLIAzM1V0JJp2nK+gMsMHY6k2OoW 9ei42Vm0xmwT3hwkyL/aspzUQdCuz6DlqVI0RaB/TXsNS/K/nCVBOexvIvtaLdsFIbZP OufRvN9YpKpnaREU62isaFrPHqsELXCg9+m8hBRoQb/XIJT88ZnfWVO+6BpQmqXoavCB THWSZ4Lcaklf3TjCNXdsUAhthm43jf62S8sImaN60j6ORLDMBcixyx/BtcKXfEYgSb7G 3I5g==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=AZFYQbyMFlqDtRGVkOg1sJN8+pkIspVd/N7+RYbIhWk=; b=Dtg3OHadkJKBufVUQUOxJHHckAMIvz4gkmu+v2pLWw3c07uvGGGrww+U4sNeLDOle3 XM6WC79m2AKU+HQP1a2pqhH3tzOgkURgunLN819o6Za+Dok4wF6EB7GObliFIvK5R2jZ ZtaEdPltNZGASIxGSzuzuqlRhcMv2bxzEYGQiF6bSqz1sR1jqBSrvteGhU7ojtVevdxl VnP6ooyg7j5fmFbn7MDXT4+waNnQQFzFf0IEHJloU371rVpimA7d2p1u1jrtdbROt+5w nKm8Uayujz5pre6DI2NYERYw8YTsIzGVX0HKR/G40NBQjEbltfHz1i5nCikd6EcUurbD Zpmg==
X-Gm-Message-State: APjAAAV7SZVNOsZppQuVlbFlM5Gub/tAZIYOzQInPWi7nr1CX8r0+kg/ XLOIlnzWZezO0VO2w4FWSRUnt9FXn0vCuZuoB09wO9TigR8=
X-Google-Smtp-Source: APXvYqwIqL5mUglgvCEsIKAlYOi14BVDDnD+4OQvSaf4bHy9zo+JdTGgvphp0+JOcDRJB8PjSyORpcAhJmXWC1q+pMY=
X-Received: by 2002:a05:6602:55:: with SMTP id z21mr25709905ioz.101.1556561287694; Mon, 29 Apr 2019 11:08:07 -0700 (PDT)
MIME-Version: 1.0
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>
In-Reply-To: <HE1PR07MB3161E4496E7BDC5FF419CCE793390@HE1PR07MB3161.eurprd07.prod.outlook.com>
From: Justin Uberti <juberti@google.com>
Date: Mon, 29 Apr 2019 11:07:56 -0700
Message-ID: <CAOJ7v-3JkrYnWpghusRytVvTn1u7OibL9J3NyVh+ia9neSyuHA@mail.gmail.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Cc: Roman Shpount <roman@telurix.com>, Nils Ohlmeier <nohlmeier@mozilla.com>, "ice@ietf.org" <ice@ietf.org>
Content-Type: multipart/alternative; boundary="000000000000a023660587af2a4c"
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/7dUivkdZbs_h5ptxui1XHDINBiY>
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 18:08:12 -0000

On Mon, Apr 29, 2019 at 6:01 AM Christer Holmberg <
christer.holmberg@ericsson.com> wrote:

> Hi,
>
>
> In a non-trickle case, I think it would be very strange if the agent
> didn’t get any candidates front the peer agent.
>
>
> >I have just sent a message to the mmusic list regarding ice-sip-sdp and
> offers with >no candidates. There is nothing that technically prohibits it
> in RFC 5245, so I >thought it makes sense to add a note which explicitly
> allows it in ice-sip-sdp.
> >
> >There is a valid use case for this, when client is behind NAT and it
> would only >communicate with a server on public address. In such cases,
> client does not need >to collect any candidates and simply send the offer.
> Once it gets the answer from >the server with the public address, client
> can send a STUN bind request to server >address using a local socket not
> bound to any address, which will use default >route. There are multiple
> benefits for implementing it this way, one of which >would be client
> privacy.
>
> One option would then be to say that PAC only applies when an agent
> actually has received some candidates from its peer.
>
> If an agent does NOT receive any candidates from the peer, it knows that
> the only  candidates it will get are peer reflexive ones, and how long the
> agent waits for those is an implementation issue.
>
> >Not sure that makes sense, that directly contradicts one of the examples
> >in the actual PAC document.
> >
> >Overall I think the Firefox approach makes the most sense - the PAC timer
> >starts when you have either a local or remote candidate.
>
> That would mean that PAC becomes a the-maximum-time-to-run-ICE timer. If
> that's what people want, fine.
>

Maybe this is what you meant, but I think it's a "minimum-time-to-run-ICE"
timer.

>
> 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.