My VOIP home phone setup using trixbox
I've generally been content not having a physical phone line at home and using my cell phone instead. I'm not much of a phone person anyway, my back yard looked a lot nicer when Verizon cut down the unsightly cable, and it's certainly a cost savings. But sometimes, I still long to have a regular old phone sitting on my desk that I can pick up and make a call on. Recently, for various reasons, I've been playing with having just that setup, but with a twist: my new home phone setup is run on open source software, and the conversations are carried over my broadband Internet connection.
Here's my configuration (perhaps mostly for geeks, but hopefully also for anyone who's interested):
I started with an old 433MHz Dell desktop system with a 3.2GB hard drive that Mark had laying around, and beefed its memory up to a whopping 128MB. Other than that, it's vanilla hardware, probably something you could even find in a dumpster behind your friendly neighborhood office complex. I plugged it into a battery-backup power supply, connected it to my local network, and stuck it in a closet where the noise wouldn't bother anyone.
From there, I decided to use the FREE trixbox PBX all-in-one telephony system, because trixbox (which is based on Asterisk) has all the software you need to run anything from a simple home phone system all the way up to an enterprise-level call center. Installing trixbox on the hardware was amazingly easy - I popped the CD in, rebooted, and it did the rest. It took care of installing the operating system, the phone system software, and all of the other packages I could ever want. When it was done, it pointed me to a web interface that I could use to administer the system from there. I practically didn't even need to have a keyboard attached, and I certainly didn't have to mess with logging in on the command line and puttering around with configuration files. And, I get visual displays of call activity, e-mail and web access to voicemail, vital stats on the hardware, and lots more. Wow. Did I mention it's free?
At Summersault, we're using IP phones, which are basically phones that plug into the network instead of into a phone line. This is convenient because you don't have to run copper wire everywhere (that's a good thing to keep in mind if you're trying to convert a high school into a national communications center for a Presidential Debate, eh?), and I could do that at home too and just take advantage of my local network setup. But, I decided that I wanted the flexibility of using regular old phones that I had laying around (especially the one with a wireless handset), so I bought a Sangoma A200 card with 2 FXS ports on it. That's basically a fancy way of saying I bought a thingamajig that went in the computer that allowed me to plug a phone into it.
Then I had to figure out what to tell my system about how to route phone calls. In other words, when I pick up a phone and punch in some numbers, where should the call go? That's part of the beauty of a VOIP system...I can set things up however I want. I could have an extension for the kitchen, and one for the basement, and maybe a shortcut that goes straight to a family member's home number, and...the possibilities are endless.
But I kept it simple, don't worry. Long distance calls are routed out through the CallWithUs.com service, which charges a flat fee of 1.38 cents per minute (that's $0.0138, Verizon) to calls in the U.S., and I can refill my account there through quick and easy PayPal payments. No federal taxes, no start up fees, no monthly charges. Beautiful.
Local calls are a different story. I *could* route them through CallWithUs, but it doesn't feel right to pay a per-minute fee for something that is traditionally "standard" in a normal phone setup. I could call Verizon and have a physical land-line put in (my Sangoma card has a port for that too), and just route all my local calls there, but then I'd have those pesky monthly fees whether I used it or not. The solution? For now, I'm telling my VOIP system to talk to the VOIP system at Summersault, and use one of the company's available phone lines for outgoing local calls. Cool!
(Just think about all of the business phone lines that sit around unused during evenings and weekends, and how we could save lots of dollars by making better use of them, especially as a part of good local infrastructure planning! Mark and I have even joked about making "local phone calls" an employment perk, but we're not sure that would be a real selling point, yet.)
Incoming calls are a slightly different matter, and I haven't gotten that far yet. CallWithUs, Sipphone and various other providers like them offer dedicated local phone numbers for dialing in (sort of like you can get with Skype) for as low as $6.50/month, usually with a certain number of incoming minutes free. I'm not sure we need that yet, but however it might get setup, the features for handling incoming calls in trixbox are extensive. We could have it ring right through, or go into a menu system ("press 5 if you are calling to sell something..."), or go to voicemail, or forward to a cell phone, or....phew. One thing at a time.
So, that's the setup for now. It's definitely overkill for my simple home needs, but I enjoyed putting it together as a part of a proof-of-concept, and it's neat (as a geek, anyway) to have that kind of control over every aspect of your phone setup.
There are lots of places to turn to if you want to try some of this yourself. I learned a lot of what I know about VOIP and Asterisk-based phone systems through my work in transitioning Summersault's phone system to that setup. I can certainly recommend the books Switching to VOIP and Asterisk: The Future of Telephony (which, in addition to being available in sturdy book form, is also available free to download). They're definitely geared toward folks who are ready to dive into the guts of telephony software, but they're still accessible to those just wanting to learn more about phone infrastructure and what's possible with VOIP.
And of course, through Summersault, I'm available to consult on these matters for home and business use, though I can't promise that I'd feel comfortable charging for all of my time, since it's just so much darn fun.
Update on 10/16/2007: I've now added an incoming phone number (DID) to the setup, also through CallWithUs. At $6.50/month with 2,000 free minutes included, it seemed like a great deal when the need arose. And it's especially nice that they let you set your own outbound caller-ID, so all of the calls appear to come from the new number, making return calls even easier. Nice!