Re: [bfcpbis] Eric Rescorla's Discuss on draft-ietf-bfcpbis-rfc4583bis-26: (with DISCUSS and COMMENT)

Eric Rescorla <ekr@rtfm.com> Wed, 24 October 2018 20:45 UTC

Return-Path: <ekr@rtfm.com>
X-Original-To: bfcpbis@ietfa.amsl.com
Delivered-To: bfcpbis@ietfa.amsl.com
Received: from localhost (localhost [127.0.0.1]) by ietfa.amsl.com (Postfix) with ESMTP id 5D390128B14 for <bfcpbis@ietfa.amsl.com>; Wed, 24 Oct 2018 13:45:27 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.9
X-Spam-Level:
X-Spam-Status: No, score=-1.9 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIMWL_WL_MED=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001] autolearn=unavailable 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 elsoa4sF6pc7 for <bfcpbis@ietfa.amsl.com>; Wed, 24 Oct 2018 13:45:24 -0700 (PDT)
Received: from mail-lj1-x234.google.com (mail-lj1-x234.google.com [IPv6:2a00:1450:4864:20::234]) (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 82EC4128D68 for <bfcpbis@ietf.org>; Wed, 24 Oct 2018 13:45:23 -0700 (PDT)
Received: by mail-lj1-x234.google.com with SMTP id s15-v6so6089908lji.3 for <bfcpbis@ietf.org>; Wed, 24 Oct 2018 13:45:23 -0700 (PDT)
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=vrRljtZargDuUL1VT8yguWqQEEeBM7RRz0XJDGxzWFU=; b=kUPWA1jYCZWVf3R3MddauoQg8+dC0lqNWt0/cdvAO+P5Ny1RmMsHcR3gDKb7kkF/Ke U71VSsHWgTBc3EWhnA5nSbrOMYImjbL0B82ChponCrD/2qA3eC6mi72s/JgyAW1exjjK u8lXWxLCZZeG9ZhxIOga1MrQdiOVfjSeWPyBSkuy54mHmED+nCU3aeVXPUAVXF3QhrD/ aS0lOIz1sklwHZ+ZFDSf1noxLba7dhej+vGRcst+tSy3/N3LS8gPdGikOsFpvNarWFVf Ez58GWdMb3lVtoGahrNsx/1MFbK85bWVvydW7PDOcHxdM/t49t2kATGEiCtFX2TP0e8w TEzA==
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=vrRljtZargDuUL1VT8yguWqQEEeBM7RRz0XJDGxzWFU=; b=qBGXtINdk0M9LliqFAggW/jJ5TIPMiYUgmpoo2eSsqxqSUgQNyeaGJLeBZTogYkJ3g zz02fc66XvyS0Yxl4xreQ/pVMR6feNlEvH4YEDj/D0v8RjohcdKaHNsXgmh9P5ZzlDy0 NDVqz/zMROA/QAO6+pgadoxmSqJgIRFF7+YXjXCvs8kdRjb8Lvaekly7LeBmIHnY4Gfh 7tLCVHmt6SMt2g+OyfGL+5rPEVJhP5ULm1RGgv7uq+1ZNmHSkGIKHecxlyp3Wx+fhoSO gXEDV/RBbfNmTOKUcovTxD7kT/1LKA4z0UfzwvbfAJra3njLwvpuSCh5DJotV5bxxM7w i80A==
X-Gm-Message-State: AGRZ1gKBAhD2j1Kl5iHwAv46ZSLab/MRUrCIl78iImzrTnp7yGaHpZKa GbLG5jmpAH/O+juNpdHVkXe5f+wD++g4PE0Apa0DtA==
X-Google-Smtp-Source: AJdET5fA+Qik19VepZMU7hlaEj6nBW0w6wsxsYrWh2ZoZnQU5iiwruVCgZK9Ycb2FJWp5O3SQXF3U3ziSmF9wbwqQuA=
X-Received: by 2002:a2e:7017:: with SMTP id l23-v6mr2717615ljc.160.1540413921584; Wed, 24 Oct 2018 13:45:21 -0700 (PDT)
MIME-Version: 1.0
References: <154040901414.6834.17243795717657341259.idtracker@ietfa.amsl.com> <CAD5OKxtDT=20hX880j1h365TBSLyg=RfqrBF8d9YNidNyjutkA@mail.gmail.com> <CABcZeBMgFJR1MfXi+TLMph6tJLNXLMxMRYv0zVTCdvdX7yjM3g@mail.gmail.com> <CAD5OKxsWdUHMQj116o1mcC6KcKh0MqHrxdWvd-FfQCyJtjwp_g@mail.gmail.com>
In-Reply-To: <CAD5OKxsWdUHMQj116o1mcC6KcKh0MqHrxdWvd-FfQCyJtjwp_g@mail.gmail.com>
From: Eric Rescorla <ekr@rtfm.com>
Date: Wed, 24 Oct 2018 13:44:45 -0700
Message-ID: <CABcZeBMc_Eo-ZNDzBS4SBc+81WVi7TW7_m_uXR4e-UixgXb-9A@mail.gmail.com>
To: Roman Shpount <roman@telurix.com>
Cc: IESG <iesg@ietf.org>, bfcpbis@ietf.org, Mary Barnes <mary.ietf.barnes@gmail.com>, draft-ietf-bfcpbis-rfc4583bis@ietf.org, bfcpbis-chairs@ietf.org
Content-Type: multipart/alternative; boundary="0000000000009a7fdd0578ff9008"
Archived-At: <https://mailarchive.ietf.org/arch/msg/bfcpbis/U5b47RDpt_D-5hT3Z6fhScZQyfg>
Subject: Re: [bfcpbis] Eric Rescorla's Discuss on draft-ietf-bfcpbis-rfc4583bis-26: (with DISCUSS and COMMENT)
X-BeenThere: bfcpbis@ietf.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: BFCPBIS working group discussion list <bfcpbis.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/options/bfcpbis>, <mailto:bfcpbis-request@ietf.org?subject=unsubscribe>
List-Archive: <https://mailarchive.ietf.org/arch/browse/bfcpbis/>
List-Post: <mailto:bfcpbis@ietf.org>
List-Help: <mailto:bfcpbis-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/bfcpbis>, <mailto:bfcpbis-request@ietf.org?subject=subscribe>
X-List-Received-Date: Wed, 24 Oct 2018 20:45:28 -0000

On Wed, Oct 24, 2018 at 1:12 PM Roman Shpount <roman@telurix.com> wrote:

> On Wed, Oct 24, 2018 at 3:54 PM Eric Rescorla <ekr@rtfm.com> wrote:
>
>>
>>
>> On Wed, Oct 24, 2018 at 12:50 PM Roman Shpount <roman@telurix.com> wrote:
>>
>>> On Wed, Oct 24, 2018 at 3:23 PM Eric Rescorla <ekr@rtfm.com> wrote:
>>>
>>>> S 9.
>>>> >      transport is used for the default candidate, then the 'm' line
>>>> proto
>>>> >      value MUST be 'UDP/TLS/BFCP'.  If TCP transport is used for the
>>>> >      default candidate, the 'm' line proto value MUST be
>>>> 'TCP/DTLS/BFCP'.
>>>> >
>>>> >         Note: Usage of ICE with protocols other than UDP/TLS/BFCP and
>>>> >         TCP/DTLS/BFCP is outside of scope for this specification.
>>>>
>>>> this is very different from any other use of ICE, and I'm not sure
>>>> it's interoperable, unless you require that only TCP or only UDP
>>>> candidates be offered (which you do not seem to). The reason is that
>>>> with ICE you can flip between different candidates as part of the
>>>> negotiation. So what happens if I initially get a UDP candidate and
>>>> then via aggressive nomination settle on TCP (or vice versa). DTLS and
>>>> TLS aren't really interoperable in that way. It would be far better to
>>>> do what WebRTC does and when you do ICE, always do DTLS even if it's
>>>> over TCP.
>>>>
>>>>
>>> When ICE is used, DTLS is always used exactly for the reasons you
>>> mention.  End points only allowed to use 'UDP/TLS/BFCP', which is DTLS over
>>> UDP, or 'TCP/DTLS/BFCP', which is DTLS over TCP. DTLS over UDP is only
>>> named  'UDP/TLS/BFCP' instead of  'UDP/DTLS/BFCP' for legacy interop
>>> reasons, since some implementations apparently already added support for
>>> this.  Please note that naming of BFCP over DTLS over UDP  as
>>> 'UDP/TLS/BFCP'  is similar to naming RTP over DTLS over UDP as
>>> "UDP/RTP/TLS/SAVP".
>>>
>>
>> Ah, I missed this. But then I do wonder whether it's really useful to
>> have two proto versions here, rather than just UDP/TLS/BFCP. We didn't find
>> it helpful in JSEP....
>>
>>
> ICE SDP draft still requires a re-INVITE after nomination process is
> completed where c= and m= line are updated to reflect the nominated
> candidate. If nominated candidate an ICE-TCP candidate, then proto in m=
> line would be 'TCP/DTLS/BFCP' to reflect this. In cases when non ICE-TCP
> candidate is used, the proto in m= line will be 'UDP/TLS/BFCP'. Also, all
> subsequent offer/answer exchanges, which do not initiate ICE restart are
> supposed to use the proto value of nominated candidate in the m= line. So,
> the only reason for existence of 'TCP/DTLS/BFCP' proto is to differentiate
> if UDP or TCP candidate is used after the nomination.
>

I don't believe any WebRTC stack does this, and to the best of my
knowledge, JSEP does not require it.

Moreover, that's not how I read the ICE-SDP draft, at least as far as
ICE-bis goes.
https://tools.ietf.org/html/draft-ietf-mmusic-ice-sip-sdp-21#section-3.3.4

"

 However, If the support for 'ice2' ice-option is in use, the
   nominated candidate is noted and sent in the subsequent offer/answer
   exchange as the default candidate and no updated offer is needed to
   fix the default candidate.
"




How did you solve this issue in JSEP? I was pretty sure
> that 'TCP/RTP/DTLS/SAVP' and 'TCP/DTLS/SCTP' were used there for this
> purpose, but I could have missed one of the updates.
>

For DTLS-SRTP, JSEP requires that you generate UDP/TLS/RTP/SAVPF regardless
of the ICE candidates. Similarly, for datachannels, you must generate
UDP.DTLS/SCTP.

>
> Regards,
> _____________
> Roman Shpount
>
>