RFC7850

From RFC-Wiki

Internet Engineering Task Force (IETF) S. Nandakumar Request for Comments: 7850 Cisco Systems Inc Category: Standards Track April 2016 ISSN: 2070-1721

          Registering Values of the SDP 'proto' Field
 for Transporting RTP Media over TCP under Various RTP Profiles

Abstract

The Real-time Transport Protocol (RTP) specification establishes a registry of profile names for use by higher-level control protocols, such as the Session Description Protocol (SDP), to refer to the transport methods. This specification describes the following new SDP transport protocol identifiers for transporting RTP Media over TCP: 'TCP/RTP/AVPF', 'TCP/RTP/SAVP', 'TCP/RTP/SAVPF', 'TCP/DTLS/RTP/SAVP', 'TCP/DTLS/RTP/SAVPF', 'TCP/TLS/RTP/AVP', and 'TCP/TLS/RTP/AVPF'.

Status of This Memo

This is an Internet Standards Track document.

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc7850.

Copyright Notice

Copyright (c) 2016 IETF Trust and the persons identified as the document authors. All rights reserved.

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

Overview

The Real-time Transport Protocol (RTP) provides end-to-end network transport functions suitable for applications transmitting real-time data such as audio or video over multicast or unicast network services. The data transport is augmented by the RTP Control Protocol (RTCP) to allow monitoring of the data delivery in a manner scalable to large multicast networks and to provide minimal control and identification functionality.

"SDP: Session Description Protocol" RFC4566 provides a general- purpose format for describing multimedia sessions in announcements or invitations. "TCP-Based Media Transport in the Session Description Protocol (SDP)" RFC4145 specifies a general mechanism for describing media transport over TCP using SDP with RFC4571 defining a method for framing RTP and RTCP packets RFC3550 onto a connection-oriented transport (such as TCP). "Connection-Oriented Media Transport over the Transport Layer Security (TLS) Protocol in the Session Description Protocol (SDP)" RFC4572 extends RFC4145 for describing TCP-based media streams that are protected using TLS RFC5246.

This specification describes additional SDP transport protocol identifiers for transporting RTP media over TCP as defined in Section 3.

Terminology

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC 2119 RFC2119.

Protocol Identifiers

The "m=" line in SDP specifies, among other items, the transport protocol (identified via the "proto" field) to be used for the media in the session. See Section 5.14 (Media Descriptions) of SDP RFC4566 for a discussion on transport protocol identifiers.

The following is the format for an "m=" line, as specified in RFC4566:

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

TCP/RTP/AVPF Transport Realization

The TCP/RTP/AVPF transport describes RTP media with RTCP-based feedback RFC4585 over TCP.

The RTP/AVPF stream over TCP is realized using the framing method defined in RFC4571.

TCP/RTP/SAVP Transport Realization

The TCP/RTP/SAVP transport describes Secure RTP (SRTP) media RFC3711 over TCP.

The RTP/SAVP stream over TCP is realized using the framing method defined in RFC4571.

TCP/RTP/SAVPF Transport Realization

The TCP/RTP/SAVPF transport describes Secure RTP media with RTCP- based feedback RFC5124 over TCP.

The RTP/SAVPF stream over TCP is realized using the framing method defined in RFC4571.

TCP/DTLS/RTP/SAVP Transport Realization

The TCP/DTLS/RTP/SAVP transport describes Secure RTP media RFC3711 using Datagram Transport Layer Security SRTP (DTLS-SRTP) RFC5764 over TCP.

RTP/SAVP using DTLS-based key establishment is realized according to the procedures defined in RFC5764. Also, the framing specified in RFC4571 is used to transport DTLS-SRTP packets over TCP.

TCP/DTLS/RTP/SAVPF Transport Realization

The TCP/DTLS/RTP/SAVPF transport describes Secure RTP media with RTCP-based feedback RFC5124 using DTLS-SRTP over TCP.

RTP/SAVPF using DTLS-based key establishment is realized according to the procedures defined in RFC5764. Also, the framing specified in RFC4571 is used to transport DTLS-SRTP packets over TCP.

TCP/TLS/RTP/AVP Transport Realization

The TCP/TLS/RTP/AVP transport describes RTP Media on top of TLS over TCP.

RTP/AVP packets are framed using the procedures from RFC4571 and are transported as application data messages over the TLS association setup using the procedures from RFC4572.

TCP/TLS/RTP/AVPF Transport Realization

The TCP/TLS/RTP/AVPF transport describes RTP media with RTCP-based feedback RFC5124 on top of TLS over TCP.

RTP/AVPF packets are framed using the procedures from RFC4571 and are transported as application data messages over the TLS association setup using the procedures from RFC4572.

ICE Considerations

When procedures from RFC6544 are used to set up Interactive Connectivity Establishment (ICE) RFC5245 candidates for a TCP transport, the framing mechanism from RFC4571 MUST be used for framing Session Traversal Utilities for NAT (STUN) packets (for keepalives and consent checks), as defined in Section 3 of RFC6544.

IANA Considerations

This specification describes the following new SDP transport protocol identifiers: 'TCP/RTP/AVPF', 'TCP/RTP/SAVP', 'TCP/RTP/SAVPF', 'TCP/DTLS/RTP/SAVP', 'TCP/DTLS/RTP/SAVPF', 'TCP/TLS/RTP/AVP', and 'TCP/TLS/RTP/AVPF', as defined in Section 3. These values have been registered by the IANA under the "proto" subregistry in the "Session Description Protocol (SDP) Parameters" registry.

+--------+---------------------+-----------+ | Type | SDP Name | Reference | +--------+---------------------+-----------+ | proto | TCP/RTP/AVPF | RFC 7850 | | | | | | proto | TCP/RTP/SAVP | RFC 7850 | | | | | | proto | TCP/RTP/SAVPF | RFC 7850 | | | | | | proto | TCP/DTLS/RTP/SAVP | RFC 7850 | | | | | | proto | TCP/DTLS/RTP/SAVPF | RFC 7850 | | | | | | proto | TCP/TLS/RTP/AVP | RFC 7850 | | | | | | proto | TCP/TLS/RTP/AVPF | RFC 7850 | +--------+---------------------+-----------+

Security Considerations

The new "proto" identifiers registered by this document in the SDP parameters registry maintained by IANA are primarily for use by the offer/answer model of the Session Description Protocol RFC3264 for the negotiation and establishment of RTP-based media over the TCP transport. This specification doesn't introduce any additional security considerations beyond those specified by the individual transport protocols identified in the "proto" identifiers and those detailed in Section 7 of RFC4566.

References

Normative References

RFC2119 Bradner, S., "Key words for use in RFCs to Indicate

          Requirement Levels", BCP 14, RFC 2119,
          DOI 10.17487/RFC2119, March 1997,
          <http://www.rfc-editor.org/info/rfc2119>.

RFC4566 Handley, M., Jacobson, V., and C. Perkins, "SDP: Session

          Description Protocol", RFC 4566, DOI 10.17487/RFC4566,
          July 2006, <http://www.rfc-editor.org/info/rfc4566>.

RFC4571 Lazzaro, J., "Framing Real-time Transport Protocol (RTP)

          and RTP Control Protocol (RTCP) Packets over Connection-
          Oriented Transport", RFC 4571, DOI 10.17487/RFC4571, July
          2006, <http://www.rfc-editor.org/info/rfc4571>.

RFC4572 Lennox, J., "Connection-Oriented Media Transport over the

          Transport Layer Security (TLS) Protocol in the Session
          Description Protocol (SDP)", RFC 4572,
          DOI 10.17487/RFC4572, July 2006,
          <http://www.rfc-editor.org/info/rfc4572>.

RFC5245 Rosenberg, J., "Interactive Connectivity Establishment

          (ICE): A Protocol for Network Address Translator (NAT)
          Traversal for Offer/Answer Protocols", RFC 5245,
          DOI 10.17487/RFC5245, April 2010,
          <http://www.rfc-editor.org/info/rfc5245>.

RFC5764 McGrew, D. and E. Rescorla, "Datagram Transport Layer

          Security (DTLS) Extension to Establish Keys for the Secure
          Real-time Transport Protocol (SRTP)", RFC 5764,
          DOI 10.17487/RFC5764, May 2010,
          <http://www.rfc-editor.org/info/rfc5764>.

RFC6544 Rosenberg, J., Keranen, A., Lowekamp, B., and A. Roach,

          "TCP Candidates with Interactive Connectivity
          Establishment (ICE)", RFC 6544, DOI 10.17487/RFC6544,
          March 2012, <http://www.rfc-editor.org/info/rfc6544>.

Informative References

RFC3264 Rosenberg, J. and H. Schulzrinne, "An Offer/Answer Model

          with Session Description Protocol (SDP)", RFC 3264,
          DOI 10.17487/RFC3264, June 2002,
          <http://www.rfc-editor.org/info/rfc3264>.

RFC3550 Schulzrinne, H., Casner, S., Frederick, R., and V.

          Jacobson, "RTP: A Transport Protocol for Real-Time
          Applications", STD 64, RFC 3550, DOI 10.17487/RFC3550,
          July 2003, <http://www.rfc-editor.org/info/rfc3550>.

RFC3711 Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K.

          Norrman, "The Secure Real-time Transport Protocol (SRTP)",
          RFC 3711, DOI 10.17487/RFC3711, March 2004,
          <http://www.rfc-editor.org/info/rfc3711>.

RFC4145 Yon, D. and G. Camarillo, "TCP-Based Media Transport in

          the Session Description Protocol (SDP)", RFC 4145,
          DOI 10.17487/RFC4145, September 2005,
          <http://www.rfc-editor.org/info/rfc4145>.

RFC4585 Ott, J., Wenger, S., Sato, N., Burmeister, C., and J. Rey,

          "Extended RTP Profile for Real-time Transport Control
          Protocol (RTCP)-Based Feedback (RTP/AVPF)", RFC 4585,
          DOI 10.17487/RFC4585, July 2006,
          <http://www.rfc-editor.org/info/rfc4585>.

RFC5124 Ott, J. and E. Carrara, "Extended Secure RTP Profile for

          Real-time Transport Control Protocol (RTCP)-Based Feedback
          (RTP/SAVPF)", RFC 5124, DOI 10.17487/RFC5124, February
          2008, <http://www.rfc-editor.org/info/rfc5124>.

RFC5246 Dierks, T. and E. Rescorla, "The Transport Layer Security

          (TLS) Protocol Version 1.2", RFC 5246,
          DOI 10.17487/RFC5246, August 2008,
          <http://www.rfc-editor.org/info/rfc5246>.

Acknowledgements

The author would like to thank Cullen Jennings, Alissa Cooper, Justin Uberti, Mo Zanaty, Christer Holmberg, Jonathan Lennox, Flemming Andreason, Roni Even, Ben Campbell, and Bo Burman for their reviews and suggested improvements.

The author would also like to thank Adam Montville for the SecDir review, Meral Shirazipour for the Gen-ART review, and Sarah Banks for the OPS-Dir review.

Author's Address

Suhas Nandakumar Cisco Systems Inc 707 Tasman Drive San Jose, CA 95134 United States

Email: [email protected]