Re: [bfcpbis] AD Review of draft-ietf-bfcpbis-rfc4583bis-24

Christer Holmberg <christer.holmberg@ericsson.com> Fri, 21 September 2018 22:08 UTC

Return-Path: <christer.holmberg@ericsson.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 71D00130E4A for <bfcpbis@ietfa.amsl.com>; Fri, 21 Sep 2018 15:08:35 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -4.31
X-Spam-Level:
X-Spam-Status: No, score=-4.31 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, RCVD_IN_DNSWL_MED=-2.3, SPF_PASS=-0.001, T_DKIMWL_WL_HIGH=-0.01, URIBL_BLOCKED=0.001] autolearn=unavailable autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (1024-bit key) header.d=ericsson.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 Y4SBaCJJmNQU for <bfcpbis@ietfa.amsl.com>; Fri, 21 Sep 2018 15:08:33 -0700 (PDT)
Received: from sessmg23.ericsson.net (sessmg23.ericsson.net [193.180.251.45]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ietfa.amsl.com (Postfix) with ESMTPS id D8222130E2D for <bfcpbis@ietf.org>; Fri, 21 Sep 2018 15:08:32 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; d=ericsson.com; s=mailgw201801; c=relaxed/simple; q=dns/txt; i=@ericsson.com; t=1537567710; h=From:Sender:Reply-To:Subject:Date:Message-ID:To:CC:MIME-Version:Content-Type: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id: List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=ZWkEqWNGGK/mTuujo/LDEM68ZaiXzBiIesaTHnheO84=; b=bAgKOuvvK6H47Y7NPo2F1rY1l6+euGyWpjNN2/5SC+E8CGV3wBM4xc3Ud+egoogD v2rt7/nCA+87szj2+C9+AiCTMJl/jxXimU55yzgb7supjv+/OXnIgCVbte8iX2E7 OSdZu2IQYqcTlHXt1VfhxqW47M5dXJFvRZs4to5EK7M=;
X-AuditID: c1b4fb2d-223ff700000055ff-71-5ba56bdedf4f
Received: from ESESSMB501.ericsson.se (Unknown_Domain [153.88.183.119]) by sessmg23.ericsson.net (Symantec Mail Security) with SMTP id B0.93.22015.EDB65AB5; Sat, 22 Sep 2018 00:08:30 +0200 (CEST)
Received: from ESESBMB503.ericsson.se (153.88.183.170) by ESESSMB501.ericsson.se (153.88.183.162) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.1.1466.3; Sat, 22 Sep 2018 00:08:29 +0200
Received: from ESESBMB503.ericsson.se ([153.88.183.186]) by ESESBMB503.ericsson.se ([153.88.183.186]) with mapi id 15.01.1466.003; Sat, 22 Sep 2018 00:08:29 +0200
From: Christer Holmberg <christer.holmberg@ericsson.com>
To: Adam Roach <adam@nostrum.com>, "draft-ietf-bfcpbis-rfc4583bis.all@ietf.org" <draft-ietf-bfcpbis-rfc4583bis.all@ietf.org>
CC: "bfcpbis@ietf.org" <bfcpbis@ietf.org>
Thread-Topic: AD Review of draft-ietf-bfcpbis-rfc4583bis-24
Thread-Index: AQHUSUa+My87KoBF4ESReJWIVOiojqT7XG/Q
Date: Fri, 21 Sep 2018 22:08:29 +0000
Message-ID: <161e0841d5b54402bd9aec6bb7d03b8e@ericsson.com>
References: <09534f21-9ccc-91c9-d440-56a9eca86d94@nostrum.com>
In-Reply-To: <09534f21-9ccc-91c9-d440-56a9eca86d94@nostrum.com>
Accept-Language: en-US
Content-Language: en-US
X-MS-Has-Attach:
X-MS-TNEF-Correlator:
x-originating-ip: [153.88.183.153]
Content-Type: text/plain; charset="utf-8"
Content-Transfer-Encoding: base64
MIME-Version: 1.0
X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFupmkeLIzCtJLcpLzFFi42KZGbG9XPde9tJog8X3xS32/F3EbvFv3VEm i60zDrI5MHssWfKTyWPWzicsAUxRXDYpqTmZZalF+nYJXBnnL35lKZgQWrFk+n22BsYfQV2M nBwSAiYS05pfsHQxcnEICRxllOh6doIRJCEk8I1R4sADeYjEMkaJm7fusXUxcnCwCVhIdP/T BomLCDQwSkyY+54dpIFZQFPi6uFdYM3CAlYS92Z2sYLYIgLWEv9WPGMB6RURMJJonCQCEmYR UJU48H4NM4jNC1Sy6cJ5Foi9dhInHuwFG8MpYC+xesY0sBpGATGJ76fWMEGsEpe49WQ+E8QD AhJL9pxnhrBFJV4+/scKYStJ7D12HWwtyGnrd+lDtCpKTOl+yA6xVlDi5MwnLBMYxWYhmToL oWMWko5ZSDoWMLKsYhQtTi0uzk03MtZLLcpMLi7Oz9PLSy3ZxAiMooNbfuvuYFz92vEQowAH oxIP78ywpdFCrIllxZW5hxglOJiVRHht3YFCvCmJlVWpRfnxRaU5qcWHGKU5WJTEefVW7YkS EkhPLEnNTk0tSC2CyTJxcEo1MDqerdlstbX/16KWGyzLdf8Z3V55u7m9usqFOW3mXD7DvedM dGdeEj4cK9BVyffLa2JhaoulG8uOmy+ZPwQqM7ypfD/hUXVef7d1nfHyxQwa9WufnFxctLYg ffXELwprnmgcWsY3g60z3CcuSfPzDDu3SpVJPLv2PNrE+e672wGPS3/qXuw7wqbEUpyRaKjF XFScCAD/hJdJngIAAA==
Archived-At: <https://mailarchive.ietf.org/arch/msg/bfcpbis/NSV2lvLqRdTw4-4tuUfFf_JN7u0>
Subject: Re: [bfcpbis] AD Review of draft-ietf-bfcpbis-rfc4583bis-24
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: Fri, 21 Sep 2018 22:08:36 -0000

Hi,

I have updated the pull request. It should now have addressed everything except the proto value issue.

https://github.com/cdh4u/draft-bfcp-4583bis/pull/10

Regards,

Christer

-----Original Message-----
From: Adam Roach [mailto:adam@nostrum.com] 
Sent: 10 September 2018 23:42
To: draft-ietf-bfcpbis-rfc4583bis.all@ietf.org
Cc: bfcpbis@ietf.org
Subject: AD Review of draft-ietf-bfcpbis-rfc4583bis-24

This is my AD review of draft-ietf-bfcpbis-rfc4583bis. Thanks to everyone who worked on this document. It looks generally in good shape, but there are two issues that I think need to be addressed before placing the document into IETF last call. I believe these should be pretty easy to address.

NOTE: If you think I am wrong about either blocking point, please speak up. It is entirely possible that I've misunderstood something, and that the things I believe are issues are actually okay.


---------------------------------------------------------------------------

§4 (BLOCKING):

 >  This document defines five values for the proto field: TCP/BFCP,  >  TCP/DTLS/BFCP, TCP/TLS/BFCP, UDP/BFCP, and UDP/TLS/BFCP.

Generally, having more ways to do the same things in a protocol leads to less interoperability rather than more. While the rationale for the four-way split caused by TLS-versus-plaintext and UDP-versus-TCP is pretty self evident, there appears to be no rationale in this document for having both TCP/DLTS/BFCP and TCP/TLS/BFCP; more importantly, the document offers no guidance to implementors regarding which to use. This is likely to lead to some implementations choosing one encoding and others choosing the other somewhat arbitrarily. This decreases the chances of the protocol interoperating.

Minimally, please include guidance regarding which of these two variations implementations should use, and under which conditions. On a first glance, it would appear that the guidance might be that non-ICE uses should use TCP/TLS/BFCP for maximal compatibility with RFC 4583 implementations, and that ICE uses need to use TCP/DTLS/BFCP, as outlined in section 9.


---------------------------------------------------------------------------

§7.1 (BLOCKING):

 >  When the existing TCP connection is closed and re-established  >  following the rules in [16], the floor control client MUST send an  >  offer towards the floor control server in order to re-establish the  >  connection.

The behavior here is ambiguous in the case that "a=floorctrl:c-s" is negotiated.
This needs to be clarified. Perhaps something like:

    If the peers are acting as both floor control client and floor control
    server (i.e., if "a=floorctrl:c-s" has been negotiated), then the peer that
    most recently sent a successfully answered offer MUST send an offer.

---------------------------------------------------------------------------



The remaining comments are editorial, and can be handled as part of IETF last call, or prior to last call, at the authors' convenience.

---------------------------------------------------------------------------

Abstract:

 >  This document obsoletes RFC 4583.  Changes from RFC 4583 are  >  summarized in Section 15.

Nit: update to "Section 14."

---------------------------------------------------------------------------

§1:

 >  Following this model, a
 >  BFCP connection is described as any other media stream by using an  >  SDP 'm' line, possibly followed by a number of attributes encoded in  >  'a' lines.

It's probably worth including 'c' and 'b' lines in here as well, or possibly phrasing it to be more general ("...possibly followed by additional SDP lines that also apply to the BFCP connection")

---------------------------------------------------------------------------

§2:

Please update this section to match the boilerplate in RFC 8174.

---------------------------------------------------------------------------

§3:

 >  conference server will act as floor control server. However, there  >  are scenarios where both endpoints would be able to act as floor  >  control server.

Nit: "...act as a floor control server."
                 ^

---------------------------------------------------------------------------

§4:

 >  RFC4571 such that the length field defined in RFC4571 precedes each

Nit: "RFC 4571" (twice). See RFC 7322 §3.5, third bullet.

---------------------------------------------------------------------------

§4:

 >  Similarly, UDP/BFCP is used when BFCP runs directly on top of UDP,  >  and UDP/TLS/BFCP is used when BFCP runs on top of DTLS, which in turn  >  runs on top of UDP.

I'm sure there's rationale behind why this is "UDP/TLS/BFCP" rather than "UDP/DTLS/BFCP". It would benefit the reader to include a one-sentence explanation.

---------------------------------------------------------------------------

§5.1:

 >  This section defines the SDP 'floorctrl' media-level attribute.  The  >  attribute is used to determine the floor control role(s) that the  >  endpoints can take for the BFCP-controlled media streams. As  >  described in Section 5.1

Nit: "As described in this section..."

---------------------------------------------------------------------------

§5.1, §5.2, §5.3, §5.4:

 >      The Augmented BNF syntax [RFC5234] for the attribute is:
...
 >        ;DIGIT is defined in [RFC5234] ...
 >        ;token is defined in [RFC4566]

The syntax for references in this document are of the style [2] rather than [RFC5234]. Please either update the references in these sections to match the rest of the document, or (my suggestion) include the following directive in your XML source:

<?rfc symrefs="yes" ?>

---------------------------------------------------------------------------

§5.3:

 >     Although the example was non-normative, it is implemented by some  >     vendors and occurs in cases where the endpoint is willing to act  >     as an server.

Nit: "...as a server."

---------------------------------------------------------------------------

§9:

 >  multiple valid candidate pairs, and if BFCF media is shifted between

Nit: BFCP

---------------------------------------------------------------------------

§10:

 >     Note: The use of source-specific SDP parameters [18] is not  >     defined to BFCP streams.

Nit: "...defined for BFCP streams."

---------------------------------------------------------------------------

§10.1:

 >  o  MUST associate an SDP 'label' attribute (Section 5.3) with the 'm'
 >     line of each BFCP-controlled media stream.

This is a little confusing, as Section 5.3 does not define the 'label'
attribute. I would suggest replacing "(Section 5.3)" with a reference to RFC 4574.

---------------------------------------------------------------------------

§10.2:

 >  When the answerer receives an offer, which contains an 'm' line  >  describing a BFCP stream, the answerer MUST check whether it supports

"Contains an 'm' line describing a BFCP stream" appears to be a restrictive clause rather than a parenthetical one. This calls for the use of "that" 
rather
than "which," and the removal of a comma:

    When the answerer receives an offer that contains an 'm' line
    describing a BFCP stream, the answerer MUST check whether it supports

---------------------------------------------------------------------------

§10.4:

 >  o  If the BFCP stream is carried on top of TCP, and if the offerer  >     does not want to re-establish an existing TCP connection, the  >     offerer MUST associate an SDP connection attribute with an  >     'existing' value, with the 'm' line; and

Nit: remove quotes around "existing", and add quotes around "connection".

/a