31.07.2015 Views

network protocols handbook.pdf

network protocols handbook.pdf

network protocols handbook.pdf

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

129Protocols GuideVoice Over IP(VOIP) - SignallingProtocol NameRTSP: Real-Time StreamingProtocolProtocol DescriptionThe Real-Time Streaming Protocol (RTSP) establishes andcontrols either a single or several time-synchronized streams ofcontinuous media such as audio and video. RTSP does not typicallydeliver the continuous streams itself, although interleavingof the continuous media stream with the control stream is possible.In other words, RTSP acts as a “<strong>network</strong> remote control”for multimedia servers. RTSP provides an extensible frameworkto enable controlled, on-demand delivery of real-time data, suchas audio and video. Sources of data can include both live datafeeds and stored clips. RTSP is intended to control multipledata delivery sessions, provide a means for choosing deliverychannels, such as UDP, multicast UDP and TCP, and provide ameans for choosing delivery mechanisms based upon RTP.There is no notion of an RTSP connection; instead, a servermaintains a session labeled by an identifier. An RTSP sessionis in no way tied to a transport-level connection such as a TCPconnection. During an RTSP session, an RTSP client may openand close many reliable transport connections to the server toissue RTSP requests. Alternatively, it may use a connectionlesstransport protocol such as UDP.The streams controlled by RTSP may use RTP, but the operationof RTSP does not depend on the transport mechanism usedto carry continuous media. RTSP is intentionally similar in syntaxand operation to HTTP/1.1 so that extension mechanismsto HTTP can in most cases also be added to RTSP. However,RTSP differs in a number of important aspects from HTTP:• RTSP introduces a number of new methods and has adifferent protocol identifier.• An RTSP server needs to maintain state by default inalmost all cases, as opposed to the stateless nature ofHTTP.• Both an RTSP server and client can issue requests.• Data is carried out-of-band by a different protocol, inmost cases.• RTSP is defined to use ISO 10646 (UTF-8) rather thanISO 8859-1, consistent with current HTML internationalizationefforts.• The Request-URI always contains the absolute URI.Because of backward compatibility with a historicalblunder, HTTP/1.1 carries only the absolute path in therequest and puts the host name in a separate headerfield.The protocol supports the following operations:• Retrieval of media from a media server: The client canrequest a presentation description via HTTP or someother method.• Invitation of a media server to a conference: A mediaserver can be “invited” to join an existing conference, eitherto play back media into the presentation or to recordall or a subset of the media in a presentation.• Addition of media to an existing presentation: Particularlyfor live presentations, it is useful if the server can tellthe client about additional media becoming available.Protocol StructureRTSP is a text-based protocol and uses the ISO 10646 characterset in UTF-8 encoding. Lines are terminated by CRLF, butreceivers should be prepared to also interpret CR and LF bythemselves as line terminators. The header fields are summarizedas follows:Headertype support methodsAccept R opt. entityAccept-Encoding R opt. entityAccept-Language R opt. allAllow r opt. allAuthorization R opt. allBandwidth R opt. allBlocksize R opt. All but OPTIONS,TEARDOWNCache-Control g opt. SETUPConference R opt. SETUPConnection g req. allContent-Base e opt. entityContent-Encoding e req. SET_PARAMETERContent-Encoding e req. DESCRIBE, AN-NOUNCEContent-Language e req. DESCRIBE, AN-NOUNCEContent-Length e req. SET_PARAMETER,ANNOUNCEContent-Length e req. entityContent-Location e opt. entityContent-Type e req. SET_PARAMETER,ANNOUNCEContent-Type r req. entityCSeq g req. allDate g opt. allExpires e opt. DESCRIBE, AN-NOUNCEFrom R opt. allIf-Modified-Since R opt. DESCRIBE, SETUPLast-Modified e opt. entityProxy-AuthenticateProxy-Require R req. allPublic r opt. allRange R opt. PLAY, PAUSE, RE-

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!