5 H.323 Gatekeeper Address Translation –H.323 Alias to transport (IP) address based on terminal registration –“ -like” names possible –“phone number like” names possible Admission control –Permission to complete call –Can apply bandwidth limits –Method to control LAN traffic
6 H.323 Gatekeeper (cont.) Management of gateway –Which gateway to choose (load balancing and cost regulation) Call Signaling –May route calls in order to provide supplementary services or to provide Multipoint Controller functionality Call Management/Reporting/Logging
7 H.323 Gateway Provide world wide connectivity and interoperability from LAN –H.320, H.324, regular POTS telephones Map Call Signaling (Q.931 to H.225.0) Map Control (H.242/H.243 to H.245) Media Mapping (FEC, multiplex, rate matching, audio transcoding)
8 H.323 MCU Media Distribution –Unicast - send media to one terminal (centralized in MP; traditional model) –Multicast - send to each receiver directly –Hybrid - some of each Manage Ad Hoc multipoint calls –Join, invite, control of conference modes Multiprotocol via Gateways MCU ISDN (H.320) Gateway)
9 H.323 protocol stack H H.245 G.7xxH.26x RTP RTCP Gate- keeper Reg, Adm, Status (RAS) ControlDataAudioVideoA/V CntlControl TCPUDP IP T.120
10 H.323 protocol stack (cont.) H System Document H Call Signaling, Packetization –Gatekeeper Registration, Admission, and Status (RAS) H Control (also used in H.324, H.310) T Data and Conference Control
11 H.323 example A Call Setup Example a point to point call One Gatekeeper using the Direct Call Model
12 H.323 example (cont.) PictureTel (1) ARQ Can I call “Bob”? (2a) GK resolves “Bob” to IP address through H.323 registration or external name service (e.g. DNS, Database, etc..) (2b) Admission Policy Applied (3) ACF Yes, use this IP Address Bill Bob GK
13 H.323 example (cont.) PictureTel (4) SETUP (Create) Bill Bob GK (5) ARQ May I answer? (6) ACF Yes (7) ALERTING (8) CONNECT (User answers)
14 H.323 example (cont.) PictureTel Bill Bob (9) H.245 connection established - Capability Exchange - Open Logical Channels (audio, video)
15 Multimedia Streaming Based on slides from Vishal Misra,
16 Streaming Stored Audio & Video Streaming stored media: Audio/video file is stored in a server Users request audio/video file on demand. Audio/video is rendered within, say, 10 s after request. Interactivity (pause, re- positioning, etc.) is allowed. Media player: –removes jitter –decompresses –error correction –graphical user interface with controls for interactivity Plug-ins may be used to imbed the media player into the browser window.
17 Streaming from Web server (1) Audio and video files stored in Web servers naïve approach browser requests file with HTTP request message Web server sends file in HTTP response message content-type header line indicates an audio/video encoding browser launches media player, and passes file to media player media player renders file Major drawback: media player interacts with server through intermediary of a Web browser
18 Streaming from Web server (2) Alternative: set up connection between server and player Web browser requests and receives a meta file (a file describing the object) instead of receiving the file itself; Content-type header indicates specific audio/video application Browser launches media player and passes it the meta file Player sets up a TCP connection with server and sends HTTP request. Some concerns: Media player communicates over HTTP, which is not designed with pause, fast forward, rewind commands May want to stream over UDP
19 Streaming from a streaming server This architecture allows for non-HTTP protocol between server and media player Can also use UDP instead of TCP.
20 Real Time Streaming Protocol: Why not HTTP Designers of HTTP had fixed media in mind: HTML, images, applets, etc. HTTP does not target stored continuous media (i.e., audio, video, SMIL presentations, etc.)
21 Options when using a streaming server Send at constant rate over UDP. To mitigate the effects of jitter, buffer and delay playback for 1-10 s. Transmit rate = d, the encoded rate. Fill rate x(t) equals d except when there is loss. Use TCP, and send at maximum possible rate under TCP; TCP retransmits when error is encountered; x(t) now fluctuates, and can become much larger than d. Player can use a much larger buffer to smooth delivery rate of TCP.
22 Streaming: The RealAudio Way.ram files describe the location of the file rtsp://bazzooka.de/videos/NationalhymneVideo.rm use RTSP for streaming the file use RTSP over HTTP for streaming the media.rm,.ra files describe the content of the file –Which bandwidth, compression, timinglines....
23 Meta file example (SDP) v=0 o= IN IP s=RTSP Session m=audio 0 RTP/AVP 0 a=control:rtsp://audio.example.com/twister/audio.en m=video 0 RTP/AVP 31 a=control:rtsp://video.example.com/twister/video
24 Real Time Streaming Protocol RTSP (RFC 2326) Client-server application layer protocol. acts as a « network remote control » supports the following operations: –retrieval of a media from a server –invitation of a media server to a conference –recording of a conference What it doesn’t do: does not define how audio/video is encapsulated for streaming over network does not restrict how streamed media is transported; it can be transported over UDP or TCP does not specify how the media player buffers audio/video RealNetworks Server and player use RTSP to send control info to each other
25 RTSP: out of band control A file is transferred over one channel. –The RTSP control messages use different port numbers than the media stream, and are therefore sent out-of-band. Interleaved: –If the RTSP messages were to use the same port numbers as the media stream, then RTSP messages would be said to be “interleaved” with the media stream. What is this good for?
26 RTSP generalities Protocol design –text-based protocol –transport protocol independant –supports any session description (sdp, xml, etc.) –similar design as HTTP with differences yet! client server and server client requests server maintains a « session state » data carried out-of-band –works either with unicast or multicast
27 RTSP URL whole presentation rtsp://media.example.com:554/twister a track within the presentation rtsp://media.example.com:554/twister/audio name hierarchy media hierarchy file hierarchy
28 RTSP messages a request (client server or server client) PLAY rtsp://video.example.com/twister/video RTSP/1.0 CSeq: 2 Session: Range: smpte=0:10:00- and its response RTSP/ OK CSeq: 2 Session: Range: smpte=0:10:00-0:20:00 RTP-Info: url=rtsp://video.example.com/twister/video; seq= ;rtptime= seq# for request/response pair session identifier method to applyURLRTSP version play starting at that offset for an undefined duration status codeversion seq# for request/response pair session identifier reason phrase
29 RTSP methods major methods –SETUP:server allocates resources for a stream and starts an RTSP session –PLAY:starts data tx on a stream –PAUSE:temporarily halts a stream –TEARDOWN:free resources of the stream, no RTSP session on server any more additional methods –OPTIONS:get available methods –ANNOUNCE:change description of media object –DESCRIBE:get low level descr. of media object –RECORD:server starts recording a stream –REDIRECT:redirect client to new server –SET_PARAMETER:device or encoding control
30 RTSP initiates and controls delivery Client obtains a description of the multimedia presentation, which can consist of several media streams.. client C web server W media servers A & V HTTP GET presentation description (sdp) SETUP PLAY RTP audio/video RTCP TEARDOWN The browser invokes media player (helper application) based on the content type of the presentation description. Presentation description includes references to media streams, using the URL method rtsp:// Player sends RTSP SETUP request; server sends RTSP SETUP response. Player sends RTSP PLAY request; server sends RTSP PLAY response. Media server pumps media stream. Player sends RTSP TEARDOWN request; server sends RTSP TEARDOWN response
31 Example: media on demand, unicast Scenario… video server audio server media descr. web server client step 1: get description (in SDP format) step 2: open streams with RTSP step 3: play step 4: teardown C W AV
32 RTSP session Each RTSP has a session identifier, which is chosen by the server. The client initiates the session with the SETUP request, and the server responds to the request with an identifier. The client repeats the session identifier for each request, until the client closes the session with the TEARDOWN request. RTSP port number is 554. RTSP can be sent over UDP or TCP. Each RTSP message can be sent over a separate TCP connection.
33 RTSP: streaming caching Caching of RTSP response messages makes little sense. But desirable to cache media streams closer to client. Much of HTTP/1.1 cache control has been adopted by RTSP. –Cache control headers can be put in RTSP SETUP requests and responses: If-modified-since:, Expires:, Via:, Cache-Control:
34 RTSP: streaming caching Proxy cache may hold only segments of a given media stream. –Proxy cache may start serving a client from its local cache, and then have to connect to origin server and fill missing material, hopefully without introducing gaps at client.
35 Meta file example (asx) American Hi-Fi Campus Invasion American Hi-Fi (c) Island Def Jam Music Group American Hi-Fi Campus Invasion American Hi-Fi (c) Island Def Jam Music Group