RTSP: FAQ

What is Real Time Streaming Protocol (RTSP)?
RTSP is a client-server multimedia presentation control protocol. It is designed to leverage existing web infrastructure (for example, inheriting authentication and PICS from HTTP) and works well both for large audiences as well as single-viewer media-on-demand. Progressive Networks, Netscape Communications and Columbia University jointly developed RTSP to address the needs for efficient delivery of streamed multimedia over IP networks. It is currently being standardized by the MMUSIC working group within the Internet Engineering Task Force (IETF), and is scheduled for final review in November, 1997.
What is the Real Time Transport Protocol (RTP)?
The Realtime Transport Protocol (RTP) is both an IETF Proposed Standard (RFC 1889) and an International Telecommuncations Union (ITU) Standard (H.225.0). It is a packet format for multimedia data streams. RTP is used by both RTSP and H.323 for the data portion of these protocols.
What is H.323?
H.323 is a conferencing framework, standardized by the International Telecommunications Union (ITU). It is used for peer-to-peer, two-way delivery of audio and video phone data. It is designed to interact well with standard phone/Internet phone gateways, and works well for a moderate number of participants.
How do RTSP, RTP and H.323 relate to one another?
H.323 and RTSP are complementary in function. H.323 is useful for setting up audio/video conferences in moderately sized peer-to-peer groups, whereas RTSP is useful for large-scale broadcasts and audio/video-on-demand streaming. One could think of H.323 as offering services equivalent to a telephone with three-way calling, while RTSP offers services like a video store with delivery services, a VCR or cable television.

RTSP provides "VCR-style" control functionality such as pause, fast forward, reverse, and absolute positioning, which is beyond the scope of H.323 and RTP.

Both H.323 and RTSP use RTP as their standard means of actually delivering the multimedia data. This data-level compatibility makes efficient gateways between the protocols possible, since only control messages need to be translated.


What is the relationship between RTP, RTCP and RTSP?
RTP is a transport protocol for the delivery of real-time data, including streaming audio and video. RTCP is a part of RTP and helps with lip synchronization and QOS management, among others. RTSP is a control protocol that initiating and directing delivery of streaming multimedia from media servers, the "Internet VCR remote control protocol". RTSP does not deliver data (though the RTSP connection may be used to tunnel RTP traffic for ease of use with firewalls and other network devices). RTP and RTSP will likely be used together in many systems, but either protocol can be used without the other. The RTSP draft contains a section on the use of RTP with RTSP.
What is the relationship between RTSP and SIP?
RTSP and the Session Initiation Protocol (SIP) share many common characteristics. However, RTSP is designed to control the media stream during delivery; SIP is not directly involved in controlling media streams.
Property SIP RTSP
Task Inviting users to real-time conferences Initiating and controlling media streams to unicast and multicast addresses
Data transport Bi-directional between SIP caller and callee One-directional; media server may either play or record data, with direction indicated at stream setup time
third-party delivery not yet, but planned The Transport header may contain any address, including an address differing from the one issuing the RTSP requests.
Caching No notion of content caching, as conferences are real-time Caching similar to HTTP, where end systems contact cache to obtain content. Like some HTTP caches such as "sqid", caches may be "cut-through", in that data is delived to the client before it has been completely received by the cache.
Redirection Location header; used for personal mobility and for bypassing proxies Location header; used for load sharing between media servers
Session identification Call-ID Session
Session setup INVITE
Invites a user to one or more media sessions. Transport information is indicated in the session description included as the message body.
SETUP
Invites a server to send data for a single media stream to the destination specified in the Transport header field. If left open by the client, the server may also select transport parameters and convey them to the client using the Transport response header.
Session teardown BYE
Terminates the whole call/session.
TEARDOWN
Depending on URL, may terminate whole session or individual media stream.

Can SIP and RTSP be used together?
In many cases, SIP may not be necessary to integrate media servers into conferences. if you want to play media into an IP multicast or unicast session or record a session, it is sufficient to tell the server the address using the RTSP SETUP message.

SIP may support third-party invitations in the future, but RTSP likely will not due to its different role. If a conference participant (Alice) wants to get a media server into a conference using an MCU, it could invite it using SIP, indicating the MCU as the third party to be contacted. The media server then invites itself to the MCU using SIP and obtains the necessary transport information. Alice then sends normal RTSP commands to the media server, indicating the Conference


Why support UDP?
Since the data volume of RTSP commands is likely to be low, the loss-induced congestion control of TCP is not particularly helpful, but may force a client or server into excessive back-off, with long delays.

Session establishment is also faster, although this is not likely to be a major issue since RTSP requires its own setup.


Where can I find more information?

Last updated by Henning Schulzrinne