Updated 25 Jan 2010: Adjusted for the new parameters required when using the sys.GoogleVoiceCall method in the sipsorcery dialplan.
The “hacked” up Google Voice App on sipsorcery appears to have attracted some new people to the site. To help them I’m writing a quick tutorial about how they can quickly get up and running to place a call with the Google Voice app.
Warning: People new to sipsorcery will probably be fine until they get to the dialplan configuration and will then start cursing in frustration: “why is this thing so *#!@ hard all I want to do is make a telephone call!”. The reason is that sipsorcery and mysipswitch before it were designed for people to be able to experiment with SIP stuff and try weird and wonderful things. The price for that power and flexibility has so far been ease of use. One day the plan is to re-create something like the dialplan wizard to make it simpler but so far it just hasn’t made it to the top of the list.
Back to the promised tutorial.
Following are the minimum steps you need to take to be able to place a call from sipsorcery to terminate with Google Voice.
- 1. Login to the Google Voice site click Settings (in the top left) and then Phones on the main menu. On the Phones screen you must have a
Gizmonumber configured as shown below (note it doesn’t matter whether it’s ticked or not).Goog Voice - Phone
- 2. The
Gizmonumber you have used in Google Voice MUST then be configured to forward calls to your sipsorcery account. You can do this by setting a forward at theGizmoSIP Provider end or by registering the account from the sipsorcery end. The result in both cases is the same and it doesn’t matter which one you use. To register yourGizmoSIP Provider account from sipsorcery you need to create a new SIP Provider entry as shown below (use appropriate values for your account where I’ve blurred my own settings out).
Important: As part of some updates made to sipsorcery for enhanced redundancy the contact registered or used with the callback SIP Provider MUST be username@sipsorcery.com where username is the same as the one used to login to the sipsorcery web site. If it’s not the same then there is around a 50% chance the Google Voice callback WILL NOT be matched up to the waiting SIP call that initiated it on the sipsorcery end.SIP Provider Details - Gizmo
- 3. Now we’re ready to place a call. To do that you need to click on the Dial Plans menu in your sipsorcery account. I will assume that you are creating a new dialplan and will be overwriting the default one created for you.
Google Voice - Minimal Dial Plan
And so you can actually read it:
sys.Log("starting dialplan...") sys.GoogleVoiceCall("emailaddress@gmail.com", "password", "1747612xxxx", "1132701859", ".*", 7) sys.Log("Sorry, Google Voice Call failed.")
Here’s what each of the parameters mean:
- emailaddress@gmail.com MUST be the email address you use to login to your Google Voice account.
- password MUST be the password for the email address.
- 1747612xxxx MUST be
your Gizmoa number that has been registered on your Google Voice account and bethe same as the one shownshowing on your Google Voice Phones page in step 1. This is the number that Google Voice will place the callback on so calls to it must somehow be configured to arrive back to the sipsorcery servers typically this would be by registering a sipsorcery provider binding with the SIP provider that supplies the number. - 1132701859 this is the destination number you wish to call and can be ANY US landline number (I don’t know whether mobiles or any others will work).
- .* this is a regular expression pattern that will be applied to any incoming calls that arrive on your sipsorcery account for 30 seconds after a sys.GoogleVoiceCall method has been used in your dialplan. The pattern is used to decide whether the incoming call is the callback from Google Voice and to bridge it with waiting SIP call. A pattern of .* means the very next incoming call will be matched, it’s the safest option for anyone unsure about regular expressions or confused about what this parameter means.
- 7 this is the type of phone being used for the callback from Google Voice, The Google Voice web request requires that it be specified. The range of this option seems to be 1 to 7. To date it doesn’t seem to make any difference what number is used EXCEPT that if Gizmo is the callback provider 7 must be used. If it’s not Gizmo the safest bet is to use a value of 1.
Once you have taken those 4 steps you need to configure your ATA, IP Phone or soft phone to use the sipsorcery SIP account and then place a call. If all goes according to plan you will get the following:
- A ring tone on your phone almost straight away. This is generated by the sipsorcery server to let you know it’s started working.
- Somewhere between 1 and
1030 seconds later the phone will get answered and you will have a brief pause of silence followed by another ring tone. This time the ring tone is being generated by the Google Voice server and indicates the destination number you specified is ringing.
That’s it, Easy 🙂.
Caveats. Google obviously didn’t intend for people to be able to hook up their SIP devices to make free calls. I assume free calls via the Callback mechanism on the Google Voice web site pays off by driving web traffic to the site. With a SIP call there is no such pay off. As such the sipsorcery solution and other solutions around the web are hacks. That means they are susceptible to breaking or being blocked it Google get annoyed with the SIP calls. On the mysipswitch Forums there are already reports of the occassional call failing with a HTTP 500 Server Error. Watching the sipsorcery logs I have seen a few calls getting the same. That error maybe because there was something about the call request Google didn’t like, you can test that by using the same values in a Callback from the Google Voice page, or it may be that the HTTP requests that are sent from sipsorcery to Google are occassionally going to get rejected for some reason (the 500 Server Error was caused by a bug in the sipsorcery code). The point is if you want to use this sort of solution on sipsorcery or elsewhere you will probably need to accept that not every call is going to work (that being said none of my own test calls have failed yet).
Finally if you would like to get a little bit more adventurous with your dialplan and have it send the number you called in on as the destination for your Google Voice call you can use the one shown below.

Google Voice Call - Advanced Dial Plan
sys.Log("starting dialplan...") sys.GoogleVoiceCall("emailaddress@gmail.com", "password", "1747612xxxx", "#{req.URI.user}", ".*", 7) sys.Log("Sorry, Google Voice Call failed.")
39 comments
Comments feed for this article
August 13, 2009 at 11:29
from mysipswitch to sipsorcery to play with the evils of google voice and silverlight « Truth is Self Evident
[…] tonight posted a Google Voice with SIP sorcery tutorial. Sadly SIPsorcery is not currently: service unavailable. Google Voice App on […]
August 14, 2009 at 05:00
RonL
The GoogleVoice email address login does not have to be a gmail address.
It might not be clearly shown on the graphic, but newbies should be aware that the last parameter in GoogleVoiceCall() should be
“#{req.URI.User}” (including double-quotes).
August 14, 2009 at 21:39
fixup
I don’t think google will block such SIP calls, because it has made its own dialers for mobile phones. I think I read somewhere that google even published such an API.
Even if google blocks SipSorcery.com, we can still run SS on our own servers.
As long as google will not shut down web placed calls, there is no way to block such a dialer.
Goolge will keep USA calling free, because it expects people will also do International calls via GV. USA is an emigrants country and many its business have moved to overseas. I.e., google will get lots of money from GV on International calls. Stupid Gizmo5 dropped this ball, too greedy, who’d pay them $0.02/min for USA calls?
August 15, 2009 at 08:16
adamg
Would you please post an example of a working inbound dial plan? Thanks.
August 16, 2009 at 07:43
sipsorcery
Take a look at this post Incoming Call Processing.
August 17, 2009 at 12:32
zcharming
very nice job!
August 22, 2009 at 04:42
Dre
Can someone provide details on how to setup the Sipsorcery dial plan so that GV voicemail can be checked directly from the phone. I have the GV / Gizmo / Sipsorcery Deal running great on an ATA, but can’t get into the voicemail when I dial my own GV number?
August 22, 2009 at 09:03
sipsorcery
The only free, and very clunky, way I know how to do it for free is to dial your Google Voice number through Gizmo. You can then press * to break into your voicemail when the prompt starts as per http://www.google.com/support/voice/bin/answer.py?hl=en&answer=115093.
August 22, 2009 at 14:06
Dre
I tried doing just that by adding the following dialplan line but it does not go to my voicemail greeting….call just drops.
when /^14445551212/ then sys.Dial(“Gizmo”)
Note: 14445551212 = GV Number
August 23, 2009 at 13:43
v1.1 has been released «
[…] since the v1.0 release the main reason for the v1.1 release is so anyone interested can use the GoogleVoiceCall application in their […]
September 15, 2009 at 04:09
Kipperman
What modifications do i need to make in order to use sipgate instead of Gizmo?
Thanks ,
September 15, 2009 at 04:36
sipsorcery
It’s described on the forums.
September 16, 2009 at 14:49
G4nz0
How secure are the sipsorcery servers? Are you encrypting the GV logins and passwords?
September 16, 2009 at 22:55
sipsorcery
Data stored in the sipsorcery database is NOT encrypted. Data transmitted between sipsorcery.com and the Silverlight client IS sent over an enrcypted SSL connection.
See here for the latest discussion http://www.mysipswitch.com/forum/viewtopic.php?t=1628&postdays=0&postorder=asc&highlight=encryption&start=30.
September 17, 2009 at 19:04
Deg
I really would like this to be a complete dialing plan.
I don’t get . Been trying for last 6 hours and nothing.
what is this? … dot dot dot huh? What is regURI.user and how do we modify it?
Is this a complete plan I can paste? I use sipgate. But nothing is working. I get a busy dialtone, but no call back.
sys.Log(“starting dialplan…”)
sys.GoogleVoiceCall(“emailaddress@gmail.com”, “password”, “1747612xxxx”, “#{req.URI.user}”)
sys.Log(“Sorry, Google Voice Call failed.”)
September 18, 2009 at 02:08
Deg
http://www.mysipswitch.com/forum/viewtopic.php?t=1628&postdays=0&postorder=asc&start=10
Finally, This guy posts a working outgoing plan. (blank incoming.)
October 15, 2009 at 21:02
Mame4iphone
Aaron,
Any chance this could be done with the iPhone using the Siphon app?
October 15, 2009 at 22:31
sipsorcery
Yes it should do. From what I can see of the Siphon app it’s just a straight forward SIP softphone and connecting it to sipsorcery.com should allow it to use the GoogleVoiceApp.
Regards,
Aaron
October 16, 2009 at 11:52
Mame4iphone
Aaron,
Thank you for your ultra fast reply, I was pleasantly surprised:)
I loved your tutorial with screenshots and all. At 1st, I got past the 2nd step and just when I was about to do the Dial Plan, I googled GV + G5. The results came back as GV + G5 now with a 3minute outgoing call restriction.
To me it became a moot point to go with G5 for that reason. So I googled more.
The result I got was Sipgate would work better and no time restriction. However, I have spent countless hours and now I’m stuck on step 2 and can’t imagine how I could come up with a dial plan.
On my JB’en 3GS iphone I have the following softphones : iSip, Siphon, Nimbuzz and Fring.
When I tried to get verification for GV my cell rings and I answer but when I reply with the 2 digit key on pad it says back to me “I’m sorry I didn’t recognize your entry”. I have tried for over 8 hours. I surrender for now.
Is there a way you could post and idiot proof tutorial for us iPhone users, that are not going to use G5?
Also, I have been looking for your PayPal donate button but I don’t see one.
Could you add one and I will be the 1st to use it. For I read that you work on this SS project on average of 50 hours a week. And, after seeing GeoHot from at twitter debut a few days ago with his brilliant super easy Blackra1n JB. His donate button was ringing of the hook. And, rightfully so.
I want to say thank you not just in form of verbal gratuity, but via the pocketbook.
TIA:)
October 16, 2009 at 12:04
sipsorcery
There are a few little hoops involved in getting the Google Voice calls working with SIP unfortunately, maybe at some stage Google will just turn back on the SIP gateway which would be nice. At this stage your issue sounds like it’s confined directly to Google Voice. I’m no expert on Google Voice but if you ask on the sipsorcery (previously known as mysipswitch) forums at http://www.mysipswitch.com/forum/index.php there are people that are knowledgable.
While I appreciate the offer there’s no donate button for sipsorcery as monetary reward is not the motivation for me to work on it, maybe down the track depending on how things evolve, maybe not.
Regards,
Aaron
October 16, 2009 at 20:27
Mame4iphone
Wow!
Your non-monetary reply is very noble and should be admired. I have even greater respect for you now.
I have made some progress. I added sipsorcery under contact in the Siphon app and it finally says “sipsorcery.com” “Connected”. However, I still can’t get the GV to verify:( It rings on my iPhone but says i’m putting in the wrong code. Or is it supposed to ring on the softphone app?
Nevertheless, I will heed your advise and ask over at MySIPSwitch.com, the reason I asked here was because it states that the site will close down by October 31st and that we should head over here.
However, please entertain the idea of a tutorial just like the one you did here but in lieu of G5 instead Sipgate.
October 16, 2009 at 20:46
Mame4iphone
Lol,
I finally got it! That is, to get GV verify on Sipgate # with info on SS. I got lucky.
Now time for the dial plan.
I just wonder if I could use the one you have posted here for G5?
November 22, 2009 at 23:31
Sand
Can somebody help me with the “The remote server returned an error: 500- Internal Server error”.
I was trying to login to google voice and make calls using c# console app. I was able to get the GALX value and also able to login to google voice using that and got the “_rnr_se” VALUE. But when I try to make the calls it says, “The remote server returned an error: 500- Internal Server error”. I am also uri encoding the values like( email address, password, _rnr_se before posting to the server), but still getting the error.
Could somebody please help me with it.
November 22, 2009 at 23:44
sipsorcery
Your codeplex post has been replied to. That is a better place than here for technical discussions.
January 25, 2010 at 07:46
happyface
hi
i configured google voice with gizmo and ata. This works fine for incoming calls but im unable to outgoing calls. from above things i think using sipsorcery we can make outgoing calls as well. Can u post the link where i can register for sipsorcery. Im unable to find it
January 25, 2010 at 07:54
sipsorcery
The forums http://www.mysipswitch.com/forum/index.php is the best place to ask for configuration help. This blog is more for announcements and my ramblings.
January 28, 2010 at 18:17
Gingi
I’m having call quality issues with SipSorcery/GoogleVoice.
On outgoing calls placed from my phone/ata-adapter/sipsorcery/googlevoice often the audio breaks up in one direction or both.
When I use the same setup, but rather than dial from my phone, go onto the GoogleVoice website and initiate a call from there to one of my contacts (telling it to ring my Gizmo device – which routes to Sipsorcery) I have no audio issues.
What could be the problem and how to correct.
February 7, 2010 at 17:44
Moorthy
Guys!!
I am a newbie to Voip and with the help of these tutorials, I have successfully setup my sipsorcery account to bind with the linksys SPA 3102 adapter. A million thanks to Sipsorcery team!!
Both my inbound and outbound calls are working fine, however there is one small problem which I am struggling to sort out for the last few days.. The problem is when I place outbound calls from my GV account. The line is getting connected and no audio problems but after the call is complete, I can see the internet line (in spa 3102) and the modem blinks continuously (data is getting transmitted on the line) which eats up my limited bandwidth internet plan.
This happens only when I use my GV to call an US number. This doesnt happen when I use my voipstunt account for outbound calling (internet line blinking stops soon after I end the call).
Thanks in advance!!
Regards
Moorthy
February 8, 2010 at 01:30
sipsorcery
Please use the forums at http://www.mysipswitch.com/forum/index.php for technical issues and help.
February 22, 2010 at 03:25
Abdul
Hello
Did anyone try to configure SIP settings on E71 to register Sipsorcery account. Please share your knowledge if you have it working
Regards & Thanks
February 22, 2010 at 05:12
Abdul
Just an update to my previous request.
Got the service registered through my phone(e71).Thank God!
But now there is a message saying..”Address not in use” when I try to dial a number ex : 1747XXXXX
Any comments?
February 22, 2010 at 05:19
sipsorcery
Please use the forums for technical questions http://www.mysipswitch.com/forum/index.php. There are lots of posts there dealing with Nokia phones and everything else.
March 26, 2010 at 15:02
Google Voice Free Calls? - Droid Forum - Verizon Droid & the Motorola Droid Forum
[…] one tutorial for you: Google Voice App Tutorial I had read another some months ago, but can't remember where it was. A few minutes worth of […]
May 13, 2010 at 16:48
Some google voice help, yo. - Droid Forum - Verizon Droid & the Motorola Droid Forum
[…] options: Google Voice App Tutorial Unlimited Free Calling with Google Voice – Google […]
June 15, 2010 at 03:09
Sakthi
Thanks for the tutorial and it works great!
If I call any direct numbers it works great. But Sometime when i tried to dial to an extension, its not getting thru properly. For Few it goes but not for the most of such calls. Say if i dial a number and it needs to enter any other extension say like 234# i get the message like you entered 2 2 3 3 4 4. Some time if i dial any big number with #, some of the digits gets lost.
Could some one please tell me is it possible to overcome this situation.
I am using SPA-3000 ATA adapter.
Thanks in Advance and appreciate your Help!
June 15, 2010 at 11:52
sipsorcery
The forums is the best place for help, http://forum.sipsorcery.com/index.php. Search on DTMF and Google Voice, there are other people with the same issue.
March 5, 2011 at 15:38
Sakthi
Google is shutting down Gizmo5 on April 3rd 2011. So the above Procedure to receive Calls will no longer work. Is there any other alternative we can use?
August 9, 2011 at 08:08
Casey Vockrodt (@cvockrodt)
I currently use the Tropo service (http://www.tropo.com), which allows me to setup a phone number (which google voice can call) that simply forwards to my sipsorcery sip address (which I log into on all of my phones). Tropo is a really great (free for development) service that you can actually do much more with than this.
I also have my nexus one’s gingerbread sip stack connected to my sipsorcery account, and can send/receive calls and text messages over wifi FOR FREE(I don’t pay for cell service, as I live by a university where wifi is pretty abundant)
August 9, 2011 at 10:02
sipsorcery
Tropo is a nice service. I’ve posted a few times on this blog about various integrations I’ve played around with between Tropo and SIP Sorcery.
I’m thinking about purchasing a new mobile; the last time I forked out big bikkies for a phone was in 2005 for the Nokia N95. It’s funny that that series of Nokia’s were one of the first to introduce a native SIP stack and it’s not until Android 2.3 that a native SIP stack is looking serious again. And coincidentally I’m interested in purchasing a new phone again after 6 years :).