SolutionBase: Discover an open source solution to VoIP with Asterisk

Asterisk is a free open source PBX with features that rivals other proprietary PBX systems. From residential networks to full-blown cooperate call centers, Asterisk is a powerful cost-effective system with all the features you would expect to find in any high-end program, plus a little more. In this article, Brian Smith shows some of the advantages of using Asterisk as a VoIP solution for your organization.

Alexander Graham Bell developed the telephone in the 1870s and it revolutionized communication. For the first time, people from various parts of the world soon became able to converse in real time. For over a hundred years, telephone technology remained basically unchanged. In the 21st century, we have communications options that include such things as the cell phone and the Internet -- methods unimaginable to Bell way back then.

Among these methods is the new kid on the block for sending voice around the globe: VoIP. VoIP runs regular voice calls over the Internet as if it was regular data. This merging of 19th and 21st century technologies has become increasingly popular as of late. One of the ways you can bring VoIP to your organization is by using a software application called Asterisk.

What is Asterisk?

Asterisk is a complete software PBX (public branch exchange) created by Digium. You may be unfamiliar with the term PBX, but chances are you have used one. If you ever have to dial 9 for an outside line, or use a three digit extension, you are probably using a PBX. PBX is a generic term for a centralized control system of a telephone network, and most medium and large sized businesses will have one. They are used to route calls to the public telephone network, and provide features like direct extension dialing and voice mail.

The downfall of a PBX system is that it can be very expensive. A medium-sized system that supports 100-150 people can easily range in the tens of thousands of dollars. A full-blown corporate sized PBX can start around $25,000 and reach millions of dollars, depending on how many add-ons and users there are to configure.

Asterisk is open source software licensed under the GNU General Public License (GPL). This means that it's free for the user to download, install and maintain. It allows the power of telephone switching to be combined within the convenience of a PC.

What can Asterisk do for me?

Asterisk can provide a complete telephone solution, with all the bells and whistles of an expensive system, but without the high costs. A few examples of what Asterisk include:

  • Provide basic analog or digital phone service
  • Capture detailed calling information
  • Create call queues for an office or call center
  • Provide voice mail
  • Create automated call directories
  • Transfer calls to another Asterisk PBX
  • Connect a call to a multi party conference line
  • Transfer inbound calls to an internal extension
  • Transfer inbound calls to a remote connection (such as a cell phone)
  • Define access to outbound long distance or international call
  • Define day/night calling plans according to business hour

Asterisk boasts a wide range of available features, some of the more popular ones being:

  • Automation
  • Blacklists
  • Call directory
  • Call forward
  • Call monitoring
  • Call queuing
  • Call recording
  • Call transfer
  • Call waiting
  • Caller ID
  • Conference calling
  • Database integration
  • Distinctive ring
  • Fax receiving and sending
  • Music on hold
  • Voice mail

For a complete listing of features, visit the Asterisk Web site.

While it's a PBX, essentially Asterisk is also a framework. Aside from the included features, you can also use Asterisk Gateway Interface (AGI) to write your own custom dial plans and features in Perl, PHP, C, Pascal, and a variety of other languages. You can administer Asterisk from the command line or via a GUI, as well as through optional Web-based administration.

Asterisk supports VoIP in four protocols: H.323, Session Initiation Protocol (SIP), Media Gateway Control Protocol (MGCP), and Skinny Client Control Protocol (SCCP). Using Inter Asterisk eXchange (IAX), you can transmit not only voice data but virtually any type of data -- such as in-line video -- seamlessly allowing for very advanced information integration. IAX2 also allows for trunking, which means one IP can carry information on more than one call. This is a great tool for reducing bandwidth.

You're not only limited to landlines when deploying Asterisk. Using the Celliax channel driver, you can also integrate with GSM and CDMA cellular networks.

For management of your call logs, call details can be logged in flat files or SQL databases, which can then be integrated with other applications such as billing software. Account validation can allow your company to verify customer information and determine if their accounts are up to date before connecting them to another department, which would require them to have an up-to-date account before receiving service.

What's it going to cost me?

Asterisk is free, but there's more to setting up an Asterisk-based VoIP solution than just getting the software. It's quite possible to have a fully functioning Asterisk box without ever spending a dime. However, if you want with to integrate digital and analog equipment, you will need some relatively inexpensive hardware. 

To install Asterisk, you will need to be running Linux, OpenBSD, FreeBSD or Mac OS X. The brave of heart can port Asterisk to other UNIX-based OSs as well. So, you'll need to start with a server running any of the supported OSs.

For a residential or small office use, you will need an Analog Telephone Adapter (ATA). A basic model will run somewhere in the neighborhood of $120. For a larger business, you should opt for an Analog Channel Bank. This is a special form of ATA that can provide many analog lines in a high density configuration. These normally connect to your server via a T1 or Ethernet connection and will cost anywhere from a few hundred to several thousand dollars, depending on features.

For larger installations, such as call centers, you will need a digital voice line. For this, you will need either a PCI T1/E1 interface that is inserted directly into your Asterisk server, or an external device such as a T1/E1 SIP gateway, though the PCI interface provides the best performance. Using a T1, you can support up to 24 simultaneous digital calls (30 for European E1). For an extremely large installation, you may want to consider using a T3 or E3 instead. Again, a digital voice line is going to cost anywhere from a few hundred to several thousand dollars, depending on features. 

For your physical phones, you have several choices. One choice is to use a hard phone. These look and function just like any other telephone, but they have an Ethernet RJ-45 connector, as opposed to a standard RJ-11 telephone. Basic hard phones start at around $60. Your other option would be to use a soft phone. These are software-based phones that usually consist of an earpiece and a microphone directly connected to a PC. Not only are they convenient because they occupy less desk space and are hands-free, but they are substantially less expensive, or even free. 

An inexpensive solution to an important problem

Businesses are always trying to find ways to do more with less. Fortunately, by deploying an application like Asterisk, you can bring the power of new technology such as VoIP to your organization without making a huge investment. Asterisk is quickly gaining ground as an inexpensive open source solution to an important, and potentially costly, need for businesses. If you're thinking about deploying VoIP, it's worth a serious look.