Voice-over-IP (VoIP) networking comprises many components and network managers might find themselves treading on new and fragile ground as they investigate VoIP projects. This white paper provides an inexpensive path that you can use to learn more about a particular VOIP technology, Session Initiation Protocol (SIP), get experience with the products and the market, and become more confident before building an enterprise-wide deployment. The products and services mentioned in this white paper are representative based on our team's recommendations; others are available.
Start by using someone else's SIP server
You'll need a phone. To start, get a free or demo version of a software-based phone for your desktop (Windows or Mac are common, but Linux soft phones exist as well). X-Lite from Xten is a free, multi-platform soft phone with many features. When using a soft phone you may also want to invest in an inexpensive headset if you don't have one already.
The two biggest components of a SIP network are the phones and the SIP proxy servers. Start by getting a phone of your own and using someone else's SIP proxy server. You can learn more about what kinds of phones are used in SIP and what a SIP proxy server is by reading our white paper "What is SIP?" A number of free SIP-based telephony projects are alive and well on the Internet that will provide the SIP proxy server for you to test with. You can start by getting a phone and hooking it up to someone else's SIP network. That will help you to learn SIP terms and concepts, and give you an easy way to learn debugging.
Begin by signing up for a Free World Dialup (FWD) account. FWD is, as the name suggests, free, and provides an Internet-wide SIP network with some limited Public Switched Telephone Network (PSTN) gateway capabilities. You can hook multiple phones of your own up to FWD (and talk to each other using FWD) as well as other people who are connected to FWD. Because FWD requires SIP technology, you'll mostly find other small businesses and technologists connected. Nevertheless, you'll still want to be aware of the security issues involved---a good way to start is by leaving your test phone outside of your company firewall. Make sure you read and follow the "Get FWD" Quick Start Guide.
Test your connection to FWD by calling 613 (FWD loopback number) to hear yourself talk. This is actually a very complete and worthwhile test that measures connectability. Next, dial 411 to try something more interesting---a SIP call that terminates on the PSTN. You can compare the quality by dialing direct to 800-555-TELL (which is the same number that FWD connects you to when you dial 411 on FWD via SIP).
Next, get an inexpensive "hard phone," such as the Grandstream Budgetone (about $65) and follow the FWD setup instructions. You can get a second FWD account if you want, or just changeover your soft phone account to the hard phone.
Begin learning how to debug SIP. You will need an Ethernet switch configured with a monitoring port, or an older hub/repeater that will copy all packets to your analyzer port. Download a freeware protocol analyzer -- Ethereal has nice VoIP decodes, or you might already have a product like EtherPeek available, you can use that too. Because SIP is easy to debug even without advanced protocol decodes, you don't need to start with a VoIP-specific product (but may want one as you become more advanced and work on more difficult problems). Use your analyzer to watch VoIP streams. Look at the call setup, audio streams, and call teardown.
VoIP is particularly sensitive to firewall processing and Network Address Translation (NAT) because few existing network security devices properly support VoIP protocols. Once you have your analyzer in place, you can begin to see underneath the covers of SIP and see where you need to pay attention to security and NAT. Try using the different approaches to combining NAT, firewalls, and SIP suggested here, including NAT with an external proxy and NAT with Simple Traversal of UDP Through NATs (STUN). If you plan to deploy any part of your VoIP network across the Internet, these are important issues to think about early on.
Set up your own SIP proxy server
Next, set up your own SIP server. Freeware tools include Asterisk and SER on Linux or OnDO on Windows. Attach a few hard phones (another good low-cost hard phone is available from IPDialog) and soft phones (another good soft phone is SJPhone) and start making some calls.
Once you've got some phones working, add endpoint registration (for slightly better security) and observe the differences in setup. Now, push a bit harder on enterprise features: call transfer, call hold, and (of course) select some MP3s for your "music on hold" feature, if you need it. Set up your auto-attendant system (voice menus, also called Interactive Voice Response (IVR)) and test it. Start thinking about how auto-attendant, user phones, and voice mail should work together within your company.
If you've selected Asterisk for your test phone system, you can register with IAXtel at http://iaxtel.com/setup.html to easily call other Asterisk systems. The IAX protocol is proprietary to Asterisk, but works better over NAT. This will also help to connect you to the growing number of VoIP users on the Internet.
Integrate with the PSTN, Connect Legacy Phones, and Write a Dial Plan
IP telephony has to connect to the "real world" sooner or later, so now is the time to plan for that connection. You will want to make some FXS connections (connections to existing telephones) and FXO connections (connections to the telephone company via analog line) at this juncture. This step will require some additional hardware.
For the FXO side, you can use Digium's X100P as a low-cost FXO gateway. This allows you to grab an extra voice phone line (how about one of those modems you've been meaning to de-install?) and use it for incoming calls. Start by having incoming calls all connect to (ring) a default extension, one of your soft or hard phones, and when that's working, move the incoming calls to your auto-attendant.
If your test SIP proxy offers voice mail (Asterisk does), give that a try as well. If you have voice mail, now is the time to link voice mail to extensions and have them ring over to voice mail after 3 or 4 rings.
For the FXS side, you'll want one of the many small standalone gateways available. The Sipura SPA-2000 is a popular choice, as is the Cisco ATA-186. When connecting analog phones, you'll suddenly discover there's no "dial" or "send" button on them. That brings up one of the complications of VoIP telephony: dialing plans. You need one.
The dialing plan is your architecture for how the VoIP network will work: how many digits people will dial to go between phones; how they will connect to the PSTN or any other legacy phone system you might have; and, how they will make long distance or international calls. After you write your dialing plan, install it on any VoIP phones that support it. (Not every phone supports every possible dialing plan, so consider this as a potential decision point when selecting your final phone.)
Get ready for business
SIP telephony has a majority of the features most business needs. Before you can go into wide deployment of VoIP, you'll need to extract Call Detail Records (CDR) from your SIP proxy and export them to a file for post-processing VoIP bills per extension or per site. If your company is large, you'll have multiple SIP proxies, so add SIP trunks (and/or IAXtel trunks, if you're using Asterisk) to other sites in your company with similar systems. You'll also want to replace your analog (FXO) gateway to the PSTN with a digital trunk gateway (ISDN or T1) from vendors such as Cisco or AudioCodes.
Now you should be ready to evaluate commercial products to support your needs. Key areas to touch on include availability (ask for customer references), extensibility into the future, interoperability, scalability, and compatibility with your network. Pricing is also, of course, important. You will want to start tooling up for full VoIP deployment by getting a full-blown protocol and call analyzer, test tools such as call generators and IVR verifications devices, and monitoring software.
Next: Migrating to SIP