Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide


  1. 1. VoIP TDC 364
  2. 2. What is VoIP Used For? <ul><li>Reduced long-distance costs </li></ul><ul><ul><li>Some cite this as a large business savings </li></ul></ul><ul><ul><li>Residential customers too </li></ul></ul><ul><li>More calls with less bandwidth </li></ul><ul><ul><li>New technologies allow voice to travel in less than 64 kbps channels (new voice compression techniques </li></ul></ul><ul><ul><li>Silence suppression </li></ul></ul>
  3. 3. What Else is VoIP Used For? <ul><li>More and better enhanced services </li></ul><ul><ul><li>VoIP can be recorded, stored, processed, converted, etc. by the same hardware used for data </li></ul></ul><ul><ul><li>Computer telephony integration </li></ul></ul><ul><ul><li>Unified messaging </li></ul></ul><ul><li>Most efficient use of IP </li></ul><ul><ul><li>One common protocol </li></ul></ul>
  4. 4. Four Additional Uses of VoIP <ul><li>International calling </li></ul><ul><li>Telemarketing </li></ul><ul><ul><li>PC and LAN dial one number after another </li></ul></ul><ul><ul><li>Worker reads from a script on their monitor </li></ul></ul><ul><ul><li>Depending upon answers/stored data, script changes dynamically </li></ul></ul><ul><ul><li>Telephone call goes through the pc </li></ul></ul>
  5. 5. Four Additional Uses of VoIP <ul><li>Call center </li></ul><ul><ul><li>Telemarketing is outbound VoIP, call center is inbound VoIP </li></ul></ul><ul><ul><li>Automated attendant, automatic call distribution, interactive voice response </li></ul></ul><ul><ul><li>Call centers today are as dependent on the pc and LAN as they are on the telephone </li></ul></ul>
  6. 6. Four Additional Uses of VoIP <ul><li>Fax </li></ul><ul><ul><li>The fax is not going away </li></ul></ul><ul><ul><ul><li>Can be a legal document </li></ul></ul></ul><ul><ul><ul><li>Is tangible </li></ul></ul></ul><ul><ul><ul><li>Is by definition a copy of the original </li></ul></ul></ul><ul><ul><ul><li>Transcends languages and national borders </li></ul></ul></ul><ul><ul><ul><li>Millions of existing fax machines </li></ul></ul></ul><ul><ul><li>But fax standards are antiquated </li></ul></ul><ul><ul><li>Fax over IP makes more sense </li></ul></ul>
  7. 7. A Model for VoIP <ul><li>From business to business </li></ul><ul><ul><li>Use: Faxing, tie-line replacement </li></ul></ul><ul><ul><li>Need: Better QoS for IP, managed IP network? </li></ul></ul><ul><ul><li>Outlook: Do it now </li></ul></ul><ul><li>From business to residential </li></ul><ul><ul><li>Use: Telemarketing </li></ul></ul><ul><ul><li>Need: IP-enabled PBX, ISP to PSTN gateways </li></ul></ul><ul><ul><li>Outlook: Do it carefully </li></ul></ul>
  8. 8. A Model for VoIP <ul><li>From residential to business </li></ul><ul><ul><li>Use: Call centers, catalog sales </li></ul></ul><ul><ul><li>Need: Voice-enabled Web site, IP-enabled ACD </li></ul></ul><ul><ul><li>Outlook: Do it carefully </li></ul></ul><ul><li>From residential to residential </li></ul><ul><ul><li>Use: Long distance replacement </li></ul></ul><ul><ul><li>Need: Many PSTN gateways, basic voice QoS </li></ul></ul><ul><ul><li>Outlook: Long distance now, local later? </li></ul></ul>
  9. 9. What is the Basic VoIP Layout? Voice CODEC Compression Create voice datagram Add header (RTP, UDP, IP, etc) Network
  10. 10. What is the Basic VoIP Layout? Network Process header Re-sequence and buffer delay Decompression CODEC Voice
  11. 11. Traditional Network Characteristics <ul><li>Voice </li></ul><ul><ul><li>--- </li></ul></ul><ul><ul><li>Short delay </li></ul></ul><ul><ul><li>Constant delay </li></ul></ul><ul><ul><li>No loss </li></ul></ul><ul><ul><li>No retransmission </li></ul></ul><ul><ul><li>Direct pass through </li></ul></ul><ul><li>Data </li></ul><ul><ul><li>Low error rate </li></ul></ul><ul><ul><li>Reasonable delay </li></ul></ul><ul><ul><li>Variable Delay </li></ul></ul><ul><ul><li>Packet Loss </li></ul></ul><ul><ul><li>Retransmission </li></ul></ul><ul><ul><li>Uses protocols </li></ul></ul>
  12. 12. Packet Network Technologies <ul><li>Same components, different performance </li></ul><ul><ul><li>Internet – Routing (TCP/IP), frame relay, ATM </li></ul></ul><ul><ul><li>Intranet – Routing (TCP/IP), frame relay, ATM </li></ul></ul><ul><li>Voice over networks </li></ul><ul><ul><li>Internet – No goals, no guarantees </li></ul></ul><ul><ul><li>Intranet – Controlled environment, performance objectives, designed to perform </li></ul></ul>
  13. 13. Voice Over Requirements <ul><li>Compression </li></ul><ul><ul><li>Reduced bps vs. quality </li></ul></ul><ul><li>Silence suppression </li></ul><ul><li>Signaling </li></ul><ul><li>Echo control </li></ul><ul><li>QoS </li></ul><ul><li>Voice enhancements (calling features) </li></ul>
  14. 14. An Example: A Voice-Enabled Web Site <ul><li>People talk on the telephone </li></ul><ul><li>People look at the web </li></ul><ul><li>What about voice and the web? </li></ul><ul><ul><li>Visual orientation with human interaction </li></ul></ul><ul><ul><li>Flexible </li></ul></ul><ul><ul><li>Unlimited information </li></ul></ul><ul><ul><li>Wide availability (location and time) </li></ul></ul>
  15. 15. Examples <ul><li>Airline reservations (“Can I connect through Philadelphia instead?”) </li></ul><ul><li>Hotel reservations (“Does that room have a view of the ocean?”) </li></ul><ul><li>Ticket sales (“Can I get four seats together?”) </li></ul><ul><li>Stock trading (“Will I make the split requirements?”) </li></ul>
  16. 16. Call Center Without VoIP Call Me 1. User clicks Web Call Enter Information: Name: Account #: Phone #: 2. User enter information Call information, Account Information, Etc. 3. Web site forwards To call center PSTN 5. User answers call, Conversation begins 4. Agent places PSTN call
  17. 17. Call Center With VoIP 1. User clicks Web VoIP Call VoIP Call Internet Call information, Account information, Etc. 2. VoIP software uses same IP connection to Web site 3. Web site forwards all Info to call center Multimedia pc with VoIP software 4. Conversation through VoIP software
  18. 18. The Web Added to the Call Center PSTN PBX/ ACD Database Voice network to telephones Agent with telephone and pc Agent with telephone and pc Agent with telephone and pc Internet Web Server VoIP Gateway Still two networks
  19. 19. The Web Added to the Integrated Call Center PSTN PBX/ACD VoIP Gateway Database Agent with telephone and pc Agent with telephone and pc Internet Web Server Only one network
  20. 20. The VoIP Gateway <ul><li>The device that converts a traditional analog telephone call (voice and signals) into digital data that is sent over an IP network </li></ul><ul><li>Gateway functions include: </li></ul><ul><ul><li>Destination lookup: converting a telephone number to an IP address </li></ul></ul><ul><ul><li>IP connection management: the use of protocols to establish, maintain, and teardown a call </li></ul></ul>
  21. 21. The VoIP Gateway <ul><li>Gateway functions continued </li></ul><ul><ul><li>Compression and digitization </li></ul></ul><ul><ul><li>IP packetization and transport </li></ul></ul><ul><ul><li>Advanced IP/PSTN signaling </li></ul></ul><ul><ul><li>Authorization, access, and accounting </li></ul></ul>
  22. 22. The VoIP Gatekeeper <ul><li>An optional device, not required for H.323 </li></ul><ul><li>Typically found in systems of significant size </li></ul><ul><li>Gatekeeper functions include </li></ul><ul><ul><li>Address translation (supports the use of proprietary addressing schemes, such as mnemonics, nicknames, or e-mail address) </li></ul></ul><ul><ul><li>Admissions control (control the setup of VoIP calls between their terminals and gateways and the rest of the world; access granted or denied based on authentication, source or destination address, time of day, etc.; essentially a security mechanism) </li></ul></ul>
  23. 23. The VoIP Gatekeeper <ul><li>More functions: </li></ul><ul><ul><li>Bandwidth management (controls calls and the bandwidth of each channel) </li></ul></ul><ul><ul><li>Zone management (a zone is a combo gatekeeper, gateway, terminals, etc; gatekeeper controls calls within its zone) </li></ul></ul><ul><ul><li>Call signaling (may act as a signaling proxy for terminals it represents; or as an initial point of contact for callers) </li></ul></ul>
  24. 24. VoIP Protocols <ul><li>There are two basic sets of protocols for supporting VoIP: </li></ul><ul><ul><li>ITU-T’s H.323 </li></ul></ul><ul><ul><ul><li>First issued in early 1996 </li></ul></ul></ul><ul><ul><li>IETF’s SIP (Session Initiation Protocol) </li></ul></ul><ul><ul><ul><li>Introduced in 1998 </li></ul></ul></ul>
  25. 25. VoIP Protocols continued <ul><li>Interesting facts about the two protocols: </li></ul><ul><ul><li>H.323 is named packet-based multimedia communications systems </li></ul></ul><ul><ul><li>H.323 originally designed for X.25 and ATM </li></ul></ul><ul><ul><li>SIP designed specifically for voice over the Internet by the people that should know the Internet the best </li></ul></ul><ul><li>Let’s talk about H.323 first </li></ul>
  26. 26. H.323 Video Audio Control Data H.261 H.263 (video coding) G.711 G.722 G.723 G.728 G.729 RTP RTP RTCP RTCP H.225 Term. To Gatekeeper signaling H.225 Call signaling H.245 T.120 (multipoint data transfer) UDP TCP IP
  27. 27. The Various Pieces – G.711 <ul><li>G.711 is the international standard for encoding telephone audio on an 64 kbps channel. It is a pulse code modulation (PCM) scheme operating at a 8 kHz sample rate, with 8 bits per sample, fully meeting ITU-T recommendations. </li></ul>
  28. 28. The Various Pieces – G.722 <ul><li>ITU-T G.722 is the benchmark coder for wideband speech coding quality. The speech signal is sampled at 16000 samples/second. G.722 can handle speech and audio signal bandwidth up to 7 kHz, compared to 3.6 kHz in narrow band speech coders. G.722 coder is based on the principle of Sub Band - Adaptive Differential Pulse Code Modulation (SB-ADPCM). The signal is split into two sub bands and samples from both bands are coded using ADPCM techniques. The system involving G.722 coder can be used to work in three modes 64, 56 and 48 kbit/s. The latter two modes will allow an auxiliary data channel of 8 and 16 kbit/s respectively, within the 64 kbit/s channel. </li></ul>
  29. 29. The Various Pieces – G.723 <ul><li>G.723.1 is a speech compression algorithm standardized by ITU. G.723.1 has dual coding rates at 5.3 and 6.3 kbps. The vocoders process signals with 30 ms frames and have a 7.5 ms look-ahead and low distortion while passing DTMF tones through. The input/output of this algorithm is 16 bit linear PCM samples. </li></ul>
  30. 30. The Various Pieces – G.728 <ul><li>ITU-T G.728 is low delay speech coder standard, for compressing toll quality speech (8000 samples/second). The typical application of this speech coder is in telephony over packet networks, especially voice over cable and VoIP. This is a very robust speech coder, with very good speech quality, comparable to 32 kbit/s ADPCM. G.728 coders are based on the principle of Low Delay-Code Excited Linear Prediction (LD-CELP). </li></ul>
  31. 31. The Various Pieces – G.729 <ul><li>G.729 is an 8 kbps Conjugate-Structure Algebraic-Code-Excited Linear Prediction (CS-ACELP) speech compression algorithm approved by ITU-T. G.729 Annex A is a reduced complexity version of the G.729 coder. G.729 AB speech coder was developed for use in multimedia simultaneous voice and data applications. The coder processes signals with 10 ms frames and has a 5 ms look-ahead which results in a total of 15 ms algorithmic delay. The input/output of this algorithm is 16 bit linear PCM samples. </li></ul><ul><li>Forward error correction (FEC) is incorporated in the algorithm to achieve noise immunity of the data stream by including control bits into it. </li></ul>
  32. 32. The Various Pieces – H.225 <ul><li>H.225 call signaling is used to set up connections between H.323 endpoints (terminals and gateways), over which the real-time data can be transported. </li></ul><ul><li>Call signaling involves the exchange of H.225 protocol messages over a reliable call-signaling channel. For example, H.225 protocol messages are carried over TCP in an IP–based H.323 network. </li></ul>
  33. 33. The Various Pieces – H.225 <ul><li>H.225 messages are exchanged between the endpoints if there is no gatekeeper in the H.323 network. </li></ul><ul><li>When a gatekeeper exists in the network, the H.225 messages are exchanged either directly between the endpoints or between the endpoints after being routed through the gatekeeper. </li></ul><ul><li>The first case is direct call signaling. The second case is called gatekeeper-routed call signaling. The method chosen is decided by the gatekeeper. </li></ul>
  34. 34. The Various Pieces – H.245 <ul><li>H.245 control signaling consists of the exchange of end-to-end H.245 capability messages between communicating H.323 endpoints. </li></ul><ul><li>The H.245 control messages are carried over H.245 control channels. The H.245 control channel is the logical channel 0 and is permanently open, unlike the media channels. </li></ul><ul><li>The messages carried include messages to exchange capabilities of terminals and to open and close logical channels. </li></ul>
  35. 35. RTP – Real-time Transport Protocol <ul><li>Provides support for the transport of real-time data such as video and audio </li></ul><ul><li>Used in conjunction with RTCP to get feedback on quality of data transmission (next) </li></ul><ul><li>The Internet has unpredictable delay and jitter. To help alleviate these problems, RTP provides timestamping, sequence numbering, and other mechanisms. </li></ul>
  36. 36. RTP – Real-time Transport Protocol <ul><li>Timestamps are created by the originator as the data is sampled. These timestamps are then used to play the data back at the same rate. </li></ul><ul><li>Since RTP is usually run over UDP, RTP adds a sequence number to all packets (some packets are broken into smaller packets, all with the same timestamp, thus the need for a sequence number) </li></ul>
  37. 37. RTP – Real-time Transport Protocol <ul><li>Payload type identifier specifies the payload format as well as the encoding and compression schemes. </li></ul><ul><li>Source identification informs the receiver where the data is coming from (example – in an audio conference, a user can tell who is doing the talking) </li></ul>
  38. 38. RTCP – Real-time Control Protocol <ul><li>In an RTP session, participants periodically send RTCP packets to convey feedback on quality of data delivery and information of membership. </li></ul><ul><li>Five types of RTCP packets defined: </li></ul><ul><ul><li>Receiver Report </li></ul></ul><ul><ul><li>Sender Report </li></ul></ul><ul><ul><li>Source DEScription </li></ul></ul><ul><ul><li>BYE </li></ul></ul><ul><ul><li>APPlication specific functions </li></ul></ul>
  39. 39. H.323 Call Stages <ul><li>Discovery and Registration (RAS) – This is who I am </li></ul><ul><li>Call Setup (RAS/H.225/Q.931) – This is who I want to call </li></ul><ul><li>Call Negotiation (H.245) – These are our capabilities </li></ul>
  40. 40. H.323 Call Stages <ul><li>Media Channel Setup (H.245) – Let’s open an audio channel </li></ul><ul><li>Media Transport (RTP/RTCP) – Send audio datagrams </li></ul><ul><li>Call termination (H.245/H.225/RAS) – We are done </li></ul>
  41. 48. LAN Telephony (A Little More Detail) Ethernet LAN PSTN WAN or Internet IP Router PSTN Access Gateway Gatekeeper Ethernet Phones Analog Phones Converter Gateway PC-based Virtual Phones
  42. 49. SIP Session Initiation Protocol <ul><li>An application layer control (signaling) protocol for creating, modifying and terminating sessions with one or more participants </li></ul><ul><li>These sessions include multimedia conferences, Internet telephone calls, and multimedia distribution </li></ul>
  43. 50. SIP Session Initiation Protocol <ul><li>SIP has important features: </li></ul><ul><ul><li>Scalability </li></ul></ul><ul><ul><li>Interoperability </li></ul></ul><ul><ul><li>Extensibility </li></ul></ul><ul><ul><li>Flexibility </li></ul></ul><ul><ul><li>Mobility </li></ul></ul>
  44. 51. SIP Session Initiation Protocol <ul><li>SIP first initiates a session </li></ul><ul><li>It can also modify and end a session </li></ul><ul><li>In order to initiate a session SIP has to first locate the user </li></ul><ul><li>After finding the user SIP delivers a description of the session in order to inform the user </li></ul>
  45. 52. SIP Session Initiation Protocol <ul><li>SIP only conveys the descriptions of the session and doesn’t know anything about the session itself </li></ul><ul><li>Most common protocol to describe the session is the Session Description Protocol (SDP) </li></ul><ul><li>After locating the user and conveying the description of the session, SIP conveys the response of the user </li></ul><ul><li>The user can accept, reject, or forward the session. </li></ul>
  46. 53. SIP Session Initiation Protocol <ul><li>If the session is accepted then an active session has been initiated </li></ul><ul><li>After initiation, SIP can also modify the session by sending a new description </li></ul><ul><li>SIP is based on the request-response paradigm </li></ul>
  47. 54. SIP Session Initiation Protocol <ul><li>Some methods manage the sessions: </li></ul><ul><ul><li>Invite: indicates that the user is invited to a session (session description also included) </li></ul></ul><ul><ul><li>Ack: to confirm a session establishment (via Invite) </li></ul></ul><ul><ul><li>Bye: terminates session </li></ul></ul><ul><ul><li>Cancel: cancel a pending Invite </li></ul></ul>
  48. 55. SIP <ul><li>More methods to manage the sessions: </li></ul><ul><ul><li>Options: used to query the server for its capabilities </li></ul></ul><ul><ul><li>Register: used to bind a permanent address to the current location of the user </li></ul></ul>
  49. 56. SIP <ul><li>To establish a session, the caller sends an Invite to the user with whom they want to talk </li></ul><ul><li>The user’s address has form sip:johnsmith@students.depaul.edu </li></ul><ul><li>User responds to Invite with Ack and session is established. </li></ul>
  50. 57. SIP <ul><li>There are numerous response codes: </li></ul><ul><ul><li>Informational </li></ul></ul><ul><ul><ul><li>100 Trying </li></ul></ul></ul><ul><ul><ul><li>180 Ringing </li></ul></ul></ul><ul><ul><ul><li>181 Call is being forwarded </li></ul></ul></ul><ul><ul><li>Success </li></ul></ul><ul><ul><ul><li>200 OK </li></ul></ul></ul><ul><ul><li>Redirection </li></ul></ul><ul><ul><ul><li>300 Multiple choices </li></ul></ul></ul><ul><ul><ul><li>301 Moved permanently </li></ul></ul></ul><ul><ul><ul><li>302 Moved temporarily </li></ul></ul></ul>
  51. 58. SIP <ul><li>More response codes: </li></ul><ul><ul><li>Client error </li></ul></ul><ul><ul><ul><li>400 Bad request </li></ul></ul></ul><ul><ul><ul><li>401 Unauthorized </li></ul></ul></ul><ul><ul><ul><li>482 Loop detected </li></ul></ul></ul><ul><ul><ul><li>486 Busy here </li></ul></ul></ul><ul><ul><li>Server failure </li></ul></ul><ul><ul><ul><li>500 Server internal error </li></ul></ul></ul><ul><ul><li>Global failure </li></ul></ul><ul><ul><ul><li>Busy everywhere </li></ul></ul></ul>
  52. 59. SIP <ul><li>The messages are not directly sent to the user - instead delivered to a proxy server </li></ul><ul><li>Proxy server responsible for routing and delivering messages to the called party </li></ul><ul><li>Proxy servers also relay call signaling </li></ul>
  53. 60. SIP <ul><li>There are several types of proxy servers: </li></ul><ul><ul><li>Call-stateful: track call state and provide a lot of services, but are not fast </li></ul></ul><ul><ul><li>Transaction-stateful: track the request and responses but not the call state or session </li></ul></ul><ul><ul><li>Stateless: just receive requests, forward them, then forget them; fast but few services </li></ul></ul>
  54. 61. SIP <ul><li>Redirect Servers </li></ul><ul><ul><li>Redirect the requestor to the other servers instead of forwarding them </li></ul></ul><ul><ul><li>Redirection is useful if a user moves or changes the provider </li></ul></ul><ul><li>SIP Registrars </li></ul><ul><ul><li>Accept the registration requests of the users </li></ul></ul>
  55. 62. ENUM and E.164 <ul><li>SIP addresses are like email addresses - both can be resolved by DNS </li></ul><ul><li>What if you only have a telephone number? </li></ul><ul><li>You need ENUM and E.164 </li></ul><ul><li>ENUM is a protocol that resolves fully qualified telephone numbers to fully qualified domain name addresses using a DNS-based architecture </li></ul><ul><li>ENUM relies on E.164 </li></ul>
  56. 63. ENUM and E.164 <ul><li>E.164 is an international telephone numbering plan </li></ul><ul><li>A fully qualified E.164 number is designated by a country code, an area or city code, and a phone number </li></ul><ul><li>ENUM allows users to access Internet-based services and resources from Internet-aware telephones, ordinary telephones connected to Internet gateways or proxy servers, and other Internet-connected devices where input is limited to numeric digits. </li></ul>
  57. 64. How Does ENUM Work? <ul><li>Phone number is translated into a fully qualified E.164 number: +1-312-362-5175 (first 1 is North America, + means fully qualified) </li></ul><ul><li>All non-digits characters are removed: 13123625175 </li></ul>
  58. 65. How Does ENUM Work? <ul><li>The order of digits are reversed: 57152632131 (Why? DNS names are structured from right to left.) </li></ul><ul><li>Dots are placed between each digit: (Why? Helps with administration) </li></ul><ul><li>Domain “e164.arpa” appended to end: </li></ul>
  59. 66. TRIP <ul><li>TRIP (telephony routing over IP) servers maintain and exchange information on what gateways are available to establish calls to ranges of telephone numbers </li></ul><ul><li>TRIP allows multiple service providers to route calls through each other’s gateways </li></ul>
  60. 67. Example SIP Dialogue <ul><li>INVITE sip:bob@acme.com SIP/2.0 </li></ul><ul><li>Via: SIP/2.0/UDP </li></ul><ul><li>alice_ws.radvision.com </li></ul><ul><li>From: Alice A. <sip:alice@radvision.com> </li></ul><ul><li>To: Bob B. <sip:bob@acme.com> </li></ul><ul><li>Call-ID: 2388990012@alice_ws.radvision.com </li></ul><ul><li>Cseq: 1 INVITE </li></ul><ul><li>Subject: Lunch today. </li></ul><ul><li>Content-Type: application/SDP </li></ul>
  61. 68. Example SIP Dialogue <ul><li>Content-Length: 182 </li></ul><ul><li>v=0 </li></ul><ul><li>o=Alice 53655765 2353687637 IN IP4 </li></ul><ul><li>s=Call from Alice. </li></ul><ul><li>c=IN IP4 alice_ws.radvision.com </li></ul><ul><li>m=audio 3456 RTP/AVP 0 3 4 5 </li></ul><ul><li>Response Message would then follow </li></ul>