July 29, 2005

A PBX for everyone with Asterisk@Home

Author: Paul Virijevich

Asterisk, the open source private branch exchange (PBX) from Digium, has the power to change the telecommunications industry in much the same way that Linux is changing the operating systems market, but it needed work to simplify installation and configuration. The recent release of Asterisk@Home, a Linux distribution dedicated to making Asterisk easy to install and configure, is a big help.

Asterisk is the brainchild of Mark Spencer, who was the original developer of GAIM, the popular multi-network open source instant messenger. After GAIM, Spencer started work on Asterisk. Its features rival those of expensive proprietary PBXes, which can cost from tens of thousands to hundreds of thousands of dollars. Asterisk does VoIP, interfaces with traditional telecom hardware, and is available at no cost.

Until recently, there was a steep learning curve for deploying Asterisk. Hiring a consultant for installation and configuration would eat into the cost savings Asterisk offers. Asterisk@Home makes it possible for the technologically savvy to set up Asterisk on their own.

Asterisk@Home is the work of Andrew Gillis. Andrew works in the VOIP industry and saw the trouble newcomers were having on the Asterisk mailing lists. He first released Asterisk@Home last November 2004. The project has seen more than 100,000 downloads since then.

Asterisk@Home uses a customized version of CentOS 3 a binary-compatible clone of Red Hat Enterprise Linux 3, as its base, and it integrates a number of add-on packages from third parties:

  • Asterisk Management Portal (AMP) provides browser-based configuration for most of Asterisk's functions.
  • Flash Operator Panel offers a real-time browser interface to monitor Asterisk activity.
  • Cisco XML Services allows the Service button on Cisco IP phones to be used with
    contacts stored on an Asterisk server.
  • Music on Hold uses mpg123 to play MP3 files for callers on hold.
  • SpanDSP enables Asterisk to receive faxes.

In addition to these packages, Asterisk@Home integrates with SugarCRM for click-to-dial contact management.

How well does it all play together? Installation is as easy as it gets. Just put in the CD and come back half an hour later. The CentOS install is completely automated, with no need for you to be present. Once the CD tray pops open you can reboot the system, and the Asterisk components, which were copied to the hard drive, are installed. Thirty or so minutes later, your PBX is ready to go.

Before you go any further, you should change some of the default passwords. The Asterisk@Home help command help-aah lists a number of helpful administration commands, including the ones to change the default passwords.

Now point your browser to the IP address of your Asterisk@Home PBX to bring up the Web-based configuration menu, with the following options: Web access to Voicemail (provides a browser interface to voicemail messages), CRM (access to SugarCRM), Flash Operator Panel, Web MeetMe Control (for setting up conference calls), and Asterisk Management Portal.

Asterisk Management Portal handles most of the time-consuming configuration tasks through its Web interface. The AMP menu provides the following options:

  • Incoming Calls -- Specify where to send calls coming from the PSTN
  • Extensions -- Add extensions and set voicemail properties
  • Ring Groups -- Group extensions that should ring simultaneously
  • Queues -- Place calls into queues and allow them to be answered in order
  • Digital Receptionist -- Create voice menus to greet callers
  • Trunks -- Set up trunks to connect to the outside world
  • Outbound Routing -- Manage which trunks outbound calls go out
  • DID Routes -- Specify the destination for calls if their trunk supports direct inward dial
  • On Hold Music -- Upload MP3 files to be played while users are on hold
  • System Recordings -- Record or upload messages for specific extensions
  • Backup and Restore -- Create, back up, and restore profiles of your system
  • General Settings -- Set basic dialing, company directory, and fax settings

If you aren't familiar with PBXes, the new terminology and range of functions can seem daunting, but it's not as complex as it seems. You can set up a small VoIP network using AMP and Xten's X-Lite VoIP softphone in a matter of minutes. X-Lite runs on Linux, Windows, and Mac OS X, turning clients PCs into telephony devices, and it works with Asterisk as a SIP (Session Initiation Protocol) device. You could just as easily use IP phones or an analog telephone adapter as X-Lite; as long as a device is SIP-compliant, it will work with Asterisk.

First, create an extension with AMP. Click on the AMP link and log in as user wwwadmin with the password password, or the one you set earlier. To add an extension, click on Setup from the top menu and then Extensions. Since we will be working with a SIP softphone, leave the default protocol. Enter an extension number, a password for the extension, user name, voicemail password, and email address, then click the Add Extension button.

Now set up X-Lite to use this extension. Open X-Lite and go to System Settings > SIP Proxy from the main menu. Enter the IP address of your Asterisk@Home PBX. Set the user name and authorization user to match the extension you created in AMP. Set the password to match the one for your extension. Finally, you need to set the Domain/Realm and SIP proxy settings to the IP address of your PBX. Once you've done this, X-Lite should log into your Asterisk@Home PBX.

Asterisk@Home is a powerful application. To see how powerful, add a few more extensions, and use AMP to view detailed call reports, create voicemail messages, add an interactive voice menu, and back up your configuration. You can also check your voicemail with a browser from the main Asterisk@Home screen and manage contacts with SugarCRM.

Paul Virijevich is working to eliminate the "Linux consultants cost more" TCO myth. He recently started a consultancy, providing cost-effective open source solutions to small businesses.

Click Here!