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

Harald Alvestrand <harald@alvestrand.no> Sat, 06 July 2019 07:28 UTC

Return-Path: <harald@alvestrand.no>
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 74B361201F1 for <ice@ietfa.amsl.com>; Sat, 6 Jul 2019 00:28:12 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.896
X-Spam-Level:
X-Spam-Status: No, score=-1.896 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, SPF_NONE=0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
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 n59rtWvmB5Ui for <ice@ietfa.amsl.com>; Sat, 6 Jul 2019 00:28:07 -0700 (PDT)
Received: from mork.alvestrand.no (mork.alvestrand.no [IPv6:2001:700:1:2::117]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id DCD4D120088 for <ice@ietf.org>; Sat, 6 Jul 2019 00:28:06 -0700 (PDT)
Received: from localhost (localhost [127.0.0.1]) by mork.alvestrand.no (Postfix) with ESMTP id 88AF47C3625 for <ice@ietf.org>; Sat, 6 Jul 2019 09:28:04 +0200 (CEST)
X-Virus-Scanned: Debian amavisd-new at alvestrand.no
Received: from mork.alvestrand.no ([127.0.0.1]) by localhost (mork.alvestrand.no [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Quv_KvPxhfkO for <ice@ietf.org>; Sat, 6 Jul 2019 09:28:00 +0200 (CEST)
Received: from [192.168.8.108] (46.66.146.252.tmi.telenormobil.no [46.66.146.252]) by mork.alvestrand.no (Postfix) with ESMTPSA id CFCD27C361D for <ice@ietf.org>; Sat, 6 Jul 2019 09:27:59 +0200 (CEST)
To: ice@ietf.org
References: <AFCE8799-8865-454F-8478-81CE11E9B454@ericsson.com> <1aa5aac7-af59-4e3b-8651-18f6e6431a2d@alvestrand.no> <66678ADA-7C02-4D9D-B9D2-308873BC0125@ericsson.com> <7a829bc0-d066-a3be-b7be-9b39ce799821@alvestrand.no> <CAJrXDUHZJURLvzBYX2MGcMsrFgyOagW5=s1OSXwDmTZpsruD0A@mail.gmail.com> <VI1PR07MB3167F21EF7A1009B8EB9948B93FB0@VI1PR07MB3167.eurprd07.prod.outlook.com>
From: Harald Alvestrand <harald@alvestrand.no>
Openpgp: preference=signencrypt
Autocrypt: addr=harald@alvestrand.no; prefer-encrypt=mutual; keydata= mQINBFRpbhYBEADXu8uE7LDQgrEB/zclYiwWRb50FnuJjIdK5Q7t68tSxx+LU8HTfxwOgHo9 vMyQvntoRBOHQZDJzvdAnZj/7vtl9RDfWvhUz+o9jSMyORzrt0kiW2QNICVkOkc0ZbI14Rn8 EjFRinK5m5+PXrng3PwZgK+sQJ1nzUxjE9oGTWClsAEqJw62z7JmzNqaEwAyHoHAZ1JAptSP ak91dUxjueJ2R+rFUBl6ParRZ2de7QKr3rN5Jbu/ikjHsAeTSo0R0BPKbzU23tXXxQ/dADvM V/PZp3hRFmXT7x05Q82O6k6hsGd5fJToBDRrlsC3jwWWhDhFhsWcdYKxFbYUsJVetPrWDtD4 6sjrbsQ+7kWRYgQWvL2EJ0s7QGpLxitopoISUEt0MlCcJhq7ZxiWhGnwM3GgADn+9W+aqwuk Y1tlUbdw0qdHyU0WM0k/yPd/eOghk3PLtlOizg4Q22VqfzNRXd3pwUmVjPYHQS0PwIjzuTEI em03qlVeJ8xn0X9W90E8PEnxZmREZBI90qCcUrxWOywEcLq21eLXurRzwnbY3oi6NxmSedcL xDWFdrVTHfPNNqh8zqXV/z9Ezz+7kSwgRygpG5+/sHfFq/YivoSHJdkL8xDzlNiqYCs8EL4A ipQWlKIuFH1F/pXLmXZlcDExw6aTlAP2rR+rw4Lc7kENZlMMMwARAQABtC9IYXJhbGQgQWx2 ZXN0cmFuZCAoMjAxNCkgPGhhcmFsZEBhbHZlc3RyYW5kLm5vPokCPgQTAQIAKAUCVO3uHAIb IwUJCWYBgAYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQawFW3omifDRKiA/+KtWpGwNa EaMMjxuVhdvMkQ6cS362iWydVbha03TBf/7HM380nO+2/t4S0kiSRtX89bY9lvrjS5oHd0tZ qS14vwBn8ZKbZl+k/NRiFlNNxhBx1PDRni1lfh/lU4xJraKI17h2h9mVJbMGk0kFuLqDUwMc 18mZZcfJEeUxSVUCndFMab4LQWSvRaqcwGrpDXuCxmWzMxtRjZzS2vkNX0oiBO7/NuEdQZL8 /CM3/GTqEd6kqY5Rkddvhr21KqhDyNT0NYRLgQ4yToTRDeXrHkjDD8cIQJhOHSNm6/3tuHB1 Bunxg1If3oEZxZirTGiuNZfBUAuXXJa//wEqhS+28/iQc6RE4bQXh2TyqtHs1mn3VDeKqbp7 lp31FfQ6GVGUaVfKfhg6UPSeczHTKWG3vX5UL7SOLXyaSniuYDkPIV/YR46GFPNhSsQ9YccU 5zAbn8ZhyONwO7524WjhIHgITiPVnCiSIHQKOw0S3+Ns0/5TIUgEc6+M97vsJTxTOqKfPthj xkHckF7VUFzu9ee6IMupJJp1wxVjpPQpJTjUG2aDnWk+E2OArulIjHER2dj0DEiOuqjjwTQH CKfrsWUMIs6TJ9jIKEfOSVOz5opGKLimQaOJ8Y1NYZKOy7fyJjofcC+dkAIpYBRzQTdDXm0A 4eryQBqLSpRldX4rvnU77i2/ryG5Ag0EVGluFgEQAK2r1cmzqfJzOIielYx4OGVWlh3TmGdI mPgYI8yx/W8Uyvwknto7Qm5HaBBy9/33usNiovygYLFr7X5U/+ynXClkpAHaPOzS+bMCybpd UsS9Yq/jPmyq0Tlqn6b1tjSjFwysTiUVRS6nHufRlHQEOyxlYAjmePfjJI85g9J3iOa3eY87 +YSlF/rzhPrlvW0yD1YBGBmtuDdRnd4qSof8pcVmiN91QylbnTO5+/VtQtZydk2couaBHkf+ h0eDlJLB7igJ6Ks0ae2UoUNOBv2F1roQ1jZC8yMPScXygmjsoBSuTUirHatyR7AUiCHNymB+ EdhK4Vl+ZVHdCY9l269g5ocw0y6BZofHpqhE9K3RGBWQjWKTXuOk1fVjLfAum3wQqztYEhlD uKZgfEn7reDuzBq4cqzUe7CI6lZwCU7DnA0Dz2vBaqBhrZb7eKfTqmXddNm/dXmPn1nB554N fxWoxb3L8fHXwLgJiBgxLM6OYhJM51PxwW1qoQM1ax6gu+H101uEE4ZZq+s7c301HqwFwGMi SMmn1oJ7/+OquMkYHjeVAhxRE6blcRH2cmqxFSrpHsHgpXMVyWgTZRZsMmQathzCTUWKf5hC EOzwb4rp/UvU1LUHo1uPqbBafW62VB+iUaFp/zOg69Wo8/Z6urM5m+ldiWTbx+ivxKlPQDEA 332dABEBAAGJAiUEGAECAA8FAlRpbhYCGwwFCQlmAYAACgkQawFW3omifDRKhg//eHcjvxcA ENNe66f5R3ULi5pMbrHGLMGirVX9pHTRf5+5OFaGr8bwXeYkCHpptpxr2Kk/PUzpUWOL2uvL lh7QhPw3+GoEWubXOAgHiQW5iIzkA9wYw/nctZ+5veHN7InVqJ7djhtTN7K9Luj4nDR1T7Vf 61zpCKLlEW6W5MAp4slRVzRiFfaMfMYkxLm6MBxC961j8Lrqx2XNMGugaYh1QzcFYTbFmGKX 5SY4EQsETiB0PeE3IBVtXfiabrk8YX2IuL9BrEgD6GngXTd78hUMnZeqjvnS772bjRgwLCz7 Hab6hQESrFCNXfxzb39y5DLHwXtB/HruYqVD48XvPnNV0UNsWcS+7rtPFMmkd3MTvoAOWjkV zeQHpvF71IlwWginXbkf9aR/QsAbMIQDZWhsd+ma67V6g6KH41r6mNXAgK2JlA1CqgblM7iB hl01vL0V5bkbInZq2sB505Hn1DSc4NoP2WHlwe8Bm8vVG5oyfyPw9ReS9WLVY9w7fK4EKOgk VnOsIQuE0WIPT0Ak+hJ0UigOduuCX7s7NIVaOgWQe1q4Xytgj1RHjg9qlA6eQiTUrAx7Mu7s eliWCFuWsQXoaktVEDjoWVbP9dgozanL5kwWh/sJNtHVQbgu3IG4w8D3QvvOE83+jAdzgOzv pqHJkrqlWu+R9ZqBucZLqjQvQZk=
Message-ID: <ae88593c-633f-8c18-eac6-82ba3673dce7@alvestrand.no>
Date: Sat, 06 Jul 2019 09:27:59 +0200
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:60.0) Gecko/20100101 Thunderbird/60.7.1
MIME-Version: 1.0
In-Reply-To: <VI1PR07MB3167F21EF7A1009B8EB9948B93FB0@VI1PR07MB3167.eurprd07.prod.outlook.com>
Content-Type: multipart/alternative; boundary="------------36F1C44D4D0DBA2244BE4AA2"
Content-Language: en-GB
Archived-At: <https://mailarchive.ietf.org/arch/msg/ice/HxaDQCMOHprWdBrsr4KbMZ23Gjo>
Subject: Re: [Ice] ICE PAC: When to start the timer waiting for possible peer reflexive candidates? - discussion restart
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: Sat, 06 Jul 2019 07:28:13 -0000

On 7/3/19 10:02 PM, Christer Holmberg wrote:
>
> So, what timer value do people want?
>
Any number significantly larger than zero will improve the current
situation. I think 30.5 seconds was mentioned - that's a fine number to me.

>  
>
> And, assuming the timer value is not going to be based on the number
> of streams, what do we do if the timer expires before we have tested
> all pairs for all streams? I think we need to specify that.
>

Exactly what we do today.

If I interpret the situation correctly, the timer is to catch the state
when we don't have remote candidates to try, so if the timer expires
while we have remote candidates to try, we will just go on trying them;
if the timer expires when we have no remote candidates, we go to
"failed" state, exactly as we do today.


>  
>
> Regards,
>
>  
>
> Christer
>
>  
>
> *From:*Peter Thatcher <pthatcher@google.com>
> *Sent:* 02 July 2019 03:56
> *To:* Harald Alvestrand <harald@alvestrand.no>
> *Cc:* Christer Holmberg <christer.holmberg@ericsson.com>; Justin
> Uberti <juberti@google.com>; Nils Ohlmeier <nohlmeier@mozilla.com>;
> Roman Shpount <roman@telurix.com>; ice@ietf.org
> *Subject:* Re: [Ice] ICE PAC: When to start the timer waiting for
> possible peer reflexive candidates? - discussion restart
>
>  
>
> I agree.  The options you present seem reasonable and I think we
> should move ahead with them.
>
>  
>
> On Mon, Jun 24, 2019 at 6:20 AM Harald Alvestrand
> <harald@alvestrand.no <mailto:harald@alvestrand.no>> wrote:
>
>     On 6/24/19 12:06 PM, Christer Holmberg wrote:
>
>         Hi,
>
>          
>
>         Go for what? 😊
>
>     I was noting the month of silence, and thinking that I should
>     encoruage a decision to be taken - "analysis paralysis" is not a
>     good thing!
>
>          
>
>         Regarding 1), eventhough it’s not my personal preference to
>         start the timer when the first offer/answer is sent, I could
>         live with it.
>
>      
>
>     It's a well defined time, and is observable by the entity that has
>     to act when the timer expires, so I think it is much better than
>     "undefined".
>
>     That's my requirement :-)
>
>      
>
>          
>
>         Regarding 2), however, I would really like some input on
>         whether the duration should be independent of the number of
>         streams, components etc.
>
>     I think having a single number is preferable to having a complex
>     number that could change over time (for instance, if we don't
>     reset the timer when adding streams, then adding or removing
>     streams after the timer started will lead to hard-to-define behavior).
>
>      
>
>     But my main concern is that we get this stuff done and get the
>     basic timer mechanism into interoperable code - having a spec to
>     implement from now is better than having a spec that has had
>     slightly more discussion, but no fundamental changes, 6 months
>     from now.
>
>      
>
>          
>
>         Regards,
>
>          
>
>         Christer
>
>          
>
>         *From: *Harald Alvestrand <harald@alvestrand.no>
>         <mailto:harald@alvestrand.no>
>         *Date: *Sunday, 23 June 2019 at 9.08
>         *To: *Christer Holmberg <christer.holmberg@ericsson.com>
>         <mailto:christer.holmberg@ericsson.com>, Justin Uberti
>         <juberti@google.com> <mailto:juberti@google.com>, Nils
>         Ohlmeier <nohlmeier@mozilla.com> <mailto:nohlmeier@mozilla.com>
>         *Cc: *Roman Shpount <roman@telurix.com>
>         <mailto:roman@telurix.com>, "ice@ietf.org"
>         <mailto:ice@ietf.org> <ice@ietf.org> <mailto:ice@ietf.org>
>         *Subject: *Re: [Ice] ICE PAC: When to start the timer waiting
>         for possible peer reflexive candidates? - discussion restart
>
>          
>
>         On 5/28/19 1:54 PM, Christer Holmberg wrote:
>
>             Hi,
>
>              
>
>             We need to move forward with this.
>
>              
>
>             There are two main questions at the moment:
>
>              
>
>              1. When does an endpoint start the timer
>                 ("minimum-time-to-run-ICE" timer, based on previous
>                 discussions)?
>              2. What is the duration of the timer?
>
>              
>
>             Regarding 1), my understanding is that people suggest
>             alternative c), which starts the timer when an endpoint
>             has sent (in an offer or answer) at least one local
>             candidate (or EOC).
>
>              
>
>              
>
>             Regarding 2), it has been suggested that the duration
>             would be the same as the max duration of a connectivity
>             check transaction. Do we think that is enough, no matter
>             how many media streams and components are used?
>
>          
>
>         Go for it. It is much better than having nothing.
>
>          
>
>              
>
>             Regards,
>
>              
>
>             Christer
>
>              
>
>              
>
>              
>
>              
>
>              
>
>              
>
>              
>
>              
>
>              
>
>             *From: *Ice <ice-bounces@ietf.org>
>             <mailto:ice-bounces@ietf.org> on behalf of Christer
>             Holmberg <christer.holmberg@ericsson.com>
>             <mailto:christer.holmberg@ericsson.com>
>             *Date: *Friday, 3 May 2019 at 15.02
>             *To: *Justin Uberti <juberti@google.com>
>             <mailto:juberti@google.com>, Nils Ohlmeier
>             <nohlmeier@mozilla.com> <mailto:nohlmeier@mozilla.com>
>             *Cc: *Roman Shpount <roman@telurix.com>
>             <mailto:roman@telurix.com>, "ice@ietf.org"
>             <mailto:ice@ietf.org> <ice@ietf.org> <mailto:ice@ietf.org>
>             *Subject: *Re: [Ice] ICE PAC: When to start the timer
>             waiting for possible peer reflexive candidates?
>
>              
>
>             Hi,
>
>              
>
>             I don’t think there will be any interoperability issues.
>             At the end of the day PAC is only about how long to wait
>             for candidates, so the worse thing that can happen is than
>             an agent declares ICE failure too early.
>
>              
>
>             And, no matter whether an agent knows that the peer
>             supports PAC or not,  it should aim at sending it’s
>             candidates to its peer as soon as possible, depending on
>             whatever local policies. The agent should not delay
>             sending candidates just because it assumes that the peer
>             will anyway wait for them.
>
>              
>
>             Regards,
>
>              
>
>             Christer
>
>              
>
>             *From: *Justin Uberti <juberti@google.com>
>             <mailto:juberti@google.com>
>             *Date: *Thursday, 2 May 2019 at 22.28
>             *To: *Nils Ohlmeier <nohlmeier@mozilla.com>
>             <mailto:nohlmeier@mozilla.com>
>             *Cc: *Christer Holmberg <christer.holmberg@ericsson.com>
>             <mailto:christer.holmberg@ericsson.com>, Roman Shpount
>             <roman@telurix.com> <mailto:roman@telurix.com>,
>             "ice@ietf.org" <mailto:ice@ietf.org> <ice@ietf.org>
>             <mailto:ice@ietf.org>
>             *Subject: *Re: [Ice] ICE PAC: When to start the timer
>             waiting for possible peer reflexive candidates?
>
>              
>
>              
>
>              
>
>             On Thu, May 2, 2019 at 12:22 PM Nils Ohlmeier
>             <nohlmeier@mozilla.com <mailto:nohlmeier@mozilla.com>> wrote:
>
>                  
>
>
>
>
>                     On May 2, 2019, at 12:13, Justin Uberti
>                     <juberti@google.com <mailto:juberti@google.com>>
>                     wrote:
>
>                      
>
>                      
>
>                      
>
>                     On Thu, May 2, 2019 at 10:07 AM Nils Ohlmeier
>                     <nohlmeier@mozilla.com
>                     <mailto:nohlmeier@mozilla.com>> wrote:
>
>
>                         >> 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).
>
>                         As we are mostly concerned about the remote
>                         side: 1) not providing us with candidates, or
>                         2) providing us with unusable candidates or 3)
>                         providing us with candidates really late I
>                         don’t see how option c) would help in any of
>                         these scenarios.
>                         From my point of view we should choose either
>                         a) or b).
>
>                      
>
>                     c) is just a clarification of a), in that you
>                     can't expect to receive prflx candidates until
>                     you've at least provided the other side with a
>                     candidate, so that may be the right time for the
>                     timer to start. I don't feel super strongly about
>                     this though. 
>
>                  
>
>                 Ok. I hadn’t looked at it from that angle. So c) being
>                 a stronger a) I guess it would be okay.
>
>                  
>
>                 I guess my only concern is that in Firefox we stopped
>                 doing a) because it caused to many problems. With that
>                 in mind would it cause interop problems if we leave up
>                 to the implementor to choose to implement either b) or c)?
>
>              
>
>             I'd be fine with that, but I'd want to describe what to
>             watch out for. Can you explain a bit more? 
>
>
>
>
>
>                         >> b) has a problem if the remote side doesn't
>                         send any candidates, which we want to
>                         explicitly allow.
>                         >
>                         > True. 
>
>                         Just to make sure we are all on the same page:
>                         b) is only a problem in the scenario where the
>                         remote side doesn’t send any candidates but
>                         also does not send EOC. 
>
>
>                         The EOC should allow agents which explicitly
>                         don’t want to provide candidate to get the
>                         timer started soon.
>                         I think that leaves us with scenarios where
>                         the remote doesn’t provide host candidates,
>                         and it’s reflexive or relay candidates take
>                         for ever because of slow servers.
>
>                      
>
>                     Correct, but we can't control which endpoints will
>                     send us an EOC or not. So that will always be a
>                     possibility. 
>
>                  
>
>                 Fair enough.
>
>
>
>
>
>                         >> 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.
>
>                         Good point. We basically treat the SDP answer
>                         here to be something like an beginning of ICE,
>                         because we don’t have an explicit signal for
>                         that. I think in SDP based worlds there is no
>                         need for an extra signal like that. Not sure
>                         if other use cases of ICE would benefit from
>                         an explicit begin signal.
>
>                      
>
>                     The answer in some ways is an explicit begin
>                     signal, because it contains the username/password
>                     information needed to start ICE checks. 
>
>                  
>
>                 Yeah I didn’t see your reply before hitting send on
>                 mine. Using the availability sounds like a good idea
>                 as the minimum gating function/signal.
>
>                  
>
>                 Best
>
>                   Nils
>
>                  
>
>              
>
>             _______________________________________________
>
>             Ice mailing list
>
>             Ice@ietf.org <mailto:Ice@ietf.org>
>
>             https://www.ietf.org/mailman/listinfo/ice
>
>          
>
>         -- 
>
>         Surveillance is pervasive. Go Dark.
>
>      
>
>     -- 
>
>     Surveillance is pervasive. Go Dark.
>
>     _______________________________________________
>     Ice mailing list
>     Ice@ietf.org <mailto:Ice@ietf.org>
>     https://www.ietf.org/mailman/listinfo/ice
>
>
> _______________________________________________
> Ice mailing list
> Ice@ietf.org
> https://www.ietf.org/mailman/listinfo/ice


-- 
Surveillance is pervasive. Go Dark.