What Is Asterisk
Pages: 1, 2
Although it is billed as a telephone system, Asterisk is really much more than that. Because it provides a CGI interface (as well as source code for the core application), Asterisk is extensible in ways that no other telephone system is. Asterisk is best characterized as a telephony operating system that happens to provide a full-featured business telephone system as one of its built-in applications. Telephones are ubiquitous. Asterisk is a great platform for building interactive voice response applications, such as:
Enhanced messaging services
Prepaid calling card systems
Customer support services and enhanced call routing
While computer telephony applications are not new (they've been around for well over a decade), Asterisk dramatically lowers the investment required to build them. Before, you would have had to buy expensive telecom hardware from vendors such as Intel, NMS, Aculab, and others. These cards are typically priced per port (concurrent caller), usually about $200 per port. A typical system would cost $5,000 to $10,000, much more for large-scale systems. For VoIP-only installations, there is zero hardware cost except for inexpensive off-the-shelf servers. For installations that require interconnection to the public telephone network, Digium makes cheap T1/E1/ISDN interface cards. A quad span (96-120 ports depending on configuration) costs only $1,500, about one-tenth what equivalent hardware from Intel, NMS, et al., costs.
Asterisk runs on most Unix and Linux platforms, including popular Linux releases, as well as Mac OS X. You can also run Asterisk on Windows using the CoLinux tool, although it requires a lot of RAM and disk space (note to Digium: a native Win32 port should be part of the release plan for Version 2.0). I don't know of any other phone system that runs on Mac OS X (note to Apple: why not bake Asterisk into X Servers?).
Simply put, Asterisk is the most flexible and extensible telephone system in existence. Full source code is available, so if you need a feature you can add it yourself. Although I must say, they've done a very thorough job with the first release. Try asking your current PBX vendor for full source code for their PBXs. Hell, just try asking them for documentation.
Asterisk is available at www.asterisk.org. You can download the package directly, or if you want a shrink-wrapped CD-ROM install, you can order Asterisk Business Edition from Digium for $795. Many third-party software developers are building automated installation tools and other utilities that make Asterisk easier to install and more extensible.
Unfortunately, Asterisk is not a plug-and-play product, and being in release 1.0, I would not recommend it to inexperienced users. Getting it installed and configured requires a substantial effort (especially if you plan to use a VoIP telephone service provider such as Global Crossing). Third-party tools are easing the learning curve for common configurations such as a small office intercom system. Digium is also selling a pre-packaged Business Edition CD release for $795 that automates many installation and configuration tasks. That said, Asterisk is an excellent choice for companies that are comfortable managing their own computers and networks. The learning curve for Asterisk is long, but no more so than for other networked devices, such as firewalls. A proficient system administrator can master Asterisk in a few weeks. Look for better usability in the coming months as Digium upgrades the system, and as third-party developers build tools around Asterisk's shortcomings.
While it would be easy to critique Asterisk for being a bit rough around the edges, it's important to remember that most business telephone systems deliver a far worse user experience. Many intercom systems are "programmed" by typing arcane sequences of numeric keys via telephone handsets. Editing a text config file on a PC is a piece of cake by comparison. If you have a decent understanding of common telecommunications services and can manage a resource such as an Apache server, you should have no trouble learning Asterisk. And in the long run, the flexibility of the system will enable you to do things with your telephone system that would otherwise be prohibitively expensive if not outright impossible.
Brian McConnell is an inventor, author, and serial telecom entrepreneur. He has founded three telecom startups since moving to California. The most recent, Open Communication Systems, designs cutting-edge telecom applications based on open standards telephony technology.
Return to the O'Reilly Network