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

Christer Holmberg <christer.holmberg@ericsson.com> Thu, 02 May 2019 10:42 UTC

Return-Path: <christer.holmberg@ericsson.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 D74E212033A for <ice@ietfa.amsl.com>; Thu, 2 May 2019 03:42:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.002
X-Spam-Level:
X-Spam-Status: No, score=-2.002 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, 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=ericsson.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 O3RMpX4uu-6S for <ice@ietfa.amsl.com>; Thu, 2 May 2019 03:42:52 -0700 (PDT)
Received: from EUR02-VE1-obe.outbound.protection.outlook.com (mail-eopbgr20064.outbound.protection.outlook.com [40.107.2.64]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id E0D0A120074 for <ice@ietf.org>; Thu, 2 May 2019 03:42:51 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ericsson.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=c7wG3kdlOY0DlXBhP9s30JOj3/yE/GCWjwzS/cEqTRw=; b=CVIEpdRqt5pPIeof6nYwy4vcdjSQpEGAwEO2I+zcw7dNymA41WOHGI0bHFmYIpSkbdotwWPqaCKsu5DGG/KfaUJkaO3Y0co5/qAcVnuEGOHX2ejKtgRzTDM3RmX2PcddZuTNftITlC8m++RtLeyjHMSCgHxBW6S3k0tFTNMBk/g=
Received: from HE1PR07MB3161.eurprd07.prod.outlook.com (10.170.245.23) by HE1PR07MB4443.eurprd07.prod.outlook.com (20.176.167.148) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1856.7; Thu, 2 May 2019 10:42:48 +0000
Received: from HE1PR07MB3161.eurprd07.prod.outlook.com ([fe80::c999:f848:9abc:d321]) by HE1PR07MB3161.eurprd07.prod.outlook.com ([fe80::c999:f848:9abc:d321%6]) with mapi id 15.20.1856.008; Thu, 2 May 2019 10:42:48 +0000
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Justin Uberti <juberti@google.com>
CC: Roman Shpount <roman@telurix.com>, Nils Ohlmeier <nohlmeier@mozilla.com>, "ice@ietf.org" <ice@ietf.org>
Thread-Topic: [Ice] ICE PAC: When to start the timer waiting for possible peer reflexive candidates?
Thread-Index: AQHU+0CsHVyA1kKNxkeJ+j5BwMef3qZNJFeAgAA9yAD//8/IgIAAFleAgAAtFICAAMN1gIAAVFgAgABZAV2AAAWpgIABXUofgAIe4wCAALbUAIAAV6UAgAFE6oCAADttAIAC7JOA
Date: Thu, 02 May 2019 10:42:48 +0000
Message-ID: <156839B0-C680-4F8F-8D93-8F6B33FB8F01@ericsson.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> <46390078-DE3B-456B-87AC-61AE3C3DF035@ericsson.com> <CAOJ7v-202_STNVj6nLv_0pTTuE_=jn_HJusNERv9Yj7=k=86jg@mail.gmail.com>
In-Reply-To: <CAOJ7v-202_STNVj6nLv_0pTTuE_=jn_HJusNERv9Yj7=k=86jg@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/10.18.0.190414
authentication-results: spf=none (sender IP is ) smtp.mailfrom=christer.holmberg@ericsson.com;
x-originating-ip: [89.166.49.243]
x-ms-publictraffictype: Email
x-ms-office365-filtering-correlation-id: 1ab577a9-8d67-4cc8-6e1f-08d6ceeaeb75
x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600141)(711020)(4605104)(2017052603328)(7193020); SRVR:HE1PR07MB4443;
x-ms-traffictypediagnostic: HE1PR07MB4443:
x-microsoft-antispam-prvs: <HE1PR07MB4443D5E168423605EDEFA40393340@HE1PR07MB4443.eurprd07.prod.outlook.com>
x-ms-oob-tlc-oobclassifiers: OLM:10000;
x-forefront-prvs: 0025434D2D
x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(346002)(396003)(39860400002)(366004)(136003)(376002)(199004)(189003)(6512007)(229853002)(26005)(186003)(66476007)(66556008)(64756008)(66446008)(73956011)(66946007)(76116006)(14454004)(6506007)(102836004)(5660300002)(6916009)(6486002)(33656002)(8936002)(256004)(81166006)(81156014)(2906002)(8676002)(99286004)(82746002)(6436002)(3846002)(6116002)(36756003)(58126008)(305945005)(83716004)(14444005)(68736007)(446003)(66066001)(7736002)(71190400001)(316002)(54906003)(76176011)(71200400001)(44832011)(4326008)(486006)(11346002)(53936002)(2616005)(6246003)(478600001)(86362001)(25786009)(476003); DIR:OUT; SFP:1101; SCL:1; SRVR:HE1PR07MB4443; H:HE1PR07MB3161.eurprd07.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1;
received-spf: None (protection.outlook.com: ericsson.com does not designate permitted sender hosts)
x-ms-exchange-senderadcheck: 1
x-microsoft-antispam-message-info: N3A/yK/LHCHqp2z+vnQa41ziblF8u80jzf8fbOZ/bb7w8L6XRMlV1DNwQUHYAjpK3D82Cmn//sE3QAFEpNCAqC9BYa0k6OWhc0K+h7/F6WI7YdVG03n6ITfAXQp0rQgl77eM37NZnbMtPZlNfzuywPFXJRfQVK/i1S1sB54xftIIaHZfaSjs0eW4JODQ6mqUPaFp5YyodpLR92DipuH+4uoSQCfRnovG9OQmzFG8IczKth5vBlwpfWROKpxZjSbWwv6z3iQUOzZSq2cxputBBplTkSv5f0/8FlU88vtTIpMXE4Z8zZVb7JS4bdp947btUIPp3Dg7Yj/q+yCzaOG43rNi6mn6UrtDCkbgwhxO0qzGNW2+Z7zg5Ok1/6t1uDj+ooZ485B2Y/uMdnda+b5Qn79BMvhIhO2J+3S6TRLwHKc=
Content-Type: text/plain; charset="utf-8"
Content-ID: <1A8A934166DF834E89B3407897674055@eurprd07.prod.outlook.com>
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-OriginatorOrg: ericsson.com
X-MS-Exchange-CrossTenant-Network-Message-Id: 1ab577a9-8d67-4cc8-6e1f-08d6ceeaeb75
X-MS-Exchange-CrossTenant-originalarrivaltime: 02 May 2019 10:42:48.5515 (UTC)
X-MS-Exchange-CrossTenant-fromentityheader: Hosted
X-MS-Exchange-CrossTenant-id: 92e84ceb-fbfd-47ab-be52-080c6b87953f
X-MS-Exchange-CrossTenant-mailboxtype: HOSTED
X-MS-Exchange-Transport-CrossTenantHeadersStamped: HE1PR07MB4443
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/-a1tyRXOk3RNBfyWKZjrBXC9-SA>
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: Thu, 02 May 2019 10:42:55 -0000

Hi,

>>>> 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. 
>
> I guess so, yes.
>
> However, as I said before, I think an agent shall still be allowed to stop earlier, and not be required to wait for peer reflexive candidates, if it already has working pairs.
>
> Sure, this is not a point of contention, but a SHOULD-level directive may make sense here.

If the agent does have working pairs, I think waiting for a additional peer reflexive candidates should only be a MAY. Using working pairs doesn't break anything, and waiting for peer reflexive candidates even if you have working pairs is just going to delay the nomination. But, if an agent only have "bad" working pairs (e.g., relayed) it MAY wait for additional peer reflexive candidates.

What we want to do is to prevent that an agent declares failure too early if it does NOT have working candidates.

...

>> What about starting the timer after the agent has sent its last set of candidates? That would cover both trickle and non-trickle: 
>> in non-trickle there is only one set of candidates, and in trickle it doesn't matter how long it takes to provide all candidates since 
>> the timer doesn’t start until the last set of candidates have been sent?
>
> That's basically the same thing I was proposing in 2), with the clarification that the candidates were also actually transmitted.

Correct.

> I do think Nils' point is important though, i.e., if we have a bad server it will take a very long time to decide on 'last set of candidates', 
> which is probably not helpful. As such I think the potential positions we can take are:
> a) Start the timer as soon as we have an answer, regardless of any candidates.
> b) a) + receipt of at least one remote candidate (or remote EOC). (This is Nils' suggestion).
> c) a) + sending at least one local candidate (or local EOC).
>
> b) has a problem if the remote side doesn't send any candidates, which we want to explicitly allow. 

True.

>I tend to lean towards a) as the simplest option.

Keep in mind that RFC 8445 is generic, so we need to to define what we mean by "answer". I guess it means some kind of indication that makes the agent assume that the remote peer has been contacted. In ice-sip-sdp we can then map that to an SDP answer.

Regards,

Christer