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.



Nandakumar                   Standards Track                    [Page 1]


RFC 7850                SDP 'proto' Registrations             April 2016


Table of Contents

   1.  Overview  . . . . . . . . . . . . . . . . . . . . . . . . . .   2
   2.  Terminology . . . . . . . . . . . . . . . . . . . . . . . . .   3
   3.  Protocol Identifiers  . . . . . . . . . . . . . . . . . . . .   3
     3.1.  TCP/RTP/AVPF Transport Realization  . . . . . . . . . . .   3
     3.2.  TCP/RTP/SAVP Transport Realization  . . . . . . . . . . .   3
     3.3.  TCP/RTP/SAVPF Transport Realization . . . . . . . . . . .   3
     3.4.  TCP/DTLS/RTP/SAVP Transport Realization . . . . . . . . .   3
     3.5.  TCP/DTLS/RTP/SAVPF Transport Realization  . . . . . . . .   4
     3.6.  TCP/TLS/RTP/AVP Transport Realization . . . . . . . . . .   4
     3.7.  TCP/TLS/RTP/AVPF Transport Realization  . . . . . . . . .   4
   4.  ICE Considerations  . . . . . . . . . . . . . . . . . . . . .   4
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   4
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   5
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   5
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .   5
     7.2.  Informative References  . . . . . . . . . . . . . . . . .   6
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .   7
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   7

1.  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.





Nandakumar                   Standards Track                    [Page 2]


RFC 7850                SDP 'proto' Registrations             April 2016


2.  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].

3.  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> ...

3.1.  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].

3.2.  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].

3.3.  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].

3.4.  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.




Nandakumar                   Standards Track                    [Page 3]


RFC 7850                SDP 'proto' Registrations             April 2016


   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.

3.5.  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.

3.6.  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].

3.7.  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].

4.  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].

5.  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.




Nandakumar                   Standards Track                    [Page 4]


RFC 7850                SDP 'proto' Registrations             April 2016


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

6.  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].

7.  References

7.1.  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>.





Nandakumar                   Standards Track                    [Page 5]


RFC 7850                SDP 'proto' Registrations             April 2016


   [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>.

7.2.  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>.







Nandakumar                   Standards Track                    [Page 6]


RFC 7850                SDP 'proto' Registrations             April 2016


   [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: snandaku@cisco.com















Nandakumar                   Standards Track                    [Page 7]