Internet Multimedia Architecture Jim Chou and Thinh Nguyen February 12, 2002
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 Signaling Quality of Service Media Transport Application daemon MGCP/Megaco Reservation Measurement H.261, MPEG H.323 SDP RTSP RSVP RTCP SIP RTP TCP UDP network IPv4, IPv6 kernel link PPP AAL3/4 AAL5 PPP physical Sonet ATM Ethernet V.34
Multimedia applications Audio Speech (CELP – type codecs) Music (MP3, WAV, WMA, Real) Video (MPEG –1, 2, 4) Streaming done using HTTP/TCP (MP3), or RTP/UDP (Video).
Multimedia applications (cont.) Wireless network Gateway 9.6 kbps Media server 1 Mbps PSTN 28 kbps
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 PSTN gateway lookup SIP SDP SIP SDP DNS RSVP Address lookup SIP SDP SIP SDP May trigger Next-Hop Sets up DNS RSVP RSVP RTP UDP RTP UDP
SIP components User Agent Client (UAC) User Agent Server (UAS) 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 Proxy Server Registrar 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 SIP Redirect Server 1 2 3 4 5 6 7 8 9 10 11 12 SIP Client SIP Redirect Server SIP Proxy (User Agent Server) Location Service 13 14 columbia.edu berkeley.edu sip.com sip:alice@eecs.berkeley.edu sales.sip.com bob@mypc.sales.sip.com
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.) SQL/LDAP/? Proxy Farm INVITE DB Registrar REGISTER On Startup, SIP UA Sends REGISTER to Registrar Registration Data Provides Addresses to Reach User Registration Database Forms a Dynamic Routing Database of Users Centralized Store is Desired for Scalability
SIP architecture (cont.) SIP INVITE Can Contain Phone Numbers sip:17325551212@domain.com tel:17325551212 Do Not Correspond to Users on IP Network, but PSTN Terminals Call Must Be Routed to Gateway Gateways Often Arranged Through Peering Which One to Use Based on Prefixes (Domestic = gw1, Europe = gw2) Route Table is Mapping From Prefixes to Next Hop IP address/port/transport Plus URL Rewrite Rules sip:19735551212@ longdistance.com tel:19735551212
SIP architecture (cont.) Gateways Inter-domain Protocol for Gateway Route Exchange Completed February 2000 TRIP Supports Various Models Bilateral agreements Centralized settlements provider Location Server ISP B TRIP End Users ISP A Front End
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 ACK BOTH WAY RTP BYE BYE BYE 200 OK 200 OK 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.
Multimedia Gateway Control Protocol (MGCP) Decompose gateway into a controlling signalling component and a controlled media component. Can be used in phones or gateways in conjunction with SIP
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 Admission control 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 Call Signaling 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 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)
H.323 MCU Media Distribution Manage Ad Hoc multipoint calls 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 Gate- keeper Reg, Adm, Status (RAS) G.7xx H.26x RTCP H.225.0 H.245 T.120 RTP 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
H.323 example (cont.) GK (2a) GK resolves “Bob” to IP address through H.323 registration or external name service (e.g. DNS, ULS, etc..) (2b) Admission Policy Applied (1) ARQ Can I call “Bob”? (3) ACF Yes, use this IP Address PictureTel Bob Bill
H.323 example (cont.) GK (5) ARQ May I answer? (6) ACF Yes (4) SETUP (Create) PictureTel (7) ALERTING (8) CONNECT (User answers) Bob Bill
H.323 example (cont.) (9) H.245 connection established PictureTel (9) H.245 connection established - Capability Exchange Bob Bill - Open Logical Channels (audio, video)