RTP/RTCP/RTSP/SIP/SDP relationship
1. RTP
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 network applications 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.
2, RTCP
The real-time Transport Control Protocol (Real-time Transport control Protocol 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.
3, SRTP & SRTCP
The secure real-time transport protocol (secure real-time Transport protocol or SRTP) is a protocol defined on the basis of the real-time transport protocol (Real-time Transport 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 the real-time transport protocol and the real-time Transmission Control Protocol (RTP Control Protocol or RTCP) can be used to control the real-time transport protocol, the secure real-time transport protocol also has a companion protocol, which is 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.
4. RTSP
RTSP (Real time streaming Protocol) is a multimedia streaming protocol used to control sound or imagery, and allows multiple streaming requirements to be controlled simultaneously. The network communication protocol used in the transmission is not within its definition, and the server side can choose to use TCP or UDP to deliver the stream content itself. Its syntax and operation is similar to HTTP 1.1, but does not specifically emphasize time synchronization, so it is more tolerant of network latency.
5. The relationship between RTSP and RTP
6. SIP
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 Agents (UA) are end-user devices such as mobile phones for creating and managing SIP sessions, multimedia handheld devices, PCs, PDAs, etc. The user agent client sends a message. The user proxy responds to the message.
The *sip registry 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 SIP UA session requests 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.
(1) Establishing a SIP session in the same domain
Describes 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.
(2) 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.
7. SDP
The SDP is used to describe multimedia communication sessions, including session setup, session requests, and parameter negotiation. SDP is not used to transfer media data, only for parameter negotiation of two communication terminals, including the media type, format, and all other and session-related properties. The SDP describes the initialization parameters described above as a string.
8. Summary
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.
Relationship between network Video transmission protocol--RTP/RTCP/RTSP/SIP/SDP