When it comes to business communications, Voice over Internet Protocol (VoIP) has paved the way for a wide range of different applications that are now common in most workplaces, be it a brick and mortar establishment or a company that conducts most services in the field. Internet based communications allows user capabilities that extend far beyond simple calling capabilities that enable business to conveniently communicate with ease. The adoption of these systems is a true testament to the overall evolution of the business world.
Though many find prebuilt, hosted solutions to suit communication needs because of the lack of internal support required and ease of install, others are privy to building these solutions from the ground up. Today, Asterisk open source PBX software is one of the most popular solutions for creating a custom, onsite IP-PBX (Internet Protocol - Private Branch eXchange) for business class communications. As you will see, this platform boasts astounding features for those willing to put effort into building a custom solution.
Background and Motto
In 1999, a private communications company headquartered in Huntsville, Alabama (now known as Digium), surfaced with the intent of supporting Linux systems. Founder Mark Spencer recognized a growing discord between companies and proprietary software that often created pricey vendor lock-in scenarios. Having no money to invest in a PBX, he began development on a system that would later become the Asterisk platform.
His problem was not unique - this was a common theme for the market. Until that time, communication servers were internally developed and as a result, very expensive. Asterisk was (and still is) continually developed using open source models under the GNU (operating system) Public License and further permits licensees to furnish proprietary components built with (or for) the system.
Why use Asterisk?
The greatest value in Asterisk is the open nature of the platform that enables further development without costly expenditures. Those versed in software development can freely build upon the system without the need to purchase a patented SDK (Software Development Kit). Heavy customization is further possible with many free, prebuilt applications developed by Asterisk and free distributions from other developers.
To take full advantage of the platform, a certain skillset is required that includes familiarity with Linux scripting, networking and phone systems. Fortunately, complete mastery is not necessary to get a foothold on the system. Very similar to the many other systems built upon the UNIX foundation, there are many communities and resources available to fill in the knowledge gaps. If a developer becomes stumped, Asterisk offers both consultants and integration experts at low cost to assist with development.
Depending on the level of customization required for individual communication systems, functional distributions are available from Asterisk that range from a basic framework to a near fully working IP-PBX system. Unlike some other open source PBX solutions, Asterisk directly hosts these platforms. For example, AsteriskNOW is a complete package that includes an underlying Linux OS (Operating System), the Asterisk platform and an application called FreePBX – a web based GUI (Graphical User Interface) that requires little programming to create a working communications server.
Overview of an Asterisk Implementation
Various matters require assessment before the process of creating a working system with Asterisk can begin. Any size business can take advantage of the system with proper planning and execution – this includes companies with large, multi-office models to setups as simple as a home office. In the following section, we will briefly look at the three major components affecting the operation and cost of building your own communication system.
In most cases, a communication systems needs to access people beyond company walls. Inbound calling is only so useful – this is why SIP (Session Initiation Protocol) is important to use and understand. Configuring this functionality will be essential to calling people outside the network.
In order to use SIP, configuration within Asterisk is required and a SIP trunking service needs establishment with a provider as well. Most ISPs have the capability to operate as an ITSP (Internet Telephony Service Provider) today but functionality and pricing can vary drastically. Some provide dedicated bandwidth for a SIP trunk but most offer this service such that it shares bandwidth with an Internet connection.
It is important to learn how a service provider will deliver a SIP line to a business. If the trunk will share the bandwidth with an existing (or possibly new) service, it is important to ensure that enough bandwidth is available from the Internet service provider to ensure call quality does not suffer. Refer to our SIP trunking providers section for more information on this subject.
A wide variety of hardware (computer/server) has the capability to support the Asterisk platform – it does not need an over-the-top super computer to run in most cases. It ultimately depends on the features to be utilized by the system after installation. The more media focused communications that are required (e.g. media transcoding for video calling or a conference bridge for group calling) the higher cost of the system. Prebuilt systems are available for purchase from Digium at a reasonable cost as are components for custom servers.
Depending on the type of phone a business will use – whether IP phones, softphones or analog phones connected with an ATA – this will factor into supplementary hardware provisioning and cost. It will be necessary to ensure that appropriate bandwidth is available for an internal network not only to serve the communication system but for other applications used on the network. Adequate switches with high-speed ports will need to sit between the devices and the IP-PBX. Check out our IP phones and accessories section for more information on phones, headsets, and adaptors.
The design of the platform is such that it runs on several different operating systems today. Officially, Linux is the only truly supported OS (a kernel version of at least 2.6.25 is recommended) but other UNIX variations are also supported as well as Windows and OSX. Though other operating systems are supported, it is recommended that the most current, functioning version of either CentOS or Debian be used to support an Asterisk installation.
What can Asterisk do?
Frankly, Asterisk does everything expected of a communications server and more. The only limitations that exist are knowledge of the programmers responsible for configuring the system. The other limitation falls on hardware but only when it comes to advanced functions of the platform.
Within Asterisk, several functions built into the console allow programmers to quickly configure a VoIP gateway. Further, with the correct kinds of components, other telecom functions are possible, such as supporting traditional telephony technology. The design is such that users install additional functions from repositories as they become available just like any Linux system.
The following features have the most appeal to prospective adopters and current users. The core of the system allows for the quick deployment of common communication technologies; Asterisk inherently provides commands to configure features that include:
- ACD (Automatic Call Distribution)
- IVR (Interactive Voice Response)
- Voicemail and transcription
- Unlimited extensions and remote extensions
- Other UC functions (e.g. messaging)
- Integration of freeware and paid applications
Certain business models need a highly custom solution to which many providers can cater – but at great cost. When creating a unique product or service, especially where communication plays a large role, Asterisk may be the better choice as it is inexpensive to implement and highly effective. The only drawback is that a refined skillset is a requirement to build a system from scratch.
The possibility to integrate other technologies into the system is possible with preexisting functions of the platform. For example, by using LDAP (Lightweight Directory Access Protocol), a programmer can connect to enterprise directories like Apple OpenDirectory or Microsoft Active Directory. Other examples include implementing codecs to support high bandwidth functions like HD (High-Definition) calling supported by certain higher end devices.
Bonus features of Asterisk
One of the greatest strengths of the open source model comes from reaping the benefits from the hard work of other developers. Many programmers have released free applications to supplement Asterisk systems. Many that utilize the platform as a communication solution favor the following applications for the benefits provided. Keep in mind that some of these applications require the integration of other utilities, like Flash, to function properly.
This application allows integration with Microsoft Outlook or more specifically, an Exchange server. Some of the features offered by this application include click-to-call functionality and real time notifications.
Using this application, a user can dictate a message via a phone and send it directly to another person. If using web dialer and address book AsertiDex, a user can send a recorded message directly to an email contained in a contact list with a few button pushes.
Though this utility comes with AsteriskNOW, it is still a very handy interface to have even if building a system directly from the Asterisk framework. The GUI can be accessed with a web browser allowing administrators to use this WYSIWYG application to make changes in the system.
Using this application, you can integrate billing into your calling system. Freeside works with most CRM (Customer Relationship Management) systems – this application is very helpful for businesses building a communication solution via Asterisk with the intent of reselling the solution to other providers.
This application can supplement Asterisk users with an easy to deploy, user-friendly, web conferencing system. This visual application made for web conferencing further includes extra features such as screen sharing.
With this application, recording calls and backing up the files to certain directories becomes much simpler. A paid version is also available that can capture transmissions utilizing higher level codecs.
This visual call queue-monitoring suite supplements the Asterisk ACD. For high volume call centers, this application can assist agents in retrieving calls in a productive fashion.
For any business with the inclination to implement a Do-It-Yourself solution, there is nothing better for communications than Asterisk. In order to take full advantage of all the functions the platform has to offer, one needs to be familiar with Linux and well versed in networking. As Asterisk parallels Linux (with the exception of unique commands) this skillset is a baseline for taking advantage of everything the system has to offer.
Even if lacking these skillsets, the will to learn or pay extra money can yield positive results. Asterisk provides a great knowledgebase via their support forums, as do other developers, such as those found on sites like StackExchange. Professional assistance is also available from Asterisk to help accomplish more tricky feats.
Asterisk is a testament to the open source movement and is practically future-proof. The platform will only continue to evolve into better incarnations over time. If a low-cost, powerful architecture resonates with you and getting (figuratively) dirty does not bother you, Asterisk is right up your alley.
You may also be interested in our article on how to setup an Asterisk PBX phone system.