Transcript
Week 6 Read Wikipedia entries for RTSP, RTCP, data compression, Session Initiation Protocol, RSVP, IMGP, Resource Reservation Protocol, Internet Group Management Protocol
Multimedia Digital Audio Sampling, Analog to digital conversion Nyquist, 8 bit phone and 16 bit music linear and non-linear sampling Compression Run Length, Statistical, Perceptual Frequency and temporal masking Human ears response to certain frequencies, combined MP3: Rock-96 kbp, piano 128 kbps
Compression Lossy vs loss-less compression Repeat lossy compression degrades the quality each time. Not true for lossless Std JPEG(10:1) vs lossless JPEG(2:1)
Compression Run Length compression Group 4 TIFF -- Faxes JPEG (Joint Photographics Experts Group) 4 bit blocks/ 8 bit blocks Discrete Cosine Transform Wipe smaller coefficients
Standard Voice Compression Voice Codecs and max bandwidth G.711
80 kbps
G.723
22 kbps
G.726
32 kpbs
G.728
32 kbps
G.729
24 kbps
Audio Compression Perceptual coding Frequency Masking A loud sound in one frequency can mask a quieter sound in another frequency range Perceptual Masking After a loud sound, the ear does not
Audio over IP Streaming Audio Web access to music Helper Apps (WMP, Real, QT.) Play actual file after download Streaming audio eg rtsp://todds-music.com/song.mp3 UI, Errors, Decompression, jitter Pull, push, water marks--rtsp
Real Time Protocol
(Farrel Chap 7.5)
RTP usually runs over UDP
Application (user space) level protocol Libraries--transport layer look Multiplexes multiple streams Stream packets are numbered No UDP error control, flow control, Acks or mechanism for retransmission Interpolate missing packets Provide sufficient buffering
RTP (Cont.) Relative time-stamp Allows buffering and accurate playback Multiple streams supported per packet Synchronized video, audio, stereo, multiple languages, animation, etc. RTP header (3 32 bit words + optional source id) Flags, Seq # Time-stamp Sync source id Data/Optional source id
RTP RTP Translation Mechanism for intermediate agents In VoIP, G724 to G711 translation RTP Mixing Mixing agent resynchs new stream Conference Calling RTP Multicasting (with mixing)
RTP Encapsulation Looks like a Transport layer protocl But in practice uses UDP transport RTP on even UDP port, RTCP on adjacent odd port
RTCP Control Protocol for RTP Feedback, sync, UI SR: Sender Report RR: Receiver Report SDES: Source description items BYE: hangup stream message APP: Application specific functions All 32-bits, can be stacked in UDP packet
RTCP Sender Report NTP time-stamp, RTP time-stamp, packet counts Fraction of packets lost Interarrival jitter Last SR, delay since last report Receiver Report pt=201, similar to SR, but no timestampts
RTCP (cont.) Goodbye RTCP packet RTCP header Length, reason for leaving RTP mixers and translators IP Multicast not getting implemented Firewalls, low bandwidth connections
RTCP If using Multicast, each recipient replies, so there can be a lot of return RTCP traffic. Sender can reduce receiver RTCP reports to reduce sender incoming traffic Should be less than 5% of bandwidth IP-TV for large multicasts, wait hours to report via RTCP. Hierarchical aggregation
Back to RTSP Error recovery Even and odd samples 10 ms of even samples in first packet 10 ms of odd samples in second packet
RTSP Controlling Jitter Buffer 10-15 seconds before starting Pull Server -- pull down data as needed Push Server, Realtime or feedback Buffer high and low watermarks
Internet Radio Store and retrieve Broadcast at receiver speed Live Broadcast Realtime broadcast rate Obvious RTP/RTSP Multicast application Too many firewalls!
Internet Radio
Using TCP unicasts instead Pretend to be http server Ok for single audio stream
Media Player Features Manager user interface Handle Transmission errors Interleave Audio Decompress the music Eliminate Jitter Buffer
VoIP 1999 crossover of voice=data 2002 data 2x 2008 80% of business lines installed were VoIP
Voice over IP standards H.323 (1996, 1998) ITU “Visual Telephone Systems and Equipment for Local Area Networks which Provide a NonGuaranteed Quality of Service.” Must support G.711 (8k cps/ 8 bit) Other speech compression can be supported H.245 used to negotiate compression RTCP controls RTP channels
IP Telephony Gatekeeper Terminals (phones, PCs) Register with Gatekeeper UDP gatekeeper request broadcast Sends Registration/Admission/ Status (RAS) packet (H.225) Request bandwidth with another RAS
Gateway IP device connected to the Public Switched Telephone Network (PSTN) Gatekeeper sets up call with Gateway with Setup message Call is made over PSTN, remote ringing sent back via Q.931 ALERT Call answered is sent via Q.931 CONNECT
Gateway (cont.) Once connected, Gatekeeper drops out of loop IP traffic flow from terminal, to gateway, PSTN connection to endpoint H.245 negotiates details of connection
Gateway (cont.) Endpoints can have different capabilities Negotiate codecs, use of video (H.323) Codecs on forward and reverse channels may not match Data flows via RTP and RTCP Call ends, Q.931 call signal tears down connection
Session Initiation Protocol SIP)
IETF replacement for H.323
Simple, modular TCP style (RFC 3261) 1999 Uses existing Internet standards Telephone numbers as URLs sip:
[email protected] Can contain IP address, name or phone number Presence management Address of person rather than phone
SIP Supported connections Two party calls Multi party calls Multicast sessions Instant messaging Video
SIP Processing
Protocol looks like HTTP
Text based, like MIME Invite -- request initiation of session ACK --confirm that a session has been initiated BYE -- Terminate a session OPTIONS -- Ask about capabilities CANCEL -- Cancel a request REGISTER -- inform server about location
SIP Smart Endpoints Proxy server Lookup using other protocols All state is in end points H.323 vs SIP Other proprietary protocols Cisco
SIP Servers Location Server Used by Proxy or redirect server Proxy server Intermediate agent Redirect server SIP responses only
SIP Call Flow --> Invite <---ringing <---200 ok-(3way handshake) -->Ack
(late session desc.)
<--voice--> <-- Bye
SIP flow with Redirect --> invite --> invite <-- moved temporarily -->Ack --> Invite etc.
Forking Fork invite to multiple phones parallel or serial Other oddities Simultaneous hangup
SIP Proxy Servers Call Stateful Remains in signal path Stateful Proxy Does not remain in call path Stateless Just provides information
SIP Contents
Can Include text messages “How are you, Should I call later?” Example of presence management
Unified Messaging Unify text, voice, fax and possibly video messaging Drop Voice files in email Read text email files with text-to-speech fax--(OCR)-->text--->text-to-speach
Presence Management Got a start with Internet Chat status Still a main feature of chat programs Short status message format spawned twiter Forward calls I3 VM “Follow-Me” Cisco iPhone call transfer
Presence Management Program Presence Rules I3/Cisco Consumer version of call center app Process call based on inputs Caller-ID, Time, caller input, other conditions Process call Forward, Voice Mail, additional menus
Call Admission Control Mild data overload can lead to very bad voice service Local mechanism Measurement mechanism Resource based Measurement Reservation--only total call solution
Resource Reservation Protocol (RSVP) Dynamic Routing provides reliable data connections in the face of component failures and multiple link support QoS provides prioritization and differentiated treatment of packets Not always enough Prevention is needed
RSVP Goals Multimedia often means multicast High data volume if media is high volume, video, or audience large Some multicast members might not need all channels, i.e. I’ll just listen w/o video Deal with changes in multicast group membership--channel changing
RSVP Goals
Control Protocol overhead Be independent of routing protocol
RSVP Design Unicast and Multicast Simplex--need reservations both ways Receiver initiated reservation Softstate at routers--hard state at endpoints Different reservation styles Fixed, Shared, Wildcard Transparent through non-RSVP routers
RSVP Data Flows Session A Data flow identified by destination Could be unicast or multicast Flow descriptor Flowspec--desired QoS for packet sched. Service class, Rspec, Tspec
RSVP Data Flows
Filterspec Source address UDP/TCP source port
Maintain QoS for duration of call Topology awareness, but no awareness of other calls Setup H.225 FastStart setup H.225 Call Proceeding
RSVP Receiver IGMP join Sender issues Path to group address Receiver issues Path to sender RESV message eventually gets to sender Sender starts sending packets
IGMP Internet Group Management Protocol Like ICMP for Multicast IP v6 has MLD, Multicast Listener Dir Router and Host version