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.
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.
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."
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.
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.
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.
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).
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.
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 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.
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.
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.
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 :(.
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.