Subject: [Ice] I-D Action: draft-ietf-ice-trickle-12.txt

From: [email-masked]
Date: Tue, 27 Jun 2017 09:00:06 -0700

A New Internet-Draft is available from the on-line Internet-Drafts directories.
This draft is a work item of the Interactive Connectivity Establishment of the IETF.

        Title           : Trickle ICE: Incremental Provisioning of Candidates for the Interactive Connectivity Establishment (ICE) Protocol
        Authors         : Emil Ivov
                          Eric Rescorla
                          Justin Uberti
                          Peter Saint-Andre
	Filename        : draft-ietf-ice-trickle-12.txt
	Pages           : 31
	Date            : 2017-06-27

Abstract:
   This document describes "Trickle ICE", an extension to the
   Interactive Connectivity Establishment (ICE) protocol that enables
   ICE agents to send and receive candidates incrementally rather than
   exchanging complete lists.  With such incremental provisioning, ICE
   agents can begin connectivity checks while they are still gathering
   candidates and considerably shorten the time necessary for ICE
   processing to complete.

The IETF datatracker status page for this draft is:
https://datatracker.ietf.org/doc/draft-ietf-ice-trickle/

There are also htmlized versions available at:
https://tools.ietf.org/html/draft-ietf-ice-trickle-12
https://datatracker.ietf.org/doc/html/draft-ietf-ice-trickle-12

A diff from the previous version is available at:
https://www.ietf.org/rfcdiff?url2=draft-ietf-ice-trickle-12

Please note that it may take a couple of minutes from the time of submission
until the htmlized version and diff are available at tools.ietf.org.

Internet-Drafts are also available by anonymous FTP at:
ftp://ftp.ietf.org/internet-drafts/

---

From: Peter Saint-Andre <[email-masked]>
Date: Tue, 27 Jun 2017 10:00:55 -0600

This version addresses feedback received during WGLC.

On 6/27/17 10:00 AM, [email-masked] wrote:
> _______________________________________________
> Ice mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/ice
>

---

From: Taylor Brandstetter <[email-masked]>
Date: Wed, 28 Jun 2017 00:57:46 -0700

>
>    Then, as the checks proceed (see Section 6.2.5.4 of [rfc5245bis <https://tools.ietf.org/html/draft-ietf-ice-trickle-12#ref-rfc5245bis>]),
>    for each pair that enters the Succeeded state (denoted here by "S"),
>    the agent will unfreeze all pairs for all media streams with the same
>    foundation (e.g., if the pair in column 1, row 1 succeeds then the
>    agent will unfreeze the pair in column 1, row 2).
>
>
Sorry to keep nitpicking about this section... But since this changed from
"the same media stream" to "all media streams", "pair in column 1, row 2"
should be replaced with "pairs in column 1, rows 2, 3 and 4".

>    ICE also specifies
>    that, if all the pairs in a media stream for one foundation are
>    unfrozen (e.g., column 1, rows 1 and 2 representing both components
>    for the audio stream), then all of the candidate pairs in the entire
>    column are unfrozen (e.g., column 1, rows 3 and 4).
>
>
This isn't true any more. RFC5245bis appears to only have two rules about
unfreezing now:

   1. If a pair succeeds, everything with the same foundation is unfrozen.
   2. If Ta fires for a checklist, and its whole row is frozen, every cell
   that's part of a column that's completely frozen is unfrozen (enforced by
   section 5.1.4.2, step 2). This is still pretty weird, but at least not as
   complex as the "for each component" rule before.

#2 isn't called out. Should it be?

On Tue, Jun 27, 2017 at 9:00 AM, Peter Saint-Andre <[email-masked]>
wrote:

> >         Title           : Trickle ICE: Incremental Provisioning of
> Candidates for the Interactive Connectivity Establishment (ICE) Protocol
> >         Authors         : Emil Ivov
> >                           Eric Rescorla
> >                           Justin Uberti
> >                           Peter Saint-Andre

---

From: Christer Holmberg <[email-masked]>
Date: Wed, 28 Jun 2017 17:08:08 +0000

Hi,

…

>This isn't true any more. RFC5245bis appears to only have two rules about unfreezing now:
> 2. If Ta fires for a checklist, and its whole row is frozen, every cell that's part of a column that's completely 
> frozen is unfrozen (enforced by section 5.1.4.2, step 2).

Note that 2) only happens if there is no pair(s) for the same foundation in Waiting/In-Progress state.

Maybe that's what you meant, but in your reply I sounded like it always happens if the whole row is frozen :)

Regards,

Christer

 This is still pretty weird, but at least not as complex 
> as the "for each component" rule before.

On Tue, Jun 27, 2017 at 9:00 AM, Peter Saint-Andre <[email-masked]> wrote:
This version addresses feedback received during WGLC.

---

From: Peter Saint-Andre <[email-masked]>
Date: Wed, 28 Jun 2017 17:00:47 -0600

On 6/28/17 1:57 AM, Taylor Brandstetter wrote:
>        Then, as the checks proceed (see Section 6.2.5.4 of [rfc5245bis
>     <https://tools.ietf.org/html/draft-ietf-ice-trickle-12#ref-rfc5245bis>]),
> Sorry to keep nitpicking about this section... But since this changed
> from "the same media stream" to "all media streams", "pair in column 1,
> row 2" should be replaced with "pairs in column 1, rows 2, 3 and 4".

Good catch, will fix.

>     that's part of a column that's completely frozen is unfrozen
>     (enforced by section 5.1.4.2, step 2). This is still pretty weird,
>     but at least not as complex as the "for each component" rule before.
> 

I'll let you and Christer decide on what's right here. ;-)

Peter

---

From: Christer Holmberg <[email-masked]>
Date: Thu, 29 Jun 2017 05:17:47 +0000

Hi,

In general, when the spec says "ICE specifies", it would be good with a reference to the section in 5245bis.

Regards,

Christer

Sent from my iPhone

> On 29 Jun 2017, at 1.00, Peter Saint-Andre <[email-masked]> wrote:
>

---

From: Taylor Brandstetter <[email-masked]>
Date: Thu, 29 Jun 2017 03:59:51 -0700

> in Waiting/In-Progress state.

That's the "whole column is also frozen" part. But you only enter that step
in the first place if there are Frozen pairs in the checklist and no
Waiting pairs, which is the "whole row is frozen" part. I think we're on
the same page, I was just oversimplifying things a bit.