Research on audio and video over packet-switched networks dates back to the early 1970s. The
Internet Engineering Task Force (IETF) published in 1977 and began developing RTP in 1992, and would go on to develop
Session Announcement Protocol (SAP), the
Session Description Protocol (SDP), and the
Session Initiation Protocol (SIP). RTP is designed for
end-to-end,
real-time transfer of
streaming media. The protocol provides facilities for
jitter compensation and detection of
packet loss and
out-of-order delivery, which are common, especially during UDP transmissions on an IP network. RTP allows data transfer to multiple destinations through
IP multicast. RTP is regarded as the primary standard for audio/video transport in IP networks and is used with an associated profile and payload format. The
Transmission Control Protocol (TCP), although standardized for RTP use, is not normally used in RTP applications because TCP favors reliability over timeliness. Instead, the majority of the RTP implementations are built on the
User Datagram Protocol (UDP). and
DCCP, although, , they were not in widespread use. 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. The RTP specification describes two protocols: RTP and RTCP. RTP is used for the transfer of multimedia data, and the RTCP is used to periodically send control information and QoS parameters. The control protocol, RTCP, is used for quality of service (QoS) feedback and synchronization between the media streams. The bandwidth of RTCP traffic compared to RTP is small, typically around 5%. RTP sessions are typically initiated between communicating peers using a signaling protocol, such as H.323, the
Session Initiation Protocol (SIP), RTSP, or
Jingle (
XMPP). These protocols may use the
Session Description Protocol to specify the parameters for the sessions. An RTP session is established for each multimedia stream. Audio and video streams may use separate RTP sessions, enabling a receiver to selectively receive components of a particular stream. The RTP and RTCP design is independent of the transport protocol. Applications most typically use UDP with port numbers in the unprivileged range (1024 to 65535). The
Stream Control Transmission Protocol (SCTP) and the
Datagram Congestion Control Protocol (DCCP) may be used when a reliable transport protocol is desired. The RTP specification recommends even port numbers for RTP and the use of the next odd port number for the associated RTCP session. A single port can be used for RTP and RTCP in applications that multiplex the protocols. RTP is used by real-time multimedia applications such as
voice over IP,
audio over IP,
WebRTC,
Internet Protocol television, and
professional video over IP including
SMPTE 2022 and
SMPTE 2110. ==Profiles and payload formats==