Nearly three years since Jon “maddog” Hall predicted that “VoIP using an open source solution, such as Asterisk, will generate more business than the entire Linux marketplace today,” open source VoIP for the enterprise remains a wild frontier. SMB uptake has been considerable, as open source VoIP’s promise of control and cost savings make it a natural fit. But when it comes to large-scale implementations, open source voice has yet to get most enterprises to listen.
Adventures in Asterisk deployment for more insight into that open source solution.)
When it comes to open-sourcing dial tone, the feeling among most enterprises is that there’s just too much at stake. After all, network troubles translate to help desk calls and lost revenue, but if the phones go down, it could mean life or death. And when it comes to melding the lockstep world of traditional five-nines PBXes into the land of Patch Tuesday and the frequent reboot, calling on a commercial vendor can feel a lot more comforting than signing off on that level of responsibility yourself.
That said, the notion of an all-out VoIP implementation — ripping and replacing to the core — is fast fading away. Yes, dial tone has crossed the network boundary, but not pervasively. Moreover, many traditional PBX vendors are backing into the VoIP market, allowing telephony admins the comfort of tried-and-true PBXes with some of the benefits of VoIP. Introducing VoIP modules that permit VoIP trunks between locations is becoming common, yielding long-distance cost reductions without disrupting the status quo for local voice.
Largely, VoIP is becoming a PBX replacement on an as-needed basis. And such targeted installations could prove a sweet spot for open source VoIP. As the technology gathers steam, convincing enterprises of its efficacy in increments, it will most certainly join the pack of large-scale go-to VoIP candidates down the line. After all, the considerable cost savings and flexibility of open source VoIP are just too great to ignore.
Asterisk: open source’s top choice
Digium’s Asterisk is far and away the most mature and popular open source IP PBX currently available. Other open source projects are under development — many, such as OpenPBX, forking the Asterisk code base; others, such as FreeSwitch, being built from the ground up. But despite increasing competition among open source IP PBXes, Asterisk remains the most compelling enterprise VoIP play.
Asterisk: open source’s top choice
So much so that Sam Houston State University last year migrated 6,000-plus extensions from Cisco CallManager to Asterisk, eliminating phone licensing costs and increasing customization control and security in the process. And Summer Bay Resorts, a time-share vacation property company, logs more than a million voice minutes per month on its 13-server Asterisk system (see “Case study: Asterisk proves its worth”). But despite such proof that large-scale implementations of Asterisk are viable, Digium remains focused predominantly on the midmarket.
“Anything larger is a great opportunity for us, but that’s not our core customer base,” says Mark Spencer, founder of the Asterisk IP PBX project and chairman and CTO of Digium, which received $13.8 million in venture capital last year and recently appointed former Adtran COO Danny J. Windham as its CEO. “Asterisk can scale to those levels, but we’re looking more toward the middle of the market.”
Digium’s tempered stance toward widespread enterprise Asterisk adoption is understandable, given the reservations many enterprises have about open source VoIP.
Chief among purported detractors are a perceived lack of support, questions about the availability of features, and concerns about required skills for implementation and management, as well as reservations about platform compatibilities.
A closer look at Asterisk and its rapidly evolving base of developers suggests that these anxieties are unfounded and that Asterisk is ready for targeted enterprise deployment.
Makeup of an enterprise contender
Created by Spencer in 1999, Asterisk is a complete IP PBX released as open source under the GNU General Public License. It is built to run on commodity hardware, providing considerable cost savings when compared with commercial IP PBXes, and it leverages the open source community for additional testing, bug fixes, and feature development. Asterisk is available both as a business edition purchasable just like any other IP PBX — with seat licenses, warranties, support contracts, and shiny-binder reference materials — and as a free download, allowing you to take a test run before signing any checks.
In terms of replacing your traditional PBX, Asterisk can tie analog phones to a central switch, but scalability is an issue. It can interface with analog handsets through use of FXS (foreign exchange station) line cards; IP-to-analog converters, such as Digium’s IAXy ATA (analog telephony adapter); or competing products from Grandstream Networks and Linksys, among others. That said, Asterisk is built primarily for IP phones based either on its native IAX (Inter-Asterisk eXchange) VoIP protocol or standard SIP (see “Lending ear to open source VoIP”). Asterisk modules that can talk SCCP (Skinny Client Control Protocol) to Cisco phones are generally less reliable, given the protocol’s proprietary nature.
Despite Asterisk’s IP phone bias, outbound trunks do not have to be IP. Not only can Asterisk link with commercial VoIP providers such as BroadVoice and VoicePulse, but with the right hardware in place, it can also handle TDM circuits such as channelized T1s to deliver dial tone from the PSTN. Individual analog PSTN lines can also be brought into play with PCI line cards within the Asterisk server or via outboard FXO (foreign exchange office) ATAs such as the Grandstream GXW-4108, which can handle eight POTS lines, each addressable as a unique SIP trunk within Asterisk.
Due to gaps in communication between the PSTN and SIP, however, most Asterisk implementations rely on PCI line cards rather than outboard adapters. For example, it isn’t possible to send a SIP equivalent of a hook flash from Asterisk to an ATA, meaning that phone features that require hook flashes to the PSTN — such as call waiting — won’t work. For most businesses, this isn’t a problem. It’s more indicative of the occasional compatibility issues that exist between old and new technologies. With PCI interfaces in place, however, these problems dissipate.
Light on Linux requirements
Perhaps the most fundamental misconception about Asterisk is that it requires you to be a Linux shop. Not true. The open source PBX runs as a service on many platforms, including Windows, as there are projects available to enable Asterisk to run on 32-bit Windows.
Constructed much like your traditional PBX, Asterisk is based on a Unix-like OS hidden by a CLI or GUI management layer. You can deploy a standard Linux server and install the Asterisk package to create your own PBX or go with one of the several customized Linux distributions based around Asterisk.
Today’s most popular distribution is Trixbox, which consolidates a CentOS Linux platform, Asterisk, a bevy of open source Asterisk management tools, and custom code to make rollouts easier. With Trixbox, you can go from bare metal to a fully functional Asterisk IP PBX in 20 minutes. The same can be said for Digium’s recently released AsteriskONE, which takes a similar tack as Trixbox but offers different management tools.
In delineating differences between Trixbox and AsteriskONE, Spencer points out that, although Trixbox uses Asterisk, it is completely separate from Asterisk itself. “AsteriskONE is basically an HTML gateway between Asterisk and your Web browser,” he says. “If you make a manual change, it’s reflected in both Asterisk and the Web UI. Trixbox doesn’t have that.”
Trixbox does, however, offer significant features AsteriskONE lacks, such as easy implementation and configuration of the HUDLite user GUI, SugarCRM integration, and configuration tools for popular IP phone models. That said, AsteriskONE is still in beta.
As for managing an Asterisk deployment, a baseline grasp of Linux is advisable but not required. Open source tools such as FreePBX offer a full Web UI for managing Asterisk, from simple extension and trunk configuration to complex dial plans, IVR (interactive voice response) functions, voice mail, and more. In fact, you can build and deploy an Asterisk PBX without touching a command line, although familiarity with the Linux and Asterisk shells are necessary for large deployments. Smaller shops will likely never see what’s behind the scenes, much as they don’t worry about Linux running on security appliances.
The value of community
Support may be the most substantive knock against open source VoIP for the enterprise. Even then, Asterisk is an exception to the rule.
Whereas support for open source projects typically consists of online forums, mailing lists, and the occasional book, Asterisk has a company behind it. Digium offers support services in addition to hardware vetted for Asterisk use, such as analog and digital interface cards to connect Asterisk with the PSTN. Whether Digium’s support scales to enterprise levels is yet to be seen, but it will at least lend Asterisk proposals legitimacy as they wend their way through the corporate food chain in quest of funding.
But the major boon for Asterisk adopters — besides cost savings — is that, with the right admins in place, the open source IP PBX can be modified to do just about anything. In fact, much of Asterisk is already modular, using the AGI (Asterisk Gateway Interface), which is patterned on the CGI intrinsic to Web servers.
AGI allows admins to write plug-ins for Asterisk in just about any language, including Python, PHP, Ruby, Java, C, and Perl. As such, customizing your PBX’s feature set is relatively easy, and with the community of developers designing tools for Asterisk growing rapidly, ready-made features abound. Examples include a trouble-ticket management app that accepts ticket number input from a dial pad and another that performs an Amazon lookup of keyed-in 10-digit ISBN numbers and recites book prices back to the caller.
Open for experimentation
The phone system may very well remain the most commonly used and relied-on corporate app. Interaction with the phone system is constant, and the features, performance, and stability of the system are under constant subconscious scrutiny. Voice mail features and ease of use, voice mail/e-mail gateways, call quality, and follow-me features are all highly visible components of any PBX, to users on both sides of the dial tone, and IVR functions and reliability can make or break sales and business relationships. As such, commitment to an IP PBX should by no means be taken lightly — especially when it comes to assessing how well a VoIP solution will adapt to future evolutions in your enterprise.
As with all open source solutions, the beauty of Asterisk is that it allows you to try before you buy. What’s more, Asterisk is available in a dozen different forms, via packaged solutions such as Trixbox and AsteriskNOW or as raw source code. Trixbox and AsteriskNOW are also available as prepared VMware images — simply download and boot them on a VMware workstation or server. It couldn’t be easier to set aside your misgivings and investigate the viability of open source VoIP yourself.
Soon enough, as more and more companies become comfortable widening their search beyond commercial fare, they will find that open source dial tone is a worthwhile alternative, in it for the long haul. The cost savings are that compelling, as is the promise of greater customization and control. And as voice penetrates deeper into the enterprise in the years to come, the ability to quickly code customized features could give companies employing open source IP PBXes such as Asterisk a significant leg up in fulfilling the much-discussed promise of VoIP apps.