Google Voice + Sipdroid = Transparent Free International Calls
March 15, 2010 11 Comments
Android is really exceeding all of my expectations. One fantastic feature of the Android platform is that all of the apps are on an equal footing. Third parties can hook into Intents and even replace whole features. Even the dialer.
Enter Sipdroid which is an open source SIP IP phone protocol client for Android. Sipdroid can either replace the dialer entirely, replace it when you have data network support or just hook the dialer so that when you dial a number ending in + with the built-in phone app, the call is made via Sipdroid.
Sipdroid works best with a freemium virtual call routing service, pbxes.org. Pbxes.org appears to be based on Asterisk and is sponsoring the development of Sipdroid. Google’s Gizmo5 “Guava” app is based on Sipdroid.
Things are tricky to set up mostly because of a derth of documentation and misleading error messages, but here is the gist:
- Sipdroid talks to pbxes.org (theoretically not required)
- Pbxes.org has one or more “trunks” which are logical phone lines. The trunk is a way to connect your 3rd party SIP phone account. (Pbxes will suggest some if you don’t already have one.)
- Pbxes.org has one or more extensions and inbound and outbound routes. At its simplest, there is one trunk, one extension, one inbound route.
- If you want to be able to send calls, then Pbxes needs an outbound route.
Sipdroid has several codecs so it can automatically scale the call quality to the available bandwidth. in the screenshot below, I have a call over Edge at 11Kb/s using thespeex codec.
This is fantastic because what it allows me to do is have a SIP phone number in the USA that forwards calls to my phone when I am overseas as long as I have data service from the GSM network or from WiFi.
Voice Makes it Transparent
I want something even better. I want a single voicemail box and I don’t want people to have to know to call my SIP number. I want it all to be transparent. The key to this is doing an unconditional forward of my old number to Google Voice.
While pbxes.org offers basic voicemail service and will even email you an audio file, what I really want is to use my Google Voice voicemail.
You need a Google number and then use Google Voice to ring the SIP number and my Skype-out number, too. Google Voice says that it will only forward SIP calls to Gizmo5 accounts but it will actually forward to anything that has a dialable phone number.
It’s important to set the call timeout as long as possible on your SIP service to make sure that Google Voicemail will kick in before a network error does. Also, be careful not to create a dialing loop. If you are forwarding calls from a number to Voice, don’t have Voice dial that number. (See above where Voice is not dialing my AT&T number because that is what is forwarding to my Google number.)
Once I Google Voice is set up to forward to Sipdroid (and Skype), I can turn on forwarding of my old telephone number to Voice anytime I am going to be out of the country and I present a single number to the outside world and people can call me overseas without incurring any long distance charges. It is totally transparent to them. They don’t have to know about any of these numbers used to route the call.