I've always been disappointed with off-the-shelf digital answering machines that are available from your favorite retailer. The quality is never up to par, the features are never quite right and generally there a few features that I'm not interested in. And since every answering machine works differently, you must always keep the manual around in case you need to work simple features such as changing the message or setting up multiple mailboxes.
After years of frustration and living with sub-par answering machines, I've finally decided to create my own. Sure, it sounds like a daunting task, but thanks to Mark Spencer of Digium, Inc. we now have a fantastic piece of software to work with called Asterisk. Asterisk is a complete PBX system and well known in the VoIP world. While it is admittedly overkill for the task of a simple answering machine, it met my goals (Table 1) perfectly and offers nearly unlimited expansion as my needs grow.
|Short Term||Long Term|
|Table 1: Project Objectives|
Note: While I take the approach of editing configuration files to bend Asterisk to my purposes, you could also use the more user-friendly Asterisk@Home (AAH) to build your answering machine. See our previous article on AAH for more info.
The first part of the process was determining the operating system and hardware to use for the job. Being that Asterisk is licensed under the GPL, I decided to stick as much as possible to using open source software and that meant using Linux. While I'm no expert, I am most familiar with the Debian distribution so I decided to go that route. For those of you that aren't Linux users, an important point to remember is that everything in Linux is case sensitive.
We first need to create a bootable installation CD and since I wanted a minimal amount of software, I started by downloading the official netinst ISO image for Debian stable which is currently named sarge. I chose the i386 distro, as most of the hardware I have around here is Intel compatible. At only 108 Mb, it didn't take long to finish the download and burn the image to CD.
After much research, I determined that the hardware needs were minimal and almost any standard PC would do the job. The only specific hardware I needed was an FXO (Foreign Exchange Office) interface to provide connection to my PSTN line. There are many devices available, but I specifically wanted to keep everything as inexpensive as possible! I discovered that Digium used to sell a single port X100P PCI card that can be obtained on Ebay for $10.00-$20.00 (USD) delivered.
For the PC, I pieced together a system that consisted of an Athlon 850 MHz CPU on a Gigabyte motherboard with 384 MB of RAM, 10 GB hard drive and a CD-ROM drive I had laying around. I used an ATI PCI video card and since this particular motherboard didn't have Ethernet built in, I added a 10/100 PCI NIC.