Buy or Build: Should You DIY Your Business Phone System?
Note: This post was written in 2014. We’ve written more content with new research since then, including Skype for Business: Should You Opt for PBX Integration or Replacement?
If you’ve spent any time researching business phone systems, then you’ve probably come across the name “Asterisk.” It’s not only one of the biggest names in telecom—it’s also the system running behind the scenes of many other big names in telecom.
Asterisk is free, open-source software that runs PBX systems and can be programmed into a DIY business phone system. It can be configured with all the features you’d expect of an enterprise-class PBX, while incurring very few of the enterprise-class hardware costs. It probably sounds very attractive so far—but there’s more to the story. We took a hands-on look at Asterisk to help you answer the big question: is a DIY phone system the right choice for your business?
What Is Asterisk?
As mentioned, Asterisk is PBX software. A PBX, or Private Branch Exchange, is the brains behind every phone system. It is what allows the many individual phones within one business to share the same lines, and to connect with and transfer calls between one another. PBXs provide other functions, too, such as recorded greetings and Interactive Voice Respondents (IVRs), which give callers automated menu choices to direct them.
As open-source software, Asterisk can be modified and added to by anyone. As a result, there are many different versions of the program available, each having been customized for specific needs. These versions are referred to as “distributions,” or just “distros.” (In fact, when people speak of Asterisk, they are most often referring to one of these distros, as opposed to Asterisk in its “pure” form.) Most distros are free, and some of the more popular include Elastix, PBX in a Flash and FreePBX.
Now, the core functionality within all these distros is identical. They differ primarily in terms of how user-friendly they are and what additional features (such as, for example, e-FAXing) they support. For most DIY situations, the degree of user-friendliness of the distro will determine whether the PBX gets up and running, or sits in a corner gathering dust.
The reason user-friendliness is so important is that the pure, non-modified Asterisk software is highly technical. It was never designed to be used by non-professionals or by people without extensive programming experience. The primary goal of the distros mentioned above is to make Asterisk more accessible so it can be used by more people. And that goal has clearly been reached: Asterisk—in its various forms—is the most widely-used PBX software on the planet.
What Equipment Do You Need to Install Asterisk?
A basic Asterisk-based PBX for a small office will have three main components: two of which are things most offices already have, and the third of which you can download free options for. The three main pieces of equipment are: 1) the server (which can be an ordinary PC); 2) a Local Area Network (LAN) or standard office computer network; and 3) a softphone, or software telephone.
The Server: As a PBX software program, Asterisk must be run on a computer. But one of its biggest attractions is that Asterisk can be run on nearly any computer. It does not need the latest or greatest. In fact, using Asterisk, we were able to get a simple small-office PBX running on a ten-year-old laptop. It wasn’t easy, but it did work.
A PC with a (minimum) 1GHz processor and 1GB of RAM will suffice as a server for a small office system (one with up to about 20 phone extensions). If those specs don’t mean much to you, understand that most new smartphones exceed them. Any computer made within the last five or so years should have no problem at all running Asterisk.
It’s best to run Asterisk on a dedicated computer—one that will be used for nothing else. Even though Asterisk doesn’t demand much of a processor, it does demand that it’s always available immediately when called upon. Processors that are also running other programs can fail to meet Asterisk’s real-time demands.
The LAN: The LAN is what connects all office computers to each other and, ultimately, to the Internet. Phone calls placed from an office computer’s softphone or from a VoIP deskphone will travel over the LAN to the Asterisk server. Asterisk will then route the calls to their final destination: either to another extension on the LAN, as would be the case with internal calls, or to an external number for outside calls.
Asterisk has no special requirements for the LAN—it just requires that there’s one in place.
The Phones: Of course, phones are also needed. Asterisk works perfectly well with almost any VoIP deskphone. Another popular option is to use one of the many free softphones available. These can be installed on office computers and used along with a headset (or even the computer’s built-in mic and speakers) to make calls through the Asterisk server.
Other Considerations: The setup described here will allow office employees to place calls to and receive calls from anyone, anywhere, with a VoIP phone connection. To exchange calls with ordinary (non-VoIP) telephones, an additional ITSP or SIP trunk service is required.
How Do You Install It?
Installing Asterisk is a complex process, though there are many online tutorials that can help walk you through it. Most describe installation for specific distros, like this one for FreePBX or this downloadable book ELASTIX WITHOUT TEARS for Elastix. While some, such as PBX in a Flash, install from a flash drive, most of the others will have you burn a CD or DVD and install from that.
We wanted to understand what was involved with the installation, so we tried doing it ourselves. Ultimately, we did succeed—but the process was not easy. On paper, it should take about an hour; in practice, it took us closer to ten. We tried nearly a dozen different installation discs. Some appeared to be working until, for no clear reason, they’d just grind to a halt.
If you’ve ever installed a new operating system on a computer, then you’re familiar with the general process used to install Asterisk. After burning the installation disc, you insert it into the disc drive. You enter the computer’s BIOS settings (the basic hardware settings), and set the computer to boot from the CD/DVD drive instead of from the hard drive (which is usually selected by default). Upon reboot, the computer will load from the installation disc—and with any luck, the installation process will begin.
An example of the installation screen you’re hoping to see
Or, it won’t. Instead of a nice screen welcoming you to the start of the installation process, you might be greeted with a black screen with a single blinking cursor. Or you might just see a message stating “Operating System not found.” In other instances, the installation might start, only to inexplicably freeze up at some later stage.
An example of what you might see instead
We wasted several hours trying to revive, and continue with, failed installations. If you are experienced with Linux systems and troubleshooting dependency problems, you may have better luck than we did. If not, and you run into an installation problem that a quick online search doesn’t solve, then heed this advice: Give up. Try another distro. Fixing a failed installation will always be more difficult than simply finding a new distro with an installation disc that works the first time.
To be fair, our own installation was intentionally complicated by our choice of hardware. Since many people choose to repurpose an old PC for their Asterisk installation, and we wanted our attempt to be as real-world as possible, we chose to use a nine-year-old laptop—which had some technical nuances that complicated the installation process. Installation will go easier if you a) use newer hardware and b) have some experience working in Unix environments, particularly with the Command Line Interface.
How’s it Configured?
As previously mentioned, what most Asterisk distributions do is provide a user-friendly GUI, or Graphical User Interface. (A GUI is the style of software interface we’re all used to: it lets you point and click with the mouse.) For all the distros we looked at, the GUI is accessed through a web browser by typing the server’s IP address into the address bar; from there, you can configure the PBX. This is a lot like how most home routers and firewalls are set up.
The GUI for FreePBX. Click to enlarge.
The web-based GUIs give access to all of the important settings you’ll need. Here, you’ll assign extension numbers to all your phones. You’ll configure the “dial plan”: the set of instructions that tell Asterisk how internal and external calls should be routed. The GUI is also where most add-on modules, such as IVRs, will be configured.
The GUI for Elastix. Click to enlarge.
What’s the Verdict?
At first glance, Asterisk and its many varieties offer a very attractive choice. On-site hardware PBXs are expensive, with price tags often reaching the thousands. The chance to put together a comparable system for the cost of an old PC is one many find appealing.
Alas, it’s the “putting together” part that, for us, presented the biggest challenge. Though you may not run into the same problems we did, you can probably expect to hit a snag or two when installing. This contradicts the general impression you’d get from a casual reading of the various distros’ websites. For the most part, they speak very little of these problems.
There are many alternatives for those who want an Asterisk PBX, but want to avoid the installation process. You can buy off-the-shelf servers that come with versions of Asterisk pre-installed. There are also many Asterisk consultants around the world who can be hired to set up your business’ PBX. Digium, the company behind the Asterisk project, would be the best place to start shopping for alternatives.
Ultimately, what Asterisk offers more than most other PBX solutions is flexibility. It gives users much finer control over basic and advanced call-handling functions. The deciding factor for most businesses, then, is whether or not they need that extra control. In our experience, from speaking with many businesses about how they use their phone systems, most do not.
In fact, many small and mid-sized businesses choose to skip the hardware PBX altogether. There are a great variety of cloud (or hosted) PBX business phone services that offer basic and advanced calling, forwarding and conferencing functions. (And some of these cloud-based PBXs are actually built on Asterisk.) Using a cloud-based phone service is the simplest and most reliable choice for most businesses—letting you bypass all of the installation difficulties we’ve covered above.
So, should you DIY your business phone system? Probably not, unless you have the experience and time needed to implement it smoothly. A more practical solution—the one we recommend—is to try one of the many cloud-based PBX phone services first. Only if you find those are unable to fulfill your business’s telephony needs should you give some more thought to putting together your own Asterisk PBX.