| 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/ | ||||