The short version is get a free SIP account, get a free phone number for that account, set up Google Voice to forward to that number, then set up your phone to forward to the Google Voice number when it's out of service. This lets me get incoming calls over the house wifi with voice mail. There's an app for outgoing calls, more on that below.
Here are the details:
1. Get a free sip account from getonsip.com. SIP is a protocol for making voice calls over the internet. I looked at a number of similar services, this one seems to be the best free service.
- I got two accounts so I can call myself for testing.
- installed jitsi on my laptop, it's a softphone app so I can call from one acct to the other. Jitsi is available for download on the getonsip.com website. There is an AUR package for Arch.
2. In the Nexus, hit the phone button, then menu, then settings. Scroll down to Internet Call Settings, click Accounts. Add an account for the getonsip.com (This is the server name that people have asked about a few times in the comments.) account using the details from the email you'll receive from getonsip. Expand the advanced options and enter the authentication user name (will start with getonsip_ plus your username) and the outbound proxy address (will be sip.onsip.com for your getonsip account). Check the "Receive incoming calls" checkbox when you want to receive calls. This might be a good use for a tectile, or even better, I set up a task in Tasker to do this automatically based on my location.
3. Get a free phone number from IPKall.com. This gives your getonsip account a real phone number. The area code will be one of the 4 Washington State area codes. You might have to try several times to find a number acceptable to Google Voice since it seems a lot of numbers are assigned in Google Voice but are probably abandoned. IPKall numbers need to be used at least once every 30 days or they will cancel your account. It might be a good idea to set a reminder in your calendar to call it once a month if you don't get a lot of calls this way, or set up Tasker to do it automatically so you'll never have to remember to do it.
4. Get a Google Voice account. Have Google assign a number, DO NOT port your existing number as this will terminate your existing phone plan with your cell service provider. You can probably choose a number in your local area. Just follow the instructions, it's pretty easy to set up. This step really isn't necessary, but it gives you voice mail in case you miss a call.
5. In Google Voice, go to Settings, then the Phone tab. Add the free number from IPKall and verify it. Uncheck your cell phone number that you used when setting up Google Voice.
6. In the phone, set up conditional call forwarding so if the phone is unreachable, as in no service, the call will be forwarded to Google Voice:
- hit the phone button, menu, settings
- scroll down to call forwarding
- choose unreachable
- enter the google voice number (if you skipped 4 and 5, just put in the IPKall number)
7. To be able to make calls, install the Bobsled phone app from the Play Store. It's from T-Mobile, but says it will work on any phone network.
Wifi calls are okay, quality is not as good as a regular call, but hey, it's free!