After a couple of days of not getting past the error message from the Google XMPP server when attempting to place a PSTN call out through Google Voice I decided to fire up Asterisk 1.8 and capture the jingle messages it used so I could copy them.
Amazon’s EC2 is prefect for this sort of job (EC2 is great for Linux, crap for Windows if you haven’t read my previous post on that topic). So I fired up the stock standard Amazon Linux instance only to find it didn’t have the developer tools installed. Shut it down and fired up a different CentOS one which this time did have the developer tools. Pulled down the Asterisk 1.8 sources and kicked off the install. I was happy that I could remember all the steps to build Asterisk and install the dependencies that were invariably missing. I should be able to remember the steps as I’ve probably performed them over a 100 times in the past 6 years but it’s probably been 1 or 2 years since I last did it.
Anyway I finally got Asterisk 1.8 up and running and followed the instructions on the wiki to get Google Voice set up. That all worked smoothly enough and I started getting the raw XMPP messages showing up in the Asterisk console. Perfect they are exactly the messages I want to copy. Configured my extensions.conf to dial out to one of my US DIDs, dialled in with my xlite softphone, got a ring tone (generated by Asterisk) and then right at crunch time I got exactly the same error message as my quick and dirty code. Bummer. I tweaked the format of the DID in extensions.conf and also tried a different one just to make sure it wasn’t a format or number specific issue but all attempts resulted in the same error.
I don’t really follow the Asterisk mailing list anymore but I wonder how many people get the same thing I got and whether anyone has got Google Voice calls to the PSTN working through Asterisk 1.8?
The exact error message I get is:
<pho:recipient-unavailable xmlns:pho="http://www.google.com/session/phone">Session timed out</pho:recipient-unavailable>
Calling the same number through the gmail popup dialler does work and it apparently uses Jingle. So that would seemingly rule out my Google Voice account being the problem.
My choices now are to try the same exercise with FreeSWITCH which at least one person has reported is working for them or alternatively to try and figure out a way to intercept the traffic from the gmail dialler. I did try the latter quickly with fiddler but it stopped the dialler working. It’s always a tricky trying to transparently intercept SSL traffic. Whichever option it’s a job for tomorrow.