If you have been involved with telephony within the last decade, you will have heard of Asterisk as an open-source alternative to proprietary traditional and IP PBXs. If you’re considering Asterisk as a solution for your business, this article may be useful, as it will clarify what Asterisk is, how it can be implemented, and what kind of support you will need to ensure its viability as a solution.
What is Asterisk?
Asterisk is a software implementation of a PBX that was originally designed to function on a conventional Linux-based server. It provides call control services to registered telephony endpoints and supports a variety of VoIP protocols including SIP, H.323 and MGCP. Asterisk administers basic call control like call waiting, call forwarding, call transfer, call parking, conference calling, etc. Well known telephony features such as voicemail, interactive voice response and automatic call distribution are accessible as additional modules. Highly advanced services including video telephony, contact center applications, interaction with CRM and other databases, and collaboration services are also available, making Asterisk a very flexible system.
Asterisk is also capable of interfacing with hardware such as voice gateways, FXS and FXO analog cards, and T-Carrier interface cards (T1 or PRI ISDN) to interconnect with both VoIP and more traditional telephony technologies.
How to use Asterisk for your telephony system
If you want to use Asterisk for your telephone system, you will have to do one of two things: either have your technical team install, configure, and develop your Asterisk implementation from scratch, or purchase a ready-made Asterisk-based IP PBX appliance. These options are further described below.
(1) Develop from scratch
If you have a technical team that has deep technical knowledge of both Linux systems and the inner workings of VoIP protocols and operation, then this option may be more beneficial to you in the long run. This involves the following tasks:
- Procure a Linux-based server running one of the supported operating systems, such as OpenBSD, FreeBSD, or Solaris, to name a few.
- Purchase any specialized hardware for that server, such as FXS/FXO or ISDN PRI cards, if you are connected to a traditional telephony network.
- Download, install, and configure the Asterisk software along with any supplementary components necessary for your system to function as desired.
- Interconnect the Asterisk system with any additional components (voice gateways, databases, other telephony systems, remote or local endpoints, etc.)
Such a deployment has both advantages and disadvantages.
- Highly modular and customizable to suit the enterprise’s needs
- Developed by your technical team, so all tech know-how involved remains in-house
- Zero cost for software
- No formal support contracts with vendor since the vendor is essentially your tech staff
- All problems or malfunctions must be dealt with in-house—there is no escalation option available
- Interoperability and compatibility with other systems is expected but is not verified, tested, or guaranteed, so extensive testing must take place in-house before roll-out
- Requires a specialized (and thus costly) skill set within the technical team, and is generally more time-consuming to implement
Because Asterisk is open source software (more about that in a bit), it has a very large and active online community that, among other things, develops companion software and components that work with it to enhance its features and operation. One example is the open source graphical user interface (GUI) called FreePBX. This can be installed along with Asterisk and allows users to manage an Asterisk VoIP server through an easy-to-use web-based GUI. This is just one of the many additional features that must be installed to customize and complete an in-house build.
(2) Use Asterisk-based products
The other option is to purchase an Asterisk-based IP PBX appliance. These are commercially available all-in-one systems, developed and tested by their respective vendors. They are specially designed servers with the Asterisk core component preinstalled and preconfigured, and have additional hardware and software components as options. An example of such a system is Sangoma’s FreePBX System Appliance. These products also come with their advantages and disadvantages:
- Easy to install and configure, and generally not time consuming
- Although some technical knowledge is required, the necessary skill set is less specialized than for systems developed from scratch
- Formal support contracts are available from the vendor, and problems can be escalated to the vendor’s tech support
- Hardware and software component interoperability has been thoroughly tested by the vendor and is guaranteed to function
- Not as customizable as a system developed from scratch
- Appliance and tech support can become costly
- Deep technical know-how is not maintained within your IT department’s staff
One of the primary advantages of Asterisk in general, whether in a developed-from-scratch or a commercially available Asterisk-based product, is its interoperability with virtually all VoIP hardware and software. Asterisk leverages the most widely used codecs and protocols, which are also supported by the vast majority of VoIP equipment vendors. Thus, it is possible to:
- Register almost any vendor’s VoIP endpoint with an Asterisk server.
- Connect any type of voice gateway to the Asterisk server.
- Use the Asterisk IP PBX itself as a voice gateway between IP phones and the PSTN.
- Interconnect other PBXs either using a SIP trunk or more traditional ISDN or analog technologies.
Asterisk even boasts its own Inter-Asterisk eXchange (IAX) protocol that has been standardized by the Internet Engineering Task Force (IETF), and is formally defined in RFC 5456. It is used primarily to transfer VoIP telephony sessions between Asterisk-based IP PBXs.
Is Asterisk really free?
Asterisk is open source software, which means you can download it, install it, and use it commercially without any cost to you. You can also go in and modify the source code so that it behaves exactly the way you want it to. As open source software, it has a large and active online community that continually improves the software, and provides a source of technical knowledge and help.
However, as you have seen from the above descriptions, for a telephony system that is critical to your business, such a solution is not always the most appropriate. Support from the online community comes “as is” and with no obligation to solve your particular problem.
For this reason, the financial savings you will gain using open-source software will be counterbalanced by the cost of obtaining additional knowledge and skill sets for your technical team, which could easily end up being more expensive than purchasing a ready-made system.
So the ultimate question does not have to do so much with cost of the software itself, but with what level of configurability is required for your system, and how much you are willing to pay to gain that level of customizability.
The Asterisk call control software is a robust, mature, and stable alternative to proprietary traditional and IP PBX systems. However, it should never be “downloaded and installed” onto a telephony network unless the appropriate precautions as far as system support, troubleshooting, and interoperability with other systems have been sufficiently dealt with. Alternatively, for those without the appropriate technical resources, Asterisk-based appliances are a viable option for enjoying a level of security provided by the vendor’s technical support and expertise. In either case, Asterisk is a nimble and versatile system that is here to stay, and is expected to continue to develop in the years to come.