Republished with permission from WatchGuard Technologies, Inc.

WatchGuard


Does VoIP Fill a Void?

Considering Voice over Internet Protocol

by David Piscitello, President, Core Competence

Building faster and more efficient data networks remains a business imperative. Despite the many ways data applications have reshaped our ways of doing business, however, the most frequent and reliable method of business communication is still the phone call. Phone service also persists as a significant recurring expense for all organizations. Faced with this conundrum, organizations have longed for a way to integrate or converge voice traffic over the data networks they have built. For a time, ISDN and voice over Frame Relay and ATM networks promised relief from owning, operating, or outsourcing two networks, but none of these was very successful. IP networks have proven to be the next logical choice for converging telephone and data networks. This article introduces one standard for combining phone and data networks, so you can investigate whether it presents cost-efficient solutions for your organization.

Voice is a data application

The goal of converged networking is to allow disparate users to place or receive a phone call over a common network and protocol architecture. For Voice over IP (VoIP, also known as IP Telephony ), the common network is the Internet and the protocol architecture is TCP/IP, with a generous sprinkling of UDP. The basic problems a data application must solve to support voice as an application include:

  • Call signaling;
  • Voice signal conversion; and
  • Call quality maintenance.

A brief discussion of each point follows.

Call signaling

Pick up a telephone handset. Upon hearing a dial tone, press the numbers of the party you wish to call. Wait momentarily while the call connects, or you are directed to voicemail. These aspects of telephone use are familiar worldwide. What's really happening here? The public switched telephone network (PSTN) provides a signal (dial tone) from the network to a telephone subscriber. The subscriber asks the PSTN to connect to a party through a sequence of tones. Each tone signals a number. The entire string of numbers not only identifies the called party, but provides information on how telephone switches should allocate circuits to form a connection from the calling party to the called party. Dial tone, digit tones, and many more signals the circuit-switched PSTN uses form what is known as the Signaling System 7 (SS7). SS7 allows the phone system to offer voicemail, return a busy signal, and support calling features (e.g., call forwarding).

To set up voice and fax calls between phone users over the packet-switched Internet, we must define a signaling protocol that does what SS7 does. Today, the Session Initiation Protocol (SIP, RFC 3261) is the most commonly used call signaling protocol. SIP is much simpler than the International Telecommunication Union's signaling protocol, H.323. SIP is ASCII-based, and uses URLs with email-like addresses: one of my SIP telephone numbers, for example, is 73747@fwd.pulver.com. SIP supports call features you'd expect from your Plain Old Telephone Service (caller-id and call forwarding) or cell phone (mobility), and some features you'd want in a data application (caller authentication). Protocols.com provides a simple flow diagram of how SIP sets up IP telephony calls.

Voice signal conversion

Speech is analog. The Internet is digital. VoIP must use algorithms to convert, or code, and compress analog voice into digital streams at the transmitting endpoint, and then decode and decompress the digital stream into analog voice at the receiving endpoint. These code/decode algorithms are called VoIP codecs. Many codecs are available (G.711, G.726, G.728, G.729AB, and G.729E). Choosing a codec for your own VoIP implementation requires balancing bandwidth, latency, and voice quality. To obtain a high fidelity call, you can choose a more complex algorithm, but you'll use more CPU cycles at endpoints, and the voice sample you encode will be larger and use more bandwidth than one created using a lesser algorithm.

Call quality maintenance

The PSTN reserves bandwidth on all the circuits used to maintain a voice connection. VoIP doesn't support voice this way. Instead, VoIP packetizes voice traffic so that it can be handled like traffic from any other IP-based application. However, voice traffic can't tolerate loss, excessive delay, and widely varying delay, or jitter. IP networks may exhibit all these characteristics, especially over WANs. VoIP calls placed over best-effort IP delivery can sound a lot like phone calls in areas with poor cellular coverage. To assure VoIP call quality, administrators implement Reliability and Quality of Service mechanisms:

  • Reliability. Data applications typically use TCP for reliability, but VoIP doesn't. TCP implementations guarantee 100 percent reliability, regardless of delay. The mechanisms used in TCP implementations to overcome loss, especially loss due to congestion, often increase delays in a manner that's good for reliability, but bad for a real time application. To dodge this problem, VoIP uses the Real-time Transport Protocol (RTP, RFC 3550) and the Realtime Transport Control Protocol (RTCP, RFC 3551) over UDP. RTP identifies the media content it's transporting (e.g., voice sample, compressed video data), and corrects for lost and out-of-sequence packets. All endpoints participating in an RTP session use RTCP to exchange information about losses and delays. An endpoint uses this information to adjust transmission rate.
  • Quality of Service. Rate control and correction for loss and jitter may not always enable VoIP to achieve the voice quality we are accustomed to receiving over the phone network. Since the Internet at large offers a best effort delivery service, organizations and emerging VoIP service providers are employing and experimenting with several Quality of Service mechanisms to assure that bandwidth is available for voice calls, delays are brief and loss is negligible/tolerable. QoS mechanisms include over-provisioning (throwing extra bandwidth at the problem until it goes away); calculated provisioning (traffic engineering); sophisticated routing systems designed to aid voice traffic flows; and more.

The SIP, codec, and the real-time protocols needed to support VoIP applications rest on top of the familiar TCP/IP protocol architecture, as illustrated here:

(Voice) Application

SIP

RTCP

Audio Codec

RTP

TCP

UDP

IP

Network interfaces (Ethernet, WiFi, DSL,...)

IP Telephony or Plain Old Telephone Service?

We've thus far only considered the end user agent of IP telephony. Can IP telephony interact with the non-IP world? Sure. A VoIP application layer gateway (a.k.a., IP private branch exchange, IP PBX, call manager/director) is typically used to connect calls between IP telephony users and the telephone network and its global subscribers. VoIP gateways, which can be operated at small and home offices, business offices, and telephone central offices, are like proxies. They map SIP addresses onto telephone numbers, and convert voice conversations into the media encodings appropriate for the packet-based IP and circuit-switched public telephone networks. In conjunction with voice application servers, they can offer integrated voice and email and the equivalent of calling features we enjoy when we use the PSTN and cellular networks (Caller ID, Call Waiting, 911, Call Blocking, Auto Call-back).

The 30-Second VoIP FAQ

You now have a basic understanding of what's under the hood of VoIP. You probably have a million questions, including how to get started trying IP telephony.

Where can I use VoIP? VoIP is a data application that runs on top of IP, so you can use it anywhere you can access IP service! From home and business Ethernet to WiFi, ISDN to your basic dialup over a phone line. To IP, telephony is just another data application.

What do IP telephony endpoints look like? A PC, laptop, or handheld PDA can support SIP softphones. Install VoIP application software, add a headset and microphone, subscribe to a service like Free World Dialup, and you're ready to use IP telephony. You can also purchase a SIP phone, a telephone with a SIP-based VoIP implementation that connects to your Ethernet, or even a SIP phone that runs over 802.11 WiFi LANs You can get a nicely functional Grandstream SIP phone for under $70.00, or you can spend several hundred dollars on an enterprise class SIP phone from Cisco Systems or Nortel Networks, or just as much for wireless SIP phones from WiSIP or Vocera.

What do I need in order to try VoIP? You can actually try VoIP with two SIP phones connected to a single Ethernet, but I suggest you download the Xten-lite softphone, which comes pre-configured to auto-subscribe to Free World Dialup, a free SIP-enabled VoIP service. Free World Dialup only allows you to place calls to other SIP-enabled VoIP users. I used VoIP in this way to learn how it worked. If you want more, subscribe to a service like Vonage, which provides you with your very own VoIP gateway: simply connect any regular telephone into the gateway, and they'll provide you with voice service to POTS and SIP parties alike.

How does VoIP traverse firewalls? How you configure your firewall depends on where your VoIP gateway (and, if appropriate, outbound proxy) lie. VoIP protocols use UDP, a specific port for SIP (5060), and either a specific port (5004) or random port for RTP. If your VoIP gateway is outside your firewall, you may need to configure a NAT-traversal server (referred to as a Simple Traversal of UDPs through NAT, or STUN, server).

If you're interested in exploring the potential of VoIP for your organization, I suggest you start simple with SIP, break out your trusty LAN analyzer (Ethereal parses IP telephony protocols), and learn from the packet stream. Though it takes work to implement, VoIP might offer you long-distance phone calling that costs nothing above what you already pay for your Internet connection. ##

Resources

How IP Telephony Works

Quick Introduction to VoIP

SIP Overview at Columbia University

Overview of SIP (Cisco Systems)

VoIP Overview (Intel Corporation)

SIP Tutorial (Iptel.org)

Working with Realtime Media Streams

VoIP Security Issues, debated on eWeek:

Security Holes Make VoIP a Risky Business

VoIP Is As Secure as You Make It


Copyright© 2004, WatchGuard Technologies, Inc. All rights reserved. WatchGuard, LiveSecurity, Firebox and ServerLock are trademarks or registered trademarks of WatchGuard Technologies, Inc. in the United States and other countries.



Copyright © 1996 - 2004 WatchGuard Technologies, Inc. All rights reserved.