Draconis Software Blog

Our new phone system

Asterisk LogoSorry we haven’t been updating the blog as often as we have been in the past – as always, things come up and stuff like this gets pushed to the side. But, as an update, I thought I’d talk about our new phone system today, and an introduction to how we got the Asterisk PBX up and running (I say introduction, because it’s a long process that will no doubt span multiple postings).

A while back we decided we would like to build a new phone system for Draconis – something that could grow as our needs grow, and versatile enough that could keep up with us. Our first thought was to use the open source Asterisk PBX, and as a result, we began building a phone system around this remarkable project. I’m going to give an intro to what we decided to build, but getting Asterisk up and running (especially if you don’t know a whole lot about phone systems) can be incredibly time-consuming. But, at least for us, it was also very fun.

The hardware
We spent a lot of time researching what we should use for hardware. Luckily we weren’t particularly attached to any existing phones we had (all of which were the standard fare – phones you could buy from Staples that plug into any old telephone jack), so we investigated both VoIP phones (also called hardphones), and adapters for plain-old telephones (also called ATAs, or Analog Telephony Adapters). There’s a third option as well, which are plug-in PCI cards (called FXS, or Foreign-Exchange Station, cards) that allow plain-old phones to connect to existing phone wiring and then into a computer with Asterisk (kind of like a specialized modem).

Eventually, we decided to buy VoIP hardphones – individually, they’re more expensive than similarly featured analog phones, but the versatility they provided (not to mention the savings over buying ATAs or FXS cards) sealed the deal. We settled on the Grandstream BudgeTone (I believe that’s read as “Budget Tone”, rather than “Budge Tone”) 100’s, and have been very happy. They’re essentially miniature computers with their own IP addresses that plug right into your existing data network and sync up with the Asterisk PBX software. To configure them, you can log into their built-in web interface. Very cool.

As I mentioned, we also considered using an ATA. These are little boxes with an Ethernet plug on one end, and a phone (RJ-11) plug on the other, and allow a standard analog phone to hook up to VoIP service. These are essentially the same thing as the adapters you get from a VoIP provider (like Vonage). However, we decided not to go this route simply for cost: the price of an ATA ranged between $50-$100, plus the cost of the phone, and that became more expensive than just purchasing the BudgeTones.

The FXS adapter is similar to an ATA, but a bit more robust. These are what enterprises typically use with many different phones on the premises, and their costs certainly reflect that (typically $350+). An FXS card provides the dial-tone and related “services” that standard telephones need to operate, but scaled up for multiple phones (kind of like multiple ATA’s rolled into one, but these are cards that sit in the server running Asterisk). Again, cost was a big factor here, and the price plus the telephones themselves just made the system much too expensive. Digium, the sponsor of the Asterisk project, sells a number of these cards.
Having a VoIP hardphone on your desk is great – since they rely on IP addresses, you can pick them up and move them anywhere you like: just plug them back into your existing Ethernet network and you’re good to go. Another cool feature (though I doubt it’s usefulness in everyday situations) is that the BudgeTones have built-in syslog, which can send messages to your syslog server for debugging. Cool, but if your office has more than a handful of phones, the amount of messages could just get overwhelming.

The software
Finally, once the hardware was chosen (and this was no easy step), we installed the BudgeTones and began the process of getting Asterisk up and running. The first step, and since we had no experience setting up an Asterisk system before, was to start experimenting with some of the configuration software out there (FreePBX – formerly called the Asterisk Management Portal, and TrixBox – itself formerly known as Asterisk@Home). Unfortunately, we had quite a difficult time getting FreePBX up and running, and TrixBox was out of the question (it’s distributed along with a scaled-down version of Linux, so you have to reinstall your system and use it’s distribution in order to run the software). Well, we were using an old Sun Ultra 5 server we had kicking around, so reinstalling the system software was out of the question.

Once we got Asterisk itself installed, we then spent an enormous amount of time trying to find documentation. I have to say – I’m not pleased in the slightest with the Asterisk project’s documentation. They have a great system there, which looks like it has a ton of features, but I still have little to no idea how to use it all. Getting started with Asterisk is not for the faint of heart, and you’ll need to plan on spending at least a week before you’re able to get much of what you want it to do running properly.

Some of the resources I found most useful were the configuration files that came with FreePBX – you don’t have to use them, but there are some very helpful macros in there and example dialplans that helped me get started. Also, check out Voip-Info - there’s a lot of useful info there, though it can be daunting at first.

I think the best way to get up and running with Asterisk is to make sure you have no set deadline, and then to experiment. It’s not easy, but when you do get things running, it can be a lot of fun (especially playing with the included sounds in the asterisk-sounds project).

In the future, I’m going to put together examples of how we got our system running, so hopefully others won’t have as hard a time as we did in getting started. But in the end, we have a working phone system that I’m proud of, and I learned a great deal. And that’s what matters.

Share and Enjoy:
  • Digg
  • Reddit
  • Ma.gnolia
  • del.icio.us
  • BlogMemes
  • Facebook
  • Mixx
  • Furl
  • Google
  • TwitThis
  • Spurl
  • LinkedIn
  • Propeller
  • E-mail this story to a friend!

One Response to “Our new phone system”

  1. Rob Thomas Says:

    Happy to know that our dialplans helped you out! There’s a bunch of new stuff forthcoming in 2.2, which you may not have noticed… Here’s a link to trac’s current view of the SVN repository:

    http://freepbx.org/trac/browser/freepbx/trunk/amp_conf/astetc/extensions.conf

    –Rob

Leave a Reply