Book Image

Practical XMPP

By : Steven Watkin, David Koelle
Book Image

Practical XMPP

By: Steven Watkin, David Koelle

Overview of this book

XMPP (eXtensible Messaging and Presence Protocol) is a messaging protocol that enables communication between two or more devices via the Internet. With this book, developers will learn about the fundamentals of XMPP, be able to work with the core functionality both server-side and in the browser, as well as starting to explore several of the protocol extensions. You will not only have a solid grasp of XMPP and how it works, but will also be able to use the protocol to build real-world applications that utilize the power of XMPP. By the end of this book, you will know more about networking applications in general, and have a good understanding of how to extend XMPP, as well as using it in sample applications.
Table of Contents (16 chapters)
Practical XMPP
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Free Chapter
1
An Introduction to XMPP and Installing Our First Server

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://developers...