h.323 and real time streaming protocol
DESCRIPTION
H.323 and Real Time Streaming Protocol. Dorgham Sisalem Mobile Integrated Services FhG Fokus. H.323 Primer. H.323. May 1995 - H.323 work started June 1996 - Decided by ITU-T Designed for exchanging multimedia over IP networks (4 versions of H.323). H.323 Components. Terminals - PowerPoint PPT PresentationTRANSCRIPT
![Page 1: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/1.jpg)
1
H.323 and Real Time Streaming H.323 and Real Time Streaming ProtocolProtocol
H.323 and Real Time Streaming H.323 and Real Time Streaming ProtocolProtocol
Dorgham SisalemMobile Integrated Services
FhG Fokus
![Page 2: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/2.jpg)
2
H.323 PrimerH.323 PrimerH.323 PrimerH.323 Primer
![Page 3: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/3.jpg)
3
H.323H.323H.323H.323
• May 1995 - H.323 work started
• June 1996 - Decided by ITU-T
• Designed for exchanging multimedia over IP networks (4 versions of H.323)
![Page 4: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/4.jpg)
4
H.323 ComponentsH.323 ComponentsH.323 ComponentsH.323 Components
• Terminals• Gatekeepers• Gateways (H.323 to H.320/H.324/POTS)• MCUs
– Multipoint Controller (MC)– Multipoint Processor (MP)
![Page 5: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/5.jpg)
5
H.323 GatekeeperH.323 GatekeeperH.323 GatekeeperH.323 Gatekeeper
• Address Translation– H.323 Alias to transport (IP) address based on
terminal registration– “email-like” names possible– “phone number like” names possible
• Admission control– Permission to complete call– Can apply bandwidth limits– Method to control LAN traffic
![Page 6: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/6.jpg)
6
H.323 Gatekeeper (cont.)H.323 Gatekeeper (cont.)H.323 Gatekeeper (cont.)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
![Page 7: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/7.jpg)
7
H.323 GatewayH.323 GatewayH.323 GatewayH.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)
![Page 8: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/8.jpg)
8
H.323 MCUH.323 MCUH.323 MCUH.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
PictureTel
PictureTel
PictureTel
PictureTel
PictureTel
PictureTel
MCU
PictureTel
PictureTel
ISDN (H.320)
Gateway)
![Page 9: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/9.jpg)
9
H.323 protocol stackH.323 protocol stackH.323 protocol stackH.323 protocol stack
H.225.0 H.245
G.7xx H.26x
RTP
RTCP
Gate-keeper
Reg,Adm,Status(RAS)
Control Data Audio Video A/V Cntl Control
TCP UDP
IP
T.120
![Page 10: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/10.jpg)
10
H.323 protocol stack H.323 protocol stack (cont.)(cont.)
H.323 protocol stack H.323 protocol stack (cont.)(cont.)
• H.323 - System Document• H.225.0 - Call Signaling, Packetization
– Gatekeeper Registration, Admission, and Status (RAS)
• H.245 - Control (also used in H.324, H.310)• T.120 - Data and Conference Control
![Page 11: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/11.jpg)
11
H.323 exampleH.323 exampleH.323 exampleH.323 example
A Call Setup Example
• a point to point call
• One Gatekeeper using the Direct Call Model
![Page 12: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/12.jpg)
12
H.323 example (cont.)H.323 example (cont.)H.323 example (cont.)H.323 example (cont.)
PictureTel
PictureTel
PictureTel
(1) ARQCan I call“Bob”?
(2a) GK resolves “Bob”to IP address through H.323registration or externalname service (e.g. DNS, Database, etc..)(2b) Admission PolicyApplied(3) ACF
Yes, use thisIP Address
Bill Bob
GK
![Page 13: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/13.jpg)
13
H.323 example (cont.)H.323 example (cont.)H.323 example (cont.)H.323 example (cont.)
PictureTel
PictureTel
PictureTel
(4) SETUP (Create)
Bill Bob
GK
(5) ARQMay I answer?
(6) ACFYes
(7) ALERTING
(8) CONNECT (User answers)
![Page 14: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/14.jpg)
14
H.323 example (cont.)H.323 example (cont.)H.323 example (cont.)H.323 example (cont.)
PictureTel
PictureTel
PictureTel
Bill Bob
(9) H.245 connection established
- Capability Exchange
- Open Logical Channels (audio, video)
![Page 15: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/15.jpg)
15
Multimedia StreamingMultimedia StreamingMultimedia StreamingMultimedia Streaming
Based on slides from Vishal Misra,
![Page 16: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/16.jpg)
16
Streaming Stored Streaming Stored Audio & VideoAudio & Video
Streaming Stored Streaming Stored Audio & VideoAudio & 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.
![Page 17: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/17.jpg)
17
Streaming from Web server Streaming from Web server (1)(1)
Streaming from Web server Streaming from Web server (1)(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 playerinteracts with server throughintermediary of a Web browser
![Page 18: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/18.jpg)
18
Streaming from Web Streaming from Web server (2)server (2)
Streaming from Web Streaming from Web server (2)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
![Page 19: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/19.jpg)
19
Streaming from a Streaming from a streaming serverstreaming serverStreaming from a Streaming from a streaming serverstreaming server
• This architecture allows for non-HTTP protocol between server and media player
• Can also use UDP instead of TCP.
![Page 20: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/20.jpg)
20
Real Time Streaming Real Time Streaming Protocol: Protocol: Why not HTTPWhy not HTTP
Real Time Streaming Real Time Streaming Protocol: Protocol: Why not HTTPWhy 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.)
![Page 21: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/21.jpg)
21
Options when using a Options when using a streaming serverstreaming server
Options when using a Options when using a streaming serverstreaming 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.
![Page 22: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/22.jpg)
22
Streaming: The Streaming: The RealAudio WayRealAudio WayStreaming: The Streaming: The RealAudio WayRealAudio Way
• .ram files describe the location of the filertsp://bazzooka.de/videos/
NationalhymneVideo.rmuse RTSP for streaming the file
http://bazzooka.de/videos/NationalhymneVideo.rmuse RTSP over HTTP for streaming the media
• .rm, .ra files describe the content of the file– Which bandwidth, compression, timinglines ....
![Page 23: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/23.jpg)
23
Meta file exampleMeta file example (SDP) (SDP)Meta file exampleMeta file example (SDP) (SDP)
v=0o=- 2890844526 2890842807 IN IP4 192.16.24.202s=RTSP Sessionm=audio 0 RTP/AVP 0a=control:rtsp://audio.example.com/twister/audio.enm=video 0 RTP/AVP 31a=control:rtsp://video.example.com/twister/video
![Page 24: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/24.jpg)
24
Real Time Streaming Real Time Streaming ProtocolProtocol
RTSP (RFC 2326)RTSP (RFC 2326)
Real Time Streaming Real Time Streaming ProtocolProtocol
RTSP (RFC 2326)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/videoRealNetworks• Server and player use RTSP to send control info to each other
![Page 25: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/25.jpg)
25
RTSP: out of band controlRTSP: out of band controlRTSP: out of band controlRTSP: 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?
![Page 26: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/26.jpg)
26
RTSP generalitiesRTSP generalitiesRTSP generalitiesRTSP 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
![Page 27: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/27.jpg)
28
RTSP messagesRTSP messagesRTSP messagesRTSP messages
• a request (client server or server client)
PLAY rtsp://video.example.com/twister/video RTSP/1.0 CSeq: 2 Session: 23456789 Range: smpte=0:10:00-
• and its response
RTSP/1.0 200 OK CSeq: 2 Session: 23456789 Range: smpte=0:10:00-0:20:00 RTP-Info: url=rtsp://video.example.com/twister/video; seq=12312232;rtptime=78712811
seq# for request/response pair
session identifier
method to apply URL RTSP version
play starting at that offset for anundefined duration
status codeversion
seq# for request/response pair
session identifier
reason phrase
![Page 28: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/28.jpg)
29
RTSP methodsRTSP methodsRTSP methodsRTSP 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
![Page 29: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/29.jpg)
30
RTSP initiates and RTSP initiates and controls deliverycontrols delivery
RTSP initiates and RTSP initiates and controls deliverycontrols delivery• Client obtains a description of the
multimedia presentation, which can consist of several media streams..
clientC
web server
W
mediaserversA & 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
![Page 30: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/30.jpg)
31
Example: media on Example: media on demand, unicastdemand, unicast
Example: media on Example: media on demand, unicastdemand, unicast
• Scenario…videoserver
audioserver
media descr.web serverclient
step 1: get description (in SDP format)
step 2: open streams with RTSP
step 3: play
step 4: teardown
CW A V
![Page 31: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/31.jpg)
32
RTSP sessionRTSP sessionRTSP sessionRTSP 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.
![Page 32: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/32.jpg)
33
RTSP: streaming cachingRTSP: streaming cachingRTSP: streaming cachingRTSP: 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:
![Page 33: H.323 and Real Time Streaming Protocol](https://reader036.vdocuments.net/reader036/viewer/2022081504/56812aa7550346895d8e6909/html5/thumbnails/33.jpg)
34
RTSP: streaming cachingRTSP: streaming cachingRTSP: streaming cachingRTSP: 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.