First, Twilio. This service lets you purchase local telephone numbers from almost anywhere in the country for just $1 per month, 1¢/minute inbound, and 2¢/minute outbound. This may sound like a lot, but it is actually quite cheap. For $10/month you can talk for 15 hours inbound. And you get a $30 credit when you sign up, so really you can have months of service without paying anything.
If you want a toll-free number, it is only $2 per month (standard pricing for most providers), 3¢/minute inbound, and 2¢/minute outbound. Again, this is very very cheap for low-volume usage. I’m currently using Kall8.net and paying 6.9¢/minute inbound.
To make it even cooler, all the local numbers have SMS capability. This means you can configure your local number to accept and reply to SMS messages, or you can configure your system to send SMS reminders to you, or forward inbound SMS to your cell phone, or whatever else you want to do with your SMS capability. SMS is only 1¢ per message (inbound or outbound).
So now you have this local or toll free number, and you want to make it do fancy menu stuff. This is where OpenVBX comes in. This super easy to install software lets you set up all sorts of menus, text-to-speech, voicemail, call forwarding, whatever. So I could have a number that when you call, it checks if it is 8am-5pm, and if not sends it to voicemail. If it goes to voicemail, the system will do voice-to-text and email me the text of the voicemail. Otherwise the call will go to a menu that lets you pick whether you want to talk to me or my wife, and then forwards the call to the correct cell phone.
I’m pretty excited about all this. I’m porting my toll free number over which should save me a few bucks a month, and am working on a whole new website that relies on Twilio. The ability to programmatically make outbound calls (without dealing with the tediousness that is Asterisk) is pretty exciting.