Frederick Blue Coat Systems Inc. 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. All Rights Reserved. Abstract This memorandum describes RTP, the real-time transport protocol.
|Country:||Saint Kitts and Nevis|
|Published (Last):||19 August 2017|
|PDF File Size:||3.79 Mb|
|ePub File Size:||13.81 Mb|
|Price:||Free* [*Free Regsitration Required]|
Frederick Blue Coat Systems Inc. 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. 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.
The protocol supports the use of RTP-level translators and mixers. Most of the text in this memorandum is identical to RFC 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. RTP Use Scenarios Byte Order, Alignment, and Time Format RTP Translators and Mixers Congestion Control Summary of Protocol Constants Security Considerations IANA Considerations Intellectual Property Rights Statement Changes from RFC Introduction This memorandum specifies the real-time transport protocol RTP , which provides end-to-end delivery services for data with real-time characteristics, such as interactive audio and video.
Those services include payload type identification, sequence numbering, timestamping and delivery monitoring. Applications typically run RTP on top of UDP to make use of its multiplexing and checksum services; both protocols contribute parts of the transport protocol functionality. However, RTP may be used with other suitable underlying network or transport protocols see Section RTP supports data transfer to multiple destinations using multicast distribution if provided by the underlying network.
Note that RTP itself does not provide any mechanism to ensure timely delivery or provide other quality-of-service guarantees, but relies on lower-layer services to do so. It does not guarantee delivery or prevent out-of-order delivery, nor does it assume that the underlying network is reliable and delivers packets in sequence.
While RTP is primarily designed to satisfy the needs of multi- participant multimedia conferences, it is not limited to that particular application. Storage of continuous data, interactive distributed simulation, active badge, and control and measurement applications may also find RTP applicable. This document defines RTP, consisting of two closely-linked parts: o the real-time transport protocol RTP , to carry data that has real-time properties.
The latter aspect of RTCP may be sufficient for "loosely controlled" sessions, i. This functionality may be fully or partially subsumed by a separate session control protocol, which is beyond the scope of this document. RTP represents a new style of protocol following the principles of application level framing and integrated layer processing proposed by Clark and Tennenhouse [ 10 ].
That is, RTP is intended to be malleable Schulzrinne, et al. Standards Track [Page 4] RFC RTP July to provide the information required by a particular application and will often be integrated into the application processing rather than being implemented as a separate layer. RTP is a protocol framework that is deliberately not complete.
This document specifies those functions expected to be common across all the applications for which RTP would be appropriate. Examples are given in Sections 5. Therefore, in addition to this document, a complete specification of RTP for a particular application will require one or more companion documents see Section 13 : o a profile specification document, which defines a set of payload type codes and their mapping to payload formats e.
A profile may also define extensions or modifications to RTP that are specific to a particular class of applications. Typically an application will operate under only one profile. A profile for audio and video data may be found in the companion RFC [ 1 ]. A discussion of real-time services and algorithms for their implementation as well as background discussion on some of the RTP design decisions can be found in [ 11 ]. The examples were chosen to illustrate the basic operation of applications using RTP, not to limit what RTP may be used for.
Through some allocation mechanism the working group chair obtains a multicast group address and pair of ports. One port is used for audio data, and the other is used for control RTCP packets. This address and port information is distributed to the intended participants. If privacy is desired, the data and control packets may be encrypted as specified in Section 9.
The exact details of these allocation and distribution mechanisms are beyond the scope of RTP. The audio conferencing application used by each conference participant sends audio data in small chunks of, say, 20 ms duration.
The RTP header indicates what type of audio encoding such as PCM, ADPCM or LPC is contained in each packet so that senders can change the encoding during a conference, for example, to accommodate a new participant that is connected through a low-bandwidth link or react to indications of network congestion.
The Internet, like other packet networks, occasionally loses and reorders packets and delays them by variable amounts of time. To cope with these impairments, the RTP header contains timing information and a sequence number that allow the receivers to reconstruct the timing produced by the source, so that in this example, chunks of audio are contiguously played out the speaker every 20 ms.
This timing reconstruction is performed separately for each source of RTP packets in the conference.
The sequence number can also be used by the receiver to estimate how many packets are being lost. Since members of the working group join and leave during the conference, it is useful to know who is participating at any moment and how well they are receiving the audio data.
For that purpose, each instance of the audio application in the conference periodically multicasts a reception report plus the name of its user on the RTCP control port.
The reception report indicates how well the current speaker is being received and may be used to control adaptive encodings. In addition to the user name, other identifying information may also be included subject to control bandwidth limits. There is no direct coupling at the RTP level between the audio and video sessions, except that a user participating in both sessions should use the same distinguished canonical name in the RTCP packets for both so that the sessions can be associated.
One motivation for this separation is to allow some participants in the conference to receive only one medium if they choose. Further explanation is given in Section 5. However, this may not always be appropriate.
Consider the case where participants in one area are connected through a low-speed link to the majority of the conference participants who enjoy high-speed network access. Instead of forcing everyone to use a lower-bandwidth, reduced-quality audio encoding, an RTP-level relay called a mixer may be placed near the low-bandwidth area. This mixer resynchronizes incoming audio packets to reconstruct the constant 20 ms spacing generated by the sender, mixes these reconstructed audio streams into a single stream, translates the audio encoding to a lower-bandwidth one and forwards the lower- bandwidth packet stream across the low-speed link.
These packets might be unicast to a single recipient or multicast on a different address to multiple recipients. The RTP header includes a means for mixers to identify the sources that contributed to a mixed packet so that correct talker indication can be provided at the receivers. Some of the intended participants in the audio conference may be connected with high bandwidth links but might not be directly reachable via IP multicast.
For example, they might be behind an application-level firewall that will not let any IP packets pass. For these sites, mixing may not be necessary, in which case another type of RTP-level relay called a translator may be used.
Two translators are installed, one on either side of the firewall, with the outside one funneling all multicast packets received through a secure connection to the translator inside the firewall. An example is a video mixer that scales the images of individual people in separate video streams and composites them into one video stream to simulate a group scene. Details of the operation of mixers and translators are given in Section 7. Many implementations place the responsibility of rate- adaptivity at the source.
This does not work well with multicast transmission because of the conflicting bandwidth requirements of heterogeneous receivers. The result is often a least-common denominator scenario, where the smallest pipe in the network mesh dictates the quality and fidelity of the overall live multimedia "broadcast". Instead, responsibility for rate-adaptation can be placed at the receivers by combining a layered encoding with a layered transmission system.
In the context of RTP over IP multicast, the source can stripe the progressive layers of a hierarchically represented signal across multiple RTP sessions each carried on its own multicast group. Receivers can then adapt to network heterogeneity and control their reception bandwidth by joining only the appropriate subset of the multicast groups.
Details of the use of RTP with layered encodings are given in Sections 6. The payload format and interpretation are beyond the scope of this document. RTP packet: A data packet consisting of the fixed RTP header, a possibly empty list of contributing sources see below , and the payload data.
Some underlying protocols may require an encapsulation of the RTP packet to be defined. The formats are defined in Section 6. Port: The "abstraction that transport protocols use to distinguish among multiple destinations within a given host computer. Transport address: The combination of a network address and port that identifies a transport-level endpoint, for example an IP address and a UDP port.
Packets are transmitted from a source transport address to a destination transport address. Multimedia session: A set of concurrent RTP sessions among a common group of participants. For example, a videoconference which is a multimedia session may contain an audio RTP session and a video RTP session. A participant may be involved in multiple RTP sessions at the same time. In a multimedia session, each medium is typically carried in a separate RTP session with its own RTCP packets unless the the encoding itself multiplexes multiple media into a single data stream.
A participant distinguishes multiple RTP sessions by reception of different sessions using different pairs of destination transport addresses, where a pair of transport addresses comprises one network address plus a pair of ports for RTP and RTCP. All participants in an RTP session may share a common destination transport address pair, as in the case of IP multicast, or the pairs may be different for each participant, as in the case of individual unicast network addresses and port pairs.
In the unicast case, a participant may receive from all other participants in the session using the same pair of ports, or may use a distinct pair of ports for each. For example, consider a three- party conference implemented using unicast UDP with each participant receiving from the other two on separate port pairs. If each participant sends RTCP feedback about data received from one other participant only back to that participant, then the conference is composed of three separate point-to-point RTP sessions.
Scaling with RTP Continuous Audio Future Additions Control URI Media Streams
Modernizing email and calendars for users and developers
Presented here are the basic RTSP requests. The default transport layer port number is  for both TCP and UDP , the latter being rarely used for the control requests. Among other things, the presentation description lists the media streams controlled with the aggregate URL. In the typical case, there is one media stream each for audio and video stream.
Real Time Streaming Protocol
Schulzrinne Request for Comments: Columbia U. Category: Standards Track A. Rao Netscape R. Please refer to the current edition of the "Internet Official Protocol Standards" STD 1 for the standardization state and status of this protocol.