Re: [bfcpbis] PROTO review comments on draft-ietf-bfcpbis-rfc4583bis-08

"Charles Eckel (eckelcu)" <> Tue, 14 January 2014 19:21 UTC

Return-Path: <>
Received: from localhost ( []) by (Postfix) with ESMTP id DFCED1AE20F for <>; Tue, 14 Jan 2014 11:21:41 -0800 (PST)
X-Virus-Scanned: amavisd-new at
X-Spam-Flag: NO
X-Spam-Score: -12.738
X-Spam-Status: No, score=-12.738 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, MANGLED_LIST=2.3, RCVD_IN_DNSWL_HI=-5, RP_MATCHES_RCVD=-0.538, SPF_PASS=-0.001, USER_IN_DEF_DKIM_WL=-7.5] autolearn=ham
Received: from ([]) by localhost ( []) (amavisd-new, port 10024) with ESMTP id tEPoihEaAhmC for <>; Tue, 14 Jan 2014 11:21:38 -0800 (PST)
Received: from ( []) by (Postfix) with ESMTP id 8CFE91AE1DA for <>; Tue, 14 Jan 2014 11:21:38 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple;;; l=23507; q=dns/txt; s=iport; t=1389727287; x=1390936887; h=from:to:cc:subject:date:message-id:references: in-reply-to:mime-version; bh=SlHsQGwWlB+Fc3+33Sg3vHyXIJpqiDeGoMhEfhRkqQc=; b=Cz7W0kU9U1z8q6RWRGLzQQWA1fEXJOJLvCgtpnX1drPp+CqnpP9QVAH0 bF7Ohelb9yKYg6Pg0xhuY4uKP8T5benzOa3GCCKGThhBAedho7rqtQE9s nRPb48p3yzrq85FEDEdILgyy77zji+Xfh5WTxggLIpRBOLHgIZ3oSS7AT g=;
X-IronPort-Anti-Spam-Filtered: true
X-IronPort-AV: E=Sophos; i="4.95,658,1384300800"; d="scan'208,217"; a="297307683"
Received: from ([]) by with ESMTP; 14 Jan 2014 19:21:27 +0000
Received: from ( []) by (8.14.5/8.14.5) with ESMTP id s0EJLQLk029576 (version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=FAIL); Tue, 14 Jan 2014 19:21:26 GMT
Received: from ([]) by ([]) with mapi id 14.03.0123.003; Tue, 14 Jan 2014 13:21:26 -0600
From: "Charles Eckel (eckelcu)" <>
To: Mary Barnes <>, "" <>
Thread-Topic: [bfcpbis] PROTO review comments on draft-ietf-bfcpbis-rfc4583bis-08
Date: Tue, 14 Jan 2014 19:21:25 +0000
Message-ID: <>
References: <>
In-Reply-To: <>
Accept-Language: en-US
Content-Language: en-US
user-agent: Microsoft-MacOutlook/
x-originating-ip: []
Content-Type: multipart/alternative; boundary="_000_CEFACA7A1A7A7eckelcuciscocom_"
MIME-Version: 1.0
Cc: Richard Barnes <>, "" <>, "" <>
Subject: Re: [bfcpbis] PROTO review comments on draft-ietf-bfcpbis-rfc4583bis-08
X-Mailman-Version: 2.1.15
Precedence: list
List-Id: BFCPBIS working group discussion list <>
List-Unsubscribe: <>, <>
List-Archive: <>
List-Post: <>
List-Help: <>
List-Subscribe: <>, <>
X-List-Received-Date: Tue, 14 Jan 2014 19:21:42 -0000

Hi Mary,

Thanks for the comments as part of the writeup. Please see inline.

From: Mary Barnes <<>>
Date: Wednesday, December 18, 2013 2:38 PM
To: "<>" <<>>
Cc: Richard Barnes <<>>, "<>" <<>>, "<>" <<>>
Subject: [bfcpbis] PROTO review comments on draft-ietf-bfcpbis-rfc4583bis-08

Hi all,

I have agreed to shepherd this document on behalf of the WG.  I have reviewed this document in preparation for doing the PROTO write-up.

I think the document needs a bit of work before it's ready to progress.  I have a few questions/comments, as well as editorial nits which I think would improve readability and ease of understanding.

General Comments:

The document requires an SDP directorate review prior to progressing.  I have requested that of the MMUSIC WG chairs.   At the time of this review, Ali Begen has agreed to do that review.


1) I am slightly puzzled by the following in section 3:

m=<media> <port> <transport> <fmt> ...

Section  5.14 of RFC 4566 states the following:

m=<media> <port> <proto> <fmt> ...

So, this looks to be like the RFC 2327 ABNF for m lines is being used (rather than RFC 4566 which is the normative SDP specification for this document)?

m=<media> <port> <transport> <fmt list>

Note, that the IANA registration section appears to be based on RFC 4566 as the values are specified as being applicable to the 'pro to' field.  So,  my guess is that this is a bug from RFC 4583.

Yes, the SDP directorate review hit on this as well. It needs to be fixed to align with RFC 4566.

2) Section 3, next to last paragraph. I think it would be more precise to reword this as:


    The fmt (format) list is ignored for BFCP.  The fmt list of BFCP 'm' lines SHOULD contain a single "*" character.


   The fmt (format) list is not applicable to BFCP.   The fmt list of 'm' lines in the case of any proto field value related to BFCP SHOULD contain a single "*" character.  If the the fmt list contains any other value it is ignored.

In another thread, I proposed to change from SHOULD to MUST. I am okay with your proposal as well, especially if there are known reasons and/or implementations that already do otherwise.

3)  Section 4, paragraph above table 1, 1st sentence.  I suggest for clarification to make the following change:


    MUST include one in the corresponding media description


    MUST include a 'floorctrl' attribute in the corresponding media description


4) Section 4, 3rd paragraph from the end:

    "Endpoints that use the offer/answer model to establish BFCP connections MUST support the 'floorctrl' attribute.  A floor control server acting as an offerer or as an answerer SHOULD include the attribute in its session descriptions."

Since the latter is a SHOULD what happens if the attribute is NOT included? Under what circumstances is it okay for the server not to include it?    IF bad things happen if it's not included, then this probably ought to be a MUST.   Or, if there's reasonable situations in which the floor control server doesn't include the attribute, those should be explained or at least an example provided.

Agreed in principle. There is a discussion of which way to go  on MMUSIC thread in which I proposed MUST was appropriate for servers.

5)  Section  7.

a)  1st paragraph after ABNF.  "..versions SHOULD be integers..".   I would think that ought to be a MUST.  What happens if the token isn't an integer and what was the motivation for not defining the version as an integer versus a token?   If non-integers can be used, the scope of what is acceptable for the field needs to be explained.

Agreed, and I think MUST be integers is fine.

b) 2nd paragraph after ABNF.  I can see why supporting the version is a SHOULD (since it is a new field) and RFC 4583 did not define a version, but I think that needs to be more clearly documented and I think it ought to be REQUIRED for anyone that is using UDP and obviously, older implementations of TCP (i.e., those only compliant to RFC 4583 and not this document) ought to be the only ones that aren't using the version field.


c) last paragraph.  Related to b, I would think that in the case of unreliable transports, it's not that an endpoint MUST "assume".  An endpoint MUST "use" and signal a version number of 2.   In the case of a reliable transport, if the endpoint does not signal a bfcpversion-attribute, then the floor control server MUST use a value of 1.   I'm recalling a fair amount of mailing list discussion on this one, so if you can point to the thread where this text was agreed, I can let this one go.  I still think it's not specified quite right, but I can live with it.

I think it would be good to tighten up the wording as you suggested.

6) Section 8.  1st sentence.  I think this should be a "can use TCP or UDP" and not a "may use TCP or UDP". Note, there is the perennial debate with regards to whether something is normative even when it's not CAPS.  I prefer to just use a different word to remove any confusion, particularly when a different word is actually more correct.

Works for me.

7) Section 8.1,  4th paragraph, 1st sentence and last sentence.  I think the two "SHOULD generate and offer" ought to be a MUST generate an offer OR you need to specify the circumstances under which a client would not generate an offer.


8) Section 9, 1st paragraph.  You're going to have to be more specific about the potential mechanisms for authentication - at least provide an example of mechanisms - i.e., I don't think "some mechanism" will fly with the SecDir folks.

What is we were to say that TLS/DTLS is preferred, but other mechanisms are possible and outside the scope of this document.

9) Section 11, 2nd paragraph.  I think that the assumes in the following statement needs to be a required.  I suggest the following change:


  BFCP assumes that an initial integrity-protected channel is used to exchange...


 An initial integrity-protected channel is REQUIRED for BFCP to exchange...


10) Related to item 7, this list of changes has no mention of the new "bfcpver" attribute.  That definitely should be on this list.

Good catch.

Editorial nits:

1) Introduction.  "These data includes..." -> "This data includes...."  (data is now grammatically considered to be a singular noun).

2) Section 3.  1st paragraph after the indented text.  This could be written more concisely (and per technical doc standards not as the 1st person) as follows (and per comment 1) above, I think this should be the 'proto' field:


     We define four new values for the transport field:


      This document defines four values for the proto field:

3) Section 5.  I suggest the following change:


     We define the 'confid' and the 'userid' SDP media-level attributes.


   This document defines two SDP media-level attributes: 'confid' and 'userid'.

4) Section 6. I suggest the following change:


    We define the 'floorid' SDP media-level attribute.


   This document defines the 'floorid' SDP media-level attribute.

5) Section 13.  I found this really, really hard to read.  I suggest you use a bulleted or numbered list versus this hanging list style.

Works for me.