What is XMPP?
XMPP is a communications protocol used for instant messaging and multimedia communications applications. XMPP was originally called Jabber. The protocol was designed as an open source, decentralized alternative to proprietary instant messaging services such as AIM, ICQ, Microsoft MSN, and Yahoo Messenger.
In the early 2000s, messaging and voice chat systems were an exciting new frontier. XMPP was standardized and adopted by a number of large companies, including Google and Cisco.
An extension of XMPP, called Jingle, played an important role in Google’s implementations of voice, and then video, chat in products such as Google Talk. This use of XMPP and Jingle continued in early versions of what would eventually become WebRTC.
Today, WebRTC powers video and audio calls in web browsers, Facetime, Facebook Messenger, WhatsApp, and many, many more of today’s video calling applications.
However, most WebRTC systems today do not use XMPP. Some older projects continue to use XMPP for signaling, as it is a perfectly serviceable protocol. But XMPP’s main benefit — interoperability — turns out not to be very useful in the context of WebRTC.
For more about WebRTC signaling, see our [to be written] explainer here.
Related articles and resources: