1 Voice Over IP Priscilla Oppenheimer
2 Objectives A technical overview of the devices and protocols that enable Voice over IP (VoIP) Demo Packet8 and Skype Discuss network administrator concerns
3 Who Am I? Priscilla Oppenheimer Over 25 years of experience developing data communications and networking systems MS in Information Science from the University of Michigan
4 What Is VoIP? Voice over the Internet Protocol (IP) Sending voice (telephone) conversations over the Internet Or over any internetwork or intranet that uses IP Also known as IP telephony
5 Why Is This Cool? Saves you money! You can choose your area code Mobility Voice mail to notification Lots of other features
6 Many VoIP Implementations 1. Enterprises are merging their voice and data networks 2. Vonage, Packet 8, BroadVoice, and others offer VoIP to broadband home users 3. Software applications such as Skype and Gizmo implement peer-to-peer VoIP
7 Enterprise VoIP Source: Cisco Systems
8 VoIP at Home with Phone Adapter Source: BroadVoice
9 Peer-to-Peer VoIP Skype Gizmo Software that runs on PCs, Macs, and Unix The caller logs into an authentication server, finds target, and then the voice is sent directly to the callee
10 Our Telephony Legacy
11 On-Hook to Off-Hook Source: Cisco Systems The weight of the receiver opens a spring-loaded switch hook inside the phone thereby disconnecting the idle phone from the telephone line. Lifting the receiver closes the switch hook and allows current to flow which causes the phone switch to send the dial tone signal.
12 Dialing and Switching Source: Cisco Systems
13 Ringing Source: Cisco Systems
14 Talking Source: Cisco Systems
15 VoIP Emulates Our Legacy System Handles: On-hook Off-hook Dial tone Dialing Switching Ringing Voice Legacy: from Latin legatus 1. A gift by will especially of money or other personal property 2. Something transmitted by or received from an ancestor or predecessor
16 VoIP with Analog Phones Source: Cisco Systems Router 1 Configuration voice-port 1/0/0 ring-frequency 30 ring cadence pattern01! dial-peer voice 1 pots destination-pattern port 1/0/0! dial-peer voice 10 voip destination-pattern session target ipv4: codec g711ulaw
17 Digital IP Phones Carry Legacy into the Future! Have an IP address Have Ethernet interface(s) Have an analog-to-digital converter Have sex appeal!
18 VoIP Functionality Realms Digitizing and packetizing voice Signaling Off-hook, dial tone, dialed digits, ring, ringback Call setup and teardown Public Switched Telephone Network (PSTN) integration
19 VoIP Protocol Suites Sending digitized voice Realtime Transport Protocol (RTP) Signaling Session Initiation Protocol (SIP) H.323 PSTN Integration Media Gateway Control Protocol (MGCP) Electronic Number Mapping System (ENUM)
20 Digitizing an Analog Signal Source: Forouzan, "Data Communications and Networking"
21 Digitizing Voice: Nyquist Theorem The sampling rate must be at least two times the highest frequency contained in the analog signal The highest frequency for voice is 4000 Hz Sample 8000 times per second Store in an 8-bit byte 64,000 bps bandwidth required
22 Quantizing Mapping a continuum of possible amplitudes into a finite number of discrete values Can be uniform or non-uniform Non-uniform (picture on right) uses smaller step functions at lower amplitudes
23 Encoding Wave form coders Non-uniform approximation of wave form G.711 = ITU-T standard for non-uniform representation of 64 Kbps Pulse Code Modulation (PCM) Predictive algorithms (encode differences between samples) Vocoders (synthesize voice)
24 Conjugate Structure Code-Excited Linear Prediction Uses codebook and feedback to learn and predict voice wave form ITU-T G.729 best-known example Works on 10-millisecond audio Generates an 80-bit payload Uses 8 Kbps bandwidth Supports silence suppression
25 Packetizing the Digitized Voice Place two 80-bit payloads in one RTP/UTP/IP packet
26 Realtime Transport Protocol (RTP) Developed by the IETF (RFC 1889) Carries realtime audio and video Runs above UDP/IP Adds sequence number and timestamp Uses a UDP even port number The RTP Control Protocol (RTCP) uses the next higher odd port number Ports are used
27 Session Initiation Protocol (SIP) Developed by the IETF (RFC 3261) Most common VoIP signaling protocol on the Internet Call setup, teardown, ring, ringback, etc. A SIP address is similar to an address
28 SIP Protocol Behavior Can use TCP or UDP port 5060 Other ports seen in the wild Request/response protocol with ASCII text messages REGISTER, INVITE, BYE, etc. Similar to HTTP Shares some of HTTP's status codes 200 OK 404 Not Found
29 SIP Invite
30 Media Gateway Control Protocol (MGCP) Developed by the IETF (RFC 3435) Protocol and architecture Source: NCTT
31 ENUM Developed by the IETF (RFC 3761) Maps E.164 telephone number to Domain Name System (DNS) name Retrieves an NAPTR record stored in a DNS database $ORIGIN e164.arpa. IN NAPTR "u" "sip+e2u" IN NAPTR "u" "smtp+e2u"
32 VoIP Network Design Voice is sensitive to Delay and jitter Dropped packets Use TestYourVoIP from Brix Networks to test your network performance
33 Test Your VoIP with G.711 From Oregon to Boston From Boston to Oregon
34 Test Your VoIP Signaling Delay From Oregon to Boston From Boston to Oregon
35 Test Your VoIP with G.729 From Oregon to Boston From Boston to Oregon
36 VoIP Concerns Local number portability (LNP) Power outages Does your VoIP provider know where you are? Legal (and illegal?) "wire tapping" by law enforcement
37 More VoIP Concerns Security Confidentiality Integrity Availability Authentication Rerouting calls through a service that is less expensive Is Phreaking back?
38 And More VoIP Concerns VoIP may not work with firewalls Some VoIP applications don't "play by the rules" and cause concerns for security and privacy experts Skype behavior is hard to distinguish from a hacker's attack Skype also causes some nodes to be "super nodes" without their knowledge
39 VoIP Summary Can be implemented many ways Emulates our legacy telephone system Uses RTP for voice transport Uses SIP for call setup and teardown It's cool and can save you money! Time to SIP some beers?