How To Set Up VoIP on the Nexus One Google Phone using Sipdroid for Free Calls
UPDATE: many people are complaining about poor VoIP quality on the Nexus One. My experience is that the Droid handles VoIP much better. See comments below for more info.
I just got my Nexus One today and the first thing I did was set it up for VoIP calling. I'm using it on a T-Mobile data-only plan (no voice minutes needed).
This tutorial assumes you will be using Gizmo. To use Gizmo, you'll need an existing account.
If you don't have a Gizmo account, use an alternative SIP provider. There are a lot of options.
See this link for some alternatives if you don't have Gizmo: HOWTO: Free Calling with Google Voice
(Here is a clickable link directly to EasternPA's Google Doc if you don't have Gizmo http://docs.google.com/Doc?
Assuming you have a Gizmo account, you may want to review this link for some general background:
First, get your Gizmo (or other SIP provider) info ready.
On your Nexus One:
- set up your WiFi network
- install Sipdroid from the Android Market on your Nexus One - I received Version 1.2.4 beta today (these same steps also worked for me with an earlier version too)
- open Sipdroid
Now go to Sipdroid settings and complete the sections listed below.
SIP account settings:
- username: Gizmo username or Gizmo ID (747*) will work. I used username.
- password: Gizmo password
- server: proxy01.sipphone.com
- domain: leave empty
- port: leave default (5060)
- protocol: UDP
- use WLAN: check
- use 3G: check, if you wish
- use EDGE: Using EDGE might cause Gizmo to instantly drop your calls. It's a known bug (an incompatibility with the GSM compression codec used by Sipdroid 1.2 on EDGE networks).
- Voice Compression: only over EDGE (see above bug note)
- Preferred call type: set as you wish
- Check for voicemail: unchecked because Google Voice handles my voicemail, not Gizmo. UPDATE: this option has been dropped from the latest Sipdroid build.
- Caller ID: leave blank due to the issue described in the "Sipdroid will not complete calls using Gizmo5" comment below. Your callers will still see your Google Voice number on their caller ID (assuming you have your Google Voice settings correct). If you follow my steps, caller ID will work correctly even when this option is blank.
Wireless & network settings:
- Settings > WiFi Settings > Settings Button (again) > Advanced > WiFi Sleep Policy > Never
If you are using WiFi only (not 3g), if you don't set WiFi Sleep Policy to "never", Sipdroid will unregister when the screen turns off (because WiFi will go to sleep) and you will miss incoming calls. Without this setting, if you have 3G enabled (e.g., airplane mode is off), WiFi will go to sleep and your calls will come in over 3G, which is not desirable if you are in range of WiFi. So set WiFi Sleep Policy to "never".
All Sipdroid settings not listed above are left at default values. No need to change anything not shown here.
On both the Droid and the Nexus one, if you are using Sipdroid for VOIP calls, headphones can be a problem (as of 1.2.4 beta of Sipdroid). Outgoing calls are OK. But you may not hear any sound on incoming calls (the other person can hear you). This is because the media volume gets muted. There are steps for a workaround at this link:
http://code.google.com/p/sipdroid/issues/detail?id=241 (Vote for this bug to help get it fixed.)
The workaround is:
1. when the phone is ringing, but before answering, adjust ringer volume down then up.
2. after answering the call, adjust media volume down then up.
You must change media volume up to unmute it. If you know an easier way to unmute the media volume, you can use that. All you have to do is umute the media volume and your incoming VoIP call will work with headphones.
Another possible workaround, on the Nexus One only, is simply to install the official Google Voice application. I tested build 0.3.0. None of my other settings, as listed above needed to change. But it appears that the Google Voice app corrects the forced-mute on incoming VoIP calls with a headset. Unfortunately, the same workaround doesn't resolve the issue on the Droid.
Set up Gizmo in Google Voice in your web browser
- you can do this on your Droid or on another computer
- browse to https://www.google.com/voice (requires existing accounts at both services -- if you don't already have a Gizmo5 account, see alternatives in links above)
- go to Settings > Phones
- click "Add another phone"
- name: Gizmo
- number: +1747nnnmmmm
- phone type: Gizmo
Place a test call:
- if not already at the GV website, open a browser and go to https://www.google.com/voice (login, etc.)
- You can use the browser on your phone or any other browser. Either way, you will be able to conduct the VoIP call from your phone.
- click "call", enter a number, and choose "phone to ring" as your Gizmo phone.
- Click connect.
- Your Nexus One will ring. (If it doesn't ring, see troubleshooting steps at this post about VoIP on the Droid)
- Answer and you will be connected with the party you are calling.
This is pure VoIP solution. It does not use any voice minutes. It does not incur any Gizmo outgoing charges either. If you are on WiFi, this is a completely free solution.
However, if you initiate the call from Sipdroid by dialing directly (rather than using the GV website) you will incur a small per minute VoIP charge from Gizmo for outgoing calls. It costs a fraction of what most cell plans charge. It is cheaper than even the cheapest voice plan in my experience.
You may want to read the comments here: