Saturday, March 24, 2007

Asterisk, Asterisk@Home, FreePBX, trixbox, etc.

One of the more daunting tasks was wading through all the bits that make up what many people simply call Asterisk. Asterisk is essentially a software application that provides PBX capabilities of IP based phone systems. In a nutshell what that means is that Asterisk can accept incoming calls, route them to an extension, and connect the call when the extension answers. Likewise for outbound calls, Asterisk allows an extension to make a call and Asterisk either connects the call to an outbound trunk or to another extension. This is roughly what a traditional PBX provides for a business. It allows multiple phones to share trunks (phone lines to and from the outside world) so that every phone doesn't need a separate phone line to the phone company. As well by allowing extension to extension calls without involving outside resources, calls within an organization can be free. But that is just the tip of the iceberg. A PBX can also provide voice mail services, music on hold (MOH), call queues, interactive voice response (IVR), etc.

Now Asterisk itself is quite a beast. Setting up an Asterisk system takes a lot of knowledge as its sheer flexibility makes it quite complex to configure. To alleviate some of that, freePBX was created to make simple things simple. freeBPX can be thought of as a configuration layer on top of Asterisk. It provides a web based administration tool to configure and monitor Asterisk. As well it provides a rather sophisticated set of dialplans that allow for some nice modules that make adding certain features easy.

To further simplify using Asterisk, another project was started called Asterisk@Home. This included creating a distribution including not only Asterisk and freePBX, but a pre-built version of CentOS (essentially a Redhat based Linux distribution), MySQL, SugarCRM, HUDlite, and more. This allows a less sophisticated (or lazy person such as me) to quickly get an Asterisk based system up and running. In fact, at the moment, I'm using the VMWare distribution of trixbox (the new name for Asterisk@home) hosted by my Windows MCE system. Yeah, I know, that's not the best place to run Asterisk, but it works for a playground for now.

No comments: