Subject: [Ice] ICE, ICE-bis, and Cluster 238

From: Adam Roach <[email-masked]>
Date: Wed, 22 Aug 2018 12:58:50 -0500

Members of the ART community interested in real-time communications:

Cluster 238 [1] is a set of inter-related documents dealing with 
real-time communications. The bulk of these documents relate to WebRTC, 
either directly or indirectly. They also form the underpinnings of CLUE. 
As of now, there are 34 documents in the cluster that are not yet 
published, with 25 of these already in the RFC Editor's queue. The 
dependency graph among these documents is such that the bulk of them can 
be published as soon as a specific six of them are handed off to the RFC 
editor, and we expect this to happen in the upcoming few months.

One long-running complication for this cluster of documents is that each 
of the documents were developed over the course of seven years, in 
concert with implementations, while the ICE protocol itself was 
undergoing significant revision. As a consequence, some documents rely 
(directly or indirectly) on the older ICE specification (RFC 5245), 
while some rely on the newer one (RFC 8445). In some cases, documents 
refer directly to the old version and transitively to the new version.

It is noteworthy that RFC 8445 obsoletes RFC 5245; and that the 
mechanism described in RFC 8445 has some  changes that break backwards 
compatibility with the mechanism defined in RFC 5245 (with such 
behavioral changes controlled by an SDP attribute, allowing clients to 
transition from one to the other).

Most notably, draft-ietf-rtcweb-jsep (which is the core WebRTC protocol 
in the IETF) refers to directly to RFC 5245, while relying on the 
behavior defined in draft-ietf-ice-trickle; draft-ietf-ice-trickle, in 
turn, is based on the newer RFC 8445 handling. JSEP's reference to RFC 
5245 is a practical consideration that acknowledges that current 
deployments of WebRTC implement the older version of ICE. At the same 
time, these deployed implementations use a somewhat older version of 
draft-ietf-ice-trickle in concert with the older ICE implementation.

In order to get Cluster 238 published, we need to find some way to 
rationalize its references to ICE. At a basic level, the ART Area 
Directors do not believe that it makes sense to publish new documents 
that refer to an already obsoleted RFC. At the same time, we recognize 
that there is value in our specifications being informed by running 
code. For WebRTC, the complexity of the system has led us to a point 
that we must choose between these principles. Our proposal is to choose 
the first, while acknowledging the second.

This would result in a request to the RFC editor to update all 
references to RFC 5245 in the Cluster 238 documents to instead point to 
RFC 8445. Documents not yet in the RFC editor queue would be updated 
prior to IESG review. We would further request that the RFC editor add 
the following text to draft-ietf-rtcweb-overview and draft-ietf-rtcweb-jsep:

> While this specification formally relies on [RFC8445], at the time of 
> its publication, the majority of WebRTC implementations support the 
> version of ICE described in [RFC5245], and use a pre-standard version 
> of the trickle ice mechanism described in [RFCXXXX]. The use of the 
> "ice2" attribute defined in [RFC8445] can be used to detect the 
> version in use by a remote endpoint and to provide a smooth transition 
> from the older specification to the newer one. 
RFC 8445 would be a normative reference for both documents, while RFC 
5245 would be informative.

There is one more minor complication, in that 
draft-ietf-mmusic-sdp-mux-attributes (which currently points to RFC 
5245) is intended to be an exhaustive list of the SDP attributes defined 
in the documents it lists, and RFC 8445 adds a new "ice2" attribute that 
was not present in RFC 5245. For this reason, we would also ask the RFC 
Editor to add a new row to the table in 
draft-ietf-mmusic-sdp-mux-attributes section 5.12, as follows:

>     +-------------------+---------------------------+-------+-----------+
>     | Name              | Notes                     | Level | Mux       |
>     |                   |                           |       | Category  |
>     +-------------------+---------------------------+-------+-----------+
>     | ice2              | Not Impacted              | S     | NORMAL    |
>     |                   |                           |       |           |
>     +-------------------+---------------------------+-------+-----------+

For clarity, the affected documents are as follows.

The following documents would be updated to reference RFC 8445 prior to 
IESG evaluation:

  * draft-ietf-clue-datachannel
  * draft-ietf-clue-signaling
  * draft-ietf-rtcweb-security
  * draft-ietf-rtcweb-security-arch

The following documents would be updated to reference RFC 8445 by the 
RFC Editor:

  * draft-ietf-mmusic-mux-exclusive
  * draft-ietf-mmusic-sctp-sdp
  * draft-ietf-rtcweb-alpn
  * draft-ietf-rtcweb-data-channel
  * draft-ietf-rtcweb-rtp-usage

The following documents would be updated to reference RFC 8445 and have 
the text proposed above added to them:

  * draft-ietf-rtcweb-jsep
  * draft-ietf-rtcweb-overview

The following document would be updated to reference RFC 8445 by the RFC 
Editor, and include a new row for "ice2" in its Section 5.12, as 
described above:

  * draft-ietf-mmusic-sdp-mux-attributes

This message is cross-posted to the affected working groups. Because the 
issue at hand has impact across several different groups, we ask that 
all follow-up discussion take place on <[email-masked]>. Thank you.

/Adam on behalf of the ART Area Directors

____
[1] https://www.rfc-editor.org/cluster_info.php?cid=C238

---

From: Christer Holmberg <[email-masked]>
Date: Wed, 22 Aug 2018 18:09:05 +0000

Hi,

I guess that it shouldn’t come as a surprise that I support Adam’s suggestion, to update all references to RFC 8445.

In addition to the drafts listed by Adam, the examples in the rtcweb-sdp-examples draft would also have to be updated (I sent an e-mail about that not too long ago).

Regards,

Christer

From: Ice [mailto:[email-masked]] On Behalf Of Adam Roach
Sent: 22 August 2018 20:59
To: Applications and Real-Time Area Discussion <[email-masked]>
Cc: [email-masked]; [email-masked]; [email-masked]; [email-masked]
Subject: [Ice] ICE, ICE-bis, and Cluster 238

Cluster 238 [1] is a set of inter-related documents dealing with real-time communications. The bulk of these documents relate to WebRTC, either directly or indirectly. They also form the underpinnings of CLUE. As of now, there are 34 documents in the cluster that are not yet published, with 25 of these already in the RFC Editor's queue. The dependency graph among these documents is such that the bulk of them can be published as soon as a specific six of them are handed off to the RFC editor, and we expect this to happen in the upcoming few months.

One long-running complication for this cluster of documents is that each of the documents were developed over the course of seven years, in concert with implementations, while the ICE protocol itself was undergoing significant revision. As a consequence, some documents rely (directly or indirectly) on the older ICE specification (RFC 5245), while some rely on the newer one (RFC 8445). In some cases, documents refer directly to the old version and transitively to the new version.

It is noteworthy that RFC 8445 obsoletes RFC 5245; and that the mechanism described in RFC 8445 has some  changes that break backwards compatibility with the mechanism defined in RFC 5245 (with such behavioral changes controlled by an SDP attribute, allowing clients to transition from one to the other).

Most notably, draft-ietf-rtcweb-jsep (which is the core WebRTC protocol in the IETF) refers to directly to RFC 5245, while relying on the behavior defined in draft-ietf-ice-trickle; draft-ietf-ice-trickle, in turn, is based on the newer RFC 8445 handling. JSEP's reference to RFC 5245 is a practical consideration that acknowledges that current deployments of WebRTC implement the older version of ICE. At the same time, these deployed implementations use a somewhat older version of draft-ietf-ice-trickle in concert with the older ICE implementation.

In order to get Cluster 238 published, we need to find some way to rationalize its references to ICE. At a basic level, the ART Area Directors do not believe that it makes sense to publish new documents that refer to an already obsoleted RFC. At the same time, we recognize that there is value in our specifications being informed by running code. For WebRTC, the complexity of the system has led us to a point that we must choose between these principles. Our proposal is to choose the first, while acknowledging the second.

This would result in a request to the RFC editor to update all references to RFC 5245 in the Cluster 238 documents to instead point to RFC 8445. Documents not yet in the RFC editor queue would be updated prior to IESG review. We would further request that the RFC editor add the following text to draft-ietf-rtcweb-overview and draft-ietf-rtcweb-jsep:
While this specification formally relies on [RFC8445], at the time of its publication, the majority of WebRTC implementations support the version of ICE described in [RFC5245], and use a pre-standard version of the trickle ice mechanism described in [RFCXXXX]. The use of the "ice2" attribute defined in [RFC8445] can be used to detect the version in use by a remote endpoint and to provide a smooth transition from the older specification to the newer one.
RFC 8445 would be a normative reference for both documents, while RFC 5245 would be informative.

There is one more minor complication, in that draft-ietf-mmusic-sdp-mux-attributes (which currently points to RFC 5245) is intended to be an exhaustive list of the SDP attributes defined in the documents it lists, and RFC 8445 adds a new "ice2" attribute that was not present in RFC 5245. For this reason, we would also ask the RFC Editor to add a new row to the table in draft-ietf-mmusic-sdp-mux-attributes section 5.12, as follows:

   |                   |                           |       | Category  |

   |                   |                           |       |           |

The following documents would be updated to reference RFC 8445 prior to IESG evaluation:

The following documents would be updated to reference RFC 8445 by the RFC Editor:

The following documents would be updated to reference RFC 8445 and have the text proposed above added to them:

  *   draft-ietf-rtcweb-jsep

The following document would be updated to reference RFC 8445 by the RFC Editor, and include a new row for "ice2" in its Section 5.12, as described above:

This message is cross-posted to the affected working groups. Because the issue at hand has impact across several different groups, we ask that all follow-up discussion take place on <[email-masked]><mailto:[email-masked]>. Thank you.

____

---

From: "Charles Eckel (eckelcu)" <[email-masked]>
Date: Wed, 22 Aug 2018 20:53:13 +0000

If I understand the proposal correctly, https://tools.ietf.org/html/draft-ietf-bfcpbis-rfc4582bis-16#ref-17 should be added to the list of drafts to be updated as well.

Cheers,
Charles

From: art <[email-masked]> on behalf of Adam Roach <[email-masked]>
Reply-To: Applications and Real-Time Area Discussion <[email-masked]>
Date: Wednesday, August 22, 2018 at 10:59 AM
To: Applications and Real-Time Area Discussion <[email-masked]>
Cc: "[email-masked]" <[email-masked]>, "[email-masked]" <[email-masked]>, "[email-masked]" <[email-masked]>, "[email-masked]" <[email-masked]>
Subject: [art] ICE, ICE-bis, and Cluster 238

   |                   |                           |       | Category  |

   |                   |                           |       |           |

The following documents would be updated to reference RFC 8445 prior to IESG evaluation:
·         draft-ietf-clue-datachannel
·         draft-ietf-clue-signaling
·         draft-ietf-rtcweb-security
·         draft-ietf-rtcweb-security-arch

The following documents would be updated to reference RFC 8445 by the RFC Editor:
·         draft-ietf-mmusic-mux-exclusive
·         draft-ietf-mmusic-sctp-sdp
·         draft-ietf-rtcweb-alpn
·         draft-ietf-rtcweb-data-channel
·         draft-ietf-rtcweb-rtp-usage

The following documents would be updated to reference RFC 8445 and have the text proposed above added to them:
·         draft-ietf-rtcweb-jsep
·         draft-ietf-rtcweb-overview

The following document would be updated to reference RFC 8445 by the RFC Editor, and include a new row for "ice2" in its Section 5.12, as described above:
·         draft-ietf-mmusic-sdp-mux-attributes

____

---

From: Harald Alvestrand <[email-masked]>
Date: Sat, 25 Aug 2018 18:42:37 +0200

Speaking as editor of -overview and -transport, I support this approach.

(-transport already references ice-bis, now 8445).

On 08/22/2018 07:58 PM, Adam Roach wrote:
> real-time communications. The bulk of these documents relate to
> WebRTC, either directly or indirectly. They also form the
> underpinnings of CLUE. As of now, there are 34 documents in the
> cluster that are not yet published, with 25 of these already in the
> RFC Editor's queue. The dependency graph among these documents is such
> that the bulk of them can be published as soon as a specific six of
> them are handed off to the RFC editor, and we expect this to happen in
> the upcoming few months.
>
> One long-running complication for this cluster of documents is that
> each of the documents were developed over the course of seven years,
> in concert with implementations, while the ICE protocol itself was
> Most notably, draft-ietf-rtcweb-jsep (which is the core WebRTC
> protocol in the IETF) refers to directly to RFC 5245, while relying on
> the behavior defined in draft-ietf-ice-trickle;
> draft-ietf-ice-trickle, in turn, is based on the newer RFC 8445
> handling. JSEP's reference to RFC 5245 is a practical consideration
> that acknowledges that current deployments of WebRTC implement the
> older version of ICE. At the same time, these deployed implementations
> use a somewhat older version of draft-ietf-ice-trickle in concert with
> the older ICE implementation.
>
> that we must choose between these principles. Our proposal is to
> choose the first, while acknowledging the second.
>
> references to RFC 5245 in the Cluster 238 documents to instead point
> to RFC 8445. Documents not yet in the RFC editor queue would be
> updated prior to IESG review. We would further request that the RFC
> editor add the following text to draft-ietf-rtcweb-overview and
> draft-ietf-rtcweb-jsep:
>
>> version in use by a remote endpoint and to provide a smooth
>> transition from the older specification to the newer one. 
> 5245) is intended to be an exhaustive list of the SDP attributes
> defined in the documents it lists, and RFC 8445 adds a new "ice2"
> attribute that was not present in RFC 5245. For this reason, we would
> also ask the RFC Editor to add a new row to the table in
> The following documents would be updated to reference RFC 8445 and
> have the text proposed above added to them:
>
>   * draft-ietf-rtcweb-jsep
> The following document would be updated to reference RFC 8445 by the
> RFC Editor, and include a new row for "ice2" in its Section 5.12, as
> described above:
>
> This message is cross-posted to the affected working groups. Because
> the issue at hand has impact across several different groups, we ask
> that all follow-up discussion take place on <[email-masked]>. Thank you.
>
> _______________________________________________
> clue mailing list
> [email-masked]
> https://www.ietf.org/mailman/listinfo/clue

-- 
Surveillance is pervasive. Go Dark.

---

From: Adam Roach <[email-masked]>
Date: Wed, 29 Aug 2018 13:12:31 -0500

It's been a week; so far there have been no objections to this plan, and 
several messages in support. I plan to consult with the other ART ADs to 
evaluate consensus on this proposal next week, and take appropriate 
action. If you have thoughts to share, please send them to the ART 
mailing list before September 5th.

Thanks!

/a