I’ve always wanted a home phone that doesn’t suck. I like the things that my cell phone gets right: it syncs my list of phone numbers from my computer. It tracks my recent calls, and makes it easy to redial off of the list. It does a decent job with caller-id, and even does a nice job with call waiting. Unfortunately, it’s also too small to be comfortable for long-term use, too expensive if I over-run my monthly minute allotment, and has lousy service inside of my house.

Over the years, I’ve looked for a home phone that can do at least a few of these things:

  • Cell-like phone list, synced from computer
  • Flexible voice mail, ideally available via email
  • Programmable, so I can do things like automatically block calls from people that I don’t want to talk to
  • Usable, with a simple list of recent incoming and outgoing calls
  • Multiple internal extensions, with internal calls between extensions

In 2000, we bought a Siemens “gigaset” cordless phone system, largely because it could support multiple cordless handsets, sync phone books between them (although not very well), and did a decent job integrating caller ID and a basic answering machine. Unfortunately, it started coming apart as soon as the warranty expired. Less then 1/3 of the pixels on the base station’s LCD now work, rendering caller ID worthless and making it impossible to navigate the system’s configuration menus. The cordless handsets died like flies, although that was mostly Gabe’s fault–they were his favorite toy for a while. Any time that we left one within his reach, he’d chew on it for a while; toddler spit and electronics don’t mix. Also, the 2.4 GHz cordless system doesn’t mix well with wireless networks. More recently, the base station has been resetting itself several times per day, usually in the middle of incoming calls. In short, it’s time for a new phone.

Except, after careful research, we’ve concluded that all of the available choices suck. The only thing that’s happened since 2000 is that higher-end cordless phones have moved from 2.4 GHz to 5.8 GHz. There are a few models with extra gizmos—I saw a cordless phone set with bluetooth this weekend—but none of the gizmos seem to be particularly useful. Case in point: the bluetooth cordless phone’s big feature is that it allows your PC to use Bluetooth and connect to the modem built into the base station, so you could dial out without a phone line. Yawn. I’ve been waiting four years for this?

So, I decided to take another look at open-source Voice-over-IP products, just to see if they were still a year or two away (and holding), like they have been since 1999 or so. Amazingly enough, progress has been made. Amazing amounts of progress, in fact. The Asterisk open-source PBX has just reached version 1.0. It needs more documentation, but with a bit of time (and a bit of Google), you can get it to do amazing things. It comes with a full voicemail system, including professionally-recorded prompts, and it can be used to set up arbitrarily complex IVR (“press 1 for sales…”) systems.

Of course, this would be useless if you couldn’t connect it to real phones and phone lines. Asterisk is sponsored by Digium. They sell a line of PCI interface cards that let you plug traditional analog phones and phone lines into Asterisk, from one analog line at a time up to 4 T1s at once . You can also buy hardware VoIP phones, either Ethernet or wireless, from around a dozen vendors, starting under $70.

So, my plan right now is to install Asterisk and a couple PCI cards in a server at home, get that working, and then buy an Ethernet VoIP phone with a big display for the kitchen. Several of the mid-priced VoIP phones can download phone lists over the net, and Cisco’s phones can be programmed for a number of XML services.

The first phase of the operation is already complete; Asterisk is up and running at home. It’s providing analog phone service through an older cordless phone that we had sitting in the closet and handling voicemail. At this point, it’s no harder to use then the old Siemens setup, and the Asterisk one hasn’t dropped any calls yet, unlike the old unit. It was a pain to configure, but it really wasn’t any worse then setting up a open-source email system for the first time. There were a few teething issues, and there’s still some tuning to do, but it all works right now, and that’s already a step up from the old system.

Over the next week or two, we’ll add a nice VoIP phone to the kitchen, where 90% of our home phone use occurs, and maybe a cheaper phone for my office. I’m also planning on moving at least some of our long distance phone calls onto one of the cheap VoIP providers (probably NuFone), although I’m not convinced that the quality is really there, given my slow DSL link at home.

I’ll also do a bit of programming. I have all of the basic infrastructure in place to tie my Mac’s address book into Asterisk, both for Caller-ID re-writing and for feeding to Cisco’s phone’s dialing directory. Once that’s complete, I can move on to exporting voicemail and caller ID history via RSS.

That’s the real fun of open source—it’s all of the interesting combinations that you can get when take the tools provided and stretch them into doing what you want them to do.

Also, it provides an outlet for the occasional urge to apply massive overkill to things.