The open-source model is a compelling means to develop free, highly customizable software that can provide increased reliability and security. If that seems counter-intuitive, just think about it. The code, left accessible to the public at large, is leveraged collectively by an entire user community that together finds and patches holes, fix bugs, and collaborates to achieve a shared goal that perhaps is not easily attained by an individual company alone.
Open-source PBX is one of the latest projects to garner industry attention. Asterisk (
www.asterisk.org) is a Linux-based open-source PBX replacement. Originally written by Mark Spencer of Digium, Asterisk is a result of the contributions of a global community of open-source coders. Digium is the primary developer and sponsor or Asterisk, and is responsible for licensing its commercial use.
Asterisk runs on Linux over standard PC hardware with proper PCI interface cards. It functions just like a PBX, working with regular analog phones and standards-based IP phones. The software supports the major features of your traditional PBX, including voicemail, IVR (Interactive Voice Response), ACD (Automatic Call Distribution), conference calls, caller ID, and call queuing.
The possibilities with Asterisk are practically limitless. It supports the major VoIP protocols (SIP, H.323, and MGCP), as well as a proprietary protocol called IAX2 (Inter-Asterisk eXchange 2). IAX2 delivers voice calls between two servers in the most efficient way possible. While originally developed for use between two Asterisk servers, IAX2 is gaining popularity with other applications and hardware devices. Asterisk also supports the major audio-encoding codecs G.711 (a/u-law), G.723.1, and G.726 (of course, an appropriate license for the codec is required).
Asterisk provides the central switching functions for call handling. It also provides four basic sets of APIs:
- Channel API: enables Asterisk to interface with different TDM or packet voice sources
- Codec Translator API: enables Asterisk to support encoded voice from a wide range of sources
- File Format API: allows Asterisk to play sound in different formats and can support various ringtones and touch tones
- Application API: allows third-party developers to write new telephony applications that can work with the switching core
You won’t need any additional hardware for a pure VoIP application. To connect with analog and digital telecom equipment, Asterisk supports various hardware devices, including those from its sponsor, Digium. Cards include T1/E1 cards for connecting to ISDN PRI lines, as well as FXO/FXS analog cards. And as of November 2005, Digium’s Asterisk Business Edition supports Intel’s NetStructure and Dialogic products.
To set up Asterisk, you’ll need to be comfortable setting up a Linux server and be familiar with a Linux command line. Not sure if you’re up to the task? There are plenty of resellers and integrators out there who can offer a complete solution — Asterisk software, any necessary hardware, and integration and technical support. Digium itself provides professional technical support and development services.
Asterisk’s name connotes its promising versatility — referring to the “*” symbol, which is a wildcard in Unix and DOC command line syntax. As Asterisk originator Mark Spencer said, “It’s about being able to add features. If you have a Cisco system, only Cisco can change the code. We see big companies using Asterisk because nothing else solves their particular problem, and they don't want to be beholden to a particular vendor."
See also:
Request a Page