1 / 46

Multimedia Communication in the Internet VoIP and SIP

Multimedia Communication in the Internet VoIP and SIP. Dr. Dorgham Sisalem. Description of Multimedia. Session Description Protocol (SDP). Convey sufficient information to enable participation in a multimedia session SDP includes description of: Media to use (codec, sampling rate)

joy
Download Presentation

Multimedia Communication in the Internet VoIP and SIP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Multimedia Communication in the InternetVoIP and SIP Dr. Dorgham Sisalem

  2. Description of Multimedia

  3. Session Description Protocol (SDP) • Convey sufficient information to enable participation in a multimedia session • SDP includes description of: • Media to use (codec, sampling rate) • Media destination (IP address and port number) • Session name and purpose • Times the session is active • Contact information • Note: indeed SDP is a data format rather than a protocol. RFC2327

  4. Example: Session Description Protocol (SDP) v=0 o=sisalem 28908044538 289080890 IN IP4 193.175.132.118 s=SIP Tutorial e=sisalem@fokus.gmd.de c=IN IP4 126.16.69.4 t=28908044900 28908045000 m=audio 49170 RTP/AVP 0 98 a=rtpmap:98 L16/11025/2 Receiver’s IP address Supported RTP payload types Receiver’s port number “I am ready to receive G.711 (0) and L16 (98) audio at IP address 126.16.69.4, port number 49170”.

  5. IP Telephony What is IP-Telephony?

  6. Why Another Phone System? • Carrying voice on IP-based packet networks first identified by Cohen in 1977* • Commercialization and standardization began in 1995; Vocaltec the first company to ship IP2PSTN gateways (proprietary) • ITU-T standardized H.323 to recreate ISDN • SIP standardization began in IETF in 1995 • Adoption of SIP for use in 3GPP in late nineties • Motivation: • Cost saving through telco by-passing • Service Integration

  7. Why Another Phone System? • Lower transport costs: • Routing is cheaper than switching (lower equipment and line prices) • Network is not only dedicated to voice • More efficient bandwidth usage: • Variable compression (often lower than 64kb/s) • Usage of silence suppression • Application integration • Support voice, video or text all at the same time with the samenetwork • Integrate intelligent applications easily (initiate a call when somethinghappens)

  8. IP-Telephony is not just Telephony!!!! • IP-Telephony signaling is not about • Reengineering PSTN • Carrying PSTN over IP • Providing QoS • Solving the business model dilemma • Introducing world peace • IP-Telephony is just another Internet application but with special requirements • More stringent QoS requirements but so would video conferencing and distributed gaming • Interaction with legacy technology • Regulatory issues • Comparisons to legacy services

  9. Basic Internet Telephony Scenarios IP Phone Internet Internet Internet IP Phone Egress PSTN Gateway PSTN Phone PSTN Phone Egress PSTN Gateway Ingress PSTN Gateway PSTN Phone • PC-to-PC (MS NetMeeting, appliances) • PC-to-phone (net2phone.com) • phone-to-phone (Paegas) • phone-to-PC as well

  10. PC-to-phone/PC Scenario Internet Benefits: • Cost-savings • Service integration: Many today’s installation serve as PBX replacement today. Egress PSTN Gateway PSTN Phone IP SoftPhone IP Hard-Phone IP SoftPhone

  11. Phone-2-phone Scenario Internet Benefit: • Cost savings through telco bypass. Most of the voice path in the Internet which has no notion of distance and duration in its charging model. PSTN Phone Ingress PSTN Gateway PSTN Phone Egress PSTN Gateway

  12. Shift in Motivation Since Nineties • Telco prices dropping, cost saving not as appealing as in the past: • Berlin-Prague before market liberalization in 1995: 1DM a minute • Berlin-Prague today*: 4.50 cents (factor of 11) • Expectations set high on service integration • Voicemail2email, click-to-dial, conferencing, instant messaging and presence, etc. • Shift in business mode: “be telco on your own” doable without large investments and operational costs. Seen as an opportunity for small businesses. * Source: http://www.billigertelefonieren.de/

  13. Completed Work • Since beginning, lot of focus has been paid to quality of service to assure “nice voice”: • Network provisioning • QoS Signaling (RSVP, diffserv) • Packet-loss concealment • Less concern today – backbones overprovisioned, end-devices improved and burned in hardware • Signaling for IP Telephony Well Understood Today: • Session Initiation Protocol (RFC3261) • Gateways to PSTN

  14. SIP Implementations Widely Available SNOM Pingtel Allied Telesyn Cisco Intertex Cisco Siemens Mitel Microsoft Free SIP server with capacity that can server VoIP signaling for Bay Area. … and many more …http://www.iptel.org/info/products/

  15. Integrated Applications Distributed games SIP Quake sighted! Virtual reality Web-pages and applets Links in e-mails Web-IVRs Click-to-dial Directory Services Video conferencing Instant Messaging voicemail notifications stock notifications callback notification Calendars pre-setup conference calls Unified Messaging voicemail2email etc.

  16. Example: Trial Site • Provides just signaling services • gives users a unique globally reachable address • resembles Web-hosting in IP world or NetCentrex in PSTN world • no media transport -- only signaling relayed, media does not hit the server at all • To set it up, we needed • PC • Freely available software • IP access • one part-time undergraduate student • Users need • IP phone (either in SW or HW) • Complimentary services may be easily provided by other parties, users just need to set up their signaling preferences: • bridging to PSTN, voicemail--2-email, etc.

  17. Protocols

  18. What Problems Do Need to Be Solved for VoIP? • Session management • Users may move from terminal to terminal with different capabilities and change their willingness to communicate • To set-up a communication session between two or more users, a signaling protocol is needed • Session Initiation Protocol (SIP) supports locating users, session negotiation (audio/video/instant messaging, etc.) and changing session state • Media Transport • Getting packetized voice over lossy and congested network in real-time • RTP – protocol for transmitting real-time data such as audio, video and games • End-to-end delivery: underlying IP connects the whole world • Supporting protocols: DNS, IP , routing protocol, AAA, gateway location, QoS, etc. • IETF Practice: Decomposition Principle; Separate protocols are used for separate purposes. Signaling protocol separate from media and QoS signaling. All of them on top of IP.

  19. Protocol Zoo (Hourglass Model) Media HTTP H.323 SIP RTP RTCP TCP SCTP UDP IPv4/IPv6 PPP AALx Ethernet GPRS SONET V.x ATM

  20. Packetized Communication Signaling Protocol Call Server Media Transport End Users End Users IP Router Note: • Every packet may take a completely different path • Signaling takes typically different path than media does • Both signaling and media as well as other applications (FTP, web, email, … ) look “alike” up to transport layer and share the same fate

  21. Components Integration with SIP PSTN Gateway • All components use SIP • They are glued together using a proxy server that implements a routing policy for signaling SMS Gateway IP Phone Pool Softphones And Messaging applications SIP proxy Applications Other domains

  22. SIP (RFC3261) - General Purpose Presence Protocol • SIP is not limited to Internet telephony • SIP establishes user presence • SIP messages can convey arbitrary signaling payload: session description, instant messages, JPEGs, any MIME types • Suitable for applications having a notion of session • distributed virtual reality systems, • network games (Quake II/III implementations), • video conferencing, etc. • Applications may leverage SIP infrastructure (Call Processing, User Location, Authentication) • Instant Messaging and Presence • SIP for Appliances

  23. SIP Is Not • Transport Protocol • QoS Reservation Protocol • Gateway Control Protocol • It does NOT dictate ... • Product features and services (color of your phone and distinctive ringing melodies, number of simultaneous calls your phone can handle, don’t disturb feature, ...) • network configuration

  24. SIP Workhorses • SIP Proxy Server • relays call signaling, i.e. acts as both client and server • operates in a transactional manner, i.e., it keeps no session state • transparent to end-devices • does not generate messages on its own (except ACK and CANCEL) • Allows for additional services (call forwarding, AAA, forking, etc.) • SIP Redirect Server • redirects callers to other servers • SIP Registrar • accept registration requests from users • maintains user’s whereabouts at a Location Server (like GSM HLR)

  25. SIP End-devices • User Agent (user application) • UA Client (originates calls) • UA Server (listens for incoming calls) • Types of UAs: • Softphone and hardphones • Messaging clients • PSTN gateways • Media servers (voicemail) • Etc.

  26. SIP Addresses • SIP gives you a globally reachable address. • Callees bind their temporary address to the global one using SIP REGISTER method. • Callers use this address to establish real-time communication with callees. • URLs used as address data format; examples: • sip:jiri@iptel.org • sip:voicemail@iptel.org?subject=callme • sip:sales@hotel.xy; geo.position:=48.54_-123.84_120 • must include host, may include user name, port number, parameters (e.g., transport), etc. • may be embedded in Webpages, email signatures, printed on your business card, etc. • address space unlimited • non-SIP URLs can be used as well (mailto:, http:, ...)

  27. SIP RFC3261 Methods • INVITE initiates sessions • session description included in message body • re-INVITEs used to change session state • ACK confirms session establishment • can only be used with INVITE • BYE terminates sessions • CANCEL cancels a pending INVITE • OPTIONS capability inquiry • REGISTERbinds a permanent address to current location; may convey user data (CPL scripts)

  28. SIP Extension Methods • UPDATE precondition met (draft-ietf-sip-manyfolks-resource) • PRACK provisional reliable responses acknowledgement (draft-ietf-sip-100rel) • INFO mid-call signaling (RFC 2976) • SUBSCRIBE/ instant messaging NOTIFY/ (draft-ietf-simple-*) • MESSAGE

  29. SIP Response Codes • Borrowed from HTTP: xyz explanatory text • Receivers need to understand response class (“x”) • x80 and higher codes avoid conflicts with future HTTP response codes • 1yz Informational • 100 Trying • 180 Ringing (processed locally) • 181 Call is Being Forwarded • 2yz Success • 200 ok • 3yz Redirection • 300 Multiple Choices • 301 Moved Permanently • 302 Moved Temporarily

  30. SIP Response Codes (cont.) • 4yz Client error • 400 Bad Request • 401 Unauthorized • 482 Loop Detected • 486 Busy Here • 5yz Server failure • 500 Server Internal Error • 6yz Global Failure • 600 Busy Everywhere

  31. SIP Message Structure Request Response SIP/2.0 200 OK Via: SIP/2.0/UDP here.com:5060 From: BigGuy <sip:UserA@here.com> To: LittleGuy <sip:UserB@there.com>;tag=65a35 Call-ID: 12345601@here.com CSeq: 1 INVITE Subject: Happy Christmas Contact: LittleGuy <sip:UserB@there.com> Content-Type: application/sdp Content-Length: 134 INVITE sip:UserB@there.com SIP/2.0 Via: SIP/2.0/UDP here.com:5060 From: BigGuy <sip:UserA@here.com> To: LittleGuy <sip:UserB@there.com> Call-ID: 12345600@here.com CSeq: 1 INVITE Subject: Happy Christmas Contact: BigGuy <sip:UserA@here.com> Content-Type: application/sdp Content-Length: 147 Message Header Fields v=0 o=UserB 2890844527 2890844527 IN IP4 there.com s=Session SDP c=IN IP4 110.111.112.113 t=0 0 m=audio 3456 RTP/AVP 0 a=rtpmap:0 PCMU/8000 v=0 o=UserA 2890844526 2890844526 IN IP4 here.com s=Session SDP c=IN IP4 100.101.102.103 t=0 0 m=audio 49172 RTP/AVP 0 a=rtpmap:0 PCMU/8000 Payload “receive RTP G.711-encoded audio at 100.101.102.103:49172”

  32. SIP Registration • Bind a SIP address to an IP number • Registration sent to SIP registrar responsible for the domain • Sisalem@iptel.org -> registrar: iptel.org • Find registrar through DNS • Registration is needed to receive calls • Not necessarily needed for initiating calls

  33. SIP Registrar #1 #2 #3 SIP/2.0 200 OK Jiri @ 195.37.78.173 REGISTER sip:iptel.org SIP/2.0 From: sip:jiri@iptel.org To: sip:jiri@iptel.org Contact: <sip:195.37.78.173> Expires: 3600 This registration example establishes presence of user with address jiri@iptel.org and binds this address to user’s current location 195.37.78.173. Location Server SIP Registrar (domain iptel.org)

  34. Basic SIP Call-Flow (Proxy Mode) #7 #6 #2 #3 #0 #1 #8 #4 DNS SRV Query ? iptel.org Reply: IP Address of iptel.org SIP Server INVITEsip:jiri@195.37.78.173 From: sip:Caller@sip.com To: sip: jiri@iptel.org Call-ID: 345678@sip.com jiri@195.37.78.173 jiri INVITEsip:jiri@iptel.org From: sip:Caller@sip.com To: sip: jiri@iptel.org Call-ID: 345678@sip.com OK 200 From: sip:Caller@sip.com To: sip: jiri@iptel.org Call-ID: 345678@sip.com OK 200 From: sip:Caller@sip.com To: sip: jiri@iptel.org Call-ID: 345678@sip.com #5 ACK sip:jiri@iptel.org Media streams Location Server Proxy sip:jiri@195.37.78.173 Caller@sip.com

  35. Proxy Server Functionality • Serve as rendezvous point at which callees are globally reachable • Perform routing function, i.e., determine to which SIP hop (UA/proxy/redirect) signaling should be relayed • Allow for call processing logic. • user’s signaling preferences • AAA • firewall control • etc. • Forking: Several destinations may be tried for a request sequentially or in parallel.

  36. Proxy Chaining • SIP proxies may be arbitrarily chained and add different values along the signaling path • least-cost gateway routing • load distribution • processing users’ preferences • etc. • In some case a local outbound proxy may be involved • provides locally important call processing logic (e.g., identifying nearest 911) • manages firewall • provides least-gateway-cost routing service • IP phones must know address of the proxy:may be configured manually or with a configuration protocol (DHCP, TFTP, ... ) • Servers have to avoid loops and recognize spirals

  37. Proxy Chaining - an Example Caller’s administrative domain Administrative domain of a PSTN gateway operator gw01.asia.pstn.com pstn.com asia.pstn.com #4 #2 #3 #1 Caller’s outbound proxy accomplishes firewall traversal. Destination’s “first-hit proxy” identifies a proxy serving dialed area. Proxy in the target area distributes load in a gateway farm. Note: signaling (in red) may take a completely different path from media (in blue).

  38. Ability to Try Multiple Destinations: Forking #1 INVITE #2 Trying #3 INVITE #4 Ringing #5 CANCEL #6 OK #7 INVITE • A proxy may fork a request to multiple destinations either in parallel (“reach me everywhere”) or serially (“forward no reply”). • A proxy can cancel pending parallel searches after a successful response is received. • A proxy can iterate through redirection responses (“recursive forking”). • The first “OK” is taken.

  39. Stateful versus Stateless Proxy Operational Mode • SIP Proxies may operate either in stateful or stateless mode; which of the modes is used depends on implementation or configuration. • stateless mode: • Usage: good for heavy-load scenarios -- works well for example if they act as application-layer load distributors. • Behavior: • proxies just receive messages, perform routing logic, send messages out and forget anything they knew; • they should cache results of SIP routing logic as it is not able to distinguish between retransmissions and new requests -- and would result in new execution of SIP routing logic for every retransmission

  40. Stateful versus Stateless Proxy Operational Mode • stateful mode: • Usage: good for implementing some services (e.g., “forward on no reply”) • Behavior: • proxies maintain state during entire transaction; they remember outgoing requests as well as incoming requests that generated them until transaction is over; • a forking proxy should be stateful • reduce retransmission time by acting on behalf of sender closer to destination

  41. “Stateful” Proxy Refers to Transactions SIP proxies deliver a “one-time rendezvous service” (as opposed to state storage service). Thus a stateful proxy just keeps state during a SIP “rendezvous transaction” and completely forgets it afterwards. A SIP proxy is not aware of existing calls. In case of failure, existing calls are NOT affected! OK Frequently Misunderstood Issue SIP state forgotten as soon as transaction over INVITE a@a.com Legend SIP signaling SIP state media

  42. Tell Other Parties Where You Are: Contact Header Field • In general, it indicates where users may be reached for subsequent requests • Minimize proxy’s involvement in transactions: once all parties know each other’s contact address they can communicate directly and proxy server is no more needed • used for the “next-try” in 3xx redirection responses • may include multiple weighted addresses • if behind a firewall, the Contact header field carries public server’s address • In REGISTER method • indicates current SIP address of requestor • if different from current registration, it is added to current registration list • if equal, contact parameters including updated and expiration timer updated • 2xx replies return a list of current registrations • “Expires: 0” removes an entry, if along with “Contact: *” all entries are removed Note: Multiple header fields with the same field-name may be present in a message if and only if the entire field-value for that header field is defined as a comma-separated list (i.e., #(values)).

  43. SIP Operation in Redirect Mode #7 #5 #3 #4 #8 #6 #2 Callee #1 Callee@home.com INVITE Callee@example.com 302 moved temporarily Contact: Callee@home.com ACK Callee@example.com INVITE Callee@home.com OK 200 ACK Callee@home.com Location Server Caller@sip.com Proxy Callee@home.com

  44. SIP Server -- Proxy versus Redirection • A SIP server may either proxy or redirect a request • Which of the two method applies is an implementation or configuration issue. It may be statically configured or dynamically determined (CPL). • Redirection useful if a user moves or changes her provider (PSTN: “The number you have dialed is not available.”) -- caller does not need to try the original server next time. • Redirection stateless. • Proxy useful if forking, AAA, firewall control needed. In general, proxying grants more control to the server. • Signaling using a proxy faster if RTT between call originator and destination domain is the major delay contributor.

  45. Routing Basics • Requests could be sent directly to the contact address • Media addresses are exchanged in SDP • Replies follow the same path as the requests • Each proxy adds a VIA header indicating its address • Receiver gets a list in the form of: • VIA: proxy_1, proxy_2 .....proxy_n • Receiver sends the reply back to le last proxy in the via header (proxy_n) which forwards the reply to proxy_n-1 • Proxies that want to see all future requests of a user add a RecordRoute header • Receiver get a list of RR: proxy_1, proxy_2 ..proxy_n • RR list is included in reply • Sender directs its future requests to proxy_1, which forwards it to proxy_2 ....

  46. Summary of SIP Properties • Textual (HTTP-like) client-server protocol • Easy to debug, extend and process with textual operating systems • End-2-end • It puts most of intelligence into end-devices – good for scalability and extensibility • Internet addressing using URIs • E.g., sip:jiri@iptel.org • Non-SIP URIs possible to (e.g., they may be used to redirect a caller to webpage) • Address space unlimited and may be used to create services (sip:sales@hotel.xy; geo.position:=48.54_-123.84_120) • It delivers mobility: User can register from one or more locations with IP connectivity

More Related