|Summary||Easy-to-install and configure 3rd party distro of the popular open source VoIP PBX.|
|Update||9/13/2005 - Corrected info on relationship between Asterisk and AAH|
|Pros||• Easy install with bundled OS
• All admin via web-based GUI
|Cons||• Minimal troubleshooting help docs|
With the costs for VoIP coming down, the acceptance of personal use of Vonage et al. for home phones rising, and open source projects becoming more capable, Asterisk is at the cutting edge of a new breed of PBX-replacement products for small and medium business.
The idea is to take a Linux PC, add some hardware to connect to a few analog telephones, connect the PC to a broadband Internet connection and run some software. Through the magic of VoIP and open source code, you'll have a low-cost alternative telephone switch with the ability to handle multiple incoming and outgoing calls. With minimal effort and cost, you can sound like the best business phone system with music on hold, call transfer, and individual voice mail boxes for pennies per call.
What Vonage did for the individual callers, Asterisk is now doing for the PBX. And while it will take some work to setup and some familiarity with networking and VoIP operation, I found the system to be a very capable and affordable alternative to a closed - and expensive - PBX solution.
When I logged on the Asterisk IRC channel I couldn't get a very clear answer as to the actual differences between Asterisk and Asterisk@Home (AAH). But a helpful reader since provided some info to help clear my confusion.
Asterisk is an open source software VoIP PBX sponsored primarily by Digium, a company that also manufactures hardware VoIP products. Asterisk@Home is a third-party distribution that contains Asterisk, FOP (Flash Operator Panel), and several other third-party add-ons available for Asterisk.
AAH is available in two flavors - as a package to install on an existing Linux installation, or as a CD Image (iso format) that includes the CentOS 3 Linux distribution. It allows the user to manage all VoIP activity from a web-based control panel viewable from any networked computer.
Asterisk@Home is so titled because it is intended to simplify the Asterisk product for home users. AAH can be controlled from a web interface, while Asterisk does everything via command line and configuration files. But although the user interface is more user-friendly, AAH has the same capabilities as Asterisk. Knowledgeable AAH users can still use the command-line interface to make configuration changes, but care must be taken to avoid having those changes overwritten by the web interface.
Note that both Asterisk and AAH require a dedicated computer. With an adequately-equipped machine, AAH can manage even hundreds of phone lines, and even a 2GHz or so desktop should be able to handle a few dozen. AAH is ideal for small businesses and home users that need a cheap VoIP setup for handling multiple calls.
Your Shopping List
To get your AAH VoIP PBX up and running you'll need four things:
- a dedicated computer
- a broadband connection
- VoIP-capable phones
- a suitable account with a VoIP service provider
The main thing that determines computer and Internet connection requirements is the number of simultaneous calls you'll want to support. This number determines both the computer that will be needed to run AAH and how big an Internet pipe you'll need.
One of the great benefits of AAH is that it doesn't need a very powerful computer for a small number of lines. The Dimensioning an Asterisk system section of VoIP-info.org contains claims of handling 3 lines with a Pentium 133 MHz and 16 MB of RAM, but it's much safer to go with a more current system.
I was able to successfully run five lines at once on a Pentium Pro 200MHz with 154MB of RAM, with my Internet connection being the limiting factor. A 700MHz Athlon with a gig of RAM comfortably handled eight lines at once, and was only limited by my VoIP provider. Check the Dimensioning article for more examples.
As noted above, the ability to support more simultaneous calls is more likely to be limited by your Internet connection bandwidth than the processing power you can get your hands on. Depending on factors such as the audio codecs, phone types, and calling features supported, each VoIP call can use anywhere from 20 to 90kbps in each direction (upstream and downstream).
If your VoIP traffic data is routed through your normal Internet connection, you could end up with unhappy voice and data users, especially with the relatively puny upstream bandwidth doled out by most broadband ISPs. So for an office of ten or twenty people, it might be wise to have a DSL line (preferably symmetric) dedicated solely to VoIP traffic.
Once you have the AAH CPU lined up and broadband connection in place, the next piece will be the phones themselves.
A software phone is the cheapest option - since many of the leading soft phones are free - but you do have to have your computer on for it to work, and you'll also want to invest in a decent headset, which isn't free. A SIP phone will run you anywhere from $60 for a Grandstream BudgetTone 101 to $300+ for a Cisco 7960G, but there are plenty of other selections available between $100 and $150.
If you already have traditional phones that you want to keep, you'll have to buy an ATA (Analog Telephone Adapter) for each phone. ATAs are also referred to as FXS gateways and convert the traditional phone's analog interface to Ethernet-connected VoIP. (See this part of our VoIP NeedToKnow for more info.) You can buy single-port FXS gateways / ATAs like the Sipura SPA-1001 for about $60.
Yet another alternative are multi-port FXS gateways, which are basically a bunch of ATAs bundled together in a box with a single network connection. I include this alternative for completeness, but don't recommend it, since multi-port FXS gateway vendors don't seem to have gotten the memo yet about declining prices for VoIP hardware. Examples are $530 for a four-port from Mediatrix to $2,300 for a 24-port gateway from Audiocodes. Some gateways also allow a connection to a PSTN line (this is called an FXO connection), which provides backup during power or Internet outages.
The last item on the shopping list is to line up a VoIP service provider. Most of the "name" VoIP providers like Vonage, AT&T CallVantage, etc. are happy to sell you "business" VoIP service that they host and therefore control. But this isn't what you need to run your own VoIP PBX.
Two companies that do know how to deal with VoIP DIYers are Voicepulse and Broadvoice. Voicepulse describes its VoicePulse Connect! as a "commercial-grade origination and termination service that supports both SIP and IAX". Connect! is a pre-paid service and charges $11/month for each U.S. incoming phone number. Broadvoice's BYOD plan lets you choose from any of their rate plans (from $9.95 to $29.95 / month), but use your own device - including an Asterisk PBX.
Asterisk@Home comes bundled with CentOS, a Linux-based operating system. In order to install AAH, you just insert the CD and boot the machine, hit Enter once it comes to the menu (Figure 1), and wait. Once it's done the computer will eject the CD and reboot. After reboot it will install everything automatically.
This process will take about 20-90 minutes, depending on the machine. I was able to install it in an hour and a half on our 200MHz machine and about 30 minutes on a 1.6GHz machine.
Figure 1: CD startup screen
(click image to enlarge)
When the install is done, you'll be presented with a login screen (Figure 2) to the command-line interface. After you login you'll see the IP address of the AAH machine, which is also where you access the web GUI. After this point, you should be able to disconnect the monitor, keyboard and mouse from the AAH system and handle all admin via the GUI.
Figure 2: Log into the machine after installation to get the IP address
(click image to enlarge)
The web GUI is also known as the Asterisk Management Portal (AMP), which allows you to read and edit the database, view reports, and change settings (Figure 3).
AMP makes configuring your system fairly easy. The settings are grouped into logical categories with labels for each setting. Putting the mouse cursor over a label brings up a description box with concise information on the setting. This is helpful when you are changing a large number of settings and aren't completely sure what you want to change.
For the initial setup, the AAH manual runs through all the necessary configuration you'll need to get a working line. If you run into problems after reading through the manual, however, things get a bit trickier. The manual doesn't have a troubleshooting section, but there are three main resources for AAH help: the Wiki page at voip-info.org, the forum, and the IRC channel.
The Wiki is a bit lacking when it comes to troubleshooting and the forums can take awhile to respond, so the IRC channel is probably the best bet. There are typically many users in the channel, but it can sometimes be hard to get help with Asterisk@Home as opposed to Asterisk, which most of the channel Ops use.
There are four main sections in AMP - Maintenance, Setup, Reports, and Panel. Since we're not set up yet, Setup is the first tab we'll visit. It mainly takes care of how incoming and outgoing calls will be handled, including settings for trunking, digital reception, voicemail, routing, and even music-on-hold.
The first thing you have to do is set up the trunk settings (Figure 4), which tell AAH how to communicate with the VoIP service provider you've selected. AAH provides two examples in the online manual describing setup for Free World Dialup (FWD) and Voicepulse. These two examples should be close to setup with other companies as well. Some VoIP providers also provide instructions on their own sites for configuring AAH.
There are four different trunk types (ZAP, IAX2, SIP and ENUM) plus a custom type. Your VoIP provider should have information on which to use.
Now that you have AAH talking to your VoIP provider, you'll need to set up your phones by using the Add an Extension screen (Figure 5). Each extension must be assigned a name, number and password and can optionally be given a voicemail directory.
More Configuration & Features
Once the extension is created in AMP, each phone itself must still be set up. The AAH manual has instructions for doing this with a few soft and "hard" phones. Basically, the IP address of the AAH server has to be entered into the phone as well as the extension number and password. Once that's done the phone should work. Testing should then be done by making and receiving calls, both to internal extensions and phones beyond the AAH PBX.
The Maintenance tab allows you to inspect many of the system settings and lets you change config files, edit the database, and view log files. But it's also the least user-friendly of the tabs since there aren't any in-page instructions. Clicking on the Maintenance tab first brings up the System Status (Figure 6). You can also check other system information and make configuration changes manually.
Other handy features of the Maintenance tab are the Reboot and Shutdown buttons under the System Status. This allows you to have more control over your machine when you can't get to it.
The Reports tab (Figure 7) is very simple and has just four categories: call logs; compare logs; monthly traffic; and daily load. Some of these reports are a bit lacking and don't let you check a wide range of data.
Figure 7: Reports screen
(click image to enlarge)
The Compare Calls function only lets you see the number of calls between up to four consecutive days, monthly traffic only allows consecutive months, and daily load only allows selection of one day at a time. One handy feature of the call logs report, though, is that it allows you to export the logs to a PDF or CSV file.
The Panel tab (Figure 8) is an operator panel constructed in Flash. It contains the different extensions, queues, and trunks and allows you to see who is using the system. You can also transfer calls, hang up lines, and set up conference calls via the panel.
Asterisk@Home is a useful system for a wide range of purposes. The costs are minimal - thanks to it being open source - it is able to work on older computers, and setup is fairly easy. The main negative is that some of the documentation in the manual and in the Wiki for advanced features is a bit lacking, so you may have to struggle a bit if you need to use them.
AAH provides a variety of useful features that enhance its business use. You can make a queue for putting calls on hold and also forward calls - just like a standard PBX system. System users also have web access to voicemail, which includes the ability to change preferences, manage and listen to messages. AAH can even e-mail voicemail messages to you if you like, and if you aren't at a computer, you can also access the voicemail system from a phone. There is also a "digital receptionist" that lets you direct callers using prerecorded messages.
AAH's simplistic setup makes it ideal for small or medium-sized businesses that just need something that works - with few questions asked. If you need a more sophisticated system, the standard version of Asterisk will be a better fit and can be optimized by a professional. Asterisk@Home shows that you no longer need a costly, complicated, vendor-managed product to have a full-featured and flexible PBX for home or small business use.