How-To: Google Voice Inbound/Outbound Without a Computer

Update (July 25, 2010): SIP Sorcery has disabled new account registrations as of today. If you don’t already have an account then you’re out of luck. More information here.

Quick History

Many of us have been using GrandCentral long before it was called Google Voice and have enjoyed many of it’s features. One of the unfortunate side effects of the increased visibility that Google’s acquisition brought to the service was the swift shut down of the SIP connectivity we were using to initiate calls. There were other workarounds using Gizmo5, different IPs, but all the tricks were eventually killed off in May 2009. Shortly thereafter Gizmo5 allowed users to make free outgoing calls by integrating Google Voice into their service but it was hampered by a 3 minute call limit. As they say, necessity is the mother of invention. The current workaround came through two different projects that utilize Google Voice via JSON and XML requests: Google Voice for Python (pygooglevoice) and SipSorcery’sGoogle Voice App.

Purpose

This tutorial will show how to make inbound/outbound Google Voice calls using only a SIP client whether it’s a computer-based softphone like Ekiga, a mobile phone-based softphone such as Fring, a hardware 3G/Wi-Fi SIP phone like my Nokia E71, or an analog telephony adapter like the Linksys PAP2T-NA that allows regular house phones to use VoIP. Any SIP software should be able to use this method of interacting with Google Voice. I put this together after Gizmodo and Lifehacker recently posted tutorials that had the incoming part of Google Voice working but neither showed how to get outbound calls working without a computer. I’m pretty sure this tutorial will also work for people that do not have a US phone number needed to verify a new Google Voice account as long as things are set up in the order below.

Acknowledgments

I’m doing nothing more than to take screenshots to illustrate a process that has been created by a number of very intelligent people who should be recognized for the their hard work:

Aaron C – SipSorcery‘s creator who donates his time and servers to his project. The project was formerly known as MySipSwitch

There are many more people that I’m certain I haven’t listed. Feel free to e-mail me if I’ve made an omission that needs to be rectified.

Disclaimer

This post is for educational purposes only and is not meant to replace your regular telephone. Read this document through in its entirety before attempting anything. If you choose to follow this tutorial then you do so at your own risk and take full responsibility for any and all consequences. I cannot be held liable for any damages. In other words, if anything terrible happens to you because of this tutorial then you’re on your own. Do not use this configuration for anything other than leisurely tinkering and certainly not for emergency calls. You’ve been warned!

Click Click for SIP Sorcery Portal. Note: You must have Microsoft Silverlight installed!

Click Create New Account

Fill in the fields with your information. Make sure you put in your real email address (a confirmation email will be sent), choose a security question, and set the correct timezone. Once completed, click Create Account.

If everything was created successfully then you’ll see this message about confirming your email address.

Head over to your email account and confirm your email address by clicking the link. Once completed, you’ll see the following message.

At this point you can login to your newly created SipSorcery account by pointing your browser to: http://www.sipsorcery.com. Then click Click for SIP Sorcery Portal. Enter in your username and password. You’ll should see something like this:

We’ll come back to SipSorcery later. Let’s set up our SIP softphone next.

SIP Softphone Set Up

Note: You may use any SIP softphone, hardphone, or analog telephony adapter of your choosing. The basic setup instructions will be the same for all of these devices. I’ll use Ekiga because it’s a free download. If you’re not using Ekiga then skip down to step 13 for the SIP phone configuration information.

Once downloaded, install the application with the defaults. Note: You’ll see a second installation wizard for GTK which needs to be installed in the same default manner. Once it’s done, it’ll exit back to the main Ekiga installation wizard.

Start Ekiga. A window will pop-up called Ekiga Configuration Assistant (1 of 8). Click Forward on the bottom right.

Enter your name. Click Forward on the bottom right.

The panel is for those who want to create an Ekiga.net SIP account. We don’t need it for our configuration so we’ll skip it by clicking the checkbox at the bottom. Click Forward on the bottom right.

This panel is for those who want an Ekiga outgoing call account. Again, we don’t need it for our configuration so we’ll skip it by clicking the checkbox at the bottom. Click Forward on the bottom right.

This panel is for choosing your internet connection type. Pick LAN if you have a sufficiently fast broadband connection. Click Forward on the bottom right.

This panel is for choosing the audio devices Ekiga will use for VoIP calls. The defaults should be fine in most cases. Click Forward on the bottom right.

This panel is for choosing a webcam for video calling. If you one then pick it. If you don’t have one then don’t worry about it. Either way we won’t be making video calls in this configuration. Click Forward on the bottom right.

The final panel is to confirm your settings. Click Apply on the bottom right.

The Ekiga’s main window should pop-up now. Click the Edit menu. Click the Accounts option.

In the Accounts window click the Accounts menu. Click the Add a SIP Account option.

Fill in the fields Edit Account window as follows:

Name: Your name

Registrar: sip.sipsorcery.com

User: Your SipSorcery Username that you created in the last section

Authenticated User: Leave it blank

Password: Enter your SipSorcery password that you created in the last section

Timeout: 3600

Make sure the checkbox next to Enable Account is ticked.

Click OK.

If you typed in everything correctly then you should see Registered displayed under Status for your new account. If not, then edit your account settings. Click Close to return to the main Ekiga window.

That’s it our Ekiga softphone set up is now complete. Next we need to get an incoming phone number from a VoIP company.

Incoming SIP Phone Number

Note: Several companies offer US phone numbers for free incoming VoIP calls. I will use IPKall but you may get a free number from SipGate or IPComms.net. If you don’t use IPKall then the configuration is slightly different. Instead of following this section, you’ll need add the login credentials for the provider on the SIP Providers tab in SipSorcery. This is done by clicking on SIP Providers -> Add on the top box called SIP Providers. Enter your SIP provider’s Name, Username, Password, Server Address, tick the Register box, and leave the Register Contact field alone (it should be your SipSorcery address), and click Add. Once you’ve successfully completed this step SipSorcery will show a message in the bottom box called SIP Providers Registration confirming that you’re credentials work. Substitute your alternate provider’s phone number wherever I put in the IPKall phone number in the remaining sections.

This next page is a confirmation screen. Save the information so you can log back in later. Your new IPKall number will be emailed to you.

Check your email and write down your phone number for the following steps.

If you would like to test your set up so far, then call your IPKall phone number another phone. Your Ekiga client should ring on your computer. Once you pick up you should be able to hear your voice through your computer.

Note: IPKall only gives phone numbers in the state of Washington. This doesn’t matter because no one will be using this number besides Google Voice to forward your calls. IPKall numbers expire if they aren’t used for 30 days so the numbers are put back into the available pool. Many Google Voice accounts that are no longer used still reference expired IPKall numbers therefore Google Voice won’t allow you to use them as your forwarding number. I’ve had the best luck with area code 425. If for some reason Google Voice does not allow you to use an IPKall number then log back in to IPKall, delete your account, and recreate another for a new number using the above instructions.

Add a forwarding phone number by entering in your IPKall phone number from the previous section. Leave the Phone Type as Home. Click Continue.

If Google Voice did not accept your IPKall phone number because it is in use by another account then you must read the note at the end of the previous section. In a new browser window or tab you’ll need to delete your IPKall account and create another one to get a different number. Then return to the Google Voice window or tab to reenter your forwarding number.

If everything went smoothly then Google Voice will ask to confirm your forwarding number. Note down the two-digit code. Make sure Ekiga is running and switch to the Dialpad tab. Click Call me now.

Wait for Ekiga to ring, answer, and enter the code on the Ekiga dialpad using your mouse. Once the recording says your phone has been activate hang up. The browser window will have a message confirming your Google Voice number. Click Finish.

You can now test your Google Voice number by calling it from another phone. Ekiga should ring on your computer. If so, congratulations inbound calling works! Now we need to setup outbound calling in SipSorcery.

Outbound Google Voice Calls

Outbound calling with Google Voice without a computer requires some clever magic with a SipSorcery dialplan. We will set that up next.

Note: You will need to enter in your Google Voice username and password into the SipSorcery dialplan. Some people have their reservations about this step but it’s a choice that’s best left up to you. I’ve been using Aaron’s SipSorcery for a very long time and I trust him as do many others. However, if that’s not enough then you can always create another Google Voice account with a throw-away email address and password. The choice is yours (see disclaimer above).

Change 717 to the area code of your Google Voice number. Leave the apostrophes in place only edit the 3 number in between!

Change username@gmail.com to your Google Voice login email. Leave the apostrophes in place only edit the email address in between!

Change GV password to your Google Voice login password. Leave the apostrophes in place only edit the numbers or letters in between!

Change 1aaaxxxyyyy to your IPKall number. Leave the apostrophes in place only edit the numbers in between!

Just to be clear: leave the apostrophes in place and only edit the 4 lines above. Nothing else! Once done, click Update.

If you took too much time, then the dial plan update will fail. To fix this problem you’ll have copy your edited dial plan to Notepad, log out and relogin to SipSorcery, go back to the default dial plan, clear the box, and paste in your edited dial plan.

If everything worked then you should see the following message:

That’s it! Now go to Ekiga and dial “266.” If your dial plan is entered correctly then you should be hearing CNN headlines through your computer speakers. Hang up and try calling a US phone number and it should work. If it’s not working then go back and recheck all the steps.

After logging out from Ekiga you can use your SipSorcery login credentials in another computer-based softphone, a WiFi/3G phone’s SIP client, or a analog telephony adapter like the Linksys PAP2T-NA. I’ve used this configuration in all three scenarios and it works perfectly.

SipSorcery is a very powerful application but not a full PBX. The simplest usage scenario is to use SipSorcery to login to several SIP accounts on the SIP Providers tab so that you can receive calls from all of your other SIP accounts. There are several more complex use cases out there to do things like picking the cheapest VoIP provider to route outbound calls. Your imagination (and dial plan skills) is the limit so browse the SipSorcery forums to see what others are doing. If you want even more control over your VoIP calls such as menu systems for incoming calls and other great things then check out Ward Mundy’s The Incredible PBX. It can incorporate several Google Voice lines in different area codes and much more.

@Matt R: Does Ekiga ring when you call your Google Voice number? Also, does a test call to “411” fail as well?

If yes, then there probably is a problem in the dial plan script where you put in the gmail username, password, and IPKall number. I’d grab a fresh copy of the Simple Dial Plan, paste it into a text editor, and edit the 4 lines I mentioned in the Outbound Calling section above. Your login details as well as the IPKall number must be correct otherwise landline calls will fail to work. Also, the apostrophes must be left in place. Nothing else in the script should be changed.

Once you’re done editing the dial plan script with your information, delete everything in the Default dail plan in SipSorcery, paste your newly edited Simple Dial Plan, and hit Update. First try “266” to make sure your dial plan is working, then try “411” for Google’s 411 service. It should work. Then try a regular landline outbound call again in Ekiga. Erase the “SIP:” in the Ekiga dialing area and just type in a full US phone number in the normal 11-digit format. Let me know if your outbound problems are fixed.

On a side note, the reason “266” works for CNN headlines is because it is a regular SIP call that doesn’t utilize the Google Voice portion of this configuration. On the other hand “411” actually utilizes Google Voice. Part of the reason these are included is to debug problems.

Matt R on
July 11th, 2010 7:32 am

Many thanks – working great! Forgot to put the 1 in front of the number

Alex J on
July 11th, 2010 3:43 pm

Thanks.
Great Tutorial…I was able to go through it with ease.

Instead of using Ekiga, I used Sipdroid and Fring on Android. Works well with both over Wi-Fi.

@Alex J: Thanks for the feedback. Try it over 3G if you get a chance. The only drawback I’ve noticed with Fring on Nokia is SIP calls can sometimes end up with lots of delay over 3G and WiFi. However, it works perfectly over 3G and WiFi using Nokia’s built-in SIP client.

LAprGuy on
July 15th, 2010 11:15 am

Just saw your link on Gizmodo. Going to try it out later today. Thanks for posting this.

JP on
August 3rd, 2010 8:12 am

Hisham,

I had this set up and working with Ipkall as you described, but now my Ekiga phone is not ringing when I place a call through GV. Are you aware of any changes being made that require some different settings now?

@JP: Try calling your IPKall number directly to see if Ekiga will ring. If it doesn’t, then that means your SIP server and username settings need to be rechecked in IPKall. Next, call your Google Voice number to see if Ekiga will ring. If it doesn’t, then that means your phone number settings are wrong in Google Voice. Next, if all that works, then you need to make sure your Google Voice login info is all correct in the SIP Sorcery dial plan. Lastly, go back to IPKall and change the address to: sip1.sipsorcery.com (instead of sipsorcery.com). Try your calls then. It should work. Let me know how things turn out.

KD on
December 18th, 2010 7:34 pm

Hisham,

I’m hoping you can help: I followed your tutorial above. I can make calls to my GV number or my ipkall number and receive them successfully through Ekiga. Problem is I can’t seem to make outgoing calls from Ekiga. When I try “266”, it times out after 45 seconds with “Could not connect to remote host”. BTW: I can successfully call “4153767253@podlinez.net” through Ekiga.

@KD: It looks like all of your outbound logic doesn’t work. Recopy the dial plan and restart from there. See the second above authored by me on how to diagnose this issue.

KD on
December 19th, 2010 7:54 am

Hisham,

Thx for the quick reply. It turned out to be a problem with my Ekiga setup. I downloaded Blink and that worked fine!

Ben on
July 12th, 2011 12:36 pm

Hisham,

thanks for this tutorial. I am nearly there, just one thing seems to be missing: I have set up Google’s 2-step verification. SO instead of my Google Voice password, I have entered the application-specific password that Google gave me in the dial plan. If I use my standard Google Voice password, I keep receiving an sms with my pin-code, which of course I cant enter into sipsorcery.

Outgoing calls that I initiate through my softphone do show up in the sipsorcery call-log, but they never connect (‘Temorarily Unavailable’ for 411 or normal numbers, ‘RequestTerminated’ for 266).

Any ideas? Thanks!

Ben

Morne on
October 13th, 2011 7:09 pm

If I call my Google number – softphone rings, if I call my IPKall number from Google voice then it rings on GTalk coz I used the same gmail account for Google Voice. Strangely even if I call 411 from Google voice then my softphone rings but if I call 411 from Gtalk then – Error Number. I followed all steps and improvised and set it back to original I just can’t get it to work. I can’t make any calls from the softphone even 411, I even tried 3 different softphones. Any Ideas? Thanks