rfc8856v4.txt   rfc8856.txt 
Internet Engineering Task Force (IETF) G. Camarillo Internet Engineering Task Force (IETF) G. Camarillo
Request for Comments: 8856 Ericsson Request for Comments: 8856 Ericsson
Obsoletes: 4583 T. Kristensen Obsoletes: 4583 T. Kristensen
Category: Standards Track Jotron Category: Standards Track Jotron
ISSN: 2070-1721 C. Holmberg ISSN: 2070-1721 C. Holmberg
Ericsson Ericsson
December 2020 January 2021
Session Description Protocol (SDP) Format for Binary Floor Control Session Description Protocol (SDP) Format for Binary Floor Control
Protocol (BFCP) Streams Protocol (BFCP) Streams
Abstract Abstract
This document defines the Session Description Protocol (SDP) offer/ This document defines the Session Description Protocol (SDP) offer/
answer procedures for negotiating and establishing Binary Floor answer procedures for negotiating and establishing Binary Floor
Control Protocol (BFCP) streams. Control Protocol (BFCP) streams.
skipping to change at line 37 skipping to change at line 37
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/rfc8856. https://www.rfc-editor.org/info/rfc8856.
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 148 skipping to change at line 148
When two endpoints establish a BFCP stream, they need to determine When two endpoints establish a BFCP stream, they need to determine
which of them acts as a floor control client and which acts as a which of them acts as a floor control client and which acts as a
floor control server. floor control server.
Once the roles have been determined, the roles will apply to all Once the roles have been determined, the roles will apply to all
BFCP-controlled streams associated with the BFCP stream. BFCP-controlled streams associated with the BFCP stream.
4. Fields in the "m=" Line 4. Fields in the "m=" Line
According to the SDP specification [RFC4566], the "m=" line format is According to the SDP specification [RFC8866], the "m=" line format is
as follows: as follows:
m=<media> <port> <proto> <fmt> ... m=<media> <port> <proto> <fmt> ...
This section describes how to generate an "m=" line of an SDP Media This section describes how to generate an "m=" line of an SDP Media
Description ("m=" section) describing a BFCP stream. Description ("m=" section) describing a BFCP stream.
The media field MUST have a value of "application". The media field MUST have a value of "application".
Depending on the value of the proto field, the port field is set as Depending on the value of the proto field, the port field is set as
skipping to change at line 379 skipping to change at line 379
Charset Dependent: No Charset Dependent: No
Mux Category: TBD Mux Category: TBD
The Augmented BNF syntax [RFC5234] for the attribute is: The Augmented BNF syntax [RFC5234] for the attribute is:
floor-id = 1*DIGIT SP "mstrm:" token *(SP token) floor-id = 1*DIGIT SP "mstrm:" token *(SP token)
DIGIT = <DIGIT as defined in [RFC5234]> DIGIT = <DIGIT as defined in [RFC5234]>
token = <token as defined in [RFC4566]> token = <token as defined in [RFC8866]>
The maximum value of the attribute is determined by the FLOOR-ID The maximum value of the attribute is determined by the FLOOR-ID
format [RFC8855]. format [RFC8855].
The floor identifier value is the integer representation of the The floor identifier value is the integer representation of the
Floor ID field value [RFC8855] to be used in BFCP. Each media stream Floor ID field value [RFC8855] to be used in BFCP. Each media stream
pointer value is associated with an SDP 'label' attribute [RFC4574] pointer value is associated with an SDP 'label' attribute [RFC4574]
of a media stream. of a media stream.
The SDP Offer/Answer procedures for the 'floorid' attribute are The SDP Offer/Answer procedures for the 'floorid' attribute are
skipping to change at line 630 skipping to change at line 630
10.2. Generating the SDP Answer 10.2. Generating the SDP Answer
When the answerer receives an offer that contains an "m=" section When the answerer receives an offer that contains an "m=" section
describing a BFCP stream, the answerer MUST check whether it supports describing a BFCP stream, the answerer MUST check whether it supports
one or more of the BFCP versions supported by the offerer one or more of the BFCP versions supported by the offerer
(Section 5.5). If the answerer does not support any of the BFCP (Section 5.5). If the answerer does not support any of the BFCP
versions, it MUST NOT accept the "m=" section. Otherwise, if the versions, it MUST NOT accept the "m=" section. Otherwise, if the
answerer accepts the "m=" section, the answerer answerer accepts the "m=" section, the answerer
* MUST insert a corresponding "m=" section in the answer, with an * MUST insert a corresponding "m=" section in the answer, with an
identical "m=" line proto value [RFC4566], identical "m=" line proto value [RFC8866],
* MUST include a 'bfcpver' attribute in the "m=" section; the * MUST include a 'bfcpver' attribute in the "m=" section; the
versions indicated by the answer MUST be the same or a subset of versions indicated by the answer MUST be the same or a subset of
the versions indicated by the offerer in the corresponding offer, the versions indicated by the offerer in the corresponding offer,
and and
* MUST, if the offer contained an SDP 'floorctrl' attribute, include * MUST, if the offer contained an SDP 'floorctrl' attribute, include
a 'floorctrl' attribute in the "m=" section. a 'floorctrl' attribute in the "m=" section.
In addition, if the answerer includes an SDP 'floorctrl' attribute In addition, if the answerer includes an SDP 'floorctrl' attribute
skipping to change at line 800 skipping to change at line 800
a=confid:4321 a=confid:4321
a=userid:1234 a=userid:1234
a=floorid:1 mstrm:10 a=floorid:1 mstrm:10
a=floorid:2 mstrm:11 a=floorid:2 mstrm:11
a=bfcpver:2 a=bfcpver:2
m=audio 55002 RTP/AVP 0 m=audio 55002 RTP/AVP 0
m=video 55004 RTP/AVP 31 m=video 55004 RTP/AVP 31
12. Security Considerations 12. Security Considerations
The BFCP specification [RFC8855], SDP specification [RFC4566], and The BFCP specification [RFC8855], SDP specification [RFC8866], and
offer/answer specification [RFC3264] discuss security issues related offer/answer specification [RFC3264] discuss security issues related
to BFCP, SDP, and offer/answer, respectively. In addition, [RFC4145] to BFCP, SDP, and offer/answer, respectively. In addition, [RFC4145]
and [RFC8122] discuss security issues related to the establishment of and [RFC8122] discuss security issues related to the establishment of
TCP and TLS connections using an offer/answer model. Furthermore, TCP and TLS connections using an offer/answer model. Furthermore,
when using DTLS over UDP, the generic offer/answer considerations when using DTLS over UDP, the generic offer/answer considerations
defined in [RFC8842] MUST be followed. defined in [RFC8842] MUST be followed.
The usage of certain proto values in the SDP offer/answer negotiation The usage of certain proto values in the SDP offer/answer negotiation
will result in a BFCP stream that is not protected by TLS or DTLS. will result in a BFCP stream that is not protected by TLS or DTLS.
Operators will need to provide integrity protection and Operators will need to provide integrity protection and
skipping to change at line 968 skipping to change at line 968
[RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model [RFC3264] Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model
with Session Description Protocol (SDP)", RFC 3264, with Session Description Protocol (SDP)", RFC 3264,
DOI 10.17487/RFC3264, June 2002, DOI 10.17487/RFC3264, June 2002,
<https://www.rfc-editor.org/info/rfc3264>. <https://www.rfc-editor.org/info/rfc3264>.
[RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in [RFC4145] Yon, D. and G. Camarillo, "TCP-Based Media Transport in
the Session Description Protocol (SDP)", RFC 4145, the Session Description Protocol (SDP)", RFC 4145,
DOI 10.17487/RFC4145, September 2005, DOI 10.17487/RFC4145, September 2005,
<https://www.rfc-editor.org/info/rfc4145>. <https://www.rfc-editor.org/info/rfc4145>.
[RFC4566] Handley, M., Jacobson, V., and C. Perkins, "SDP: Session
Description Protocol", RFC 4566, DOI 10.17487/RFC4566,
July 2006, <https://www.rfc-editor.org/info/rfc4566>.
[RFC4571] Lazzaro, J., "Framing Real-time Transport Protocol (RTP) [RFC4571] Lazzaro, J., "Framing Real-time Transport Protocol (RTP)
and RTP Control Protocol (RTCP) Packets over Connection- and RTP Control Protocol (RTCP) Packets over Connection-
Oriented Transport", RFC 4571, DOI 10.17487/RFC4571, July Oriented Transport", RFC 4571, DOI 10.17487/RFC4571, July
2006, <https://www.rfc-editor.org/info/rfc4571>. 2006, <https://www.rfc-editor.org/info/rfc4571>.
[RFC4574] Levin, O. and G. Camarillo, "The Session Description [RFC4574] Levin, O. and G. Camarillo, "The Session Description
Protocol (SDP) Label Attribute", RFC 4574, Protocol (SDP) Label Attribute", RFC 4574,
DOI 10.17487/RFC4574, August 2006, DOI 10.17487/RFC4574, August 2006,
<https://www.rfc-editor.org/info/rfc4574>. <https://www.rfc-editor.org/info/rfc4574>.
skipping to change at line 1025 skipping to change at line 1021
[RFC8445] Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive [RFC8445] Keranen, A., Holmberg, C., and J. Rosenberg, "Interactive
Connectivity Establishment (ICE): A Protocol for Network Connectivity Establishment (ICE): A Protocol for Network
Address Translator (NAT) Traversal", RFC 8445, Address Translator (NAT) Traversal", RFC 8445,
DOI 10.17487/RFC8445, July 2018, DOI 10.17487/RFC8445, July 2018,
<https://www.rfc-editor.org/info/rfc8445>. <https://www.rfc-editor.org/info/rfc8445>.
[RFC8839] Petit-Huguenin, M., Nandakumar, S., Holmberg, C., Keränen, [RFC8839] Petit-Huguenin, M., Nandakumar, S., Holmberg, C., Keränen,
A., and R. Shpount, "Session Description Protocol (SDP) A., and R. Shpount, "Session Description Protocol (SDP)
Offer/Answer Procedures for Interactive Connectivity Offer/Answer Procedures for Interactive Connectivity
Establishment (ICE)", RFC 8839, DOI 10.17487/RFC8839, Establishment (ICE)", RFC 8839, DOI 10.17487/RFC8839,
December 2020, <https://www.rfc-editor.org/info/rfc8839>. January 2021, <https://www.rfc-editor.org/info/rfc8839>.
[RFC8842] Holmberg, C. and R. Shpount, "Session Description Protocol [RFC8842] Holmberg, C. and R. Shpount, "Session Description Protocol
(SDP) Offer/Answer Considerations for Datagram Transport (SDP) Offer/Answer Considerations for Datagram Transport
Layer Security (DTLS) and Transport Layer Security (TLS)", Layer Security (DTLS) and Transport Layer Security (TLS)",
RFC 8842, DOI 10.17487/RFC8842, December 2020, RFC 8842, DOI 10.17487/RFC8842, January 2021,
<https://www.rfc-editor.org/info/rfc8842>. <https://www.rfc-editor.org/info/rfc8842>.
[RFC8855] Camarillo, G., Drage, K., Kristensen, T., Ott, J., and C. [RFC8855] Camarillo, G., Drage, K., Kristensen, T., Ott, J., and C.
Eckel, "The Binary Floor Control Protocol (BFCP)", Eckel, "The Binary Floor Control Protocol (BFCP)",
RFC 8855, DOI 10.17487/RFC8855, December 2020, RFC 8855, DOI 10.17487/RFC8855, January 2021,
<https://www.rfc-editor.org/info/rfc8855>. <https://www.rfc-editor.org/info/rfc8855>.
[RFC8859] Nandakumar, S., "A Framework for Session Description [RFC8859] Nandakumar, S., "A Framework for Session Description
Protocol (SDP) Attributes When Multiplexing", RFC 8859, Protocol (SDP) Attributes When Multiplexing", RFC 8859,
DOI 10.17487/RFC8859, December 2020, DOI 10.17487/RFC8859, January 2021,
<https://www.rfc-editor.org/info/rfc8859>. <https://www.rfc-editor.org/info/rfc8859>.
[RFC8866] Begen, A., Kyzivat, P., Perkins, C., and M. Handley, "SDP:
Session Description Protocol", RFC 8866,
DOI 10.17487/RFC8866, January 2021,
<https://www.rfc-editor.org/info/rfc8866>.
15.2. Informative References 15.2. Informative References
[Err712] RFC Errata, Erratum ID 712, RFC 4583, [Err712] RFC Errata, Erratum ID 712, RFC 4583,
<https://www.rfc-editor.org/errata/eid712>. <https://www.rfc-editor.org/errata/eid712>.
[RFC5576] Lennox, J., Ott, J., and T. Schierl, "Source-Specific [RFC5576] Lennox, J., Ott, J., and T. Schierl, "Source-Specific
Media Attributes in the Session Description Protocol Media Attributes in the Session Description Protocol
(SDP)", RFC 5576, DOI 10.17487/RFC5576, June 2009, (SDP)", RFC 5576, DOI 10.17487/RFC5576, June 2009,
<https://www.rfc-editor.org/info/rfc5576>. <https://www.rfc-editor.org/info/rfc5576>.
[RFC8843] Holmberg, C., Alvestrand, H., and C. Jennings, [RFC8843] Holmberg, C., Alvestrand, H., and C. Jennings,
"Negotiating Media Multiplexing Using the Session "Negotiating Media Multiplexing Using the Session
Description Protocol (SDP)", RFC 8843, Description Protocol (SDP)", RFC 8843,
DOI 10.17487/RFC8843, December 2020, DOI 10.17487/RFC8843, January 2021,
<https://www.rfc-editor.org/info/rfc8843>. <https://www.rfc-editor.org/info/rfc8843>.
Acknowledgements Acknowledgements
Jörg Ott, Keith Drage, Alan Johnston, Eric Rescorla, Roni Even, and Jörg Ott, Keith Drage, Alan Johnston, Eric Rescorla, Roni Even, and
Oscar Novo provided useful ideas for the original [RFC4583]. The Oscar Novo provided useful ideas for the original [RFC4583]. The
authors also acknowledge contributions to the revision of BFCP for authors also acknowledge contributions to the revision of BFCP for
use over an unreliable transport from Geir Arne Sandbakken, Charles use over an unreliable transport from Geir Arne Sandbakken, Charles
Eckel, Alan Ford, Eoin McLeod, and Mark Thompson. Useful and Eckel, Alan Ford, Eoin McLeod, and Mark Thompson. Useful and
important final reviews were done by Ali C. Begen, Mary Barnes, and important final reviews were done by Ali C. Begen, Mary Barnes, and
 End of changes. 13 change blocks. 
15 lines changed or deleted 16 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/