rfc8855v7.txt | rfc8855.txt | |||
---|---|---|---|---|
skipping to change at line 12 ¶ | skipping to change at line 12 ¶ | |||
Internet Engineering Task Force (IETF) G. Camarillo | Internet Engineering Task Force (IETF) G. Camarillo | |||
Request for Comments: 8855 Ericsson | Request for Comments: 8855 Ericsson | |||
Obsoletes: 4582 K. Drage | Obsoletes: 4582 K. Drage | |||
Category: Standards Track | Category: Standards Track | |||
ISSN: 2070-1721 T. Kristensen | ISSN: 2070-1721 T. Kristensen | |||
Jotron | Jotron | |||
J. Ott | J. Ott | |||
Technical University Munich | Technical University Munich | |||
C. Eckel | C. Eckel | |||
Cisco | Cisco | |||
April 2020 | January 2021 | |||
The Binary Floor Control Protocol (BFCP) | The Binary Floor Control Protocol (BFCP) | |||
Abstract | Abstract | |||
Floor control is a means to manage joint or exclusive access to | Floor control is a means to manage joint or exclusive access to | |||
shared resources in a (multiparty) conferencing environment. | shared resources in a (multiparty) conferencing environment. | |||
Thereby, floor control complements other functions -- such as | Thereby, floor control complements other functions -- such as | |||
conference and media session setup, conference policy manipulation, | conference and media session setup, conference policy manipulation, | |||
and media control -- that are realized by other protocols. | and media control -- that are realized by other protocols. | |||
skipping to change at line 47 ¶ | skipping to change at line 47 ¶ | |||
received public review and has been approved for publication by the | received public review and has been approved for publication by the | |||
Internet Engineering Steering Group (IESG). Further information on | Internet Engineering Steering Group (IESG). Further information on | |||
Internet Standards is available in Section 2 of RFC 7841. | Internet Standards is available in Section 2 of RFC 7841. | |||
Information about the current status of this document, any errata, | Information about the current status of this document, any errata, | |||
and how to provide feedback on it may be obtained at | and how to provide feedback on it may be obtained at | |||
https://www.rfc-editor.org/info/rfc8855. | https://www.rfc-editor.org/info/rfc8855. | |||
Copyright Notice | Copyright Notice | |||
Copyright (c) 2020 IETF Trust and the persons identified as the | Copyright (c) 2021 IETF Trust and the persons identified as the | |||
document authors. All rights reserved. | document authors. All rights reserved. | |||
This document is subject to BCP 78 and the IETF Trust's Legal | This document is subject to BCP 78 and the IETF Trust's Legal | |||
Provisions Relating to IETF Documents | Provisions Relating to IETF Documents | |||
(https://trustee.ietf.org/license-info) in effect on the date of | (https://trustee.ietf.org/license-info) in effect on the date of | |||
publication of this document. Please review these documents | publication of this document. Please review these documents | |||
carefully, as they describe your rights and restrictions with respect | carefully, as they describe your rights and restrictions with respect | |||
to this document. Code Components extracted from this document must | to this document. Code Components extracted from this document must | |||
include Simplified BSD License text as described in Section 4.e of | include Simplified BSD License text as described in Section 4.e of | |||
the Trust Legal Provisions and are provided without warranty as | the Trust Legal Provisions and are provided without warranty as | |||
skipping to change at line 803 ¶ | skipping to change at line 803 ¶ | |||
| 14 | FloorRequestStatusAck | P -> S ; Ch -> S | | | 14 | FloorRequestStatusAck | P -> S ; Ch -> S | | |||
+-------+-----------------------+--------------------+ | +-------+-----------------------+--------------------+ | |||
| 15 | FloorStatusAck | P -> S ; Ch -> S | | | 15 | FloorStatusAck | P -> S ; Ch -> S | | |||
+-------+-----------------------+--------------------+ | +-------+-----------------------+--------------------+ | |||
| 16 | Goodbye | P -> S ; Ch -> S ; | | | 16 | Goodbye | P -> S ; Ch -> S ; | | |||
| | | P <- S ; Ch <- S | | | | | P <- S ; Ch <- S | | |||
+-------+-----------------------+--------------------+ | +-------+-----------------------+--------------------+ | |||
| 17 | GoodbyeAck | P -> S ; Ch -> S ; | | | 17 | GoodbyeAck | P -> S ; Ch -> S ; | | |||
| | | P <- S ; Ch <- S | | | | | P <- S ; Ch <- S | | |||
+-------+-----------------------+--------------------+ | +-------+-----------------------+--------------------+ | |||
| S: Floor Control Server / P: Floor Participant / | | | S: Floor Control Server | | |||
| Ch: Floor Chair | | | P: Floor Participant | | |||
| Ch: Floor Chair | | ||||
+----------------------------------------------------+ | +----------------------------------------------------+ | |||
Table 1: BFCP primitives | Table 1: BFCP primitives | |||
Payload Length: This 16-bit field contains the length of the message | Payload Length: This 16-bit field contains the length of the message | |||
in 4-octet units, excluding the COMMON-HEADER. If a floor control | in 4-octet units, excluding the COMMON-HEADER. If a floor control | |||
server receives a message with an incorrect Payload Length field | server receives a message with an incorrect Payload Length field | |||
value, the receiving server MUST send an Error message with | value, the receiving server MUST send an Error message with | |||
parameter value 13 (Incorrect Message Length) to indicate this and | parameter value 13 (Incorrect Message Length) to indicate this and | |||
then discard the message. Other entities that receive a message | then discard the message. Other entities that receive a message | |||
skipping to change at line 2036 ¶ | skipping to change at line 2037 ¶ | |||
deployment, this infrastructure typically includes some subset of | deployment, this infrastructure typically includes some subset of | |||
Interactive Connectivity Establishment (ICE) [16]. | Interactive Connectivity Establishment (ICE) [16]. | |||
In order to facilitate the initial establishment of NAT bindings, and | In order to facilitate the initial establishment of NAT bindings, and | |||
to maintain those bindings once established, BFCP entities using an | to maintain those bindings once established, BFCP entities using an | |||
unreliable transport are RECOMMENDED to use STUN [14] Binding | unreliable transport are RECOMMENDED to use STUN [14] Binding | |||
Indication for keepalives, as described for ICE [16]. Section 6.7 of | Indication for keepalives, as described for ICE [16]. Section 6.7 of | |||
[28] provides useful recommendations for middlebox interaction when | [28] provides useful recommendations for middlebox interaction when | |||
DTLS is used. | DTLS is used. | |||
| Informational note: Since the version number is set to 2 when | | Note: Since the version number is set to 2 when BFCP is used | |||
| BFCP is used over an unreliable transport, cf. the Ver field in | | over an unreliable transport, cf. the Ver field in Section 5.1, | |||
| Section 5.1, it is straightforward to distinguish between STUN | | it is straightforward to distinguish between STUN and BFCP | |||
| and BFCP packets even without checking the STUN magic cookie | | packets even without checking the STUN magic cookie [14]. | |||
| [14]. | ||||
In order to facilitate traversal of BFCP packets through NATs, BFCP | In order to facilitate traversal of BFCP packets through NATs, BFCP | |||
entities using an unreliable transport are RECOMMENDED to use | entities using an unreliable transport are RECOMMENDED to use | |||
symmetric ports for sending and receiving BFCP packets, as | symmetric ports for sending and receiving BFCP packets, as | |||
recommended for RTP/RTP Control Protocol (RTCP) [13]. | recommended for RTP/RTP Control Protocol (RTCP) [13]. | |||
7. Lower-Layer Security | 7. Lower-Layer Security | |||
BFCP relies on lower-layer security mechanisms to provide replay and | BFCP relies on lower-layer security mechanisms to provide replay and | |||
integrity protection and confidentiality. BFCP floor control servers | integrity protection and confidentiality. BFCP floor control servers | |||
skipping to change at line 3754 ¶ | skipping to change at line 3754 ¶ | |||
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, | |||
May 2017, <https://www.rfc-editor.org/info/rfc8174>. | May 2017, <https://www.rfc-editor.org/info/rfc8174>. | |||
[11] Rescorla, E., "The Transport Layer Security (TLS) Protocol | [11] Rescorla, E., "The Transport Layer Security (TLS) Protocol | |||
Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, | |||
<https://www.rfc-editor.org/info/rfc8446>. | <https://www.rfc-editor.org/info/rfc8446>. | |||
[12] Camarillo, G., Kristensen, T., and C. Holmberg, "Session | [12] Camarillo, G., Kristensen, T., and C. Holmberg, "Session | |||
Description Protocol (SDP) Format for Binary Floor Control | Description Protocol (SDP) Format for Binary Floor Control | |||
Protocol (BFCP) Streams", RFC 8856, DOI 10.17487/RFC8856, | Protocol (BFCP) Streams", RFC 8856, DOI 10.17487/RFC8856, | |||
April 2020, <https://www.rfc-editor.org/info/rfc8856>. | January 2021, <https://www.rfc-editor.org/info/rfc8856>. | |||
[13] Wing, D., "Symmetric RTP / RTP Control Protocol (RTCP)", | [13] Wing, D., "Symmetric RTP / RTP Control Protocol (RTCP)", | |||
BCP 131, RFC 4961, DOI 10.17487/RFC4961, July 2007, | BCP 131, RFC 4961, DOI 10.17487/RFC4961, July 2007, | |||
<https://www.rfc-editor.org/info/rfc4961>. | <https://www.rfc-editor.org/info/rfc4961>. | |||
[14] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing, | [14] Rosenberg, J., Mahy, R., Matthews, P., and D. Wing, | |||
"Session Traversal Utilities for NAT (STUN)", RFC 5389, | "Session Traversal Utilities for NAT (STUN)", RFC 5389, | |||
DOI 10.17487/RFC5389, October 2008, | DOI 10.17487/RFC5389, October 2008, | |||
<https://www.rfc-editor.org/info/rfc5389>. | <https://www.rfc-editor.org/info/rfc5389>. | |||
End of changes. 5 change blocks. | ||||
10 lines changed or deleted | 10 lines changed or added | |||
This html diff was produced by rfcdiff 1.48. The latest version is available from http://tools.ietf.org/tools/rfcdiff/ |