RTP: A Transport Protocol for Real-Time Applications
RFC 3550
Document | Type |
RFC - Internet Standard
(July 2003; Errata)
Obsoletes RFC 1889
Also known as STD 64
Was draft-ietf-avt-rtp-new (avt WG)
|
|
---|---|---|---|
Authors | Henning Schulzrinne , Stephen Casner , Ron Frederick , Van Jacobson | ||
Last updated | 2015-10-14 | ||
Stream | IETF | ||
Formats | plain text html pdf ps htmlized bibtex | ||
Stream | WG state | (None) | |
Document shepherd | No shepherd assigned | ||
This information refers to IESG processing after the RFC was initially published: | |||
IESG | IESG state | RFC 3550 (Internet Standard) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Allison Mankin | ||
Send notices to | magnus.westerlund@ericsson.com, csp@csperkins.org |
Network Working Group H. Schulzrinne Request for Comments: 3550 Columbia University Obsoletes: 1889 S. Casner Category: Standards Track Packet Design R. Frederick Blue Coat Systems Inc. V. Jacobson Packet Design July 2003 RTP: A Transport Protocol for Real-Time Applications Status of this Memo This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. Copyright Notice Copyright (C) The Internet Society (2003). All Rights Reserved. Abstract This memorandum describes RTP, the real-time transport protocol. RTP provides end-to-end network transport functions suitable for applications transmitting real-time data, such as audio, video or simulation data, over multicast or unicast network services. RTP does not address resource reservation and does not guarantee quality-of-service for real-time services. The data transport is augmented by a 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. RTP and RTCP are designed to be independent of the underlying transport and network layers. The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 1889 which it obsoletes. There are no changes in the packet formats on the wire, only changes to the rules and algorithms governing how the protocol is used. The biggest change is an enhancement to the scalable timer algorithm for calculating when to send RTCP packets in order to minimize transmission in excess of the intended rate when many participants join a session simultaneously. Schulzrinne, et al. Standards Track [Page 1] RFC 3550 RTP July 2003 Table of Contents 1. Introduction ................................................ 4 1.1 Terminology ............................................ 5 2. RTP Use Scenarios ........................................... 5 2.1 Simple Multicast Audio Conference ...................... 6 2.2 Audio and Video Conference ............................. 7 2.3 Mixers and Translators ................................. 7 2.4 Layered Encodings ...................................... 8 3. Definitions ................................................. 8 4. Byte Order, Alignment, and Time Format ...................... 12 5. RTP Data Transfer Protocol .................................. 13 5.1 RTP Fixed Header Fields ................................ 13 5.2 Multiplexing RTP Sessions .............................. 16 5.3 Profile-Specific Modifications to the RTP Header ....... 18 5.3.1 RTP Header Extension ............................ 18 6. RTP Control Protocol -- RTCP ................................ 19 6.1 RTCP Packet Format ..................................... 21 6.2 RTCP Transmission Interval ............................. 24 6.2.1 Maintaining the Number of Session Members ....... 28 6.3 RTCP Packet Send and Receive Rules ..................... 28 6.3.1 Computing the RTCP Transmission Interval ........ 29 6.3.2 Initialization .................................. 30 6.3.3 Receiving an RTP or Non-BYE RTCP Packet ......... 31 6.3.4 Receiving an RTCP BYE Packet .................... 31 6.3.5 Timing Out an SSRC .............................. 32 6.3.6 Expiration of Transmission Timer ................ 32 6.3.7 Transmitting a BYE Packet ....................... 33 6.3.8 Updating we_sent ................................ 34 6.3.9 Allocation of Source Description Bandwidth ...... 34 6.4 Sender and Receiver Reports ............................ 35 6.4.1 SR: Sender Report RTCP Packet ................... 36 6.4.2 RR: Receiver Report RTCP Packet ................. 42 6.4.3 Extending the Sender and Receiver Reports ....... 42 6.4.4 Analyzing Sender and Receiver Reports ........... 43Show full document text