Sunday, June 19, 2011

How to setup Google voice on your android phone to make free calls to any mobile or land line in the U.S.

Disclaimer: this is used fr educational purposes only to research on google voice and SIP's in general.

*UPDATE: If you already have a google voice account and don't really care about SIP and DID in general, just use GrooveIP from the Android market. (use the proxy from here to register for google voice if you're from outside the U.S.



Things you need
  1. Google account - this will be used to call your recipient in the u.s., your gmail account will do.
  2. SIP account - This will connect your phone to the Internet to receive and send IP based calls
  3. u.s. based phone number (DID) - this will forward your call to your SIP address
  4. IP Proxy to mask your IP Address - used when registering to google voice (since anyone outside the u.s. registering will be blocked)
  5. android phone - should work on any android phone (tested with CM7.0.3 running GB 2.3.3)
Step 1. Manage your proxy (you can also use other IP masking proxies for this, we'll just need this for about 10 mins anyway).
1. Go to www.lowerping.com
2. sign up (this will get you a trial account)
lp1.jpg

3. download and install the lower ping software.
4. Reboot your pc when prompted.


Step 2 Get an SIP account
1. go to www.IPtel.org
2. Click on "SIP Service"
iptel1.jpg


3. Click on "Register a New Account"

iptel2.jpg
4. Fill up the details (what's important is your Username and password, the username will end up as your SIP address ex.: MyUsername@IPTEL.ORG
iptel3.jpg
5. Accept and register the account.
6. check your email (you should receive an email from IPtel.org with your account details)

Step 3. Get a U.S. number.
1. go to www.ipkall.com
2. Click on Sign up

ipkall1.jpg
3. Fill up the necessary details
  • Account type: SIP
  • Area Code: Select your preffered U.S. Area code for your number (any will do since this won't be your public number)
  • SIP Username: SIP Username you used in IPTel ex. MyUsername
  • Hostname or IP address: IPTel.org
  • Email Address: your email add
  • Password: your password
  • # of Seconds... : 120
ipkall2.jpg
4.Click on submit.
5. Check your email
6. you should receive your IPKall phone number after a few minutes.

Step 4 Test your SIP account
1. Now on your android phone, Go to market and download CSIPSimple
2. Install the app and follow the setup guide
3. use default settings and create an account(username:MyUsername, Server:Iptel.org, password: your IPTel Password)
4. you should end up with something like this on your account settings

csip1.jpg csip3.jpg csip2.jpg
5. If it says not registered then check your account settings on IPTel.org
Note: if you're running gingerbread (Amdroid 2.3.3), there's already a built in SIP client on your OS. Settings > Call Settings > Internet Call Settings
Step 5 run lowerping.exe
1. login using your trial username and password

lp2.jpg
2. click on "web surfing beta" - chrome / firefox / IE (depends on your browser)
3. close all instances of the browser you selected and open them again. lp3.jpg

4. go to www.speedtest.net

Speedtest1.jpg
5. your location should now be in the u.s.

Step 6 login to www.google/voice
If you are still getting this page, restart your pc. run lowerping first before opening any browsers
then do step 5 again

gvFail.jpg
If it still won't give you a proper proxy then try another Web Proxy client
open the browser you selected on step 5 and test.
If you are getting the following page then you're good.
gv1.jpg
  1. Click on I want a new number (select a number, or phrase.
  2. Click Continue
  3. Enter a 4 digit pin and accept the terms and conditions
  4. Click Continue
  5. Enter yoru IPKall number that was emailed to you. and select "work"
  6. Click Continue.
  7. once on this screen make sure your android phone is connected to the net (3g or WLAN)
gv2.jpg

8. click on call me now.
9. you should receive a call on your csip app
10. answer the call and open up the dial pad and enter the verification code.
11. Click Finish.

gv3.jpg

Great you're done registering your google voice!.

but we're not done yet, you could use the google voice software from google now however every time you make a call using that it'll charge you for long distance calls to google voice servers to connect your call.

quite expensive...
so what we'll do is go to market and search for an app called "Google voice callback"
Step 7 setting up google voice call back

1. Username and Password should be your Google account.

gvc1.jpg
2. Callback number is your IPKall Phone number.
gvc2.jpg

3. Save the account info and we should be done.

Step 8. Test everything
1. on your android phone Make sure you're connected to the internet (3g or wlan)
2. open up CSipSimple and make sure SIP is registered.

csip2.jpg csip3.jpg

3. open up phone dialer (the one you use to make normal calls on your phone not the CsipSimple dialer.)
4. enter a u.s. number (your intended recipient)
5. Dial it.
6 a pop up should appear asking to use Google voice call back or normal.
7. choose normal if you want to waste phone credits, otherwise select google voice callback.
8. wait for google voice callback to work.
9. you should receive a phone call from your google voice number.
10. answer it and it'll call your intended recipient.

And we're finally done!.
now there are times you'd make a call and you can't hear anything but the person you're calling can hear you fine.
I'm not sure yet what's causing this (most likely IPTel.org or your SIP client). you could also try using AGEPhone from market and see if it works out for you, another alternative is the built in Internet calling feature if you're running gingerbread 2.3.3
Also your google voice number is attached to your google account and you can use it's features like SMS, voice mail etc... you can use it without a proxy as well
(uninstall lowerping.com or keep it).



Enjoy!