Jingle jangle no such luck on Asterisk 1.8

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.

  1. yejun’s avatar

    It works for me. I built asterisk a month ago with svn, I guess it’s the same code as 1.8 release. It’s chan_gtalk not chan_jingle.

    Reply

    1. sipsorcery’s avatar

      Yes you are correct, I used Dial(gtalk/…) to place the call. TBH I’m still getting my head around the whole XMPP/Jabber/Jingle/GTalk situation. As I understand it GTalk uses XMPP (previously known as Jabber). Jingle is a new XMPP extension developed by Google and what I thought was being used between the GMail dialler and GTalk client to place calls through Google Voice. However, GTalk doesn’t seem to have a feature to send calls to Google Voice and apparently the GMail dialler (along with Asterisk and FreeSWITCH) are using XMPP but not the Jingle extension to intiate sessions with Google Voice.

      Reply

    2. yejun’s avatar

      I guess it’s not work on EC2, because the external ip is different.

      Reply

      1. sipsorcery’s avatar

        Possibly but the GMail dialler is often going to be behind a NAT as well so it must be able to cope. And I get the same error message with my own code even if I leave out the transport element which is the only place the IP address gets specified.

        If it’s still working for you on Asterisk 1.8 any chance of sending me a screenshot of your console with the GTalk messages after the destination phone starts ringing?

        Reply

        1. Seth Wisely’s avatar

          Will IAX2 make a showing? Perhaps for certain people suffering “unlimited” “3g” within a Class A NAT throttlingdeathstar ?

          Reply

        2. sipsorcery’s avatar

          IAX2 “may” help getting through some NATs but it won’t make any difference to call quality. It uses an RTP equivalent mechanism it just multiplexes them on the same socket whereas SIP/RTP split the signalling and RTP onto different sockets. If you’re getting poor audio quality on a SIP call as a result of your network it will be the same for IAX.

          Reply

        3. Seth Wisely’s avatar

          now that microsoft owns skype, and skype was making SIP gateway progress, perhaps it would be better to hammer at microsoftskype than gv as microsoft will be eager to take shares?

          Reply

Reply

Your email address will not be published. Required fields are marked *