1 h.323 and real time streaming protocol dorgham sisalem mobile integrated services fhg fokus

33
1 H.323 and Real Time Streaming H.323 and Real Time Streaming Protocol Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

Upload: lauryn-otis

Post on 14-Dec-2015

223 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

2

H.323 PrimerH.323 PrimerH.323 PrimerH.323 Primer

Page 3: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

15

Multimedia StreamingMultimedia StreamingMultimedia StreamingMultimedia Streaming

Based on slides from Vishal Misra,

Page 16: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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: 1 H.323 and Real Time Streaming Protocol Dorgham Sisalem Mobile Integrated Services FhG Fokus

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.