Re: [rtcweb] Proposal to break the ICE impasse

Eric Rescorla <> Tue, 29 January 2019 00:36 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 28F8A126C7E for <>; Mon, 28 Jan 2019 16:36:10 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -2.04
X-Spam-Status: No, score=-2.04 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.142, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: (amavisd-new); dkim=pass (2048-bit key)
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id eNZClCskA6ot for <>; Mon, 28 Jan 2019 16:36:06 -0800 (PST)
Received: from ( [IPv6:2a00:1450:4864:20::22a]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 5D206124BF6 for <>; Mon, 28 Jan 2019 16:36:06 -0800 (PST)
Received: by with SMTP id c19-v6so15938221lja.5 for <>; Mon, 28 Jan 2019 16:36:06 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=HadwHJuHQPaPDxfeRuL7uscRWjd8jVqWEwxE1+nG4GE=; b=y2dbUggnn7/2MKZyktwqLubTeoG2nkyLIFnn8pc685v9AAZqn+eTFfIORNPJEhemcw oqJqrhO7G+WH8tfHlSwTM2UH2yjxZGxdMgxbl2XhJJuXiZ9oKLCvZUuIIUgRiQxUrCmN PBzS3FaFcXJBZBtzHSlNa4x2BysDXLjZTzxVFWjnopnc6Pe92QN8fMnBjGBZ7s8AmxXe SisEbhlUzB/oMjio7HSV+QUyUOqqI4ZhyI1XBSconu+dgWz3UgGxTpn+Ecf0TMSDWe5a m7siq/RtAGIsA+Qu9b3KldoYnx9E4YqogC659dBjRPYbfpRCwfhsjSlfcVsoTwzChETn cqVA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=HadwHJuHQPaPDxfeRuL7uscRWjd8jVqWEwxE1+nG4GE=; b=ptElfVhcTAfsemsFsSrSUM4qy4BBUCk+pfqRz8XxgPW3Z4EclnvYYB6cM7ukLXPfc3 aPX6s2gu3ddMF1vVDtFVd/OpfnZIGNwXw0J0NudGJqjsQZPuR4i9yC/sw22NwOmYiPan kYqGe8hlS0MBZfUcsT9nhXeCXnV3IUJJRMAglJvK+GqT3kYHGQCuP2tpuG5W0c9pbTVG Nz8mLsR/mkYJ3/E+S5UCdy3/Zs7i7VEeIMjtfgbpnJ8o+WwPZm1kImFlCy8mJXsv8Ieb nD0bIGAVQo0vopLupqkef21kbgycey9Fcmu64+BuzehwB8nzzA79YACItpqZzy1F+nO4 e7uA==
X-Gm-Message-State: AJcUukenzaQJ+rYXszCuSLhiifynjLj1zj/ERFnyvGPvUTxV28MXqbbA sEb4lGngQN2+8h+i/khMErmnnJF6bqvpOyLhoNGneA==
X-Google-Smtp-Source: ALg8bN6QH63PHpLUlEWFD7tWNmHyT6/XAoNFWUWiW1jcPNnGQeMGj+yq20JM1PX5xH2mrPlSjxxOZa7QXgvbn1dRloQ=
X-Received: by 2002:a2e:e02:: with SMTP id 2-v6mr18882629ljo.10.1548722164463; Mon, 28 Jan 2019 16:36:04 -0800 (PST)
MIME-Version: 1.0
References: <> <> <> <>
In-Reply-To: <>
From: Eric Rescorla <>
Date: Mon, 28 Jan 2019 16:35:26 -0800
Message-ID: <>
To: Justin Uberti <>
Cc: Christer Holmberg <>, Adam Roach <>, "" <>
Content-Type: multipart/alternative; boundary="000000000000781a2c05808dfad4"
Archived-At: <>
Subject: Re: [rtcweb] Proposal to break the ICE impasse
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: Tue, 29 Jan 2019 00:36:10 -0000

If we assume that this is a real problem as opposed to a specification
problem, then I agree this is reasonable. However, so far nobody has shown
me that this is a real problem, and until that this happens, I'm not in

On Mon, Jan 28, 2019 at 2:51 PM Justin Uberti <> wrote:

> Posted as a stab at a
> consensus. This basically says that the offerer fills in either UDP/TLS/foo
> or TCP/DTLS/foo based on the current default or selected candidate, in
> accordance with sip-sdp. As Adam mentioned before, this shouldn't have any
> impact on JSEP functionality.
> If this looks good, I'll polish it up.
> On Sun, Jan 27, 2019 at 3:22 AM Christer Holmberg <
>> wrote:
>> Hi,
>> > I'm not yet persuaded this is needed. The alleged need here is that
>> there are some ICE-implementing endpoints which will choke if
>> > they see a profile that doesn't match any actual candidate. I recognize
>> that this is required by 5245, but that doesn't mean anyone
>> > ever did it. Can you please point me to a client which would
>> interoperate with a WebRTC endpoint with this change that would not
>> > if you just always sent the same profile as JSEP currently requires.
>> I don't think it is ok to *specify* that discarding a MUST is ok as long
>> as nobody can show an implementation that would break by doing so.
>> Having said that, in order to prevent an RTCWEB shutdown I am generally
>> ok with Adam's approach. I would like my pull request comments to be
>> addressed, though, that is related to separation between the JSEP API and
>> an application using it: an application should be allowed to act according
>> to 5245/draft-ice-sdp and update the c/m line if it wishes to, but due to
>> the way the JSEP API works such applications might sometimes always include
>> the same value in the c/m- line.
>> I also think it shall be explicitly written that JSEP does not update
>> 5245/draft-ice-sdp, but rather deviates when it comes to the c/m- line.
>> Regards,
>> Christer
>> On Thu, Jan 24, 2019 at 11:12 AM Adam Roach <> wrote:
>> Based on conversations in MMUSIC, as well as several offline
>> conversations with interested parties, I've put together a proposed
>> change to JSEP that, if accepted, will allow publication of the Cluster
>> 238 documents to move forward.
>> Note that this new text has no impact on existing implementations (at
>> least, as far as I am able to discern), which do not currently have the
>> capability of producing media sections consisting of exclusively TCP
>> candidates. From that perspective, the change makes existing
>> implementations no less compliant with JSEP than they were before.
>> What this change does provide is both on-paper and in-the-future
>> compatibility between WebRTC implementations once they finalize TCP
>> candidate handling (and candidate handling in general for mid-session
>> offers).
>> The key insight here is that JSEP's use of ICE completely discards any
>> meaning associated with the transport parameter, while SIP's use of ICE
>> does not. The trivial change that I propose, which bears only on future
>> WebRTC implementations -- that is, which has no as-built specification
>> to point to -- allows JSEP to continue to ignore the value of the
>> transport parameter, while specifying that it says the right thing for
>> SIP implementations to function properly.
>> /a
>> _______________________________________________
>> rtcweb mailing list
>> _______________________________________________
>> rtcweb mailing list