skip navigation

Valid XHTML 1.0!

Valid CSS!

This page is standards compliant and Section 508 accessible

End of navigation

My Asterisk Home Phone Setup

This is mainly a place to publish my dialplan for Asterisk so that other people can use it. Asterisk is phone system software for Linux. I use it to replace my home phone, with many more features than a home phone, and at a lower cost.

My system has everything you get with the most expensive local phone service, plus:

Downsides are:

I prefer to use regular cordless phones, so I bought "FXS" devices to connect my regular phones to Asterisk. I have a Sipura SPA-2002 and a Digium IAXy. The Sipura has many more features, a web interface, and two phone lines instead of one, so that's the one I recommend.

My VoIP provider (the way I make outgoing calls to the real phone network and receive incoming calls on my toll-free incoming number) is Vitelity. So far I have been very impressed with Vitelity's service. They ported my number in just over 24 hours after it had been dead with Nufone (my previous provider) for over a year. Their customer service is much more responsive, I even got a phone call at home from a manager because of an unusual request.

Nufone was my previous provider, and I still use them for outgoing sometimes. Their customer service is a bit intermittent (it can especially take a long time to get new orders through), but once set up they have very little downtime. They were highly regarded on the Asterisk users' mailing list, but they had a disaster with their toll-free DIDs which leads me to recommend against using them for DIDs. Regardless of the reason, their DID customers were suddenly left high and dry a couple of years ago with no service, and that is a serious thing to let happen.

If you decide to set up your own Asterisk server, you must get a router that supports QoS features. Especially if your connection isn't very fast (mine is currently 1.5Mbit down, 384kbit up), your calls will fall apart as soon as anything else happens on your internet connection. I use a Linksys WRT54G with a custom QoS script described on my QoS router page.

My current configuration files (last updated Dec 16 2005):

extensions.conf The main extensions file, all others are called from this one
caller_id.conf Functions to deal with callerID and number manipulation
calling_card.conf Allow incoming users to dial out
do_not_disturb.conf Handle the do-not-disturb feature
forward.conf Application to handle call forwarding
hangup_on_star.conf Turn on and off hangup-on-star feature
home_automation.conf Interface asterisk with home automation
misc.conf Assorted stuff that doesn't fit elsewhere
monitor.conf Record calls, monitor an extension
outgoing.conf Deal with outgoing calls
record.conf Record files used in menus
stdextension.conf Macro for defining each local extension

A tarfile with all the example files above is examples.tar.gz. All examples above are released into the public domain.

A talk I gave on Asterisk at the Boulder Linux Users' Group on December 9, 2005 is available in PDF format.