One of the most exciting things about open source is the way it can be used to create applications that fall outside the traditional IT infrastructure stack. A case in point is the telephony application called Asterisk. Asterisk is a very full-featured application
What else can Asterisk do? It can act as an industrial-strength business PBX. Here's a taste of the complete feature set::
- Call bridging (multi-caller dial-in for conferences)
- Call routing
- Call queuing
- Call forwarding
- Distinctive ring associated with calling party
- Music on hold
What's exciting about Asterisk is it brings the functionality and scalability of commercial PBXs within the budgetary reach of all organizations. You can take an old Pentium III machine and make your organization appear to be the largest company in the world.
Asterisk even makes your organization sound like the largest company in the world, as well. A ready resource for Asterisk users is Allison Smith, the best-known phone voice in the world. You hear her voice if you're using Verizon, Cingular or many other companies.
How to set up Asterisk
How can you starting using Asterisk in your business? It's a three-step process:
First, run one or more telephone lines to your place of business. Terminate them to a telephony card in your PIII machine. The cards themselves need to be purchased, but are relatively inexpensive. Asterisk can handle either POTS (plain old telephone service) lines or digital lines on the incoming side. It's your choice.
Second, configure Asterisk as you desire. You can set it up to distribute the calls based on the number dialed by the caller. (Additional options include setting up call groups; this is the option that tells the call something like, "Press 1 for sales.") Set up voice mail for each Asterisk user as well as the call groups. Define your on-hold music. Frankly, defining your on-hold music can be a difficult part of the process, as there are so many options for Asterisk.
Getting the configuration right can be difficult, too, because Asterisk follows the Unix/Linux tradition of using opaque, finicky text files for configuration. Read on for some good ways to accomplish configuration, which bring Asterisk into the grasp of mere mortals.
Third, set up your internal phone network. Again, Asterisk is very flexible, allowing use of either analog phones or VOIP phones, or even a mix. Analog phones make sense if you have a phone line distribution network on premises. If you lack a phone line infrastructure, you can use your Ethernet infrastructure and hang IP phones off of it, integrating Asterisk into your computing infrastructure. VOIP phones are very affordable these days, making this an attractive alternative.
That's it. Follow these steps, and you can have your very own PBX system up and running for less than a couple of thousand dollars. Asterisk is very scalable, meaning that as your organization grows, you can expand your implementation. Best of all, you can scale up Asterisk without having to do what is often referred to as a forklift upgrade; in other words, throwing away the previous solution and starting from scratch.
Beating configuration challenges
There's just one fly in the ointment: configuration. If you're like me, whenever you hear about using text files to configure a Linux app, you look forward to hours of fun trolling through product forums and exploring the creative usage of Google.
For Asterisk, there is another option called Asterisk@Home (AAH). It provides a much easier way to get Asterisk configured properly. AAH comes as an installable CD. You simply slip it into a machine -- that PIII you have lying around -- and about an hour later you have an installed, configured Asterisk installation.
If you use AAH, you don't even need Linux loaded on the box. AAH first installs CentOS -- a Red Hat Linux clone -- before installing Asterisk itself.
AAH also includes the Asterisk Management Portal (AMP), which pre-installs a default Asterisk configuration, as well as providing a graphical interface to Asterisk configuration files. You can think of AMP as Asterisk's Webmin, and, there is actually a Webmin plugin for Asterisk.
AMP, developed by Asterisk service provider Coalescent Systems, makes Asterisk a much more tractable product.
By the way, the Asterisk@Home moniker is misnomer. AAH ccan also easily be used in an office environment. At your office, you might not need to interface your PBX to a PVR device, but the ability to have an automated install along with a default configuration provided by AMP would be very useful.
That said, AAH does have some features well-suited for home use. It has an interface to xPL, which enables integration with other home devices, for example. Many people do use AAH in their homes, however. Some people use its features to screen calls, enable putting callers on hold, and so forth. Naturally, AAH could be used in home business as well, where the industrial-strength features of Asterisk would be useful.
Gaps in Asterisk
Of course, there are some shortcomings to Asterisk, particularly in the SOHO arena. All of that discussion about deciding whether to use a POTS infrastructure or piggyback on the Internet infrastructure implies that one or both exist. Most home environments -- and many small office ones as well -- don't have a wired infrastructure at all. That's one of the main reasons Wi-Fi has taken off the past couple of years.
For locations without a wired infrastructure, you need to be more creative. Wi-Fi phones do exist, but are unproven, according to Jason Becker, CEO of Coalescent,. Becker suggested plugging a VoIP phone into a Wi-Fi-connected computer, or even just running a softphone on the computer itself. Another option down the road might be HomePlug, which uses the existing power infrastructure as an IP distribution mechanism. Notwithstanding these difficulties, Asterisk delivers great functionality at a phenomenal price point.
Golden's Rules: The Bottom Line
Open source is making its way into lots of different areas. Marrying the easy distribution of open source with the cost-effectiveness of digitization, Asterisk is a powerful product that can be useful for any organization. Asterisk is particularly useful for small organizations, as it delivers extensive functionality at the right price point. It also enables them to look -- or, more accurately, sound -- like a big organization, leveling the playing field.
Bernard Golden is CEO of Navica Inc., a systems integrator based in San Carlos, Calif. He is the author of Succeeding with Open Source (Addison-Wesley) and the creator of the Open Source Maturity Model, a formalized method of locating, assessing and implementing open source software.
This was first published in October 2005