Hacker News new | comments | ask | show | jobs | submit login
Google switches GTalk's VOIP protocol to Jingle (xmpp.org)
169 points by sciurus on June 23, 2011 | hide | past | web | favorite | 48 comments

My original email had more details:

We are pleased to announce that we have launched support for Jingle XEP-166 and XEP-167 for Google Talk calls to and from Gmail, iGoogle, and Orkut. We have also added the same level of support to libjingle (http://code.google.com/p/libjingle), which is used by many native clients. From this point on, it will be our primary signalling protocol, and the old protocol will only remain for backwards compatibility. We also plan to soon update Google Talk on Android to speak Jingle, but we do not plan on updating the Google Talk Windows application.

We suggest all clients that interop with Google Talk to switch to using Jingle rather than the old protocol. We will remain backwards compatible with legacy clients by continuing to speak the old protocol as well. If you wish to continue working with legacy clients, such as the Google Talk application for Windows, you may also wish to continue speaking the old protocol. But the future is Jingle, and the old protocol will eventually go away.

Finally, we are still working on implementing XEP-176 (ICE-UDP). In the meantime, you'll need to use our draft-06 version of ICE, which is implemented both in libjingle and in libnice, two open source libraries.

I hope that this will be a support to the Jingle community and futher our efforts to have open standards for voice and video communication.

In light of interoperability, could you please address the Google rationale for going with XMPP rather then SIP, as there is considerable support for SIP in existence, e.g. IMS on 4G networks, VoIP providers, PSTN gateways, Skype Connect, etc.?

I'm one of the authors of the XEP and was part of the Google Talk team back in the day. I haven't been working on it in quite a while so I really don't speak for the current team.

First off, I'm super proud of these guys finishing off this work. It was a long time coming.

As for why we chose XMPP over SIP: The team had made the choice to base the core IM product on XMPP before I joined. That decision was based on the ease of implementation and interoperability. XMPP for IM is much simpler than SIP/SIMPLE. The easiest answer here is that it was the most logical fit to the product we had built at the time.

My personal opinion of SIP is based on a 6 year old snapshot of the technology. Things have undoubtedly changed in the meantime. Based on that snapshot, I wasn't a fan at the time.

- It is an amazingly complex and confusing technology. It is worth noting that SIP is the longest IETF RFC out there. Meanwhile, the core XMPP spec is easy to understand and implement. It is also an IETF standard. Extensions are well modularized and documented.

- The security is hacked on after the fact and, at the time, was unevenly implemented. In basic SIP, one unauthenticated UDP packet makes a phone ring. XMPP security is based on TLS and DNS and is a required part of the core.

- Federation was a patchy mess and showed SIP's telecom roots. You pretty much had to get the lawyers involved to do anything. Federation in XMPP is a DNS SRV lookup.

The world has moved forward since then so hopefully this provides some context for the decision at the time.

I'm curious as to why the windows Google Talk product has stalled - I always thought Google planned to improve it to make it a worthy competitor to Skype, but it seems to have stalled.

And now this news indicates that it appears to be AbandonWare. Which is a real pity.

I guess for Google the browser is the platform. No need to make dedicated Windows/Linux/OSX programs.

I agree. They likely still have intentions of making it a Skype competitor, but it will be in the browser rather than on the desktop.

The latest inclusion of voice and video protocols in Chrome agrees with you.

Why is the Google Talk application for Windows considered legacy? Are you hoping to shift them to WebRTC in Chrome?

The annoucement email itself: http://mail.jabber.org/pipermail/jingle/2011-June/001640.htm...

This is great news. Google has been one of the driving forces behind Jingle, but as they were implementing it far in advance of being standardised, the drafts/standards have since changed. Other implementations have to maintain support for several close but not quite the same dialects. Google updating their software will make interop much easier.

I've been somewhat critical of Google's attempts in this direction (http://senko.net/en/gmail-videochat-the-good-the-bad-and-the...), and I'm very glad to see I was wrong :)

Well, I am not sure why Google went with XMPP when the rest of the telecom and networking industry is gravitating towards IETF SIP as signaling protocol. There are so may overlaps in both of them in the sense that they use the same components such as SDP and ICE. Can anyone from Google or otherwise throw some more light on

- Why Google prefers XMPP over SIP - In what areas XMPP is better that SIP

I am not stating that one is better than the other, but would like to understand the core differences and advantages.

Also with Google moving on with XMPP and other major vendors converging on SIP, where do you see the inter-operability issue heading towards?

I guess SIP has weak support for Instant Messaging, which was the primary use case for Google Talk before video chat came along.

On the other hand the Jingle spec [1] contains many references to SIP:

"Furthermore, Jingle is not intended to supplant or replace existing Internet technologies based on the Session Initiation Protocol (SIP; RFC 3261). Because dual-stack XMPP+SIP clients are difficult to build, Jingle was designed as a pure XMPP signalling protocol. However, Jingle is at the same time designed to interwork with SIP so that the millions of deployed XMPP clients can be added onto existing Voice over Internet Protocol (VoIP) networks, rather than limiting XMPP users to a separate and distinct network."

[1] http://xmpp.org/about-xmpp/technology-overview/jingle/

If this had happened for email, we would have had to deal with a myriad of different clients, servers and 'interworking' gateways.

I really don't understand why the likes of Google, Apple, Microsoft and the telcos can't agree on a standard. Guess business reasons are behind this. After all, walled gardens are great if you are the incumbent, it's how Skype got to be so valued.

Maybe the FCC should step in and take this on.

If this had happened for email, we would have had to deal with a myriad of different clients, servers and 'interworking' gateways.

That was the networking prior to the wide adoption of IP and SMTP. There were DECnet mail clients, and clients for various other networking protocols, and users needed to know explicit bang-path routes and gateways.

Seeing this churn and this fragmentation is unpleasant, but it also means that you can see rapid advances and new features and different approaches. Once the market matures and the churn settles down, we'll see more of this sort out toward protocol consolidation.

In general, areas with high churn are some of the most interesting parts of the whole computer business. They're among the least mature, and often with the most innovations.

I hadn't looked at it from this perspective, thank you for the enlightenment. I'm just too impatient.

What irks me is that the IETF keeps banging away at protocols to solve issues like the transition from PSTN to IP (e.g. ENUM), or IM interoperability, but then nobody really implements them, or as in the case of ENUM, the incumbent telcos, at least in the USA, sit on it forever. Or some startup cooks up their own solution and kills it, like Skype.

I'm all for interoperability sorting itself out, but it does not seem to happen in the messaging/real time communications space. We still have SMS, a gazillion IM protocols, and many isolated islands of video calling. Skype, Qik, MSN, Yahoo, FaceTime, Google, I could go on. On top of that is the confounding issue of different audio and video codecs and whatever patent issues surround them. A formidable gordian knot, of which it will be interesting to see how it will be cut - if ever.

I'm far too impatient as well, I suppose. It seems to me (from the armchair where I quarterback) that IM interoperability isn't happening not because companies prefer the advantages of their chosen protocol, but because they simply want to "be the platform." I can't imagine a better advantage than actually being able to talk with any of my friends on any other client.

If email hasn't proven a standard can be beneficial to everyone, I don't know what would.

Yet another thing I find amusing from Google is that the latest Android SDK has dedicated APIs for multimedia calls using SIP - http://developer.android.com/guide/topics/network/sip.html

XMPP is much more extensible than SIP. Presence, messaging, and IM work much better in XMPP. There are extensions for archiving messages, return receipts, etc. There are extensions for file transfer.

There are extensions for vCards. There are extensions for PubSub.

XMPP works over HTTP using BOSH. It can also work over SOCKS.

Apache/Google Wave uses XMPP for federation. It is just flat out more extensible and featureful. Just like the acronym stands for: Extensible Messaging and Presence. It does a whole lot more than just IM or just VoIP.

http://xmpp.org/xmpp-protocols/xmpp-extensions/ http://en.wikipedia.org/wiki/Apache_Wave#Federation_Protocol

I find it a real shame Apple have no interest in making their iMessages and FaceTime networks interoperate with XMPP and instead going their own way. We're going to end up with people on different mobile OSes hesitating to communicate with each other because they'll fall back on expensive SMSes (a network effect much like today with discounted in-network calling).

Can iChat speak Jingle?

I just tried the combination of web-based Gmail <-> iChat and the web client can see that the iChat client has a camera and I can initiate a call but iChat never shows an incoming one.

If I go iChat<->iChat over Google's XMPP server I can make a call. Does iChat speak yet another incompatible video call extension if it used with an XMPP network?

Adium can't do AV either.... Can anyone recommend a OS X client? Video chat is currently the last thing that stops me from uninstalling Flash.


iChat in Lion will features service plugins.

It's not clear whether this includes audio and video? It may be only for text chats.

Lion supports Yahoo’s AV protocol, and I assume it’s integrated using the new plugin architecture.

Pidgin has a/v for all Unices and that may just include Mac OS X. Correct me if I'm wrong though.

What? Use the video chat built into Gmail. That doesn't utilize flash...

I'm pretty sure Gmail still uses flash for the audio but I could be wrong.

I mean, I could be wrong, but any of the A/V functionality in Gmail requires that I install a DEB in Ubuntu and it works fine with click-to-enable flash (obviously I'm not enabling it on gmail :P)

I repeatedly run into issues with stuff like the bell of a new chat not sounding because flash hasn't been click-to-enabled.

I wonder why the Windows client will officially not be updated to Jingle? If it was just "not at the moment," they would have either kept mum or said so, but to actually say that it won't be updated..... that says a lot.

The official client never got video chat support either. It's received very little love over the past couple of years.

Personally I think the only native client they are interested in anymore is Gmail in Chrome...

We care about gmail on all browsers :).

If you guys abandon the Windows client, why not make it open source and let the community maintain it? A slim native Windows XMPP client program is vey rare.

Some of us choose native program over Web app for a reason and I believe there are many like me would stick with it.

Absolutely. Of all different IM programs, GTalk is the only one which has a simple, useful and non-bloated GUI. And of all GTalk incarnations, Windows client is somehow the only one which is usable. IM client which runs in browser simply sucks as a concept.

What about people who don't like or use the Gmail web UI (I use it over IMAP) but would still like to use Google Talk to stay in touch with friends? Is my only option to use third-party clients? I like Google Talk but dislike Gmail, and tying the two together doesn't really work out in my favour.

"What about people who don't like or use the Gmail web UI"

Well there is always http://talkgadget.google.com/talkgadget/client

Opening a webbrowser window with that and you are set. No Gmail UI, and you get video chat.

I wonder why the gadget doesn't have an option for calling normal phone lines like the Gmail UI does.

Thanks, I didn't know about that.

Hey, a client running in a web browser is still a client.

You should also probably realize the point of using XMPP is that it's an open standard, and anyone is allowed to make their own implementation; contrast with the uneasy interoperability of, say, MSN Messenger with Pidgin. Now they're using Jingle, do you need a first-party client? You don't expect first-party SSH clients from your hosting provider, or first-party email clients from your ISP. And god knows there are enough IM/VoIP clients out there, so I'm all for thinning the herd...

Has it received _any_ love over the years? My impression is that the program came as a freebie with some acquisition and they've never touched it since. Opening up googletalk-setup.exe in Archive Manager (aka file-roller), it seems like the lastmodify date on the most recent files is January 1, 2007.

The Google Talk Windows client application was developed by Google engineers at Google. It has not been updated in years as you have noted.

For information on support in GNOME's Empathy IM client and on Maemo/MeeGo, see http://blog.barisione.org/2011-06/broken-gtalk-calls/

Anyone know if this update applies to Google Voice? And whether it will now be possible to initiate a standard RTP stream via XMPP? That would make SIP interoperability with Google Voice practical. At the moment it's held back by the fact that Google Voice requires some custom ICE packets to be exchanged on the RTP sockets before it will commence sending RTP. Which means there are no SIP clients that can talk RTP with Google Voice when the call is initiated over XMPP :(.

I wonder what impact this will have on 3rd party devices like the great Obihai that interface with Google Voice?


I don't know how Obihai works, but if it uses SIP to talk to Google Voice, this will not effect them.

Google Translate integrated with Jingle could/will be a joy to use.

I would love to talk to a college student in Greece about the local economic sentiment over VoIP.

Check out http://babelverse.com/ A startup coming out of Greece btw :)

How does this play with WebRTC? Are they complementary technologies?

Yes, complimentary. You could use WebRTC to implement a Jingle client.

Skype is dead, and Microsoft just wasted $8.5 billion for that poison company.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact