Building a Phone System: Part 1
Wednesday, March 07, 2007, at 03:42AM
By Eric Richardson
Monday I started build-out on a new phone system for the office. I've never done this before, so I thought it might be cool to document the process here.
I got hired by Cartifact as a programmer, but it's not exactly my nature to stick just to that. I have a penchant for thinking I can do all sorts of things, so this fall I wrote up a proposal to replace our aging, cumbersome PBX with an Asterisk system and VoIP phones. The bosses gave the go-ahead, and now here I am building a phone system.
The Goal
At the office we have an NEC PBX that's been nothing but trouble since they had it installed. It's apparently impossible to find someone who knows the system to come and work on it; a couple times the company's paid people to come in only to have them sit there reading the manual. Configuration is done via a Windows app, but the program is a wrapper around key sequences that were made to be entered via the keypad, so it's anything but sensible in how it presents options. The result is that we've got a system that 90% works, but has never quite been all there.
The idea of a 100% software phone system really appeals to me. It says "anything you can think of is possible."
Building a Server
Asterisk is software, so it needs a host to run on. We didn't have a suitable box sitting around, so I built a server using a Supermicro SuperServer 5015M-MT+, a Xeon 3040 CPU, 2GB RAM, and a pair of 180GB SATA drives. The parts came in Monday, so I built up the box then.
I'm a Debian guy, but Debian Stable doesn't have the drivers for the Intel ethernet chipset on the Supermicro motherboard. I ended up going with Ubuntu server edition, which installed perfectly.
Monday afternoon I had a brand-new 1U rackmount up on the network with a fresh Linux install, waiting for action.
Connecting to the PSTN
The basics inside the office are very straight-forward: Asterisk server and VoIP phones. The real question is how you connect to the rest of the world. You can either buy interface hardware to connect to the PSTN right at the server, or you can trunk via IP to a provider who then interfaces you into the phone network.
The IP trunking solution was immediately more appealing, but for a while I wasn't confident I could come up with the bandwidth to support it. A big driver was cost: If I could get rid of the cost of our phone lines I could put that money into bandwidth and improve the general internet situation in the office.
Finally I found some great bandwidth via XO Communications, so in a few weeks we should be getting 5Mb ethernet service into the office. That allowed me to go ahead and decide on the IP trunking, thereby cutting out the extra hardware and lowering our upfront costs. I haven't chosen a provider yet, but I'll be getting into that more later.
Starting the Install
Yesterday I installed Asterisk and the GUI from Asterisk Now!, but just barely got to take a look at it before the day was over. I'll be doing some of that today, playing with interfacing soft phones with it.
Today I'll also be ordering a couple different handsets to check out before we make our final choice. Right now my leaders are the Polycom SoundPoint IP501 and the Linksys SPA942.
More soon as I get farther on this.