XMPP Glossary

The definitions on this page have been taken from Wikipedia, unless otherwise noted.


Bidirectional-streams Over Synchronous HTTP may be used to transport XMPP stanzas. The result is an HTTP binding for XMPP communications that is useful in situations where a device or client is unable to maintain a long-lived TCP connection to an XMPP server.

Taken from




An XMPP gateway allows users to access networks using other protocols. This can be anything from other instant messaging protocols to protocols such as SMS or email. Unlike multi-protocol clients, XMPP provides this access at the server level by communicating via special gateway services running on a remote computer. Any user can "register" with one of these gateways by providing the information needed to log on to that network, and can then communicate with users of that network as though they were Jabber users. This means that any client which fully supports XMPP can be used to access any network for which a gateway exists, without the need for any extra code in the client and without the need for the client to have direct access to the Internet.

instant messaging

Instant messaging is a form of real-time communication between two or more people based on typed text. The text is conveyed via computers connected over a network such as the Internet.


Jabber is an open, secure, spam-free, ad-free, decentralized alternative to consumer IM silos like AOL Instant Messenger, ICQ, Windows Live Messenger, and Yahoo Instant Messenger. Under the hood, Jabber is a set of streaming XML protocols (called XMPP) that enable any two entities on the Internet to exchange messages, presence, and other structured information in close to real time.

For details about the underlying protocol, see XMPP.

Taken from


The Jabber ID is what is used on the network to distinguish unique users. To avoid the need for a central server with a list of IDs, the JID is structured like an e-mail address with a username and a DNS address for the server where that user resides separated by an at sign (@), such as username@….

Since a user may wish to log in from multiple locations, the clients specify a further string known as a resource, which identifies which of the user's clients it is (for example home, work and mobile). This may then be included in the JID by adding a forward slash followed by the name of the resource. Each resource may have specified a numerical value called priority. For example, the full JID of a user's mobile account would be username@…/mobile. Messages that are simply sent to username@… will go to the client with highest priority, but those sent to username@…/mobile will only go to the mobile client.

JIDs without a username part are also valid and may be used (with or without a resource part) for system messages and control of special features on the server



node, aggregate


personal eventing

Personal eventing uses the XMPP publish-subscribe protocol to broadcast state change events associated with an instant messaging and presence account. This enables a standard XMPP user account to function as a virtual pubsub service, easing the discovery of syndicated data and event notifications associated with such an account.



Publish-subscribe is an asynchronous messaging paradigm where senders (publishers) of messages are not programmed to send their messages to specific receivers (subscribers). Rather, published messages are characterized into classes, without knowledge of what (if any) subscribers there may be. Subscribers express interest in one or more classes, and only receive messages that are of interest, without knowledge of what (if any) publishers there are. This decoupling of publishers and subscribers can allow for greater scalability and a more dynamic network topology.

Publish-subscribe is a sibling of the Message Queue paradigm, and is typically one part of a larger Message-Oriented Middleware solution. Most messaging systems support in their API (e.g. JMS) both the publish-subscribe and Message Queue models.


The sender of a specific message.


See publish-subscribe.


A router in a traditionally designed XMPP server accepts TCP connections to establish bidirectional XML streams. Other entities (usually called XMPP server-side components) connect to the router and trust it to forward XML Stanzas on their behalf. The whole of the router and its connected components is generally known as an XMPP server.

Taken from Ralph Meijer's comments in


XXX needs more info about use in XMPP

In computing, inter-server is a technical term used in network protocol design to refer to the extension of the client-server model by having parts of a protocol which are only exchanged between the servers. In some fields server-to-server (S2S) is used as an alternative, and the term inter-domain can in some cases be used interchangeably.




The recipient of a specific message of interest where, by some mechanism, interest has been indicated.


See gateway.


Extensible Messaging and Presence Protocol (XMPP) is an open, XML-inspired protocol originally aimed at near-real-time, extensible instant messaging (IM) and presence information (a.k.a. buddy lists), but now expanded into the broader realm of message oriented middleware. It remains the core protocol of the Jabber Instant Messaging and Presence technology. Built to be extensible, the protocol has accumulated features over time such as Voice over IP and file transfer signaling.

Unlike most instant messaging protocols, XMPP is an open standard. Like e-mail, it is an open system where anyone who has a domain name and a suitable Internet connection can run their own Jabber server and talk to users on other servers. The standard server implementations and many clients are also free and open source software.


Last modified 13 years ago Last modified on 09/13/2008 10:02:31 AM