RTP/RTCP/RTSP/SIP/SDP Relationship
RTP (real-time transport protocol, Transport layer)
Real-time Transport Protocol) is a Transport layer protocol for multimedia traffic on the Internet. The RTP protocol details the standard packet format for transmitting audio and video over the Internet. RTP protocols are commonly used in streaming media systems (with the RTCP protocol), video conferencing and a Push-to-talk system (with either a/p or SIP), making it the technical foundation of the IP telephony industry. The RTP Protocol and RTP Control protocol RTCP are used together, and it is built on the UDP protocol .
RTP itself does not provide on-time delivery mechanisms or other quality of service (QoS) guarantees, and it relies on low-level services to implement this process. RTP does not guarantee the transmission or prevention of out-of-order transmission, nor does it determine the reliability of the underlying network . RTP carries out an orderly delivery, the serial number in RTP allows the receiver to reorganize the sender's packet sequence, and the serial number can also be used to determine the appropriate packet location, for example: In video decoding, there is no need for sequential decoding.
RTP consists of two tightly linked parts: rtp― transmits data with real-time properties, RTP Control Protocol (RTCP)-monitors the quality of the service and transmits information about ongoing session participants.
RTCP (real-time Transmission Control Protocol)
The real-time Transport Control Protocol (real-time Transport Controlprotocol or RTP control protocol or shorthand RTCP) is a sister protocol for real-time Transport Protocol (RTP). The RTCP provides out-of-channel (Out-of-band) control for RTP media streams. The RTCP itself does not transmit data, but it collaborates with RTP to package and send multimedia data. RTCP periodically transfers control data between participants in a streaming multimedia session. the main function of RTCP is to provide feedback on the quality of service provided by RTP (Quality of services) .
RTCP collects statistics on related media connections, such as: number of bytes transferred, number of packets transmitted, number of packets lost, jitter, unidirectional and bidirectional network latency, and so on. Network applications can use the information provided by RTCP to try to improve the quality of services, such as restricting information traffic or using smaller codecs instead of compression. The RTCP itself does not provide data encryption or identity authentication. SRTCP can be used for such purposes.
SRTP & Srtcp
The secure real-time transport protocol (secure real-time Transportprotocol or SRTP) is a protocol defined on the real-time Transport protocol (Real-timetransport Protocol or RTP), Designed to provide encryption, message authentication, integrity assurance, and replay protection for data in real-time transport protocols in unicast and multicast applications. It was developed by David Oran (Cisco) and Rolf Blom (Ericsson) and was first released by the IETF in March 2004 as RFC 3711.
Because of the close connection between the real-time transport protocol and the real-time Transport Control Protocol (RTP Control Protocol or RTCP) that can be used to control the real-time transport protocol, the secure real-time transport protocol also has a companion protocol called Secure Real-time Transport Control Protocol (secure RTCP or SRTCP); The secure real-time transport Control Protocol provides similar security-related features for real-time transport control protocols, just as the secure real-time transport protocol provides for real-time transport protocols.
It is optional to use the real-time transport protocol or the real-time transport control Protocol to make it possible to not use secure real-time transport protocols or secure real-time transport control protocols, but even with secure real-time transport protocols or secure real-time transport control protocols, all of the features they provide, such as encryption and authentication, are optional. These features can be used independently or disabled. The only exception is that the message authentication feature must be used when using the secure real-time transport control Protocol.
RTSP (Live streaming protocol, application layer, RFC2326)
RTSP (Real time streaming Protocol) is a multimedia streaming protocol used to control sound or imagery , and allows simultaneous multiple streaming requirements control, and the network protocol used to transmit it is not within its definition. The server side can choose to use TCP or UDP to transmit the stream content, its syntax and operation is similar to HTTP 1.1, but does not particularly emphasize time synchronization, so the comparison can tolerate network latency. In addition, the previously mentioned allow for simultaneous multiple stream demand control (multicast), besides reducing the server-side network usage, it can support multi-video conferencing (videoconference). Because it works in the same way as the HTTP1.1, the caching of proxy server "cache" also applies to RTSP, and because RTSP has a re-directed function, the actual load situation can be converted to serve the server, To avoid excessive load concentration on the same server and cause delays.
The relationship between RTSP and RTP
SIP (Session Initiation Protocol, application tier)
SIP sessions use up to four main components: SIP user agent, SIP registration server, SIP Proxy Server, and SIP redirection server. These systems complete the SIP session by transmitting messages that include the SDP protocol, which defines the content and characteristics of the message. The following summarizes the various SIP components and their role in this process.
- SIP User Agent (UA) is an end user device, such as a mobile phone for creating and managing SIP sessions, a multimedia handheld device, a PC, a PDA, and so on. The user agent client sends a message. The user proxy responds to the message.
- The SIP registration server is a database that contains the locations of all user agents in the domain. In SIP traffic, these servers retrieve the IP address and other related information of the party and send it to the SIP proxy server.
- The SIP Proxy server accepts the SIP UA session request and queries the SIP registration server for the address information of the recipient UA. It then forwards the session invitation information directly to the recipient UA (if it is in the same domain) or to the proxy server (if the UA is in another domain).
- The SIP redirection server allows the SIP proxy server to direct SIP session invitation information to the external domain. The SIP redirection server can be on one hardware with the SIP registration server and the SIP proxy server.
The following is a typical SIP session:
The following scenarios describe how the SIP components are reconciled to establish a SIP session between the same domain and the UA in different domains:
Establishing a SIP session in the same domain
The following figure illustrates the process of establishing a SIP session between two users who are booking the same ISP to use the same domain. User A uses SIP phones. User B has a PC that runs soft client programs that support voice and video. After power-on, two users registered their idle status and IP address on the SIP proxy server in the ISP network. User A initiates this call and tells the SIP Proxy server to contact user B. The SIP proxy Server then makes a request to the SIP registration server, asks for the IP address of User B, and receives the IP address of User B. The SIP proxy forwards the invitation information that user A communicates with user B (using the SDP), including the media to be used by user A. User B notifies the SIP proxy server that it can accept user A's invitation and is ready to receive the message. The SIP Proxy Server communicates this message to user A to establish a SIP session. Then, the user creates a point-and-click RTP connection that enables interactive communication between users.
Establishing a SIP session in a different domain
This scenario differs from the first scenario in the following way. When user A invites User B for a SIP session that is using a multimedia handheld device, the SIP proxy in domain A identifies that User B is not in the same domain. The SIP proxy Server then queries the IP address of user B on the SIP redirection server. A SIP redirection server can be either in domain A or in domain B, or both in domain A and in domain B. The SIP redirection Server feeds user B's contact information back to the SIP Proxy Server, which then forwards the SIP session invitations to the SIP Proxy server in domain B. The SIP proxy server in domain B sends the invitation information for user A to User B. User B forwards the information that accepts the invitation along the same path as the invitation message.
SDP (Session Description Protocol)
SDP was intended for describing multimedia communication sessions for thepurposes of Sess Ion announcement, session invitation, and Parameternegotiation. SDP does not deliver media itself are used for Negotiationbetween end points of media type, format, and all associated Properties. Theset of properties and parameters is often called a session profile. SDP isdesigned to is extensible to support new media types and formats.
The Session Description Protocol (SDP) is a format for describing Streamingmedia initialization parameters in an ASCII String.
SDP started off as a component of the Session announcement Protocol (SAP), Butfound other uses in conjunction with REA L-time Transport Protocol (RTP), real-time streaming Protocol (RTSP), Session initiation Protocol (SIP) and Evenas a Standa Lone format for describing multicast sessions.
Summarize:
As their name indicates, SIP is used to initialize a session and is responsible for transmitting the SDP package, while the SDP package describes what media data is included in a session, the person invited, and so on, and when the person who needs to be invited is notified through the respective terminal, can use RTSP to control the communication of specific media, such as the RTSP control information required to start video playback, then began to use RTP (or TCP) real-time transmission of data, in the transmission process, RTCP to be responsible for QoS and so on.
RTP/RTCP/RTSP/SIP/SDP relationship (directly see summary)