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

"Charles Eckel (eckelcu)" <eckelcu@cisco.com> Thu, 02 March 2017 23:29 UTC

Return-Path: <eckelcu@cisco.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 16732128AB0 for <bfcpbis@ietfa.amsl.com>; Thu, 2 Mar 2017 15:29:42 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -14.522
X-Spam-Level:
X-Spam-Status: No, score=-14.522 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_HI=-5, RCVD_IN_MSPIKE_H3=-0.01, RCVD_IN_MSPIKE_WL=-0.01, RP_MATCHES_RCVD=-0.001, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=cisco.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 Z5hzTEkzL0nE for <bfcpbis@ietfa.amsl.com>; Thu, 2 Mar 2017 15:29:39 -0800 (PST)
Received: from alln-iport-7.cisco.com (alln-iport-7.cisco.com [173.37.142.94]) (using TLSv1.2 with cipher DHE-RSA-SEED-SHA (128/128 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id 7C2BE12706D for <bfcpbis@ietf.org>; Thu, 2 Mar 2017 15:29:39 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=cisco.com; i=@cisco.com; l=22632; q=dns/txt; s=iport; t=1488497379; x=1489706979; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=+H+5+L5wBp6VpMxulZxnOzjHabigVgc8CINnv255BVA=; b=GLZOZESBakyS33phQo6eNpBxmiKMMahhwGKeneS7k3M5xPyaff8Z20Ak Q/Gx071Vxr1zyiP1nJc+IVJoxWJPZ3qalgDD+WoMhOdW6sLbAZUn4s3ah HfgzqiDT8vkFqTEwmiKJCju9fjVEIu3NUTp2wyg6I9ltKO9NTZThV103A k=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-Anti-Spam-Result: A0DqAQCfqbhY/4QNJK1eGQEBAQEBAQEBAQEBBwEBAQEBgm45KWGBCQeDVooKkUofiAyHfYUsgg0ihgACGoI2PxgBAgEBAQEBAQFiKIRwAQEBBCNWEAIBCA4DAgEBAisCAgIfER0IAgQOBYliAxWyFYImK4cNDYNHAQEBAQEBAQEBAQEBAQEBAQEBAQEBHYhRCIJiglGCChkegkgugjEFlXOFfDoBhnSDJoNuhCmBe4UiigKIQYIOiGcBDxA4gQFUFU8Bhjt1AYcfB4EpgQ0BAQE
X-IronPort-AV: E=Sophos;i="5.35,233,1484006400"; d="scan'208,217";a="392752882"
Received: from alln-core-10.cisco.com ([173.36.13.132]) by alln-iport-7.cisco.com with ESMTP/TLS/DHE-RSA-AES256-SHA; 02 Mar 2017 23:29:38 +0000
Received: from XCH-ALN-011.cisco.com (xch-aln-011.cisco.com [173.36.7.21]) by alln-core-10.cisco.com (8.14.5/8.14.5) with ESMTP id v22NTcFP007426 (version=TLSv1/SSLv3 cipher=AES256-SHA bits=256 verify=FAIL); Thu, 2 Mar 2017 23:29:38 GMT
Received: from xch-aln-018.cisco.com (173.36.7.28) by XCH-ALN-011.cisco.com (173.36.7.21) with Microsoft SMTP Server (TLS) id 15.0.1210.3; Thu, 2 Mar 2017 17:29:37 -0600
Received: from xch-aln-018.cisco.com ([173.36.7.28]) by XCH-ALN-018.cisco.com ([173.36.7.28]) with mapi id 15.00.1210.000; Thu, 2 Mar 2017 17:29:37 -0600
From: "Charles Eckel (eckelcu)" <eckelcu@cisco.com>
To: Roman Shpount <rshpount@turbobridge.com>
Thread-Topic: Updates to draft-ietf-bfcpbis-rfc4583bis required to enable ICE
Thread-Index: AQHSk6JSUjB4HtjJ8UWHVVBUVasJT6GCEOkA
Date: Thu, 02 Mar 2017 23:29:37 +0000
Message-ID: <52AB0C16-BED7-4402-8368-3FAC4B3B64BB@cisco.com>
References: <CAD5OKxs9NN1CtNYaZEiGUxK-UUs=LwYq=A8n69LZ4REE80EzUQ@mail.gmail.com>
In-Reply-To: <CAD5OKxs9NN1CtNYaZEiGUxK-UUs=LwYq=A8n69LZ4REE80EzUQ@mail.gmail.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
user-agent: Microsoft-MacOutlook/f.1f.0.170216
x-ms-exchange-messagesentrepresentingtype: 1
x-ms-exchange-transport-fromentityheader: Hosted
x-originating-ip: [10.20.182.35]
Content-Type: multipart/alternative; boundary="_000_52AB0C16BED7440283683FAC4B3B64BBciscocom_"
MIME-Version: 1.0
Archived-At: <https://mailarchive.ietf.org/arch/msg/bfcpbis/1venzphplkddWrHEIeVvZj7gjt4>
Cc: "Tom Kristensen (tomkrist)" <tomkrist@cisco.com>, Tom Kristensen <tomkri@ifi.uio.no>, "bfcpbis@ietf.org" <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: Re: [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 23:29:42 -0000

Roman,

Thanks for this.
As an individual, your proposed changes look good to me. Please see two comments inline [cue]

From: Roman Shpount <rshpount@turbobridge.com>
Date: Thursday, March 2, 2017 at 2:14 PM
To: Charles Eckel <eckelcu@cisco.com>
Cc: Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com>, Tom Kristensen <tomkrist@cisco.com>, Christer Holmberg <christer.holmberg@ericsson.com>, Tom Kristensen <tomkri@ifi.uio.no>, Mary Barnes <mary.ietf.barnes@gmail.com>, Paul Jones <paulej@packetizer.com>, "bfcpbis@ietf.org" <bfcpbis@ietf.org>
Subject: Updates to draft-ietf-bfcpbis-rfc4583bis required to enable ICE

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.

[cue] We define the proto field value UDP/TLS/BFCP in this draft for BFCP over DTLS. Would it not be more straightforward and consistent to define the new proto value as TCP/UDP/TLS/BFCP instead of TCP/DTLS/BFCP?

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.

[cue] We previously decided to stick with RFC 5763 because draft-ietf-mmusic-dtls-sdp including dtls-id. Given the state of draft-ietf-mmusic-dtls-sdp including dtls-id at this time, I agree it is now appropriate to reference it instead of RFC 5763.
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<http://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

Cheers,
Charles