XMPP and WebRTC
Web Real-Time Communication (WebRTC) is an open-standard project from the World Wide Web Consortium (W3C), which lets browsers and applications share real-time communication (for example, voice and video calls) using a set of simple APIs. WebRTC is a Peer-To-Peer (P2P) protocol (meaning there is no need for a server!), and it does not specify a protocol for signaling between peers.
Jingle, described in XEP-0166 and XEP-0167, is an XMPP extension that lets P2P clients share audio and video data. It facilitates applications such as Voice over IP (VoIP) and video conferencing, and it can serve as the signaling initiation protocol for WebRTC applications.
Google has developed a library called libjingle
that can be used to create P2P connections and exchange data in multi-user applications. Interestingly, libjingle
and the XSF’s Jingle standard are similar but not interoperable, since both were created in parallel at approximately the same time. You can read more at https...