Special Module on Media Processing and Communication Multimedia Communication Fundamentals Dayalbagh Educational Institute (DEI) Dayalbagh Agra PHM 961 Indian Institute of Technology Delhi (IITD) New Delhi SIV 864
Outline! Overview! Multimedia Applications! Signaling Protocols (SIP/SDP, SAP, H.323, MGCP)! Streaming Protocols (RTP, RTSP, HTTP, etc.)! QoS (RSVP, Diff-Serv, IntServ)! Conclusions
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
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).
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
RTSP! Real Time Streaming Protocol! Text based like http! Bidirectional requests from client to server and server to client
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
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 The image part with relationship ID rid1 was not found in the file. Gateways Location Server TRIP The image part with relationship ID rid1 was not found in the file. 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