[bfcpbis] Updates to draft-ietf-bfcpbis-rfc4583bis required to enable ICE

Roman Shpount <rshpount@turbobridge.com> Thu, 02 March 2017 22:14 UTC

Return-Path: <rshpount@turbobridge.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 71143129686 for <bfcpbis@ietfa.amsl.com>; Thu, 2 Mar 2017 14:14:12 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -2
X-Spam-Level:
X-Spam-Status: No, score=-2 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=turbobridge.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 OMliYlxBobtz for <bfcpbis@ietfa.amsl.com>; Thu, 2 Mar 2017 14:14:10 -0800 (PST)
Received: from mail-pg0-x22a.google.com (mail-pg0-x22a.google.com [IPv6:2607:f8b0:400e:c05::22a]) (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 50E68126BF7 for <bfcpbis@ietf.org>; Thu, 2 Mar 2017 14:14:10 -0800 (PST)
Received: by mail-pg0-x22a.google.com with SMTP id b129so36500485pgc.2 for <bfcpbis@ietf.org>; Thu, 02 Mar 2017 14:14:10 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=turbobridge.com; s=google; h=mime-version:from:date:message-id:subject:to:cc; bh=l2K1QIjUZdC1ZJSeS09RUwe0fDmaGSrq574cm6EcZao=; b=c2J8EtP9al5ImkfFh/aFb7MMfjll/HR8UbxOfkfosB+v+Augtl4zlF751c9vijAAhM nlqTSmY0/8rbaYJalB9YEVpFswIv9NzzZDF7GJPhjuQNEJuKDvKsW7AqLzLQRHCA12oz XaKz/PM1SVzcpm4nvvUnT5kUJA80+PuqJc6Wc=
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:from:date:message-id:subject:to:cc; bh=l2K1QIjUZdC1ZJSeS09RUwe0fDmaGSrq574cm6EcZao=; b=sk+a9N/pselzewNt/UTqrEV9Pz3tuWBr2pyj7hUJYNeYFXkqGdSyJY4oCDzuiVJRrW ROMLtBkKw2xkieuQ1CNxQJ/84tmgygABVJsmjXzWAaRYX6B2K+2emLdrKHrqMd06GqiK TE38jWuk+o82GtW5JFVD31aNEYBs594apJeXN+8pAt2E7jRryZQQoABvxrWwQAkElyi8 jCoj7/v2TZXxFbAwDWHPWC/wzEUpsJXX5SwO3E0VKAIhO1fRjCaVV3U8jWlJNoiEPMno SXIePW0bMPIRDATxTDNtoc6+geSk+NMAB9T4qZnadb2ZvJW+C4u+xfpAsMWUnnE1yGUr rKAA==
X-Gm-Message-State: AMke39nv8gCbOjbgEZDD0Nfpa8UgMzjeYdZ81BlzF9ASFHostSvvdXRs8T0woJIZe/Bp8Q==
X-Received: by 10.99.139.196 with SMTP id j187mr17911062pge.105.1488492849433; Thu, 02 Mar 2017 14:14:09 -0800 (PST)
Received: from mail-pf0-f169.google.com (mail-pf0-f169.google.com. [209.85.192.169]) by smtp.gmail.com with ESMTPSA id v9sm18927551pfl.102.2017.03.02.14.14.08 for <bfcpbis@ietf.org> (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 Mar 2017 14:14:08 -0800 (PST)
Received: by mail-pf0-f169.google.com with SMTP id j5so26280883pfb.2 for <bfcpbis@ietf.org>; Thu, 02 Mar 2017 14:14:08 -0800 (PST)
X-Received: by 10.99.138.202 with SMTP id y193mr18025275pgd.60.1488492848207; Thu, 02 Mar 2017 14:14:08 -0800 (PST)
MIME-Version: 1.0
Received: by 10.100.161.144 with HTTP; Thu, 2 Mar 2017 14:14:07 -0800 (PST)
From: Roman Shpount <rshpount@turbobridge.com>
Date: Thu, 02 Mar 2017 17:14:07 -0500
X-Gmail-Original-Message-ID: <CAD5OKxs9NN1CtNYaZEiGUxK-UUs=LwYq=A8n69LZ4REE80EzUQ@mail.gmail.com>
Message-ID: <CAD5OKxs9NN1CtNYaZEiGUxK-UUs=LwYq=A8n69LZ4REE80EzUQ@mail.gmail.com>
To: "Charles Eckel (eckelcu)" <eckelcu@cisco.com>
Content-Type: multipart/alternative; boundary="94eb2c03aefa77e2f30549c6bff1"
Archived-At: <https://mailarchive.ietf.org/arch/msg/bfcpbis/73kGR2A-UkYT-0a0cj7Jdb4VydY>
Cc: "Tom Kristensen (tomkrist)" <tomkrist@cisco.com>, Tom Kristensen <tomkri@ifi.uio.no>, bfcpbis@ietf.org, Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com>, "Paul E. Jones" <paulej@packetizer.com>, Christer Holmberg <christer.holmberg@ericsson.com>, Mary Barnes <mary.ietf.barnes@gmail.com>
Subject: [bfcpbis] Updates to draft-ietf-bfcpbis-rfc4583bis required to enable ICE
X-BeenThere: bfcpbis@ietf.org
X-Mailman-Version: 2.1.17
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: Thu, 02 Mar 2017 22:14:12 -0000

HI All,

Here is the first draft of changes proposed for this document:

1. In Section 3, we need to define an additional proto field value:
TCP/DTLS/BFCP, which is realized by running BFCP on top of DTLS as descibed
in this specification and running DTLS on top of TCP is realized using the
framing method defined in RFC4571, with DTLS packets being sent and
received instead of RTP/RTCP packets using the shim defined in RFC4571 so
that length field defined in RFC4571 precedes each DTLS message. All
sections of the document should be updated to include the TCP/DTLS/BFCP
transport.

2. References to RFC 5763 should be replaced with references to
draft-ietf-mmusic-dtls-sdp. Document should be updated to use procedures
from draft-ietf-mmusic-dtls-sdp including dtls-id.

3. References to RFC 4572 should be replaced with references to
draft-ietf-mmusic-4572-update. Document should be checked for compliance
with 4572 update.

4. Section 10.5.is redundant with draft-ietf-mmusic-dtls-sdp.

5. We should not be using SHA-1 fingerprints in examples, since they are
deprecated

6. The following section should be added which describes ICE support:

ICE Considerations

When BFCP is used with UDP based ICE candidates RFC5245 then the procedures
for UDP/TLS/BFCP are used.

When BFCP is used with TCP based ICE candidates RFC6544 then the procedures
for TCP/DTLS/BFCP are used.

In ICE environments, during the nomination process, end points go through
multiple ICE candidate pairs, until the most preferred candidate pair is
found. During the nomination process, data can be sent as soon as the first
working candidate pair is found, but the nomination process still continues
and selected candidate pairs can still change while data is sent.
Furthermore, if end points roam between networks, for instance when mobile
end point switches from mobile connection to WiFi, end points will initiate
an ICE restart, which will trigger a new nomination process between the new
set of candidates and likely result in the new nominated candidate pair.

Implementations MUST treat all ICE candidate pairs associated with an BFCP
session on top of a DTLS association as part of the same DTLS association.
Thus, there will only be one BFCP session setup and one DTLS handshake even
if there are multiple valid candidate pairs, and shifting from one
candidate pair to another, including switching between UDP to TCP candidate
pairs, will not impact the BFCP session or DTLS associations. If new
candidates are added, they will also be part of the same BFCP session and
DTLS associations. When transitioning between candidate pairs, different
candidate pairs can be currently active in different directions and
implementations MUST be ready to receive data on any of the candidates,
even if this means sending and receiving data using UDP/TLS/BFCP and
TCP/DTLS/BFCPat the same time in different directions.

In order to maximize the likelihood of interoperability between the end
points, all ICE enabled BFCP end points SHOULD implement support for
UDP/TLS/BFCP.

When an SDP offer or answer is sent with multiple ICE candidates during
initial connection negotiation or after ICE restart, UDP based candidates
SHOULD be included and default candidate SHOULD be chosen from one of those
UDP candidates. The proto value MUST match the transport protocol
associated with the default candidate. If UDP transport is used for the
default candidate, then 'UDP/TLS/BFCP' proto value MUST be used. If TCP
transport is used for the default candidate, then 'TCP/DTLS/BFCP' proto
value MUST be used. Note that under normal circumstances the proto value
for offers and answers sent during ICE nomination SHOULD be 'UDP/TLS/BFCP'.

When a subsequent SDP offer or answer is sent after ICE nomination is
complete and does not initiate ICE restart, it will contain only the
currently negotiated ICE candidate pair. In this case, the proto value MUST
match the transport protocol associated with the currently negotiated ICE
candidate pair. If UDP transport is used for the currently negotiated pair,
then 'UDP/TLS/BFCP' proto value MUST be used. If TCP transport is used for
the currently negotiated pair, then  'TCP/DTLS/BFCP' proto value MUST be
used. Please note that if an end point switches between TCP-based and
UDP-based candidates during the nomination process the end point is not
required to send an SDP offer for the sole purpose of keeping the proto
value of the
associated m- line in sync.

NOTE: The text in the paragraph above only applies when the usage of ICE
has been negotiated. If ICE is not used, the proto value MUST always
reflect the transport protocol used at any given time.

Regards,
_____________
Roman Shpount