This post is about how to run Google Voice on your Android Nexus S phone for people who live in Canada. It involves spoofing your IP address to create a Google Voice account and using a web-based telephony application called Twilio to get a US number.


Below is a process flow diagram showing the connections and the costs:

For those who love the visual voicemail feature of the iPhone, making the switch to an Android phone can be very challenging, since most of the carriers use the old-school voicemail system where they make you listen to each message in sequential order and append each message with the agonizingly slow robot voice, “you…have..a…message…from…6-0-4-2-5-5…”.  I realized this when I switched from using an iPhone 3G on Rogers Wireless to a Google Nexus S on Wind Mobile.  I tried to find apps that could do visual voicemail, but the only thing that seemed to do the job was Google Voice, but its not available in Canada.  The more I looked into Google Voice and all its rad features like voice to text and the ability to save all voice messages, the more I felt compelled to somehow find a way to get it.  Here’s how:

 

Step 1: Create Twilo Account

To use Google Voice, you need to prove you own a US phone number.  Thankfully, you can easily buy them for only $1/month from Twilio.  Twilio is a web-based telephony application that has revolutionary implications for what we can do with phone and text messages.  There are other similar companies like Tropo, but I’m more familiar with Twilio.  Don’t be scared by how complicated it looks.  You don’t need to know any programming to use it.

First go to www.twilio.com and click on “Try Twilio Free”.  Follow the instructions to create your account.  Next, you’ll need to buy two phone numbers: one local Canadian and one US (pick one from your favourite state) by clicking on “Numbers” and then “Buy a number”.

You’ll be using the US Twilio number to verify to Google Voice that you own a US number, as well as for setting up your voice message(s).  The reason you also need a local Canadian number is because most carriers (such as Wind Mobile who I am with) do not allow you to forward your voicemail to a US number (your Google Voice number).  So, what we’ll be doing is forwarding to a local Canadian Twilio number, which will then forward to your Google Voice number.  Confused yet?  Don’t worry.  Read on and it should hopefully make sense by the end.

Each number costs $1 per month, as well as $0.01/min for incoming and $0.02/min for outgoing.  Twilio automatically gives you a $30 credit, so this already gives you 6-10 months worth of usage for free.  After you’ve used up your free credit, it will cost you about $3-5 per month, depending on how many people leave you voice messages and how long each message is.  Each voice message is $0.03-$0.06, depending on how long the message is.  You can do the math to figure out how much it will cost based on how many people you know leave you voice messages in a given day or week.  Please note that depending on your phone plan, this cost can be offset by removing your voicemail feature from your phone plan.  For Wind Mobile, this is a $5/month savings.  I happen to have the $40/month unlimited everything plan where voicemail is included, so there’s no savings for me.  Regardless, I still find having Google Voice totally worth it and I’m convinced you will as well.

 

Step 2: Create Twimlet Call-Forward

To help people who know nothing about programming do cool stuff with Twilio, they’ve developed some very handy code snippets in Twilio Labs called Twimlets. These allow you to forward calls, simultaneous call numerous numbers, and other useful stuff.  We’ll be using the Call-Forward Twimlet.  Click on the following link http://labs.twilio.com/twimlets/forward and add your Google Voice number at the bottom in the field that says “Phone Number”.  Then click the button “Generate a Twimlet”.  Your Twimlet code should look something like http://twimlets.com/forward?PhoneNumber=5031234567&, where the number at the end is your Google Voice number.  Copy this code.

Go back to your Twilio account and click on the “Numbers” tab.  Click your local number you purchased.  In the field that says “Voice Request URL”, paste the Twimlet code and then click “Save Changes”.

Repeat the process of creating a Twimlet for your US Twilio number but this time enter your cell phone number.  Go back to your Twilio account and click on the “Numbers” tab.  Click the US number you purchased.  In the field that says “Voice Request URL”, paste the Twimlet code and then click “Save Changes”.

 

Step 3: Spoof Your IP Address

Unfortunately, Google Voice is not yet supported in Canada.  However, if Google thinks you are American, or living in the US, then you can get a Google Voice account and use it in Canada.  You can do this by either applying for a Google Voice account when you happen to be travelling in the US, or by spoofing your IP address to make Google think you are applying from within the US.  Your IP address (Internet Protocol address) is a unique numerical label assigned to each device that’s connected to the internet. Think of it as a geographic address that gives away your approximate location. Anytime you access a website, that website knows where you are connecting to it from.  Kinda freaky, huh?  If you’re curious what your IP address is and its associated geographical location, simply visit this website: http://whatismyipaddress.com.

There are many ways to spoof your IP address.  I recommend Hotspot Shield, which is available for Windows and Mac OS.  Simply download the Hotspot Shield Free version and follow the instructions.  Once you’ve successfully installed Hotspot Shield Free (or equivalent) and have it running you will notice an icon in the upper tray (Mac side) and all you have to do is right click on it and connect. Hotspot Shield will open a new browser window indicating that you are now connected.

By the way, you can spoof your IP address to access many other US-only products, such as Google Music, the Android Music Market, Pandora Radio, Hulu, etc.

 

Step 4: Create Google Voice Account

Once you’ve successfully spoofed your IP address, or accessed Google Voice from the US for real, then visit the Google Voice website (https://www.google.com/voice) and apply for an invite if you haven’t done so already.  Once you receive the Google Voice welcome email, you should be able to access your Google Voice account.  From here on you can just continue with the basic set up of Google Voice.

First, choose your Google Voice number:

Second, you will select a 4-digit pin for your voicemail at Google Voice:

Third, add a forwarding phone.  This is the most important step as you must have a US number to associate with your Google Voice account.  Enter the US Twilio number you purchased.

 

Step 5: Verify your Google Voice Account

Next, click “Continue”.  You should see something like this:

Click the “Connect” button and Google Voice will call your US Twilio number, which because of the Twimlet call-forward, will call your cell phone.  You will be prompted to enter a code (usually 2-digit as shown above).  As soon as you enter the code, your Google Voice account will be verified and you should see this:

 

Step 6: Create Google Voice Message

To create a voice message in Google Voice, click the “Voicemail & Text” tab in Settings.  You can create as many as you like, for personal, business, when you’re away on vacation, or to respond to a specific phone number.  Check out the help section and videos to learn more.  Start by creating just one regular generic message by clicking on “Record new”.  Give the voice message a name and then click “Continue”.  Select your US Twilio number in the drop-down list and click “Connect”.  Google Voice will then call your US Twilio number, which will forward to your cell phone, and ask you to leave a voice message.  Simply follow the prompts.  Because of the nature of the call-forwarding, this process may take a few times to work.  Be patient, it will work.

 

Step 7: Change Call-Forwarding Settings on Google Nexus S Phone

Go to your Google Nexus S phone and click on the Settings button.  Then select “Call settings”, and then “Call forwarding”.  Change the phone number on “Forward when busy”, “Forward when unanswered”, and “Forward when unreachable” to your local Twilio number.

Under the “Voicemail service” section in the Voicemail settings on your phone, make sure “My operator” is selected instead of “Google Voice”.  This is because of the Twilio call-forward.

 

Step 8: Set up Google Voice App

Your Nexus S phone should automatically come with the Google Voice app.  You should be able to find this by clicking on the bottom-middle button to select all apps and scroll until you find it.  If not, you will be able to download it for free from the Android Market.  It looks like this:

Click on the app.  It will ask you which Google account to link it to.  Select the account that you created your Google Voice account with and sign in. Next, you’ll need to select your US Twilio number as opposed to your Google Voice number.  Lastly, you’ll need to choose what calls you want to make from your Google Voice number, as opposed to your normal cell phone number. Select “Do not use Google Voice to make any calls”.

 

Step 9: Test Google Voice

Now have someone call you and ignore the call so that it goes to voicemail.  It should work.  You should notice your phone will automatically vibrate (you can change this in your Google Voice settings) and  the Google Voice icon message indicator should appear at the top right of your screen.  Select the Google Voice app and you should be taken to the voice message that should look something like this:

You’ll notice the voice message has been transcribed (not perfectly, but usually good enough) and you have a slider where you can skip around, fast forward, rewind, etc.  When you have a number of unheard voice messages, you’ll be able to see who they are from and select which one you want to hear/read first, similar to Visual Voicemail with the iPhone.  You can archive, delete, flag any message.

You can also access all your voice messages online through the Google Voice web interface https://www.google.com/voice.  I really like this because I can search the contents of all my voice messages, just like I might search through emails for a specific message using a keyword.

Lastly, Google Voice will also email you your voice messages, so even if your phone is lost or your battery is dead, you can still access your voice messages.

I hope you’ve found this blog post useful.  Feel free to leave comments.

 

Here are some other articles and posts on the same topic:

http://www.wifitalk.ca/iphone/howto-google-voice-in-canada/

http://www.mycellphonemyterms.com/General/2010/09/getting-google-voice-to-work-in-canada/

https://groups.google.com/a/googleproductforums.com/forum/#!category-topic/voice/account-credit-security-and-privacy/pDe_5aJ-X5A

http://iphone3ghacked.com/2009/09/09/how-to-use-google-voice-in-canada/