Re: [rtcweb] Proposal to break the ICE impasse

Eric Rescorla <ekr@rtfm.com> Wed, 30 January 2019 21:22 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: rtcweb@ietfa.amsl.com
Delivered-To: rtcweb@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 56447130FF0 for <rtcweb@ietfa.amsl.com>; Wed, 30 Jan 2019 13:22:27 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.04
X-Spam-Level:
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: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=rtfm-com.20150623.gappssmtp.com
Received: from mail.ietf.org ([4.31.198.44]) by localhost (ietfa.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ehQ62de9Sjax for <rtcweb@ietfa.amsl.com>; Wed, 30 Jan 2019 13:22:24 -0800 (PST)
Received: from mail-lj1-x22c.google.com (mail-lj1-x22c.google.com [IPv6:2a00:1450:4864:20::22c]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 2AB78130FE6 for <rtcweb@ietf.org>; Wed, 30 Jan 2019 13:22:24 -0800 (PST)
Received: by mail-lj1-x22c.google.com with SMTP id u89-v6so864269lje.1 for <rtcweb@ietf.org>; Wed, 30 Jan 2019 13:22:24 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=rtfm-com.20150623.gappssmtp.com; s=20150623; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=5rzC0C5u0KGf2x/bMpynd2OaUCQgShh9NeF0j/56TkY=; b=gyzAyKuSdVtO+hiw8RFPdFXecNAaJBDgmoGOf+gE28I79plQbA5QL/o0YRMtiO513X zYEU3eYLAeUnUrmpcBrUNJogHEfs9KAQ+lljOdpfZZnRONTeag6RuIFsfxuRf3Q6hSbr kikdZulaJsbWZ93rDfGQQYP9rkCReOvg0ULvN6IMYWShCfS7zQvKheB2XOI0CiRl7pOe 4yURygkuY/5J5TYtHMHzRLNtSTAjAYwyBw9bdQD4/eTkPr7C5deChgOPEXuPV0sF0LK4 RfazfUxjru6JK2Idwon3hcYN8U0nTGLLTMmTonNM8VFeAbaRWpD37rsRGLXjKRk88sp5 +zJQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=5rzC0C5u0KGf2x/bMpynd2OaUCQgShh9NeF0j/56TkY=; b=WGA93w6oc/80Alu/0MdtAJ4qKJzmgzgb/j12I6eoQzrofBj01SESLe9O2MbUZ3nZGs O0FY6ppi95j/yPKg4uZzihbLFz6gHnjVFuw7YIT0CNVIkbfZEzS9p1v17NfHIxwCucMd fTkTBPiegcSDUQPtijP7mKUtSwiGqX11Oej/BazifJHp5xOCDegFXClouo7AjkstnbbS 8tGCcomvwyNxxU5s7rUGuIMjrL8MehLeV+sYbnjycXyTdJhgGhV/5rL0M+r/WyhTtVP/ lENfPuXIAgSRlEbnK0amYTU7PCrJXGAUabaUlxoGoMWpwjd6Kx8nOBi1R+/bqfkQWuo0 qYxA==
X-Gm-Message-State: AJcUukchqdRZYD7fR8gJ2N/wgTxpNLYF/yMg0y7bTvtmtvVSkzuyg9Ps 3lcps2mMVgNRYORwWOhOsMTZzlLvakh/ghCSQDQ/Zw==
X-Google-Smtp-Source: ALg8bN5wuMpXPWNqEkvO+eXFsPLnf63EGZ+/8Mwdu0OZ1t5M3hz67xoCCv4HehKiU6oCj2rFZ3IzbVx2/sU6CsR4sik=
X-Received: by 2002:a2e:9dcb:: with SMTP id x11-v6mr22576318ljj.158.1548883342260; Wed, 30 Jan 2019 13:22:22 -0800 (PST)
MIME-Version: 1.0
References: <97ed2641-8a7e-19a9-be38-a3458ca9212e@nostrum.com> <CABcZeBP9t0SgsHAuENo99D6ffKd7Mw0Xs1vzUCOzSS=WJN5z8A@mail.gmail.com> <HE1PR07MB3161B0F1D2B5AC9DA72DDFAD93950@HE1PR07MB3161.eurprd07.prod.outlook.com> <CAOJ7v-3KHi0TUDsQvG6qq-qeNGBsqLxg+NC1c+Nxvgy0ks0d0g@mail.gmail.com> <CABcZeBNL=sWFfh=zwiuib80HPsno=GzF18gU+z3DrCZTK_PquA@mail.gmail.com> <CA+9kkMDh56CeXRGNSk_r-HrLkDNT5DnYc_FguXOdeccfq=LEMA@mail.gmail.com> <CABcZeBPboLf0bLUDTyJArxsPYSnUrULArmsZ9YshQCX+rEvexA@mail.gmail.com> <CA+9kkMCwCBHWEEADxVHT2ZbvWEi=bUBJ22icKHpA2p8Kg1fF9A@mail.gmail.com> <CALiegfnpj+Pu0Hg05iqHXCwhTefxn_Em7gTnzOXK897fzcyuwg@mail.gmail.com> <CAD5OKxvmQHT3TAt_=xCd_JKnPzXfnc=Mej-mr6KMsaKVoBkuSg@mail.gmail.com> <CALiegfm_jtv1bV3Ok6j20hkim8e6QxMYPrbbHejqoHnCHjMXpA@mail.gmail.com> <CAD5OKxsMWEE39O6hSc+UFjwTAa=z1A+XD5X2BY=Q7PEUdYE4UA@mail.gmail.com> <961E55AE-2072-4145-8BCF-62D67C6D150F@mozilla.com> <CAD5OKxuwhmAPvonV1rX1rN6yi08-4NPH1BOzVuJPUMEntnpRkw@mail.gmail.com> <CALiegfmZ_DSe7EFw48C6HoQ+bUReom4r0TTMf4wRG6UyAbgX2w@mail.gmail.com> <CAD5OKxvm_U=Tgvmxfi8hqiR=8tB_ueQtUSJJV5NLcVL8dBdHtw@mail.gmail.com> <CALiegfm1y_p3wDoXeckSw2BQ61gGYh4c9A7a=p0vi=BnWGoU4A@mail.gmail.com> <CAD5OKxvyDNm68_A1WVEyvsU52Jua+vHbrMpZJ0v0s7reP00OLQ@mail.gmail.com> <CABcZeBMi9nmue+Sw0+2Cf+Bs1NQE6cV-Ld+_9gMTDvbrWH_nfQ@mail.gmail.com> <DE1476DB-7B7F-4883-A670-C645773BC546@ericsson.com>
In-Reply-To: <DE1476DB-7B7F-4883-A670-C645773BC546@ericsson.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Wed, 30 Jan 2019 13:21:44 -0800
Message-ID: <CABcZeBM57KdEpH5UEOJuf8L9cMz5QmddKKPyuL1eJLLjLAe9Lw@mail.gmail.com>
To: Christer Holmberg <christer.holmberg@ericsson.com>
Cc: Roman Shpount <roman@telurix.com>, RTCWeb IETF <rtcweb@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000006a0d250580b38106"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/IaemNMH9uQlVD56QVlkla5hb3Nw>
Subject: Re: [rtcweb] Proposal to break the ICE impasse
X-BeenThere: rtcweb@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: Real-Time Communication in WEB-browsers working group list <rtcweb.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/rtcweb/>
List-Post: <mailto:rtcweb@ietf.org>
List-Help: <mailto:rtcweb-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/rtcweb>, <mailto:rtcweb-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 30 Jan 2019 21:22:27 -0000

On Wed, Jan 30, 2019 at 6:21 AM Christer Holmberg <
christer.holmberg@ericsson.com> wrote:

> Hi,
>
> >>> I understand your point. But still I don't understand the purpose of
> the new draft (set TCP/DTLS/etc in proto line if there are just TCP
> candidates in the offer).
> >>
> >> The purpose is standard compliance. If nominated candidate is UDP,
> proto line should be UDP. If nominated candidate is TCP, proto line should
> be TCP.
> >> If you do not care about the c= and m= line, put the dummy values and
> UDP there, but this breaks legacy interop by causing ICE mismatch.
> >>
> >> This is two separate statements that don't necessarily follow form each
> other
> >>
> >>1. This is a matter of standards compliance.
> >>2. It breaks legacy interop
> >
> >I agree on point (1). I'm still waiting for someone to demonstrate point
> (2)
>
> There are networks where nodes (not always SBCs) use the c/m- information
> to control network resources (e.g., radio bandwidth). Whether UDP vs TCP
> will have a major impact I don't know, but the point is that the c/m-
> information IS used.
>

> Whether the WG has agreed that the c/m- information is "meaningless" in
> the JSEP API I don't know, but it for sure is not "meaningless" on the wire.
>

We're talking solely about the format field in this discussion, and the
whole import of the decision have a fixed field was that in fact we agreed
it was meaningless.

-Ekr


> Regards,
>
> Christer
>
>
>
>
>
>
>
>
>
> Putting UDP proto and address from TCP candidate breaks legacy interop as
> well, but it is typically localized to provider managed server, so it is
> possible to patch around this either in JS client or on the server to treat
> WebRTC clients differently. Alternatively, WebRTC clients can add a couple
> lines of code and become compliant with the RFC they decided to implement
> and remove the need for patching.
>
> Of course, if browser follow the ICE spec and set the selected candidate
> in the c/m lines, they must also indicate whether that is over UDP or TCP.
> The problem here is what such a proto line is intended to mean when there
> is ICE candidates of UDP and TCP. But ok, let's assume that browser do
> update c/m lines in the trigger with the selected candidate, and they JUST
> change the proto line to TCP/DTLS if there are just TCP candidates. Now
> thing about this scenario:
>
> 1) Client initial offer with UDP and TCP candidates.
>
> 2) Server answers with both UDP and TCP candidates.
>
> 3.1) UDP is selected. Re-offer is created with just UDP candidates (as per
> spec).
>
> 3.2) or TCP is selected. Re-offer is created with just TCP candidates (as
> per specs).
>
> In both 3.1 and 3.2 the "monitoring Node" doesn't need to inspect the
> proto line. It can just check the protocol (UDP or TCP) of *any* candidate
> in the offer to know whether UDP or TCP was selected.
>
> Am I wrong?
>
> You are correct. Checking c= and m= line is simply to avoid checking and
> parsing ICE candidates. If monitoring client would handle ICE candidates,
> then the monitoring client would still need to figure out which candidate
> is default to record client media IP.. Keeping c= and m= line in sync with
> default candidate on the client seemed to cause the least amount of
> problems which is why it was left in ice-sip-sdp.
>
> Regards,
> _____________
> Roman Shpount
>
> _______________________________________________
> rtcweb mailing list
> mailto:rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>
>