What do telecommuters, business owners and teenagers all have in common? All usually have special needs when it comes to communicating by telephone. If you find yourself managing multiple incoming telephone lines, struggling with answering machines or voicemail services, and daisy-chaining your internal telephones in a pre-World War II style party-line effect, maybe you should consider the Asterisk Open-Source PBX.
What is Asterisk?
Asterisk is an open source Public Branch Exchange (PBX) Written by Mark Spencer. Asterisk provides termination of everything from Plain Old Telephone Service (POTS), T1/E1 service, and various types of Voice over IP (VoIP) protocols including SIP and IAX2. Asterisk inspired the founding of Digium, the original creator and primary developer of Asterisk. Digium sells enterprise and business hardened versions of Asterisk along with digital and analog line cards for terminating incoming voice service (FXO) as well as internal voice stations (FXS)
I have been using Asterisk to manage my voice services for several years now, believe it is a very Disruptive Technology and highly recommend it to everyone. When I started using Asterisk, there were occasional hiccups, and for a while I struggled with line echo issues on the POTS line. Since that time, Asterisk has undergone constant development, and Asterisk 1.2 has introduced a great deal of stability and capability fixing the echo and instability problems I had early on. And at the time of this writing, the release of Asterisk 1.4 is eminent and should provide additional capabilities and improvements in the Asterisk core.
How I use Asterisk
I run Asterisk on its own dedicated Mini-ITX system, a network appliance of sorts. I have a Digium TDM400P (2FXS, 1FXO) analog card terminating my home voice services and VoIP for my business phone service provided by Broadvoice. Additionally, I have phone numbers on the Free World Dialup and SipPhone. All of these services are easily handled by Asterisk. Internally, I have phone extensions connected to the FXS modules on the TDM400P, and I have one station connected via VoIP using a Sipura phone adapter which basically converts a standard phone into an IP / VoIP phone talking the SIP protocol. Sipura adapters are an inexpensive way to convert your existing analog phones into VoIP phones. I use CounterPath’s X-Lite softphone on my PC and Mac to originate and receive calls on my phone system in-house or on the road. Voicemail is forwarded to my email where the callers name and phone number are identified in the subject line and includes a .wav file of the caller’s message.
Advanced Features
Asterisk uses the Inter-Asterisk Exchange (IAX) protocol which enables a company extend the reach of their dialplan to include remote offices and telecommuters. While I was working my last gig in aerospace, I configured an Asterisk server in the office to connect to my server at home and used it to seamlessly route calls to/from my home on occasions when I found myself working from home. With this setup I was able to access my home dialplan from work, and my work dialplan from home. It was a simple setup and the communications were secure via an encrypted IP tunnel.
Asterisk supports calling external scripts from the dialplan via the Asterisk Gateway Interface (AGI). The AGI interface makes it possible to execute external events based on call logic defined in the dialplan configuration. I have written a simple Perl script that uses the Asterisk AGI interface to talk to my SlimServer and display caller-ID information for all incoming calls on all the Squeezebox music players in my house. I can always tell who is calling without having to run and search for the telephone.
Finally, Asterisk supports call queues and conference bridging. I have successfully used the latter to support a conference between four parties (I am limited by the number of incoming lines available). Inbound telephone numbers are available from many sources for very low rates. This is a good low-cost way to increase the number of incoming lines to your PBX for conferencing purposes.
Asterisk Distributions
Currently there are two main “prepackaged” Asterisk distributions. Asterisk@Home has been around for a while, and just recently changed its name to Trixbox. It features the FreePBX web-based administration application , an operators panel, extensive reporting functions and comes with a dialplan that already supports features such as transferring, music on hold, automatic least-cost routing of outbound calls, digital receptionists, managing call queues and conference bridging.
The second Asterisk distribution, AsteriskNOW was recently announced and claims to be an “…open source Software Appliance; a customized Linux distribution that includes Asterisk®, the Asterisk GUI, and all other software needed for an Asterisk® system.” Digium seems to be directly affiliated with the AsteriskNOW project. I have not yet used or evaluated AsteriskNOW but I will be installing it soon and will write a review on it when I do. So far from the screen captures, the GUI looks very nice and seems to provide a generous feature set.