Re: [rtcweb] Proposal to break the ICE impasse

Eric Rescorla <ekr@rtfm.com> Tue, 29 January 2019 21:53 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 0F78F130DE3 for <rtcweb@ietfa.amsl.com>; Tue, 29 Jan 2019 13:53:26 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2.041
X-Spam-Level:
X-Spam-Status: No, score=-2.041 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] 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 QEghcw53ixLj for <rtcweb@ietfa.amsl.com>; Tue, 29 Jan 2019 13:53:24 -0800 (PST)
Received: from mail-lj1-x231.google.com (mail-lj1-x231.google.com [IPv6:2a00:1450:4864:20::231]) (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 CA683130DC9 for <rtcweb@ietf.org>; Tue, 29 Jan 2019 13:53:23 -0800 (PST)
Received: by mail-lj1-x231.google.com with SMTP id s5-v6so18845870ljd.12 for <rtcweb@ietf.org>; Tue, 29 Jan 2019 13:53:23 -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=pQdJKpwH+UEDTSYRZDw7zs+NLGIYi6Lz0IoURVPPXLg=; b=P2DK9/KHo2NFdz7TibeRgKIGr+UGanTGmVGgygzxa2DNy3fQYcOInqvhZJQiXIgG+w uA6erO1YIq21Mfe3lp4VoVgxGakpsKKsxFRlblQCkmVcxOdnSxcm2pySiIhYI7UfcIal RUvxAWK1hn+vskT/5K/5AvSsyFmb0aJgWdp9ppt4eElIvVZR1wWf9//plN3GUItgSqtK T0+TdYuG5ZSZl6KfLcML+ch7aXniT2wr0NKL7+L/PfAKKMxZ5RX0HsbP1EPUqWdv3pbC QvGN/TE5uUL82wLKPkUfw+PhGYKx21Ulhu+0PEPmpXkj/rtJ4ifBfUklKgBCLlJvA5DM tIdQ==
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=pQdJKpwH+UEDTSYRZDw7zs+NLGIYi6Lz0IoURVPPXLg=; b=AzD0s1aglPnkfgTC6Ltj0GHq11fG4GO4gw7i/nXt4bqYVC4lQPUnn16xlTbzdKh8RP hdChhQgHMuOpFosb7SmAv4rfv8Ys43xTrpk8dk2I2yLzWEmh+5HUdVTR1rA8iqcMG/oB 1BXLVAh/BGmKKcm03L838/x2Hb+sA24LYYZsbwQ1aL5dglNFDFvbatE/iPXqoRd8GSSd 0TxVDj76kAagvdS5J3jmZGDEsOZZt1CO6bo3AT9OE/m9h9j1ULlq7242g6sUNv6s1Cb7 C6GgQpTZchzWzWi0zHaap18QEuerVYGv1CnOIRnsUq/V94D+EwkDc+PM6NuUxfri+3Se DsMg==
X-Gm-Message-State: AJcUukdOjULSr1eZESjVCGrlMJpSGP18ozFjcsBosWnN4mOfLM8wQmdj rQgXps7gQdNdE3uRvXp8mTwDa0dNRLyoyDVIOwWF+fsh
X-Google-Smtp-Source: ALg8bN5aRP+sqY/Buzp5LBGTEwW2bOo4W6EhwmvyEXPr1X/PLaIcwa9MsXPDYOEZhiNXy77EEhl7hPbLbwoonnmXXik=
X-Received: by 2002:a2e:95c6:: with SMTP id y6-v6mr19985769ljh.59.1548798801914; Tue, 29 Jan 2019 13:53:21 -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>
In-Reply-To: <CAD5OKxvyDNm68_A1WVEyvsU52Jua+vHbrMpZJ0v0s7reP00OLQ@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Tue, 29 Jan 2019 13:52:43 -0800
Message-ID: <CABcZeBMi9nmue+Sw0+2Cf+Bs1NQE6cV-Ld+_9gMTDvbrWH_nfQ@mail.gmail.com>
To: Roman Shpount <roman@telurix.com>
Cc: =?UTF-8?Q?I=C3=B1aki_Baz_Castillo?= <ibc@aliax.net>, RTCWeb IETF <rtcweb@ietf.org>
Content-Type: multipart/alternative; boundary="0000000000006ac15f05809fd257"
Archived-At: <https://mailarchive.ietf.org/arch/msg/rtcweb/hP_LSljWA5PK-Z6OnaAgH42ws88>
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: Tue, 29 Jan 2019 21:53:26 -0000

On Tue, Jan 29, 2019 at 11:28 AM Roman Shpount <roman@telurix.com> wrote:

> On Tue, Jan 29, 2019 at 2:05 PM Iñaki Baz Castillo <ibc@aliax.net> wrote:
>
>> 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)

-Ekr

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
> rtcweb@ietf.org
> https://www.ietf.org/mailman/listinfo/rtcweb
>