Re: [rtcweb] Proposal to break the ICE impasse

Justin Uberti <> Mon, 28 January 2019 22:51 UTC

Return-Path: <>
Received: from localhost (localhost []) by (Postfix) with ESMTP id 051B4130EE1 for <>; Mon, 28 Jan 2019 14:51:22 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -17.641
X-Spam-Status: No, score=-17.641 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.142, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, ENV_AND_HDR_SPF_MATCH=-0.5, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001, USER_IN_DEF_DKIM_WL=-7.5, USER_IN_DEF_SPF_WL=-7.5] 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 dVbGl_mCZESm for <>; Mon, 28 Jan 2019 14:51:18 -0800 (PST)
Received: from ( [IPv6:2607:f8b0:4864:20::132]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by (Postfix) with ESMTPS id 75CEC130EE4 for <>; Mon, 28 Jan 2019 14:51:18 -0800 (PST)
Received: by with SMTP id z20so1153158itc.3 for <>; Mon, 28 Jan 2019 14:51:18 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=GuYUm0JVrfK/N53JLee1hbUDn/mBBg/UYcP44+dbfBY=; b=o0yDyQbsAgWo/ixQR0N9qo3yp15HUonYJLfNZyvLypvI57q8/l0OA0fQ1YBkl3eCPM 8ADhaLNs5LwjGpGIReJPykwlN/8NmdD2VaGzUhFjmvxpCVxVQRJ7Y56ERHpSoUYMiuBR RXkIIl613xmRpPtf0JVlHi5ZPXpl3H3mBdd4M7c0LADup9vbANJskjko9z/CFc31TvSA kooZanC4zOOcLcIjma3UeDvNTTHNToWXC2FBlZCbGY2OYdszMENv59jZ6cVGgzfPsXfI lUDvtbXyA7BRCzuGD1yaBCy5xpPk4DEGjiVAw6CKWOChq1DOuGKFaOUz8N99EHFRQd8v /v2Q==
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=GuYUm0JVrfK/N53JLee1hbUDn/mBBg/UYcP44+dbfBY=; b=hNla4W7typ2JPj+U30deuVcf/9JogJOM9qx9avn1Q0YyRToR5nYmuh6cNDCEdXY9qm C7OmtyVRE9DMxm9Fsy3Yd5jk6BEhzTDJujoZMw9jtHIhIlSzyEk/mFUQj0BtvikSufzx 2NbD9aa4j0v7bhlVnPkNRQNnBXpkEU8nPTeICQpX40C0jLHsenW4IekGha4DE/SgyHnc /sgzXA77jk/roKDzTHU44gbuskLxoP/0iwEwL2FbIpHL0Qcxa4B15WHme5osOxahnJvT k7SfpBFlQsYgN1wofCb67PBcXAtAXmYZKyS2/wqr4Jhv+/oDlhctSKPCyyAnFGrw0Gmd bfiA==
X-Gm-Message-State: AJcUukf1duEa8sFO2sBCayh79J6rroZFHoxRBrJpt5iU39p7FNKFy6TJ nlUvndJD59jUDOJH1CfnxOqGrpjkiohFxXtW7U5opA==
X-Google-Smtp-Source: ALg8bN4CELb3wF4dKU5mhgMI0Ig9dfvVitlUsUyh4Pe+pt80AAUdeeJ0ioGSjFkMdtUFwOmL8X/cmDgUiImtxbWs+z4=
X-Received: by 2002:a02:94eb:: with SMTP id x98mr14252032jah.88.1548715877276; Mon, 28 Jan 2019 14:51:17 -0800 (PST)
MIME-Version: 1.0
References: <> <> <>
In-Reply-To: <>
From: Justin Uberti <>
Date: Mon, 28 Jan 2019 14:51:05 -0800
Message-ID: <>
To: Christer Holmberg <>
Cc: Eric Rescorla <>, Adam Roach <>, "" <>
Content-Type: multipart/alternative; boundary="000000000000b9e7f705808c83be"
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: Mon, 28 Jan 2019 22:51:22 -0000

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