Re: [rtcweb] [clue] ICE, ICE-bis, and Cluster 238

Cullen Jennings <> Thu, 06 September 2018 20:24 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 72194130EDB for <>; Thu, 6 Sep 2018 13:24:50 -0700 (PDT)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -1.899
X-Spam-Status: No, score=-1.899 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id 7EJyUuYWRDox for <>; Thu, 6 Sep 2018 13:24:48 -0700 (PDT)
Received: from ( []) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by (Postfix) with ESMTPS id C94F0130F1C for <>; Thu, 6 Sep 2018 13:24:47 -0700 (PDT)
Received: from (localhost []) by (SMTP Server) with ESMTP id 0C1A02012C; Thu, 6 Sep 2018 16:24:47 -0400 (EDT)
Received: by (Authenticated sender: with ESMTPSA id 7EFC12058A; Thu, 6 Sep 2018 16:24:46 -0400 (EDT)
Received: from [] ( []) (using TLSv1 with cipher DHE-RSA-AES256-SHA) by (trex/5.7.12); Thu, 06 Sep 2018 16:24:47 -0400
Content-Type: multipart/alternative; boundary="Apple-Mail=_1CAE2495-9FB4-401A-86A6-D79AD3300118"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Cullen Jennings <>
In-Reply-To: <>
Date: Thu, 6 Sep 2018 13:24:45 -0700
Cc: "" <>, RTCWeb IETF <>, "" <>, "" <>
Message-Id: <>
References: <>
To: Applications and Real-Time Area Discussion <>
X-Mailer: Apple Mail (2.3124)
Archived-At: <>
Subject: Re: [rtcweb] [clue] ICE, ICE-bis, and Cluster 238
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Thu, 06 Sep 2018 20:24:51 -0000

I object to this plan. 

It is not merely an issue of which document we point out, and they are all the same. The problem is the timing of 8445 is not clearly interoperable with the timing of 5245. ICE relies on both sides to do sequence things at roughly the same order so that suicided packets open pinholes in the reverse direction at the right time. The changes in timing change how this happens and is a problem for the ICE algorithm. 

This was discussed in the WG, and though not everyone agrees it is a problem or not, no one has ever provided a convincing argument that it is not. This is a very substantial change to the on the wire protocol and at a minimum would need to be reviewed and discussed in the WG not slipped through in Auth 48 during a one week period in the summer while everyone is on vacation. We will also need to change other examples and normative text in drafts like JSEP. 

I would propose that instead of the parts of specs that use the trickle mechanism purely reference that part of the new ICE spec that defines the syntax and say to transfer trickle candidates. 

Cisco has implemented stuff that is WebRTC 1.0 compliant without this change. These gratuitous changes, years after the implementation were coded, with no real benefit will ensure that we are not and will not become compliant with the RFC. It's unlikely we will upgrade to the new ICE until it has real befits. It is doubtful Justin will want to implement the 8445 mechanisms of supporting both new and old ICE. Instead, we will move to say "works with Browser X version Y or later." We have watched at W3C as it moved to be that unless chrome does it, it rare that it becomes a standard.  Right here I am watching how the stuff IETF defines will be less relevant than the issue of what chrome implements. 

> On Aug 22, 2018, at 10:58 AM, Adam Roach <>; wrote:
> 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 <>; <>. Thank you.
> /Adam on behalf of the ART Area Directors
> ____
> [1] <>
> _______________________________________________
> clue mailing list