Dr. Dobb's is part of the Informa Tech Division of Informa PLC

This site is operated by a business or businesses owned by Informa PLC and all copyright resides with them. Informa PLC's registered office is 5 Howick Place, London SW1P 1WG. Registered in England and Wales. Number 8860726.


Channels ▼
RSS

Visions of VOIP


My first experience with Internet teleconferencing occurred in 1996. The White House had asked me (John Ravella) to set up a four-node conference link between President Clinton in Concord, California, Education Secretary Richard Riley in San Diego, Commerce Secretary Ron Brown in Sacramento and Federal Communications Commission Chairman Reed Hunt in Los Angeles. All four locations were holding simultaneous press events to recognize volunteers working to wire every school in America. The centerpiece was to be a live conference illustrating the power of the Internet.

My team—which included some of the best network engineers from Sun Microsystems—worked three 24-hour days setting up all the demos. Shortly after midnight, eight hours before the president was to walk into the room, our Internet access mysteriously disappeared. After a call to Sprint's CEO at 2 a.m., the blockage was cleared—an hour before showtime. In the end, we could get only enough Internet performance on the Sacramento link. Five minutes before the president was to go live, we had to make the painful decision to drop Secretary Riley and Chairman Hunt (along with Sprint's CEO) from the event.

Baby Steps

Last week, a friend phoned to ask me to turn on my computer so he could call me over the Internet in order to save three cents a minute on the call (about 30 cents total). The irony of that request, plus communicating through my laptop's itty-bitty microphone and speakers, provided enough material for a Seinfeld episode.

While the industry has evolved in the past nine years, the idea of voice over Internet protocol remains better than what's available today. VoIP has yet to match the quality of service of the Bell system or the capability of the cell phone—yet the IDC still expects VoIP subscribers to increase ninefold to 27 million by 2009.

So what's driving this mad dash backward? Why would a consumer suffer through VoIP's shortcomings? The reasons include digital convergence, significant cost savings and fun science projects for technophiles.

"Two trends will significantly shape our future: Voice over IP, as the force of transformation of the telecom industry, and open source software," predicted Martin Steinmann, a partner at the investment firm Vestbridge, in a keynote at the August 2004 VoIP Developer's Conference in San Jose, California. Steinmann has focused on companies building products based on the open source Session Initiation Protocol (SIP). But he also sees opportunities in adding a "soft phone" to client applications, in full PBX systems from companies such as Avaya and Nortel, and in re-creating carrier-grade services.

The Promise of Convergence

At the heart of the delirium over VoIP is the three-legged stool of converging voice, data and multimedia into a big pile of bits and bytes. When content is all ones and zeroes, anybody can become a phone company, radio station or music publisher. We already see integrators offering small businesses a file server packaged with VoIP software and USB handsets as the office PBX. The desktop workstation becomes the phone.

In this digital convergence, VoIP represents the future of telephony—but this is easily misunderstood. VoIP isn't about building a better phone, it's about enabling grid-based telephony and full multimedia.

In the Beginning ...



No Straight Shot
Establishing communication through the H.323 protocol can take six or more round-trips.

The idea of sending multimedia over the Internet emerged in 1993 with Mosaic, the first Web browser. Dial-up bandwidth worked for text and small, static images, but didn't support audio or video well. This constraint led to a number of research projects, including the Multicast Backbone (MBone) and CU-SeeMe. MBone provided virtual multicast over the Internet or one-to-many node packet transmission before most routers supported it. CU-SeeMe, developed at Cornell University, not only provided one-to-one videoconferencing, it supported larger virtual encounters with a "reflector" service that directed incoming packets to multiple destinations.

VoIP began in the early 1990s, with experiments conducted by the late Elad Sion and other students at Tel Aviv University. This group founded a small software company that was acquired by the Israeli firm VocalTec Communications, which released the first commercial Internet phone software in 1995. Similar efforts included IBM's Bamba Phone and the Free Phone from INRIA, the French national computer science institute. Both of these programs are still popular and freely available.

During the next few years, VoIP progressed rapidly. A number of companies developed gateways supporting PC-to-phone and phone-to-phone communications. By 1998, switching equipment supporting VoIP appeared, and soon after, firms such as Ascend, Cisco, Lucent and VocalTec were working on VoIP standards. By 2000, most router and switch manufacturers offered VoIP support. Some products implemented a more efficient bridge between the Internet and Public Switched Telephone Networks (PSTNs).

Why Circuits Still Matter

The telephone system originally worked like cans connected by strings. Each piece of string was a circuit established by an operator at a manual plug board or a mechanical switchboard. To this day, in older urban areas, local calls move along this physical circuit as the voice signals travel from one phone to another along a set of wires. As the speed of data transmission technology increased and long-distance trunks became digital, the phone company began to multiplex calls onto digital trunk lines using standards such as Asynchronous Transfer Mode (ATM), which supports virtual circuits between two points.

At one end, the call is broken down into an ordered stream of 53-byte cells. These are transmitted to a destination hub, where the call is reassembled and reinserted in the traditional analog voice network as if it were a local call (which is why, with the deployment of ATM, long-distance calls started to sound as clear as local calls). A plethora of advancements enable ATM, including encoder/decoder algorithms, pause detection, multiplexers, routers and the like. As most of these developments were later incorporated into Internet telephony (instead of cells, think packets), it can be safely said that the foundation for VoIP was laid by Ma Bell and the plain old telephone system.

While VoIP and Internet aficionados often deride the notion of the circuit, it's an essential feature of telephone architecture—after all, if you and I don't have a reliable circuit between us, we can't have a conversation. So essentially, since ATM, the system has depended on virtual circuits using packet-switched architectures based on various network protocols.

Of course, the first problem is determining the location of the person with whom you want to establish the virtual circuit. The phone company has spent time and money developing wrist-breaking paper directories of everyone who has a phone. Today, we have the electronic equivalent of these in Lightweight Directory Access Protocol (LDAP) and other electronic address books. When a user registers in one of these address books, he has established a presence.

Once we've decided whom to call, we have to figure out how to get the bits there. Since we're all engineers here, let's divide into three categories—telephony, network and peer-to-peer—to examine the evolution of VoIP.

The Telephony Engineers: Bellheads. The first engineers to attack the problem of getting bits to the right place were the telephony engineers at the International Telecommunications Union (ITU), who began developing standards for transmitting voice, data and video over telephone networks in the 1990s. The last of these standards, H.323, was ratified in May 1996. The ITU had left H.323 for last because the standard was designed for IP-based LAN technology (essentially, Ethernet). With its relatively large packets (a minimum of 64 bytes), high-packet transmission overhead and a retransmission protocol that defied quality-of-service guarantees, Ethernet was considered the least attractive medium for real-time voice or video transmission.

The Internet Engineers: Netheads. Network engineers were the second group to attempt a solution to the bits dilemma. Not long after H.323 was ratified, the Internet Engineering Task Force set out to develop a protocol to manage the setup and handling of phone calls. Over the next four years, SIP developed into a standard that trumped H.323 with its elegance.

For example, the original H.323 specification required six to seven packet round-trips (see "No Straight Shot," page 44) to set up a call, while SIP requires only one and a half. SIP uses a familiar HTTP-like Unicode text encoding; H.323 employs binary ASN.1. SIP primarily uses the User Datagram Protocol (UDP), which is faster and more efficient than the Transmission Control Protocol (TCP) favored by H.323. And because H.323 was originally designed for LANs, no consideration was given to WAN addressing, while SIP uses standard Internet URLs for addressing. Finally, SIP has been adopted by the Third Generation Partnership Project, which is establishing the standards for 3G mobile networks.

Both H.323 and SIP follow the telephony tradition of separating the signaling from the media. That is, the H.323 and SIP packets may follow a completely different route from that of the content, and, in some cases, they must contact nodes that are off the beaten path in the process of establishing a call (see "No Lingua Franca"). They use standard protocols from the Internet Engineering Task Force for the rest of the work involved in making a call:

  • The Real-Time Transport Protocol (RTP) for real-time multimedia communications
  • The Resource Reservation Setup Protocol (RSVP) for hosts to request quality of service from the network for particular data streams
  • Telephony Routing over IP (TRIP) for advertising the reachability of telephony destinations between location servers
  • Common Open Policy Service (COPS) protocol for supporting policy control over quality of service and other policy servers.

In addition, the H.323 and SIP protocols support the Diameter protocol, which provides an authentication, authorization and accounting framework for network access or IP mobility applications, and the Media Gateway Control Protocol, which deals with traffic logic and the conversion of circuit- to packet-switched voice.

In corporate environments, SIP- and H.323-based VoIP systems have done well. For a business, the conversion from PBX-based telephony to VoIP means one less network to manage—and pay for. Most offices are wired with Category 5 cables for both telephony and networking, but the conversion to VoIP means that all building wiring terminates in network hubs, switches and routers. And since highly available intranets are already vital to modern businesses, VoIP systems that use these networks perform comparably to PBXs. Finally, both SIP and H.323 can be programmed to respond differently to different situations, using SIP-CGI, Java servlets or Call Processing Language. But we're not done yet.

The Disruptive Engineers: Peerheads. Even with the simplicity of SIP, the many protocols and the delicate nature of the average VoIP setup can be hair-raising, especially for residential use. Thus, it's no surprise that a third set of engineers (equipped with almost 10 years of VoIP hindsight) felt that VoIP's promise lay not in telephony or networking, but in a social revolution. Skype was created by Niklas Zennström and Janus Friis, who saw that the same technology they'd used in the Kazaa music-sharing software could support VoIP.

Skype is a P2P system in which all peers participate dynamically in traffic routing, processing and bandwidth-intensive tasks that would otherwise be handled by central servers. Originally limited to computer-to-computer connections, Skype has connected to the PSTN with its SkypeIn and SkypeOut services and is adding more paid features. Skype went its own way with proprietary protocols, directory services and the like, claiming superiority over conventional VoIP in the following areas:

  • Firewall and Network Address Translation traversal without end-user reconfiguration
  • Multitiered networking in which supernodes ensure that every node in the network has full and fast knowledge of all available users and resources
  • Intelligent routing to reduce latency and increase call quality.

A Tale of Two Systems


No Lingua Franca
It takes multiple protocols to establish and maintain a VoIP connection.

The typical consumer expects telephones to be easy to install, easy to use, scalable, and, above all, reliable in an emergency. Anything that replaces the existing PSTN must meet these standards—and extend them to new services yet to be offered. Today, consumer VoIP requires the installation of a home network, which can include Cat-5 network cabling, cable or DSL modem, router, hub, wireless equipment and firewalls, but telcos and cable companies are unwilling to take on this responsibility because of the high service costs.

Other looming VoIP issues include coexisting with other devices on the Net and achieving the performance needed to simultaneously run multiple media applications. Imagine having a phone call come in when you're running a new VoIP application, listening to Internet radio and searching with Google. Windows is particularly vulnerable to failure under such a load.

And then there are consumer safety issues, such as integrating with the E911 system. While a May 2005 FCC fiat requires Internet phone companies to promptly provide E911 emergency calling capabilities, it's widely expected that such a move will take months, if not years. The FCC has ordered incumbent carriers to provide VoIP companies with access to their 911 networks, including their trunk lines, routers and databases, but does not specify how this will take place.

Despite VoIP's thorny complexities, increasing use of DSL and cable broadband in the home is bringing it into the mainstream consumer market. Many consumer services, such as Skype, offer free worldwide calling, though limited to users of the same software, and fast-growing companies such as Vonage and Lingo provide universal calling plans at a fraction of the cost of traditional phone service. With this sustained momentum and the continued technical massage of its quirks and demands, VoIP may well dominate the future of telecommunications for both businesses and consumers.



Got Telephony?
A handful of VoIP developer tools and other resources to get you started

Asterisk: An open source PBX project that supports both U.S. and European standards, Asterisk runs on Linux and provides all of the features you'd expect from a PBX for voicemail service, with directory, call conferencing, interactive voice response and call queuing. It's sponsored by Digium, a Huntsville, Ala. maker of PCI telephony interface cards.

Brekeke: Founded in 2002, San Mateo, Calif.-based Brekeke Software specializes in SIP VoIP telephony products for small to midsized companies just starting out with VoIP. Its Java Telephony API helps you make, receive and transfer calls; record and play sound; and recognizes dual-tone multifrequency signaling.

Envox: The Envox 6 Communications Development Platform is a popular enterprise tool from this global firm with offices in Boston, London, Sausalito, Stockholm and Zagreb. The platform can be used to create IP-based interactive voice response and other forms of speech-enabled e-commerce, call center and customer relationship management applications, Web page click-to-dial, instant messaging with buddy lists and IP Centrex services.

GnomeMeeting.org: GnomeMeeting, according to the FAQ on its website, enables you to "make audio and video calls to remote users with H.323 hardware or software (such as Microsoft NetMeeting). It supports all modern videoconferencing features, such as registering to an ILS directory ... making multi-user conference calls using an external MCU, using modern Quicknet telephony cards, and making PC-to-phone calls." SIP compatibility is under development. A plan to reverse-engineer the Skype protocol was revealed to be an April Fools' joke. Damien Sandras initiated the GnomeMeeting project in 2000 as his master's thesis at the Université Catholique de Louvain in Belgium.

Pronexus: This company, founded in 1993 and based in Ottawa, Canada, offers rapid application development tools for voice response, telephony and speech inside Visual Studio .NET. VBVoice combines a visual call flow environment with programmable controls, while VBSALT complements the popular Microsoft Speech Server with voice response features. Developers can write code in any language supported by Visual Studio .NET.

VoIP Resources

Events: An eclectic group of VoIP events around the world—most outside the U.S.
www.voipevents.com

Session Initiation Protocol: An open source software community dedicated to the development and adoption of SIP-based products and services.
www.sipfoundry.org

Reference: An inside scoop on all things VoIP. Boasts a good list of libraries, development kits and product reviews.
www.voip-info.org/wiki-VOIP+Phones




John Ravella is a Silicon Valley market research analyst who covers emerging technology trends. He recently coauthored a report on utility computing for the FactPoint Group. Reach him at [email protected]. Joe Falcone is an engineering executive for Katalytik Inc. and Virtual Motors LLC, and lives in Half Moon Bay, Calif. Reach him at [email protected]. Gareth Meyrick is a consultant for Kirkstone Pass Software Inc. His primary interests are distributed computing and computational grid systems—and cycling. Reach him at [email protected].


Related Reading


More Insights






Currently we allow the following HTML tags in comments:

Single tags

These tags can be used alone and don't need an ending tag.

<br> Defines a single line break

<hr> Defines a horizontal line

Matching tags

These require an ending tag - e.g. <i>italic text</i>

<a> Defines an anchor

<b> Defines bold text

<big> Defines big text

<blockquote> Defines a long quotation

<caption> Defines a table caption

<cite> Defines a citation

<code> Defines computer code text

<em> Defines emphasized text

<fieldset> Defines a border around elements in a form

<h1> This is heading 1

<h2> This is heading 2

<h3> This is heading 3

<h4> This is heading 4

<h5> This is heading 5

<h6> This is heading 6

<i> Defines italic text

<p> Defines a paragraph

<pre> Defines preformatted text

<q> Defines a short quotation

<samp> Defines sample computer code text

<small> Defines small text

<span> Defines a section in a document

<s> Defines strikethrough text

<strike> Defines strikethrough text

<strong> Defines strong text

<sub> Defines subscripted text

<sup> Defines superscripted text

<u> Defines underlined text

Dr. Dobb's encourages readers to engage in spirited, healthy debate, including taking us to task. However, Dr. Dobb's moderates all comments posted to our site, and reserves the right to modify or remove any content that it determines to be derogatory, offensive, inflammatory, vulgar, irrelevant/off-topic, racist or obvious marketing or spam. Dr. Dobb's further reserves the right to disable the profile of any commenter participating in said activities.

 
Disqus Tips To upload an avatar photo, first complete your Disqus profile. | View the list of supported HTML tags you can use to style comments. | Please read our commenting policy.