Real-time Transport Protocol - Wikipedia, the free encyclopedia

http://en.wikipedia.org/wiki/Real-time_Transport_Protocol

Real-time Transport Protocol
From Wikipedia, the free encyclopedia

The Real-time Transport Protocol (RTP) defines a standardized packet format for delivering audio and video over the Internet. It was developed by the Audio-Video Transport Working Group of the IETF and first published in 1996 as RFC 1889, superseded by RFC 3550 in 2003. RTP is used extensively in communication and entertainment systems that involve streaming media, such as telephony, video teleconference applications and web-based push to talk features. For these it carries media streams controlled by H.323, MGCP, Megaco, SCCP, or Session Initiation Protocol (SIP) signaling protocols, making it one of the technical foundations of the Voice over IP industry. RTP is usually used in conjunction with the RTP Control Protocol (RTCP). While RTP carries the media streams (e.g., audio and video) or out-of-band events signaling (DTMF in separate payload type), RTCP is used to monitor transmission statistics and quality of service (QoS) information. When both protocols are used in conjunction, RTP is usually originated and received on even port numbers, whereas RTCP uses the next higher odd port number.

Contents
1 Overview 1.1 Protocol components 1.2 Sessions 2 Profiles and Payload formats 3 Packet header 4 RTP-based systems 5 RFC references 6 See also 7 External links 8 Notes 9 References

The Internet Protocol Suite
Application Layer BGP · DHCP · DNS · FTP · HTTP · IMAP · IRC · LDAP · MGCP · NNTP · NTP · POP · RIP · RPC · RTP · SIP · SMTP · SNMP · SSH · Telnet · TLS/SSL · XMPP · (more) Transport Layer TCP · UDP · DCCP · SCTP · RSVP · ECN · (more) Internet Layer

Overview
RTP was developed by the Audio/Video Transport working group of the IETF standards organization. RTP is used in conjunction with other protocols such as H.323 and RTSP.[1] The RTP standard defines a pair of protocols, RTP and the Real-time Transport Control Protocol (RTCP). RTP is used for transfer of multimedia data, and the RTCP is used to periodically send control information and QoS parameters.[2] RTP is designed for end-to-end, real-time, transfer of multimedia

IP (IPv4, IPv6) · ICMP · ICMPv6 · IGMP · IPsec · (more) Link Layer ARP/InARP · NDP · OSPF · Tunnels (L2TP) · PPP · Media Access Control (Ethernet, DSL, ISDN, FDDI) · (more)

1 of 6

8/3/2010 16:54

[5][6] Protocol components The RTP specification describes two sub-protocols: The data transfer protocol.[7] The Real Time Control Protocol (RTCP) is used to specify Quality of Service (QoS) feedback and synchronization between the media streams. RTP and RTCP typically use unprivileged UDP ports (1024 to 65535). Information provided by this protocol include timestamps (for synchronization). which deals with the transfer of real-time multimedia data. RTP supports data transfer to multiple destinations through multicast. although they are not in widespread use yet. Profiles and Payload formats See also: RTP Audio Video Profiles One of the design considerations of the RTP was to support a range of multimedia formats (such as H. The information required by a specific application needs are not present in the generic RTP header and are specified by RTP Profiles and Payload formats.wikipedia. the free encyclopedia http://en. video). The bandwidth of RTCP traffic compared to RTP is small. is not often used by RTP because of inherent latency introduced by connection establishment and error correction.[2] For each class of application (e.[3] RTP is regarded as the primary standard for audio/video transport in IP networks and is used with an associated profile and payload format.[9] The ports which form a session are negotiated using other protocols such as RTSP (using SDP in the setup method)[10] and SIP.264.Real-time Transport Protocol . loss of a packet in audio application may result in loss of a fraction of a second of audio data. RTP defines a profile and one or more associated payload formats. which can be made unnoticeable with suitable error concealment algorithms.g. The protocol provides facility for jitter compensation and detection of out of sequence arrival in data. MPEG-4. For example. MJPEG.org/wiki/Real-time_Transport_Protocol data. sequence numbers (for packet loss detection) and the payload format which indicates the encoded format of the data.[1] Real-time multimedia streaming applications require timely delivery of information and can tolerate some packet loss to achieve this goal.) and allow new formats to be added without revising the RTP standard.[7][8] Sessions An RTP Session is established for each multimedia stream.[4] The Transmission Control Protocol (TCP). although standardized for RTP use (RFC 4571). enabling a receiver to deselect a particular stream. audio. For example. that are common during transmissions on an IP network. audio and video streams will have separate RTP sessions. The design of RTP is based on the architectural principle known as Application Level Framing (ALF).Wikipedia. MPEG.[2] The Profile defines the codecs used to encode the payload data and their mapping to payload format codes in 2 of 6 8/3/2010 16:54 .[4] Other transport protocols specifically designed for multimedia sessions are SCTP and DCCP. According to the specification. as the protocol design is transport independent. SCTP and DCCP) as well. an RTP port should be even and the RTCP port is the next higher odd port number. A session consists of an IP address with a pair of ports for RTP and RTCP. etc. instead the majority of the RTP implementations are built on the User Datagram Protocol (UDP).[11] but may use other transport protocols (most notably.. typically around 5%.

729. the format of which is determined by the particular class of application. This is followed by the RTP payload. H.711. The RTP does not take any action when it sees a packet loss. and a mechanism for mapping between a payload format. MPEG etc. G.[18] RTP provides no guarantee of delivery.[1] Some of the audio payload formats include: G.org/wiki/Real-time_Transport_Protocol the "Payload Type" field of the header( See below ). video applications may play the last known frame in place of the missing frame.wikipedia. For example.[12][13] Examples of RTP Profiles include: The RTP profile for Audio and video conferences with minimal control (RFC 3551) defines a set of static payload type assignments.261.263. Current version is 2. After the header. for example as required by an encryption algorithm. see RTP Profile for audio and video conferences with minimal control (RFC 3551). A padding might be used to fill up the a block of certain size..[17] CC (CSRC Count): (4 bits) Contains the number of CSRC identifiers (defined below) that follow the fixed header.Real-time Transport Protocol . If it is set.[18] PT (Payload Type): (7 bits) Indicates the format of the payload and determines its interpretation by the application. For example. 16-31 Sequence Number P X Ver. G. 2 3 4-7 CC 8 M 9-15 PT Timestamp SSRC identifier CSRC identifiers (optional) .726. the initial value of the sequence number should be random to make known-plaintext attacks on encryption more difficult. H. MP3.[20] According to RFC 3550.264..[17] P (Padding): (1 bit) Used to indicate if there are extra padding bytes at the end of the RTP packet. but it is left to the application to take the desired action. GSM. Each profile is accompanied by several payload format specifications. This is specified by an RTP profile. QCELP. the free encyclopedia http://en.[16] The fields in the header are as follows: bit offset 0 32 64 96 0-1 Ver. This is application or profile specific. G.[19] Sequence Number : (16 bits) The sequence number is incremented by one for each RTP data packet sent and is to be used by the receiver to detect packet loss and to restore packet sequence. it means that the current data has some special relevance for the application.[17] X (Extension): (1 bit) Indicates presence of an Extension header between standard header and payload data.: (2 bits) Indicates the version of the protocol.[14] A complete specification of RTP for a particular application usage will require a profile and/or payload format specification(s).[15] Packet header The RTP header has a minimum size of 12 bytes.. The Secure Real-time Transport Protocol (SRTP) (RFC 3711) defines a profile of RTP that provides cryptographic services for the transfer of payload data. but the presence of sequence 3 of 6 8/3/2010 16:54 .[18] M (Marker): (1 bit) Used at the application level and defined by a profile.723.Wikipedia. DTMF etc. and some of the video payload formats include: H. optional header extensions may be present. each of which describes the transport of a particular encoded data. and a payload type identifier (in header) using Session Description Protocol (SDP).

RTP Payload Format for MPEG-4 Audio/Visual Streams RFC 3551.264. MPEG. and may perform reordering of packets. Protocols like SIP.[20] SSRC : (32 bits) Synchronization source identifier uniquely identifies the source of a stream.[21] RFC references RFC 4103. Other standards like H. with appropriate timestamps and increasing sequence numbers. RTP library from Linphone written in C (http://www.245 are used for session initiation.[18] Extension header: (optional) The first 32-bit word contains a profile-specific identifier (16 bits) and a length specifier (16 bits) that indicates the length of the extension (EHL=extension header length) in 32-bit units. a common sample rate in digital telephony) could use that value as its clock resolution.org/index.. H. captures the RTP packets. Standard 64.linphone. the Payload Type field is set. H. control and termination. The clock granularity is one of the details that is specified in the RTP profile or payload format for an application.php/eng/code_review /ortp) 4 of 6 8/3/2010 16:54 . RTP: A Transport Protocol for Real-Time Applications RFC 2250.264 Video RFC 3640. an audio application that samples data once every 125 s (8 kHz.263 etc. Proposed Standard.[18] CSRC: Contributing source IDs enumerate contributing sources to a stream which has been generated from multiple sources. Depending on the RTP Profile in use. the timestamps are independent in each stream.[18] RTP-based systems A complete network based system will include other protocols and standards in conjunction with RTP.Wikipedia. RTP Payload Format for Transport of MPEG-4 Elementary Streams RFC 3016. For example. which are then encoded as frames and transmitted as RTP packets. are used to encode the payload data (specified via RTP Profile). the free encyclopedia http://en.wikipedia. RTP Payload Format for Text Conversation RFC 3984.225 and H. The granularity of the timing is application specific.[3] Timestamp: (32 bits) Used to enable the receiver to play back the received samples at appropriate intervals. which may have resulted because of the underlying IP network and the frames are decoded depending on the payload format and presented to the end user. When several media streams are present. RTP Profile for Audio and Video Conferences with Minimal Control RFC 3550.[21] An RTP sender captures the multimedia data. Standard 65.Real-time Transport Protocol . The synchronization sources within the same RTP session will be unique. The RTP receiver. RTSP. and may not be relied upon for media synchronization. excluding the 32 bits of the extension header. RTP Payload Format for H. RTP Payload Format for MPEG1/MPEG2 Video See also Secure Real-time Transport Protocol Stream Control Transmission Protocol ZRTP External links oRTP.org/wiki/Real-time_Transport_Protocol numbers makes it possible to detect missing packets.

^ a b Colin Perkins. V. Morgan Kaufmann. p. ^ Farrel.be/~jori/page/index. 14. Handley. Retrieved 2009-03-18.367 15. RTP (http://books. Addison-Wesley..11-13 References Perkins.google. ISBN 155860832X.com/?id=MwMDUBKZ3wwC. ^ Colin Perkins. Daniel (2002).432 (http://books. 12.).google. 298 (http://books. ISBN 0120884801. MPEG-4 packet formats see. THREE-DIMENSIONAL TELEVISION (http://books.263. pp. RTCP and RTSP protocols" (http://books. p. p.46 5. ^ a b Peterson. Peterson.php?n=CS. 514 (http://books.com/books?id=zGVVuO-6w3IC&pg=PA432) 21. 414.com 5 of 6 8/3/2010 16:54 . p.google.wikipedia.56 8. 28–7 (http://books. the free encyclopedia http://en.google. "RTP. a C++ RTP library (http://research. http://books.71 16. 4. C. ^ a b c Colin Perkins.com /books?id=zGVVuO-6w3IC&pg=PA430) . ^ Collin Perkins.org/RFC-TEXTS/3550/chapter4.com/?id=LtBegQowqFsC& pg=PA363&dq=rtp+sctp) . providing a full streaming suite including experimental SCTP support (http://lscube. 47 (http://books.com/?id=kQvCHpuXji8C&pg=PA366&dq=rtp+dccp.google. p.55 2. Chou. p. http://books. ^ Perkins. 7.60 13.com /?id=LtBegQowqFsC&pg=PA363&dq=rtp+sctp.com/?id=zGVVuO6w3IC) (4 ed. ISBN 9780849319853. http://rfcref. pp. Carrier grade voice over IP.59 20. Haldun M. ^ a b Daniel Hardy (2002). ^ Collins. McGraw-Hill Professional. Adrian (2004). ^ a b Colin Perkins. Morgan Kaufmann. Colin (2003). "Transporting Voice by using IP". ISBN 9780123740137.sitesled. Mihaela van der Schaar (2007). IETF (July 2006) 11. pp. p. CRC Press. Computer Networks (http://books. p. ISBN 0071363262.com) LScube project.org/software/ccrtp/) JRTPLIB. p. pp.edu/~hgs/rtp/faq.. pp.google. 430 (http://books.cs.html) . 430 17. Network.com /?id=kQvCHpuXji8C&pg=PA366&dq=rtp+dccp) . 10. Richard (2004).google.org/wiki/Real-time_Transport_Protocol Henning Schulzrinne's RTP page (http://www. ISBN 9780672322495. RFC-Ref. 806. Philip A. p.google.uhasselt. http://books. Jacobson. ^ a b c Larry L.org) Notes 1.435 9.google. Morgan Kaufmann. 19. ISBN 9783540725312. pp. Multimedia over IP and wireless networks.columbia. ^ RFC 4566: SDP: Session Description Protocol.html. 3.google.. Springer.com/books?id=MwMDUBKZ3wwC&pg=PT225&dq=RTP+session) . p. Peterson (2007). an open source .cs. ISBN 9781558609136. Computer Networks. ^ Peterson. p.com /books?id=Oq8SEUW1wdQC&pg=PT320) .google. ^ For examples of H.google. M. ^ a b c d e f "RTP Data Transfer Protocol" (http://rfc-ref.gnu. Larry L. 363. ^ Ozaktas. Davie (2007).Real-time Transport Protocol . The Internet and its protocols (http://books.NET. p. p.com/?id=OM7YJAy9_m8C) . Academic Press.com /books?id=zeLFs3GD0QQC&pg=PA514) .org/RFC-TEXTS/3550/chapter4.Wikipedia. 6.431 (http://books.google.html) ) GNU ccRTP (http://www. The industrial information technology handbook. ^ Peterson.google. p. Perkins. 366.com/books?id=zGVVuO-6w3IC&pg=PA431) 18. ^ a b Perkins. Levent Onural (2007).Jrtplib) RTPMobile . Bruce S.columbia. http://books. ^ a b c Peterson.com /?id=MwMDUBKZ3wwC) .com/books?id=PVIuN9Y5FGMC&pg=PA47&dq=RTP+session) .NET RTP library (http://rtpmobile.google.edm. ^ Zurawski. ^ RFC 3550.edu/~hgs/rtp) (including FAQ (http://www. http://books.com/?id=OM7YJAy9_m8C. De Boeck Université.google.google.

the free encyclopedia http://en. Retrieved from "http://en. See Terms of Use for details.youtube.wikipedia. India.com/books?id=D_GrQa2ZcLwC&pg=PA144) .com /books?id=D_GrQa2ZcLwC&pg=PA144. http://www. Javvin Technologies. 2008. ISBN 9780974094526. additional terms may apply.Wikipedia. "RTP" (http://books. http://books. 2005.org/wiki/Real-time_Transport_Protocol" Categories: Streaming | Application layer protocols | VoIP terminology & concepts | VoIP protocols | Audio network protocols This page was last modified on 30 July 2010 at 21:22. Network Protocols Handbook. Inc. "RTP" (http://www.google. 6 of 6 8/3/2010 16:54 .com/watch?v=OaL2vVFbCG4&feature=channel_page) . Ministry of Human resources.org/wiki/Real-time_Transport_Protocol /?id=zGVVuO-6w3IC. Text is available under the Creative Commons Attribution-ShareAlike License.. Broadband Networks. Wikipedia® is a registered trademark of the Wikimedia Foundation.youtube. a non-profit organization.google.wikipedia.com /watch?v=OaL2vVFbCG4&feature=channel_page.Real-time Transport Protocol .

Sign up to vote on this title
UsefulNot useful