(For those RSS readers who didn't check out the comments on yesterday's post,yes, it was an April Fools day hoax.)
As you probably know, when I get into anything I take it to an extreme and often unreasonable level. Now my phone is no exception.
I already had a pretty cool phone setup. I ported my cell phone number to callcentric.com, a VOIP provider, who then forwarded it to my local cell phone. There were three problems with this, though:
- If I wasn't there, my call went to voicemail on my local cell phone. In Panama I forgot to write down my PIN when I bought the SIM card, so I was never actually able to check my voicemail. In other countries, like Thailand, where I don't speak the language, I can't figure out how to check voicemail.
- Callcentric doesn't have the best prices. That means that on incoming calls I might pay 15 cents a minute instead of 11.
- There was no way to make outgoing calls away from my computer.
So last Friday, frustrated that there was no good way for people to leave me voicemail, I decided to become my own VOIP provider.
I installed Asterisk on my server. Asterisk is a linux based open source PBX system. It's free, but very powerful. Some towns use it to run their 911 phone systems, companies use it to create annoying voice menus (press one to...), and it can even be used to build things like wake up call services.
What is really cool about Asterisk is that you can basically write simple (or complex) programs to route your calls. So instead of choosing between a few different features, you can write your own features.
And I did. I spent the entire weekend chugging away, dragging myself away only once a day to walk in the sun and eat at Casa Vegetariana.
Here's the rundown of my phone system.
I have 8 direct phone numbers (all free except for the $6/mo I pay to have my old cell #) in four different countries, which all ring directly into my system. I also have 120 shared access numbers which require me to call a local number and then enter a PIN, after which I'm in my system.
Half of the numbers are public and are posted on my tynan.tel page. The .tel extension is a clever new service that gives you one point of contact for all of your information. New phones will actually allow you to just put tynan.tel in for me, and then any time you call you will have my newest number.
The other half of my numbers are private, like my old cell number, for friends and family.
When you call my phone it picks up immediately without ringing, and a recording tells you your options. If I'm logged on to AIM, it sends me an IM telling me the caller ID of whoever is calling.
The first option is to leave a message. Sometimes I call people and just want to leave them a quick message without actually talking, so now people can do that with me.
The second option, only available on public numbers, will try to reach me at my local cell phone number wherever I am as well as by wifi. If I don't answer, the caller has the option of leaving a message.
The third option is to enter a password. If I enter my password I get a dial tone, which allows me to call anywhere in the world at very cheap prices (routed through Callwithus.com), or to check my voicemail. That means that in most countries I can call one of the local access numbers and then call back to the US for 1 cent a minute. The process is simple and the calls sound great.
I've also set the system up to e-mail me if someone calls and I'm not online. That means that I can check my e-mail from anywhere and see my missed calls. Voicemails also get e-mailed to me.
I have a few other features I might add in the future:
- The ability to call in and get a callback with a dial tone. This would be good for somewhere like DR where I have no local access number, but I can make a quick 15 cent a minute call to my system to get it to dial me back. Most countries don't charge for incoming calls.
- The option to record calls and/or change my caller ID on outgoing calls.
- Adding prioritized numbers, like friends I'm traveling with, which will get called if I don't answer my cell phone. It would say something like "I have a call for Tynan. If he's there, could you please hand the phone to him?"
- Text to speech of my voicemails. I call in and it reads the subjects of my e-mails, which I can then select to hear the whole thing. Text to speech has gotten really good and most pay as you go plans internationally do not support data, so I can't check my mail otherwise.
I think I may have the best personal phone system in the world. I can't imagine many other people going to these lengths to customize their phones.
But... if you want to, here's what you need to know:
- You'll need to get your own server for this. A VPS should work, and the best deals on them ($5 a month!) are here: Web Hosting Talk - VPS Offers. You probably don't need anything too fancy. If you want your own server, check out ServerADay, a division of OLM.net. Ask for a special deal in the comments with the specs you want, and they will give you a great deal. I have an amazing deal on my server and I love it.
- Asterisk is a bit of a pain to install. Use 1.4, not 1.6. You will think you need a GUI at first, but will later stop using it because it's easy to do stuff by hand. Since you won't believe me, go with Asterisk GUI.
- To do the IM stuff you will want to use the built in Jabber client. I run my own Jabber server with OpenFire, but in retrospect it was a waste of time to set that up. Don't use their Asterisk-IM plugin. It's less useful than the built in jabber features.
- The best resource, by far, on VOIP and Asterisk stuff is voip-info.org. Use it for everything.
- A DID (direct inward dial) is a standard phone number that will ring in to your system. You can get a bunch of free ones. Start at www.ipkall.com for an easy free US number. You can port your cell phone number to a DID for $6/mo through CallCentric. Here's a slightly outdated list of other free ones: Free DID Numbers.
- To get shared access dial in numbers, use Sip Broker and T Pad.
- For e-mailing you will need to write a shell script. This is annoying, but not as difficult as you'd expect. Use the System() command and the linux "sendmail" command.
If you want me to host your phone service, I will do it for $20 to set it up and $20 a month, using your own DIDs and outgoing service. It will be much cheaper to do it on your own, but some people may want service like this and not want to deal with the hassle of setting it up (I found it both frustrating and fun).
To get a glimpse of the system in action, you can call one of my numbers at www.tynan.tel.
A small P.S:
In the accounting post, a couple people complained that I'm not writing about pet penguins and swinging off of buildings anymore. I have a feeling these people may feel the same way about this post.
What you have to understand is this: When I started this blog I had a 10+ year backlog of adventures to share. Now I post them as I go, and I spend more time on more productive things.
There will be adventurous posts, but there will also be posts about whatever it is that I find interesting at the time. You may also find that interesting, or you may not. You can complain about it as well, I'm just writing this to help you set your expectations and decide whether or not you want to subscribe to this blog.