XMPP Glossary
XMPP is widely used these days, and is here to stay for a while. We have just published an XMPP glossary for you.
Roster, JID, full JID or bare JID, BOSH, caps, component, C2S and S2S, MUC, federation, dialback, PubSub, service discovery, resource, priority, transport, stanza, IQ, spim, ICE/STUN/TURN, presence, Jingle, and… Jabber. Maybe most of all these terms mean something to you. But some may not have a meaning in the XMPP context, or some just do not mean anything.
A
Address book: see roster
Ad-Hoc Commands: wizard-type commands exchanged between 1
Affiliation: in MUC, it is a long-lived privilege set
Attention: specific packet sent to get attention from a contact
Attribute: XML key-value pair that qualifies an element, example <element key=’value’ /> (see element)
Authentication: process by which an XMPP server verifies that a user is really legitimate to connect to an account
Avatar: image chosen by a user to visually represent himself
B
Bare JID: JID without the resource, in the form username@domain
Bind: process by which a client-to-server (C2S) connection is linked to a resource name
Blocking: exhaustive framework for filtering incoming and outgoing traffic via Privacy Lists, as well as simple user blocking via Simple Communications Blocking
Bookmark: server-side saved links to chat rooms (and optionally HTTP links)
BOSH: technique simulating a TCP connection with two long-lived HTTP requests
Bot: a client or component that behaves automatically, usually used as a service or a game
C
Caps: entity capabilities transported by presence
CAPTCHA: challenge for robots, helps identify humans
Chat: real time/synchronous textual conversation
Chatroom: virtual place where multiple users can chat together (see Multi-User Chat)
Chat State Notifications: notifications telling a user is giving attention to a chat, is writing, etc.
Chat theme: set chat window decorations
Client: user-side software the connects to a server and lets the user interact with contacts
Component: server-side software linked to a server
Compression: enables traffic compression between two connected entities (it can be based on stream or TLS)
Contact: another entity generally in the user’s roster
Contact list: see roster
C2S: client-to-server connection
D
Dial-back: in S2S, a mechanism in which a servers calls another one then hangs up, then the second one must callback the first one: this prevents server identity theft
Directory: list of users and search interface on a server
Disco: see Service discovery
E
Element: basic atomic in XML, for example <element/> or <element>content</element>, see XML
Entity: an addressable client, server or component
Event: in PubSub, a notification or payload
E2E: end-to-end encryption, encryption from the sender entity to the receiver entity, even the intermediary servers can’t read the content
F
Federation: interconnection of multiple servers, that enables the users to interact all together
File transfer: process of file exchange between two (or more) entities, it may be synchronous or not
Full JID: JID including the resource, in the form username@domain/resource
G
Gateway: see transport
Geo-location: location transported by PEP
Group: in the roster, a group of contacts is a label put on roster items
Group-chat: see MUC
H
HTTP Binding: see BOSH
HTTP Polling: deprecated method of doing XMPP over HTTP
I
ICE: NAT traversal technique mixing direct connection STUN and TURN
Instant messaging: or IM, also called chat, lets people chat interactively instantaneously
Invitation: packet sends from a room or an entity inviting another entity to join a room
In-band: traffic inside the <stream/> element, see out-of-band
Info-Query: IQ, see query
IQ: short for Info-Query, see query
J
Jabber: former name of XMPP
Jabber address: see JID
Jabber ID: see JID
JEP: former name of XEP
JID: the addressable name of an entity in the form of user@domain (user is optional), see bare JID and full JID
Jingle: negotiation technique enabling voice, video, file transfer, reatime collab apps, and any other heavy binary duty that is not suitable in-band
Jingle Relay Nodes: distributable piece of software that acts as a relay for out-of-band data for peers
Join: process of joining a MUC
JSF: stands for “Jabber Software Foundation”, see XSF
JUD: Jabber User Directory
K
Keep-alive: white-spaces that are sent between two entities directly connected to avoid network hops timeouts
L
Location: see geolocation
M
Message: XML element, first child of the <stream/> element, conveys textual messages between users (and more, like meta data), notation <message/>
MUC: see Multi-User Chat
Multi-User Chat: service for chatrooms
N
Namespace: method to avoid element name conflicts
NAT: stands for “Network Address Translation”, IP-level network device meant to remap addresses
Nick, nickname: pseudonym used in the context of MUC
Node: in the context of PubSub, a please where a publisher publishes information
Notification: event meta-data, which may contain a payload, and may be pushed or polled
O
Offline messages: messages saved by the server, and delivered to the receiver after his reconnection
Out-of-band: traffic outside the <stream/> element
P
Payload: actual content of a notification
PEP: see Personal Eventing Protocol
Personal Eventing Protocol: also known as PubSub on JID
Ping: XMPP-based mechanism to ping an XMPP entity
PLAIN: method of authentication where the password is sent unencrypted, but hashed, via SASL
Port: IP-based addressing number to multiplex traffic
Presence: stanza distributed to subscribed contacts, notation <presence/>
Priority: weight to prioritize client connections using the same bare JID
Privacy lists: lists of filters for stanzas
Private XML Storage: per-account server-side storage space
Protocol: set of rules that define a way to communicate
Proxy: network device that relays requests and/or traffic
Proxy65: XMPP protocol extension based on SOCKS5 to allow out-of-band file transfers
PubSub: specification and implementation of a publish-subscribe messaging pattern
Publish-subscribe: see PubSub
Push: technique that enables a sender to transmit data to receivers, instead of having the receivers polling the sender
Q
Query: stanza <iq/> that needs a response, that enables an entity to query/send info or make actions to another entity
R
Receipts: acknowledgements that a message is received by an entity
Registration: creation of an account
Resource: name given to differentiate client connections to the same account. There can not be two connections with the same resource. Different policies apply: either the new or the old one is disconnected by the server, or the new one is forbidden.
Robot: see bot
Roles: in MUC, it is a short-lived privilege set
Room: a MUC room, where participants send and receive presence and messages
Roster: a contact list (or address book) containing JIDs, nicknames, groups (like labels) and subscriptions to each other’s presence
S
SASL: stands for Simple Authentication and Security Layer, it is a framework for authentication and data security in Internet protocols
Server: network entity that manages C2S, S2S, etc.
Service: an XMPP service, like MUC, PubSub, or transport
Service discovery: a mechanism to browse the services offered by an entity
Simple Communications Blocking: enables the blocking of all communications with a specific contact, see Privacy Lists
SOCKS5: proxy-based file transfer mechanism
Spim: spam on IM
SSL: see TLS
Standards Track: XMPP specifications that are valid for implementation
Stanza: the first-child element of a stream, the smallest unit of XML exchanged between two connected entities, may be <IQ/>, <message/>, or <presence/>
Status: a natural language sentence, transported by presence
Stream: root element or an XMPP traffic
STUN: mechanism to exchange external IP addresses for entities behind a NAT
Subscription: a mechanism for an entity manually authorize another to subscribe to his presence
S2S: server-to-server connection, enables federation
T
TCP: lossless low-level transport for network packets
Thread: within the context of a chat, linked messages that form a consistent conversation
TLS: mechanism to encrypt the stream-level traffic, used for C2S and S2S traffic
Traffic shaping: server-side mechanism to limit the incoming traffic from a client
Transport: a service that provides a gateway to a third party IM (or other communication mean)
TURN: media relay proxy
U
UDP: low-level transport for network packets
URI: unique address of an entity
V
vCard: self-filled set of information about a user, aka profile
W
Whiteboard: real-time collaborative draw
X
XEP: specification that extends XMPP
XHTML-IM: chat formatting
XML: markup language used as the basis of almost all XMPP communication
XMPP: realt-ime communication protocol
XSF: XMPP Standards Foundation, the standards organization that edits XEP and promotes the protocol
5
5222: standard C2S port
5223: legacy SSL port
5269: standard S2S port
5280: standard BOSH port
If you find that a definition is lacking, if you find an error, or if you simply want to extend it, please feel free: you are highly encouraged to contribute.