Re: [bfcpbis] WGLC for draft-ietf-bfcpbis-rfc4583bis

Alan Ford <alan.ford@gmail.com> Tue, 08 August 2017 08:52 UTC

Return-Path: <alan.ford@gmail.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 5A44E129AF3 for <bfcpbis@ietfa.amsl.com>; Tue, 8 Aug 2017 01:52:52 -0700 (PDT)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.998
X-Spam-Level:
X-Spam-Status: No, score=-1.998 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001, URIBL_BLOCKED=0.001] autolearn=ham autolearn_force=no
Authentication-Results: ietfa.amsl.com (amavisd-new); dkim=pass (2048-bit key) header.d=gmail.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 5aDKBPLngz-e for <bfcpbis@ietfa.amsl.com>; Tue, 8 Aug 2017 01:52:49 -0700 (PDT)
Received: from mail-wr0-x22e.google.com (mail-wr0-x22e.google.com [IPv6:2a00:1450:400c:c0c::22e]) (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 A5150126C22 for <bfcpbis@ietf.org>; Tue, 8 Aug 2017 01:52:48 -0700 (PDT)
Received: by mail-wr0-x22e.google.com with SMTP id k71so10290331wrc.2 for <bfcpbis@ietf.org>; Tue, 08 Aug 2017 01:52:48 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:subject:from:in-reply-to:date:cc:message-id:references :to; bh=w1T+elZyL/5Cv9Ai7wJhe72AOjoNvpuZ1dWf07b4llE=; b=CCkDpE0ALzfigezxB9K5jZBjtXaUtBxt91jZPfsBQ0LSigsASUF4K1uYxN7CuDP3l0 1KD69gBUuLDf4penEKoaGEFZMErwdlp84YJe5L/Cob1QgI+yhbGwU2WcyBAQS9dieTHs VqGlpmI1cLekXTLwRc69LX5vJlGDHCKSkNMlElQLqiY4RXbf6lSuE+XwBAnG2eFn8CKZ r3pFkpsDJj+g72BYgrsSDKZq2jFVY7Xi7NDesrr6baShjbR5/Zfk5PAL98VPhcauloXu gPm4rYSUrgIzVQ5aBgOidZsk2lblnWAp7vAiZGON3ILPuAJkdbQbvK0d61kmP+PXU9y/ jShg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :message-id:references:to; bh=w1T+elZyL/5Cv9Ai7wJhe72AOjoNvpuZ1dWf07b4llE=; b=XxkSARPlAht7C5PdlN6HMVY9R5zYcTzHQM4+T2Ul8WXX+XvtN5R+MgKaCyqHAuBQT1 Ungswi8s0DsK51NBv1dShAeTlG7FMiY7dBcuj5w3GTmxyZUgxQxzDADHbbsshA0msG8j RT6kP7VEcU6GUZuUcZ4USKU+KOWY2pqu6YuEwe9EhcXyjQrySuaVJITgtW4rMorLVv+J ovbTogfFnc/UQ8VByB6STd98pv1DEpmNoNKoy572GcEh2ovLZYfTboyFuZnwvMDmGwor bcZadBlaPcEu0pb8jscmPOceqLFaA4gWKE85stPY7WKyiDyoDCnwgqquMU4K0jS+5jsq ZApA==
X-Gm-Message-State: AHYfb5gTvjCVbsS76qssjQ0wwpQIFOuRuC/WSuae8zZvWtSLdSLeUe1S DbOI10AUGlTVHA==
X-Received: by 10.223.171.9 with SMTP id q9mr2244287wrc.95.1502182367089; Tue, 08 Aug 2017 01:52:47 -0700 (PDT)
Received: from alans-mbp.lan ([83.216.157.114]) by smtp.gmail.com with ESMTPSA id 90sm669255wrs.18.2017.08.08.01.52.45 (version=TLS1 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Tue, 08 Aug 2017 01:52:46 -0700 (PDT)
Content-Type: multipart/alternative; boundary="Apple-Mail=_CA191390-236E-4D29-8B84-5326FD36F544"
Mime-Version: 1.0 (Mac OS X Mail 9.3 \(3124\))
From: Alan Ford <alan.ford@gmail.com>
In-Reply-To: <871507E1-51A7-4E9D-B29B-443E555E8AD0@cisco.com>
Date: Tue, 08 Aug 2017 09:52:44 +0100
Cc: "bfcpbis@ietf.org" <bfcpbis@ietf.org>, "Tom Kristensen (tomkrist)" <tomkrist@cisco.com>, Roman Shpount <rshpount@turbobridge.com>, Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com>, Christer Holmberg <christer.holmberg@ericsson.com>
Message-Id: <F8F85BD5-2738-4865-8C15-EAE617F1A976@gmail.com>
References: <33AC90F8-1963-4F79-ACB2-0DB2873D5E34@cisco.com> <CA9D5614-1425-4F8E-8B05-AFCEFBA65507@cisco.com> <F5575EC0-2762-46E6-A875-300895B7A268@gmail.com> <D93AD7DA-1A7A-41DC-A0BF-6015B4B6A3A7@cisco.com> <91583BC6-E5FD-42EC-8591-954ADE571577@gmail.com> <871507E1-51A7-4E9D-B29B-443E555E8AD0@cisco.com>
To: "Charles Eckel (eckelcu)" <eckelcu@cisco.com>
X-Mailer: Apple Mail (2.3124)
Archived-At: <https://mailarchive.ietf.org/arch/msg/bfcpbis/efQu-sTJIfAq3Er32zBS8py6B9c>
Subject: Re: [bfcpbis] WGLC for draft-ietf-bfcpbis-rfc4583bis
X-BeenThere: bfcpbis@ietf.org
X-Mailman-Version: 2.1.22
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: Tue, 08 Aug 2017 08:52:52 -0000

Hi Charles, all,

Inline…

> On 7 Aug 2017, at 19:56, Charles Eckel (eckelcu) <eckelcu@cisco.com> wrote:
> 
>  
> From: Alan Ford <alan.ford@gmail.com <mailto:alan.ford@gmail.com>>
> Date: Monday, August 7, 2017 at 1:37 AM
> To: Charles Eckel <eckelcu@cisco.com <mailto:eckelcu@cisco.com>>
> Cc: "bfcpbis@ietf.org <mailto:bfcpbis@ietf.org>" <bfcpbis@ietf.org <mailto:bfcpbis@ietf.org>>, Tom Kristensen <tomkrist@cisco.com <mailto:tomkrist@cisco.com>>, Roman Shpount <rshpount@turbobridge.com <mailto:rshpount@turbobridge.com>>, Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com <mailto:Gonzalo.Camarillo@ericsson.com>>, Christer Holmberg <christer.holmberg@ericsson.com <mailto:christer.holmberg@ericsson.com>>
> Subject: Re: [bfcpbis] WGLC for draft-ietf-bfcpbis-rfc4583bis
>  
> Hi Charles, all, 
>  
> Further comments inline…
>  
>> On 3 Aug 2017, at 23:19, Charles Eckel (eckelcu) <eckelcu@cisco.com <mailto:eckelcu@cisco.com>> wrote:
>>  
>> Please see inline [cue]
>>  
>> From: Alan Ford <alan.ford@gmail.com <mailto:alan.ford@gmail.com>>
>> Date: Sunday, July 23, 2017 at 1:01 AM
>> To: Charles Eckel <eckelcu@cisco.com <mailto:eckelcu@cisco.com>>
>> Cc: "bfcpbis@ietf.org <mailto:bfcpbis@ietf.org>" <bfcpbis@ietf.org <mailto:bfcpbis@ietf.org>>, Tom Kristensen <tomkrist@cisco.com <mailto:tomkrist@cisco.com>>, Roman Shpount <rshpount@turbobridge.com <mailto:rshpount@turbobridge.com>>, Gonzalo Camarillo <Gonzalo.Camarillo@ericsson.com <mailto:Gonzalo.Camarillo@ericsson.com>>, Christer Holmberg <christer.holmberg@ericsson.com <mailto:christer.holmberg@ericsson.com>>
>> Subject: Re: [bfcpbis] WGLC for draft-ietf-bfcpbis-rfc4583bis
>>  
>> Hi Charles, all, 
>>  
>> S3
>>  
>> - TCP transport indent is hard to parse. Suggest changing sentence to "Depending on the value of the 'setup' attribute (discussed in Section 8.1), the port field contains either the port to which the remote endpoint will direct BFCP messages, or in the case where the endpoint will initiate the connection towards the remote endpoint, should be set to a value of 9."
>>  
>> [cue] works for me
>>  
>>  
>> S4.1
>>  
>> - "The offerer includes this attribute to state all the roles it would be willing to perform”: add “once negotiation is complete”, for clarity.
>>  
>> [cue] good idea
>>  
>> - Here, plus S11.1 and S11.2, floorctrl is optional with inferred state of c-only for an offerer if it is not specified. I would advocate taking this opportunity to get rid of ambiguity and making the presence of floorctrl a MUST. Everyone does it already, but it’s one of the most problematic fields for interop as it is.
>>  
>> - Also, given in an answer only one role is present, but in an offer multiple can be present, can this be clearer in the ABNF? Is it possible to specify two ABNFs, one for the offer and one for the answer (the answer being without the *)? If that’s not possible, then could we at least emphasise this point near the start of the section (again coming at this from too many interop issues in this area).
>>  
>> [cue] Christer seemed to agree with you. I have been a proponent of not breaking backward compatibility with RFC 4583 unnecessarily. Anyone from the original RFC 4583 days able to shed some light on this?
>  
> I agree with Christer here - it’s not a break in backward compatibility to mandate it from a offerer's point of view in the new spec, since this is all which is changing. An old answerer can cope. The only issue is a new-spec-compliant answerer with an old receiver. To be fully belt-and-braces here, the receiver should be able to cope without one and infer it, but the sender MUST always send it.
>  
> [cue] Yes, you and Christer are correct about the backward compatibility part. I had it wrong.
>  
> BTW just to flag up my second point there was unrelated to the first, which you answered… I’m not sure how best to present this information but I think it’s important it’s clearer near the ABNF definition that multiple roles are possible in an offer.
>  
> [cue] Section includes this example:
>  
>    The following is an example of a 'floorctrl' attribute in an offer.
>    When this attribute appears in an answer, it only carries one role:
>  
>              a=floorctrl:c-only s-only c-s
>  
> Do you think it would help if we added another role to one of the offers in the examples in section 12?
> e.g. 
>    The following is an example of an offer sent by a conference server
>    to a client.
>  
>    m=application 50000 TCP/TLS/BFCP *
>    a=setup:passive
>    a=connection:new
>    a=fingerprint:sha-256 \
>         19:E2:1C:3B:4B:9F:81:E6:B8:5C:F4:A5:A8:D8:73:04: \
>         BB:05:2F:70:9F:04:A9:0E:05:E9:26:33:E8:70:88:A2
>    a=floorctrl:c-only s-only
>  

Yes, I think that would be beneficial. I would also propose adding the following sentence directly after the ABNF in S4.1: “The offer will include one or more roles in its offer; the answerer MUST include only one role”. (The section then goes on to describe why… But this is probably the top issue in BFCP interop I want to see it totally clear). It may also be worth adding a final sentence that “If the answerer does not support any corresponding role, it MUST zero-port the m-line”.

>> S6
>>  
>> - “…identified by an SDP label attribute”. For consistency, please put ‘label’ in single quotes.
>>  
>> [cue] good idea
>>  
>> - Why is mstrm: optional in the ABNF, and optional in the paragraph beginning “The floorid attribute…”, yet is mandatory in the “Endpoints that use the offer/answer…” section? If there is a genuine reason for it to be optional please specify this, however I think it would be easier just to make it mandatory.
>>  
>> [cue] The floorid is defined such that one can specify a floorid yet not associate it with any media stream, thus the mstrm is optional. This is how it was defined in RFC 4583. I am not sure if anyone makes use of this, but that is how it was defined.
>  
> It would be useful to understand what the use case is for this, but whether or not it’s required the text is still inconsistent. "It defines a floor identifier and, possibly, associates it with one or more media streams.” makes it sound optional, whereas "A floor control server acting as an offerer or as an answerer MUST include these attributes in its session descriptions.” says “these attributes” which I took to mean both label and floorid, and once you’re including label the inference is that mstrm: should be added.
>  
> I think it would be beneficial to clarify one way or the other. Either mstrm: is a MUST, or clarify why and how it could be used optionally.
>  
> [cue] I see now. If “label” is required it seems you need at least one “mstrm”, right?
> So how about if we change as follows:
>  
> OLD : floor-id-attribute = "a=floorid:" token [" mstrm:" token *(SP token)]
> NEW: floor-id-attribute = "a=floorid:" token " mstrm:" token [*(SP token)]
> OLD: It defines a floor identifier and, possibly, associates it with one or more media streams.
> NEW: It defines a floor identifier and associates it with one or more media streams.
>  
> Although I likely botched the ABNF.

My issue is not so much that this is permitted without mstrm:, just that it is inconsistent.

I am not familiar with a scenario where it would be valid without mstrm: … If there is one I have no problem with this being permitted, but then I would suggest changing “A floor control server acting as an offerer or as an answerer MUST include these attributes in its session descriptions.” to be “A floor control server acting as an offerer or as an answerer MUST include the `floorid` attribute, and the `label` attribute if using the `mstrm` parameter, in its session descriptions.”.

If there must always be a mstrm: , then your proposal would be the appropriate fix.

One or the other - at the moment I think the text is a little confusing.

Regards,
Alan