My Very Own Phone System

Okay, so I’ve now hacked my home phone system. The ultimate goal here is to make it so that we don’t pay so much for a land line we hardly use. However, we still want a home phone system. By popular demand (HT: Jim, Melissa), I’m posting what I’ve done so far and what I plan to do still.

Phase 1: Build a PBX

I have this old desktop machine sitting around that has been my guinea pig over time for various projects. It’s a P2 933MHz (or something) and works pretty well in this role for being 8-10 years old. It’s last job was to run Windows XP so I could runt he upgrade software to install Android 2.1 on my phone, though that actually failed because the computer only has USB 1.0 and the upgrade required USB 2.0.

Before that, it was an experiment to setup MythTV, which worked, but I decided I didn’t want to buy the hardware required to make a box work when we almost never watch anything on TV with Netflix and Hulu. That would only be really beneficial if I was more into sports.

Anyway, I digress…

I started off using The Incredible PBX, which is a distribution of Centos Linux, Asterisk, and FreePBX. Setting that up with Google Voice and SIPgate was pretty easy. I just used the instructions at The Incredible PBX.

Once I could get that done. I was ready to move on to phase two.

Phase 2: Installing a VoIP Gateway

I purchased a LinkSys SPA-3102 to handle the VoIP gateway. This box now runs a little over $60 and works as a router with one WAN port and one LAN port (I really only need one of these ports) and two voice ports. One FXS port for connecting to the PSTN (Public Switched Telephone Network) and one FXO port for power the house phone line. Utlimately, the FXS port will be unused, but by having this available, I’m able to install the VoIP system in phases without the risk of the phone system being down for a long time while I get everything figured out. If nothing else, I can always reset the box to the factory original settings and it works just like it wasn’t there.

In the process, I had to correct some deficiencies in my home phone network, which is pretty badly spliced together. It’s still badly spliced, but it’s a little better now.

Once it arrived, I installed the VoIP gateway and it just worked, which was pretty nice of it.

Phase 3: VoIP Gateway and PBX Together

I have just completed phase 3 of the process, which is to set up the trunk, extension, and routes in FreePBX/Asterisk and then setup the SPA-3102 so that it talks through the Asterisk server. This was pretty complicated. I found a couple different sites to help, but a HOWTO on FreePBX’s site got me about 95% there.

It did take some experimentation and I did need to setup the Line 1 interface as an extension too, but it works now. When a call comes in, it gets routed into the 700 extension group, which rings the house extension and any softphones we want to setup. I have it setup so that dialing out routes back out of this line, and it works. I also made sure to create a special emergency route that allows 911 calls to be routed out properly as well.

Still to Come

Okay, so this gets me to the point where I can start to experiment with the PBX to see what we can do with it. Things that come to mind are setting up night mode, where we can keep the phones from ringing after the kids are in bed unless the caller dials through a screening process. I can also setup dial-out through other services, which I’ve started to do, but haven’t finished. We also have fancy voice mail if we want to use it instead of the answering machine, we can have music on hold (woo-woo), etc. I haven’t figured out quite all I want to do with the box yet.

However, the ultimate goal is to reduce the cost of this line, which means I need to port the phone number to some other phone service that’s cheaper than the PSTN. The prime candidate at the moment is Twilio. They have an app called OpenVBX, which sets up a private service that resembles Google Voice, but much more configurable. I can use that to ring a my phone at SIPgate, which will ring the house phone. Then, I can configure even more fancy things on the OpenVBX server, which will give me voicemail with SMS and email integration and transcriptions. I can ring our cell phones when someone calls the house and get all kinds of other whizbangs, for a $1/mo phone number + a few cents a minute in charges.

So, that’s what I’m experimenting with now.

Cheers.

About this Entry

This page contains a single entry by Andrew Sterling Hanenkamp published on September 19, 2010 8:05 PM.

OWASP Top Ten was the previous entry in this blog.

Find recent content on the main index or look in the archives to find all content.