I recently wrote about Asterisk, the Free Software PBX. Well, I’ve completed the first stage of installation in our home and must say this is the most fun piece of technology I’ve played with since MythTV :-)
Here’s what we now have in our home:
- Local calls can be dialed like usual. By default, they will use a landline (aka PSTN line). If the line is in use, they’ll be routed over the Internet at a cost of 1.2 cents per minute.
- Long-distance calls can be dialed like usual. By default, they’ll use an Internet VOIP provider at a cost of 1.2 cents per minute. If the Internet or the provider is down, they’ll fall back to our landline, at the usual cost of 7 cents per minute.
- Toll-free calls can be dialed like usual, too. By default, they’ll route over the Internet for free using FWD, but if that’s down, they’ll fall back to the landline.
- Almost every phone in the house will have its own unique extension number. These all start with “11” so they don’t conflict with any public telephone number. So, no more running up or down two flights of stairs to ask a question.
- The IP phones in the house can also act as intercoms; when a special extension is dialed, they will ring once, then automatically go into speakerphone mode.
- We have call forwarding, 3-way calling, etc. without having to pay the usual high telco rates for these services.
- Call transfer is nice if one of us answers the phone, but the person wants to talk to the other person, who is in a different room. (And callers get to hear some nice music on hold while they’re being transferred.)
- To a regular caller, it sounds like we have an answering machine if we don’t answer. In reality, they are leaving a message on Asterisk’s voicemail system. The system e-mails us the audio message as an attachment as soon as the person is done recording the message. Also, an indicator lights up on every digital phone in the house. We can check the voicemail from any phone, in our house or not, using a passcode — or by listening to the attachment.
- By physically taking our IP phone to any broadband Ethernet port, we can make and receive calls on it almost like usual. Yes, if we take the phone to Indiana, and someone calls our Kanas number, phones in both Kansas and Indiana would ring.
- Emergency calls are routed over the landline like usual. In the future, I will set it up so that dialing 911 automatically disconnects anybody that’s using the landline, so the emergency services can be contacted immediately.
- All analog phones are automatically connected to the normal landline in the event of a power or network failure.
- “Ring all phones” feature that essentially simulates an incoming call
- Caller ID everywhere, both for internal extensions and for calls coming in from outside
- All sorts of other fun stuff I haven’t even tried yet…
Read on for a description of how it all works, and some hardware and vendor reviews…
At the center of it all is Asterisk. Asterisk is responsible for receiving and routing all calls, the fallback plans, etc. It’s a very powerful and amazing piece of software.
Our digital phones are Sipura SPA-841 models. These are amazing phones, usually selling at $85. The Voxilla Store has the best deal with free shipping, plus excellent service. The SPA-841 comes with one Ethernet port and a modern-looking digital interface. It supports all the bells & whistles, such as 2 lines, call forwarding, call history, personal directories, speakerphones, distinctive ring tones, etc. It’s also web-configurable, or can be configured via TFTP and XML files (very very nice if you have more than one!) The breadth of the configuration of these phon is just amazing.
Our analog telephone adapter (ATA) is a Sipura SPA-3000 (also with a good deal at Voxilla). This nifty little gadget sells for about $100 and has one ethernet port and two analog telephone ports. One of the analog phone ports is to be connected to the landline (PSTN) connection from your phone company. The other port provides line voltage, dialtone, ring voltage, etc. to phones in your house — that is, it simulates the phone company to them. So, your analog phones can dial VOIP numbers — and get the benefit of call routing over the Internet and the like — all without having to invest in more-expensive digital phones. We are keeping our cordless analog phone (cordless IP phones are not very good yet), and a couple in infrequently-used by nice-to-have locations.
The PSTN connection lets you use VOIP to dial out. In our case, Asterisk is the one doing the dialing out, so the PSTN connection is controlled completely by Asterisk.
One super-nice feature of the SPA-3000 is that it has an option to bridge the two ports together in the event of power loss or if it loses contact with the Asterisk server. This is great so your analog phones keep working even in an emergency situation. Some people might disable this, though, because of the shock of having long distance suddenly cost 6 times more than usual :-)
The next stage in the project is to run some network cabling in the house so we can deploy an additional digital phone and relocate the server and ATA equipment to a more convenient location. Cat5ECableGuy has some great deals on jacks and cable. Service seems to be good, too; will let you know when my order arrives.
I also have a Sipura SPA-1001 (single-line ATA for use with analog phones) that I’ll be deploying once the cabling has arrived. That will give the kitchen phone its own extension separate from all the others.
I have had a few hitches along the way. I first tried a cheapo Wildcat X100p clone from ebay. I found it to be unstable and cause asterisk crashes on my Alpha. The SPA-3000 is working much better.
The other hitch relates to disconnect supervision, which my telco doesn’t provide. That means there’s no good way for a machine to determine that the remote party has hung up the line. The SPA-3000 for some reason can’t detect the off-hook warning tone either, but I have some workarounds going.
I also found that multiple simultaneous uploads on my DSL link would flood the transmit queue and cause latency to be unacceptably high for VOIP to work. After some tweaking with the Linux traffic shaper and ToS bits in Asterisk, I think I’ve got that nicely worked out.
I purchased some of my early equipment from Telephonyware. Decent prices, but they appear to have lied about the shipping date, and didn’t return my e-mail asking about it. VOIPSupply had much faster shipping, but also really charges a lot for shipping & handling. Voxilla has good rates and fast service, so I’m using them now.
That’s a lot for one post… more to come next week.