> ## Content Index
> Fetch the complete content index at: https://www.process-one.net/llms.txt
> Use this file to discover other available public pages before exploring further.

# XMPP Glossary
- URL: https://www.process-one.net/blog/xmpp-glossary/
- Published: 2011-09-15T22:00:00.000Z
- Updated: 2024-09-23T08:30:05.000Z
- Description: XMPP is widely used these days, and is here to stay for a while. We have just published an XMPP glossary for you.
- Author: ProcessOne

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.