Howto: Google Voice Calling over VoIP with native Android Dialer
Google Voice is a service that allows users with a Google Account and US phone number to use Google Voice's innovative features including Intelligent call forwarding, free calls and text messages to North America, and functional visual voicemail. This is all synced across computers and Android devices with the Google account.
During the registration of Google Voice the user is able to select a local phone number for use with the service. This number is used to send and recieve calls and messages.
Google Voice can be used to directly make free calls through Gmail on a PC. There are also third party mobile apps such as Talkatone on iOS and GroovIP on Android that can be used to make and receive voice calls over Wi-Fi and mobile data.
There are also apps for use as SIP clients that can be used with Google Voice.
SIP Service is like a complex internet telephone system. SIP Functionality is included as a native, built-in part of Android 2.3 Gingerbread and above. There are many guides on how to setup Google Voice for SIP on Android posted on various blogs and forums but most of them lack the proper steps needed to make the SIP work with the native Android phone app instead of using third party apps from Google Play.
This requires 2.3.x (Gingerbread) or 4.x.x (Ice Cream Sandwich), does not work on most tablets, and does NOT require rooting.
If your carrier has disabled SIP or Internet Calling on your stock ROM this cannot work on stock. You would need to flash a custom ROM if the functionality is disabled. You can check this in Call Settings.
Setup Google Voice
This setup is for users that do not have an existing Google Voice account. If you already have activated Google Voice (which you can check by going to google.com/voice) you should skip to the next step.
Setting up Google Voice must be done from a computer and not a mobile device.
Go to google.com/voice and sign in with your Google Account. Most Android users should already have a Google Account.
After you sign in to the main Google Voice interface, click the “Upgrade” link (to the left side under Credits)
At the first part of the setup, choose the new number option. Porting a mobile number means it would take days to transfer the number. However, this is a good idea if you plan on canceling your current mobile service and want to keep the same phone number for Google Voice.
Sprint users can integrate their existing mobile lines into Google Voice due to a partnership with Google. This is not the same as porting an existing mobile number.
If you selected the new number option (recommended) at the next screen you will see an screen to search for and select a phone number. You can search by area code and/or phrase. This is useful for selecting a local phone number. Choose carefully, the only way to change your number after confirming it is to pay $10.00 USD in Credits to select another one.
For the next step you will need to confirm the number from another phone registered in the United States. This number can be a landline or a mobile as long as it can receive voice calls. Google Voice is only available in the United States at this time, however if you are in another country and you have a US mobile phone you can verify the number.
You will need to enter your existing phone number and Google's automated phone system will call the number and speak a confirmation number to enter into the setup. After entering this number the process will be completed.
Addtitonally you can now explore the Google Voice settings or move on to linking the Google Voice account to a new PBXes.org account. (This is the account that enables the SIP connection to make voice calls directly from your phone.
Integrating your Google Voice account with a new PBXes.org account
The next process requires downloading a SIP app from Google Play. This third party app has the ability to automatically create a new PBXes.org account and add the settings to connect to Google Voice. This can be done manually, however that would require many more steps and settings. You can find these manual instructions on the PBXes.org forums.
Before you download the SIP app you need to setup the official Google Voice app on Android.
Go to Google Play and download Google Voice.
Follow the Setup steps when you start the app for the first time. The app may try to accept voicemail from your standard mobile number instead of using your carrier voicemail service. This allows you to use Google Voice for visual voicemail which allows you to read and listen to messages on your Android and computer. If you do not want this choose the skip option when it wants to setup voicemail. This can be disabled at anytime from the Android call settings menu. It is important that during the setup you choose NOT to make any calls using Google Voice. This is because it will use voice minutes of your carrier instead of using data.
After you complete the setup and you see your Google Voice inbox you can close the app and return to the home screen.
Now go back to Google Play and download the SIPDroid app.
Once its installed open it and since you have configured Google Voice you should see an option to link the Google Voice to a new PBXes.org account. Select this and a pop up will appear to enter the PBXes.org new user name and password. This MUST be the same as your Google account password.
After that process is complete you should receive an email.
Now we need to reset the settings from SIPDroid to the native Android dialer.
Go to PBXes.org and log in at the top right corner with account info you provided earlier.
Next to the left side click on Extensions then click on SIPDroid (just under Extensions).
In the center under Device options/settings click in the Password field and retype the password, click save then apply. You can now close that website.
Setting up the Phone app
On Android 4.x ICS open the native Phone app. Press the menu key and select Call Settings.
On Android 2.3.x GB open the System Settings and select Call Settings
Now scroll down to the bottom of the Call Settings list. Then select Accounts under Internet Calling.
Select Add Account. On some devices you may need to press the menu key to see this option.
In the Account field enter the PBXes account name.
In the Password field enter the PBXes device password that you specified in the last step.
In the Server field enter "pbxes.org".
Now save the settings. If the settings are correct and you have an activate network connectionit should read "Registering..." then not show an error.
Check the "Receive Incoming Calls" options to make sure you get calls from your account.
Back in the Call Settings, Select "Use Internet Calling" > "For all calls when network connection is available". If the phone doesn't currently have an activate data connection the dialer will fallback to using the carrier's mobile network for regular voice calls. If this happens you will not receive calls from Google Voice.
At this time you should also disable call forwarding to your mobile number to prevent conflicts with Internet Calling.