ejabberd offers one of the most comprehensive feature sets among instant messaging servers. Built on the robust foundation of the eXtensible Messaging and Presence Protocol (XMPP), it integrates a vast range of XMPP Extension Protocols (XEPs) to support diverse use cases. Additionally, the ejabberd Business Edition (eBE) extends functionality with high-level features tailored for enterprise needs.
This page provides an overview of the supported protocols, extensions, and features, and emphasizes those that are exclusive to ejabberd Business Edition. To help you select the right ejabberd version for your needs, it highlights the key differences between the standard open-source edition and ejabberd Business Edition.
RFC |
Title |
Description |
Community Server (eCS) |
Business Edition (eBE) |
XEP-0004 |
Data Forms |
Queries and responses between entities, with forms |
✔ |
✔ |
XEP-0012 |
Last Activity |
Date of the last activity of an entity before going offline |
✔ |
✔ |
XEP-0013 |
Flexible Offline Message Retrieval |
Filter offline messages, to prevent storm when reconnecting |
|
✔ |
XEP-0016 |
Privacy Lists |
Personal rules to prevent spam and abuse, and protect privacy (for example
invisibility) |
✔ |
✔ |
XEP-0020 |
Feature Negotiation |
Discovery of component feature |
✔ |
✔ |
XEP-0023 |
Message Expiration |
Expiry time of offline message |
✔ |
✔ |
XEP-0027 |
Current Jabber OpenPGP Usage |
Client-side end-to-end encryption |
✔ |
✔ |
XEP-0030 |
Service Discovery |
To query entity's features and capabilities |
✔ |
✔ |
XEP-0033 |
Extended Stanza Addressing |
To send messages to multiple recepients, like email's to:, cc: and bcc:
lists |
|
✔ |
XEP-0039 |
Statistics Gathering |
To query statistics of services |
✔ |
✔ |
XEP-0045 |
Multi-User Chat |
For conferences with multiple users, with a large number of features (privacy,
security, invitations, etc.) |
✔ |
✔ |
XEP-0049 |
Private XML Storage |
For server-side storage of simple XML like config options |
✔ |
✔ |
XEP-0050 |
Ad-Hoc Commands |
Sequences of forms (like wizards) for automated data exchange (human to
machine, machine to machine) |
✔ |
✔ |
XEP-0054 |
vcard-temp |
For vCards (business cards) storage and queries |
✔ |
✔ |
XEP-0055 |
Jabber Search |
Forms dedicated to search |
✔ |
✔ |
XEP-0059 |
Result Set Management |
Paging of large results sets |
✔ |
✔ |
XEP-0060 |
Publish-Subscribe |
Publish and subscribe pattern applied to XMPP |
✔ |
✔ |
XEP-0065 |
SOCKS5 Bytestreams |
Relay for file transfers |
✔ |
✔ |
XEP-0077 |
In-band Registration |
For account creations, from the XMPP client |
✔ |
✔ |
XEP-0078 |
Non-SASL Authentication |
Authentication method |
✔ |
✔ |
XEP-0082 |
XMPP Date and Time Profiles |
Standard 08601 for dates |
✔ |
✔ |
XEP-0085 |
Chat State Notifications |
Typing indicator |
✔ |
✔ |
XEP-0086 |
Error Condition Mappings |
Error codes definition |
✔ |
✔ |
XEP-0090 |
Legacy Entity Time |
Compliance with previous Jabber protocole |
✔ |
✔ |
XEP-0091 |
Legacy Delayed Delivery |
Compliance with previous Jabber protocole |
✔ |
✔ |
XEP-0092 |
Software Version |
Discovery of software release numbers |
✔ |
✔ |
XEP-0100 |
Gateway Interaction |
Interoperability with private communities : Microsoft MSN/WLM, Yahoo!
Messenger, ICQ, AOL IM, IRC, Twitter |
|
✔ |
XEP-0106 |
JID Escaping |
Ability to use email address as user name |
✔ |
✔ |
XEP-0114 |
Jabber Component Protocol |
Plugin-like interface for server-side software components |
✔ |
✔ |
XEP-0115 |
Entity Capabilities |
Discovery of client capabilities |
✔ |
✔ |
XEP-0124 |
Bidirectional-streams Over Synchronous HTTP (BOSH) |
Long polling technique for web clients (HTTP Binding) |
✔ |
✔ |
XEP-0133 |
Service Administration |
Server message broadcast and client-side server configuration |
✔ |
✔ |
XEP-0138 |
Stream Compression |
Limit bandwith consumption used by XMPP protocole |
✔ |
✔ |
XEP-0142 |
Workgroup Queues |
Enables a user to communicate with a representative of an organization, department, or workgroup |
|
✔ |
XEP-0153 |
vCard-Based Avatars |
Communicating user avatar information |
✔ |
✔ |
XEP-0157 |
Contact Addresses for XMPP Services |
Discover server admin contact detail |
✔ |
✔ |
XEP-0158 |
CAPTCHA Forms |
Additional security to prevent bot massive operations |
✔ |
✔ |
XEP-0160 |
Best Practices for Handling Offline Messages |
Best practices to be followed by Jabber/XMPP servers in handling messages sent to recipients who are offline
|
✔ |
✔ |
XEP-0163 |
Personal Eventing Protocol |
Personal events like location, mood, activity, etc. |
✔ |
✔ |
XEP-0170 |
Recommended Order of Stream Feature Negotiation |
Recommended order for negotiation of XMPP stream features |
✔ |
✔ |
XEP-0172 |
User Nickname |
Nickname metadata |
|
✔ |
XEP-0175 |
Best Practices for Use of SASL ANONYMOUS |
Authentication method for user without account |
✔ |
✔ |
XEP-0176 |
Jingle ICE-UDP Transport Method |
Technique for NAT traversal, see STUN and TURN(VoIP and binary exchanges) |
✔ |
✔ |
XEP-0178 |
Best Practices for Use of SASL EXTERNAL |
Authentication method |
✔ |
✔ |
XEP-0190 |
Best Practice for Closing Idle Streams |
Best practice for closing an XML stream that is perceived to be idle |
✔ |
✔ |
XEP-0191 |
Simple Communication Blocking |
Simple messages blocker |
✔ |
✔ |
XEP-0198 |
Stream Management |
XMPP protocol extension for active management of an XML stream between two XMPP entities |
✔ |
✔ |
XEP-0199 |
XMPP Ping |
A ping technique specific to XMPP |
✔ |
✔ |
XEP-0202 |
Entity Time |
To query one's entity local time |
✔ |
✔ |
XEP-0203 |
Delayed Delivery |
Offline message timestamp |
✔ |
✔ |
XEP-0205 |
Best Practices to Discourage Denial of Service Attacks |
Best Practices to Discourage Denial of Service Attacks plus other protection mechanisms |
|
✔ |
XEP-0206 |
XMPP Over BOSH |
For web-based client, long-polling technique |
✔ |
✔ |
XEP-0212 |
XMPP Basic Server 2008 |
XMPP Basic Server 2008 compliance level |
✔ |
✔ |
XEP-0215 |
External Service Discovery |
Discovery of extra-services addresses (TURN,...) |
|
✔ |
XEP-0216 |
XMPP Intermediate Server 2008 |
XMPP Intermedate IM Server 2008 compliance level |
✔ |
✔ |
XEP-0220 |
Server Dialback |
Workflow to use when dialbacking |
|
✔ |
XEP-0222 |
Persistent Storage of Public Data via PubSub |
Best practices to persistently store semi-public data objects such as
public keys and personal profiles |
✔ |
✔ |
XEP-0223 |
Persistent Storage of Private Data via PubSub |
Best practices to persistently store private information such as bookmarks
and client configuration options |
✔ |
✔ |
XEP-0225 |
Component Connections |
New protocol to connect components to XMPP servers |
|
✔ |
XEP-0227 |
Portable Import/Export Format for XMPP-IM Servers |
Import/Export for server data |
✔ |
✔ |
XEP-0231 |
Bits of Binary |
Lightweight method for including small data in an XMPP stanza |
✔ |
✔ |
XEP-0237 |
Roster Versioning |
Reduce bandwidth consumption by limiting contact details download |
|
✔ |
XEP-0243 |
XMPP Server Compliance 2009 |
XMPP server compliance levels for 2009 |
✔ |
✔ |
XEP-0248 |
PubSub Collection Nodes |
Broadcast of pubsub event in a network of pubsub interdependent nodes |
✔ |
✔ |
XEP-0256 |
Last Activity in Presence |
Method for determining the last time that an XMPP entity was active |
|
✔ |
XEP-0270 |
XMPP Compliance Suites 2010 |
XMPP protocol compliance levels for 2010 |
✔ |
✔ |
XEP-0278 |
Jingle Relay Nodes (experimental) |
A powerful Skype-like P2P technique for VoIP |
✔ |
✔ |
XEP-0279 |
Server IP Check |
Client can ask server its IP address mostly for VoIP services |
✔ |
✔ |
XEP-0280 |
Message Carbons |
Send copy of your own messages to other connected resources |
✔ |
✔ |
XEP-0297 |
Stanza Forwarding |
Forwarding a previously sent stanza to another entity |
✔ |
✔ |
XEP-0302 |
XMPP Compliance Suites 2012 |
XMPP protocol compliance levels for 2012 |
✔ |
✔ |
XEP-0313 |
Message Archive Management |
Protocol to query and control an archive of messages stored on a server |
✔ |
✔ |
XEP-0334 |
Message Processing Hints |
A way to include hints to entities routing or receiving a message |
✔ |
✔ |
XEP-0352 |
Client State Indication |
A way for the client to indicate its active/inactive state |
✔ |
✔ |
XEP-0357 |
Push Notifications |
A way for an XMPP servers to deliver information for use in push notifications to mobile and other devices
|
Contribution module |
XEP-0363 |
HTTP File Upload |
Protocol to request permissions from another entity to upload a file to a specific path on an HTTP server
|
Contribution module |