Extensible Messaging and Presence Protocol (XMPP) follows the XML standard and is primarily used for Instant Messaging. Extensible Messaging and Presence Protocol (XMPP) and its extensions support for messaging, conferencing with multiple users, view the online status, file transfers, dispatch of certificates and many more services. The network architecture is reminiscent of the Simple Mail Transfer Protocol (SMTP). Extensible Messaging and Presence Protocol (XMPP) is related to Protocols Related to Internet of Things (IoT).
Basics of Extensible Messaging and Presence Protocol (XMPP)
For the operation of a XMPP network at least one XMPP server (similar to the one mail transfer agent ) is required. This can exist in an intranet as the sole communication interface or via the Internet to other XMPP servers (the “XMPP Federation”) to make connections. In order to identify users within the XMPP network and to address, there are the so-called “Jabber Identifier”(JID). This looks like ” email@example.com” – similar to a e-mail address and behaves similarly: so here is an username and
example.com server, where the user is registered. The concept of resources, makes it possible to register and identity by an XMPP server.
A great advantage of XMPP is that, nearly every operating system has XMPP clients in any programming language. However, the solutions differ in the extent to which they support the protocol.
Functions of Extensible Messaging and Presence Protocol (XMPP)
XMPP support conferences with multiple users. Nowadays it is the most common specification in Multi-User Chat (MUC). It supports functions such as role assignment for users within the chat, password protected Group Chat and the protocol is backward compatible with the previous specification.
This function is mainly used for IP telephony (VoIP) with extension and is very similar to SIP.
After Google released Google Talk (on 8 August 2005), the initially extended the XMPP protocol VoIP functions was proprietary, later was released to be Open Source. Google provides the source code of the program library named
libjingle that implements this functionality.
Communication with other chat networks
A special concept of XMPP is transportation. This makes it possible to use it with other networks (in XMPP jargon called legacy services) such as AIM, ICQ, Yahoo Messenger or IRC to use and interact with their users.