A Real-time Transport Protocol (RTP) is a protocol standard defined by the Internet Engineering Task Force (IETF) that outlines a management system for programs using real-time transmission of data through mutlicast or unicast network services in multimedia situations. Originally designed by the IETF for videoconferencing for multiple participants, the protocol is largely used in Voice over Internet Protocol applications. Despite its name, the protocol cannot guarantee real-time delivery of data, however, the RTP does compensate for jitters and can detect when data arrives out of sequence, both issues being popular in VoIP communication. In IP telephony, RTP works with a signaling protocol, such as SIP or H.323, in order to set up connections in a network.
For each transmission of media data, an RTP session is created, which consists of an IP address and two ports for RTCP (RTP Control Protocol) and RTP. This means that the audio session is separate from the video session in a single video conference, which allows a receiver to single out a particular stream if so desired.
RTP protocol is generally utilized in entertainment and communication programs that stream media, including Internet telephony, web-based features using a push-to-talk set-up, videoconferencing applications and web-based television services. The system works with RTCP in order to carry media streams such as video and audio (through RTP) while the RTCP monitors the transmission and QoS (quality of service). The protocol's specification uses a data transfer protocol and a control protocol. The data transfer protocol addresses the transferring of data in real-time through the use of timestamps, sequence numbers and formatting used to decode the data's encoded format. Timestamps and sequence number ensure packets are placed in the correct order and can help identify packet loss. The control protocol focuses on the QoS feedback and the synchronization of the streams of media using bandwidth.