Thursday, June 30, 2011

How to get a free IPKall US number (DID), and receive calls for free on it through SIP (e.g. on Android)

This guide will help you get a free US number (DID), and receive incoming calls on your Android device *for free* without using minutes on your voice plan, purely over Wifi (or data if you have a good data plan). This guide is part of my larger guide on how to make free calls to USA and Canada using Google Voice.

1) Register for a free SIP service with or with For the purpose of this guide we shall work with callwithus as the example.

2) For callwithus, you can give them your Google Voice number as your contact number if you have one, but don't have a "real number". The number is not needed initially, it is for "confirmation of details" later on according to callwithus. I guess you can edit this number later as well.

3) Once you have the confirmation email from callwithus, note your username and password from it (they will look something like this: 234567890 and 123456 respectively).

4) Configure either your built-in SIP client (Android 2.3 and up), or download one of CSipSimple, Sipdroid, or Linphone from the market, and install it on your Android phone.

a) For Android 2.3 and up, you may choose to use the built-in SIP functionality of your device. Go to Settings->Call Settings->Accounts. Select "Receive incoming calls" (this is essential for callback to work), and then hit "Add account". Enter your callwithus username and password in the appropriate fields, and under "Server".

b) Once you install and start Sipdroid, hit Menu->Settings->SIP Account (Line 1), and enter your callwithus username in the "Authorization Username" field, and password in the "Password" field, and under "Server or Proxy". If you so choose, you can check "Use 3G" (see NOTE below about data usage). If you experience weird audio issues, you can also select Settings->Advanced Options->Use STUN Server, and enter in "STUN Server name", or use the pre-supplied STUN server.

c) Recent versions of CSipSimple have "Wizaards" which can be followed to set up your SIP account easily. When when you first start it up:
- Select whether you want to be "Always available" or "Available on WiFi", depending on whether you have a generous mobile data plan or not. Also, if using your data plan, check "I'm allowed to use mobile" below.
- On the next screen, click "Add account", then choose the Generic wizard for callwithus or the Callcentric wizard for callcentric, and enter your callwithus username and password in the appropriate fields, and under "Server".
- If you experience weird networking issues, one way audio or other issues, you can try enabling STUN, Menu->Settings->Network->Enable STUN. You can elect to use callwithus STUN server ( or the CSipSimple provided server (Thanks for your comment, Ross).
- Finally, you if you want to use your mobile data plan (see NOTE below about data usage), check "Use 3G" in the settings.

d) After installing Linphone, when it is first run, it will do an echo cancellation calibration. After that, you will be in the SIP Account screen. Enter your callwithus username and password in the appropriate fields, and under "Domain". You can check "Start at boot time" below, and enter callwithus's STUN server ( under "Stun server" if you have strange audio problems. Linphone will make use of your mobile data plan by default, so either make sure you have a generous enough mobile data plan (see NOTE below about data usage), or make sure you don't make calls when you are outside WIFI coverage.
(2 - 3 minutes)

NOTE: If you have a mobile data plan, you can tell Sipdroid, CSipSimple, and Linphone to connect even over your wireless provider's data plan (3G), but *beware of potentially very high data charges*, since voip can be very data intensive. In my personal tests, a high quality codec consumes about 1MB per minute.

Once your SIP client is successfully registered, we can create an IPKall account. If you haven't already done so, make sure that you go through the settings of your SIP client, and ensure that it is set to be AVAILABLE FOR INCOMING CALLS. Every client has this option in a different place, and worded slightly differently, but you must find it.

5) Browse to and click the "*Sign up*" link.

6) Fill out the sign up form, making sure that:
- You pick an an area code you're happy with.
- "SIP username is your callwithus username (e.g. 234567890).
- "Hostname or IP address" is
- "Email Address" is valid.
- "Password" is the password to your ipkall account, not your callwithus
- You fill out the two word confirmation correctly.

7) Click "Submit", and wait for a confirmation email at your email address.

8) In the confirmation email, there will be a phone number with the area code you picked. Dialing this number will ring your SIP client provided you have enabled your SIP client for incoming calls. Ensure this works, otherwise, retrace your steps and make sure everything above was done correctly.

9) If you will now proceed to use the ipkall number in Google Voice, keep in mind that these numbers are often recycled from accounts that were deleted, and they may still be present in another person's Google Voice account. If they were used to activate the other person's GV account, you will NOT be able to use this number to activate OR forward to in your own GV account. You won't even be able to "reclaim" it for your purposes to your own GV account. If this turns out to be the case, login to ipkall here:

with your IPKall phone number and password (from the confirmation email), hit "Cancel account", and redo steps 1 - 9. I had to do this 3 times before I got a number I could "reclaim".

10) You can either use this number as your real phone number, add it to Google Voice, and make GV forward to it, even use it to activate your GV account. Finally, you can use this number to MAKE FREE CALLS TO USA AND CANADA using my other guide.


  1. I wasn't able to complete this using either or error stated my ballance was zero when trying to call my ipkall number I registered it as a generic device. Entered the specified settings directly into android 2.3 Call settings. Gave error when registering: "Account registration failed: (transaction terminated); will try again later". I tried to configure sipdroid app, and when trying to call my ipkall number, error 101 was announced.

  2. Try SipSourcey. You can create a ruby dial plan that will use a GoogleVoiceCallback API that allows you to dial out (see my comments under SipGate post). CSipSimple (WiFi) and Linphone (3G) worked better for me on my G1, although I use the native client on my Nexus S.

  3. Hi Jim,

    Thanks for the comments. This sounds like a whole new article that I'll have to write when I find the time, as it will not involve the Callback application at all, right? I'll get on it ASAP.

    Any other feedback is highly appreciated.

  4. I setup both a call with us acct, per this guide and setup a ipkall acct. per this acct. After that I did the rest of the free call guide, when I try to register my ipkall number on google voice, I do not get a incoming call, I have csipsimple setup to receive calls and it is registering with the sip provider, I even tried with a callcentric acct, and as far as I can tell ipkall is not forwarding the calls because I don't see anything on my profile with callcentric for received calls. What am I doing wrong?

  5. I love IPKall free US numbers although many tend to be expired when you don't use them for 30 days. However, no worry since this post about How to keep your free IPKall number forever did work for me and am sure it can work for any other IPKall user.