Courtesy of Jiwengang:
1. You need to have a google voice account.
1.1 you google voice account setting: main forwarding: gchat has to be selected
1.2 do not choose call screening option (at least initially to get things work)
2. install Sipdroid on your device
2.1 click the "link with your google voice option on main page of sipdroid right after you installed it"
2.2 in Sipdroid setup, you will need to create an account with some provider like mine is pbxes.org
3. Have an account with pbxes.org (or maybe other service provider. but mine is with pbxes.org)
3.1 under extension: you should already have an sipdroid <200> (the extension number may be different , but this number MUST be the number in your sipdroid settings account field as "firstname.lastname@example.org" where 200 is the extension number
3.2 under inbound routing, you need to have a default routing which is "/"
click "/", you will see "sipdroid <200>" appear in various section, mainly "regular hours", "after hours", but there is one click which is "force regular hours", can help you simplify the setup initially to get things "work"
3.3 under outbound routing, you should see a "0 gtalk" routing trunk.
within the section, route name: gtalk
trunk sequence: 0 "GTALKemail@example.com"
4. In your sipdroid setting on your device, double check the username: firstname.lastname@example.org
password, your pbxes.org password.
Hope it can help in some way. Post your questions here and I will try to answer.
I would like to add if you have 3CXphone:
3cxphone config for Pbxes.org.
ProfileName = Whatever you name it
User = loudemartino-200 (your pbxes login)
Password= XXXXXXXX (your pbxes.org password)
Internal server = Blank
External Server = sip.pbxes.org
STUN server= stun3.3cx.com (default, leave it alone)