Overview Review of last class Protocol stack for multimedia services Real-time transport protocol (RTP) RTP control protocol (RTCP) Real-time streaming protocol (RTSP) SIP Special Module on Media Processing and Communication Slide
Multimedia applications Audio Speech (CELP type codecs) Music (MP3, WAV, WMA, Real) Video (MPEG 1, 2, 4) Conferencing Streaming using HTTP/TCP (MP3), or RTP/UDP (Video).
Multimedia, Quality of Service: What is it? Multimedia applications: Network audio and video (`continuous media ) QoS network provides application with level of performance needed for application to function. 3
Protocol stacks for media streaming Data Plane Control Plane Compressed Video/Audio RTP Layer RTCP Layer RTSP Layer UDP TCP IPv4, IPv6 Internet 4
Multimedia protocol stack network link physical Signaling Quality of Service MGCP/Megaco Reservation Measurement H.323 SDP RTSP RSVP RTCP SIP TCP UDP IPv4, IPv6 Media Transport H.261, MPEG RTP PPP AAL3/4 AAL5 PPP Sonet ATM Ethernet V.34 Application daemon kernel
Jitter (contd.) Playback buffer At time 00:00:18 At time 00:00:28 At time 00:00:38 Special Module on Media Processing and Communication Slide
How does Sequence number and Timestamp help? Audio silence example: Consider audio data What should the sender do during silence? Not send anything Why might this cause problems? Receiver cannot distinguish between loss and silence Solution: sender Seq no.1, Tmpst Seq no.2, 100 Tmpst Seq no.3, 200 Tmpst 300 silence Seq no.4, Tmpst 600 Seq no.5, Tmpst 700 receiver After receiving no PDUs for a while, next PDU received at the receiver will reflect a big jump in timestamp, but have the correct next seq. no. Thus, receiver knows what happened. Special Module on Media Processing and Communication Slide
Streaming performance requirements Sequencing to report PDU loss to report PDU reordering to perform out-of-order decoding Time stamping and Buffering for play out for jitter and delay calculation Payload type identification for media interpretation Error concealment covers up errors from lost PDU by using redundancy in most-adjacent-frame Quality of Service (QoS) feedback from receiver to sender for operation adjustment Rate control sender reduces sending rate adaptively to network congestion Special Module on Media Processing and Communication Slide
RTP Communicate choice of coding Timing for data Synchronize different streams Communicate loss information (UDP) Congestion avoidance (UDP) Frame Boundaries User identification (user@domain.com) Efficient for small audio packets
RTP Header V=version, P=padding, X=extension, CC=contributing sources, M=marker bit for frame, PT=payload type, Timestamp for first byte, SSRC=Synchronization source - independence from Lower protocol, CSRC=Contributing Source -mixer
RTP Synchronization Source q synchronization source - each source of RTP PDUs q Identified by a unique,randomly chosen 32-bit ID (the SSRC) q A host generating multiple streams within a single RTP must use a different SSRC per stream Special Module on Media Processing and Communication Slide
RTCP Real Time Transport Control Protocol Defines profile Information for interpreting RTP header Defines format How data following RTP header is interpreted Can adapt to new applications
RTCP message types Typically, several RTCP PDUs of different types are transmitted in a single UDP PDU Special Module on Media Processing and Communication Slide
Sender/Receiver report PDUs V P RC PT=200/201 à SR/RR SSRC of Sender Length (16 bits) Header NTP Timestamp, most significant word NTP Timestamp, least significant word RTP Timestamp Sender s PDU Count Sender s Octet Count SSRC_1 (SSRC of the 1 st Source) Fraction Lost Cumulative Number of PDU Lost Extended Highest sequence Number Received Interarrival Jitter Last SR (LSR) Delay Since Last SR (DLSR) SSRC_2 (SSRC of the 2 nd Source) Profile-Specific Extensions Special Module on Media Processing and Communication Sender Info Report Block 1 Report Block 2 Slide
Signaling protocols VoIP predominantly uses two: SIP/SDP H.323
Session initiation protocol (SIP) Developed in mmusic Group in IETF Proposed standard RFC2543, February 1999 Work began 1995 Part of Internet Multimedia Conferencing Suite (MBONE) Main Functions Invite users to sessions Find the user s current location, match with their capabilities and preferences in order to deliver invitation Carry opaque session descriptions Modification of sessions Termination of sessions
SIP overview TRIP LDAP Address lookup PSTN gateway lookup Next-Hop SIP SDP May trigger Sets up SIP SDP DNS RSVP RTP RSVP RTP UDP UDP
SIP components User Agent Client (UAC) End systems Send SIP requests User Agent Server (UAS) Listens for call requests Prompts user or executes program to determine response User Agent UAC plus UAS
SIP components (cont.) Redirect Server Network server - redirects users to try other server Proxy Server Network server - a proxy request to another server can fork request to multiple servers, creating a search tree Registrar Receives registrations regarding current user locations
SIP architecture Request Response Media columbia.edu SIP Redirect Server Location Service 2 sip:alice@eecs.berkeley.edu 1 12 SIP Client berkeley.edu 14 13 4 3 11 sip.com SIP Proxy 5 6 10 SIP Client (User Agent Server) 7 8 sales.sip.com 9 bob@mypc.sales.sip.com SIP Proxy
Sip architecture (cont.) SIP state-less proxies (near core of network) used for re-direction SIP state-ful proxies (near periphery of network) Keeps track of state of call Useful for billing/logging, authentication Routing Registration database, external database TRIP
SIP architecture (cont.) On Startup, SIP UA Sends REGISTER to Registrar DB Registration Data Provides Addresses to Reach User Registrar SQL/LDAP/? Registration Database Forms a Dynamic Routing Database of Users Centralized Store is Desired for Scalability Proxy Farm INVITE
SIP INVITE Can Contain Phone Numbers sip:17325551212@domain.com tel:17325551212 SIP architecture (cont.) Do Not Correspond to Users on IP Network, but PSTN Terminals tel:19735551212 sip:19735551212@ longdistance.com Call Must Be Routed to Gateway Gateways Often Arranged Through Peering Which One to Use Based on Prefixes (Domestic = gw1, Europe = gw2) 1-732 regional.com 1 longdistance.com international.com Route Table is Mapping From Prefixes to Next Hop IP address/port/transport Plus URL Rewrite Rules
SIP architecture (cont.) Inter-domain Protocol for Gateway Route Exchange Completed February 2000 TRIP (Telephone Routing over IP) Supports Various Models Bilateral agreements Centralized settlements provider End Users ISP B Gateways Location Server TRIP Front End ISP A
SIP call flow example USER A PROXY PROXY USER B INVITE 407 Proxy Authenticate ACK INVITE INVITE 100 Trying INVITE 100 Trying 180 Ringing 180 Ringing 180 Ringing 200 OK 200 OK 200 OK ACK ACK BOTH WAY RTP BYE BYE 200 OK 200 OK ACK BYE 200 OK
Session Description Protocol (SDP) Used to specify client capabilities Example (client can support MPEG-1 video codec, and MP3 codecs)
Session Anouncement Protocol (SAP) Originated around same time as SIP Used to announce multimedia sessions Announcement goes to users in a multicast group Announcements can contain start time of session, duration of session, etc.
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 Gatekeepers Gateways (H.323 to H.320/H.324/POTS) MCUs Multipoint Controller (MC) Multipoint Processor (MP)
H.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
H.323 Gatekeeper (cont.) Management of gateway H.320, H.324, POTS, etc. Call Signaling May route calls in order to provide supplementary services or to provide Multipoint Controller functionality Call Management/Reporting/Logging
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
H.323 protocol stack Control Data Audio Video A/V Cntl Control G.7xx H.26x Gatekeeper H.225.0 H.245 T.120 RTP RTCP Reg, Adm, Status (RAS) TCP UDP IP
H.323 protocol stack (cont.) H.323 - System Document H.225.0 - Call Signaling, Packetization Gatekeeper Registration, Admission, and Status H.245 - Control (also used in H.324, H.310) T.120 - Data and Conference Control
H.323 example A Call Setup Example a point to point call One Gatekeeper using the Direct Call Model
PictureTel PictureTel H.323 example (cont.) GK Bill (1) ARQ Can I call Bob? (3) ACF Yes, use this IP Address (2a) GK resolves Bob to IP address through H.323 registration or external name service (e.g. DNS, ULS, etc..) (2b) Admission Policy Applied Bob PictureTel
PictureTel PictureTel H.323 example (cont.) GK (6) ACF Yes (5) ARQ May I answer? (4) SETUP (Create) Bill (7) ALERTING (8) CONNECT (User answers) PictureTel Bob
PictureTel PictureTel H.323 example (cont.) PictureTel Bill (9) H.245 connection established - Capability Exchange - Open Logical Channels (audio, video) Bob