Experts in Instant Messaging and Push
  • Products
  • Solutions
  • Services
  • Shop
  • Customers
  • Company
  • Contact
  • Blog
  • French
  • ejabberd PubSub features

    The ejabberd XMPP server offers a very rich PubSub module (mod_pubsub), enabling a wide range of publish and subscribe applications. PubSub is the type of feature used by WordPress to publish updates on blog in near realtime and is a key component of the real time web.

    ejabberd has received a lot of improvements in the PubSub module during the version 2.1.0 development process.

    First, ejabberd’s PubSub module underwent a partial rewrite to enable optimizations in terms of I/O (input and output) resulting in a lot performance improvements. The PubSub module also now supports ODBC, which enables storage of large volumes of data.

    Regarding the performance, this PubSub implementation has been deployed in production on several huge and high profile events distribution platform. We will publish more informations on those use cases soon.

    As you can see, although mod_pubsub does not yet cover 100 % of the related specifications (XEP-0060 and XEP-0248), it is quite complete. Many thanks go to Brian Cully, who worked hard to contribute to this module and helped Christophe Romain, lead PubSub developer at ProcessOne.

    Here is a summary of the PubSub features that are now implemented in ejabberd:

    Features Implementation XEP Ref. XEP link
    access-authorize 4.5 Node Access Model http://xmpp.org/extensions/xep-0060.html#accessmodels
    access-open 4.5 Node Access Model http://xmpp.org/extensions/xep-0060.html#accessmodels
    access-presence 4.5 Node Access Model http://xmpp.org/extensions/xep-0060.html#accessmodels
    access-roster 4.5 Node Access Model http://xmpp.org/extensions/xep-0060.html#accessmodels
    access-whitelist 4.5 Node Access Model http://xmpp.org/extensions/xep-0060.html#accessmodels
    auto-create 7.1.4 Automatic Node Creation http://xmpp.org/extensions/xep-0060.html#publisher-publish-autocreate
    auto-subscribe 9.1 Auto-Subscribe http://xmpp.org/extensions/xep-0060.html#auto-subscribe
    collections   http://xmpp.org/extensions/xep-0248.html
    config-node 8.2 Configure a Node http://xmpp.org/extensions/xep-0060.html#owner-configure
    create-and-configure 8.1.3 Create and Configure a Node http://xmpp.org/extensions/xep-0060.html#owner-create-and-configure
    create-nodes 8.1 Create a Node http://xmpp.org/extensions/xep-0060.html#owner-create
    delete-items 7.2 Delete an Item from a Node http://xmpp.org/extensions/xep-0060.html#publisher-delete
    delete-nodes 7.2 Delete an Item from a Node http://xmpp.org/extensions/xep-0060.html#owner-delete
    filtered-notifications 9.2 Filtered Notifications http://xmpp.org/extensions/xep-0060.html#filtered-notifications
    get-pending 8.6 Manage Subscription Requests http://xmpp.org/extensions/xep-0060.html#owner-subreq
    instant-nodes 8.1 Create a Node http://xmpp.org/extensions/xep-0060.html#owner-create
    item-ids N/A N/A
    last-published 6.1.7 Receiving the Last Published Item http://xmpp.org/extensions/xep-0060.html#subscriber-subscribe-last
    leased-subscription 12.18 Time-Based Subscriptions (Leases) http://xmpp.org/extensions/xep-0060.html#impl-leases
    manage-subscription 8.8 Manage Subscriptions http://xmpp.org/extensions/xep-0060.html#owner-subscriptions
    member-affiliation 4.1 Affiliations http://xmpp.org/extensions/xep-0060.html#affiliations
    meta-data N/A N/A
    modify-affiliations 8.9 Manage Affiliations http://xmpp.org/extensions/xep-0060.html#owner-affiliations
    multi-collection 6.3.1 Only One Collection Node http://xmpp.org/extensions/xep-0248.html#createassociated-error-onenode
    multi-subscribe 6.1.6 Multiple Subscriptions http://xmpp.org/extensions/xep-0060.html#subscriber-subscribe-multi
    outcast-affiliation 4.1 Affiliations http://xmpp.org/extensions/xep-0060.html#affiliations
    persistent-items N/A N/A
    presence-notifications N/A N/A
    presence-subscribe 9.1 Auto-Subscribe http://xmpp.org/extensions/xep-0060.html#auto-subscribe
    publish 7.1 Publish an Item to a Node http://xmpp.org/extensions/xep-0060.html#publisher-publish
    publish-options 7.1.5 Publishing Options http://xmpp.org/extensions/xep-0060.html#publisher-publish-options
    publisher-affiliation 4.1 Affiliations http://xmpp.org/extensions/xep-0060.html#affiliations
    purge-nodes 8.5 Purge All Node Items http://xmpp.org/extensions/xep-0060.html#owner-purge
    retract-items 7.2 Delete an Item from a Node http://xmpp.org/extensions/xep-0060.html#publisher-delete
    retrieve-affiliations 5.7 Retrieve Affiliations http://xmpp.org/extensions/xep-0060.html#entity-affiliations
    retrieve-default 8.3 Request Default Configuration Options http://xmpp.org/extensions/xep-0060.html#owner-default
    retrieve-items 6.4 Retrieve Items from a Node http://xmpp.org/extensions/xep-0060.html#subscriber-retrieve
    retrieve-subscriptions 5.6 Retrieve Subscriptions http://xmpp.org/extensions/xep-0060.html#entity-subscriptions
    subscribe 6.1 Subscribe to a Node
    &
    6.2 Unsubscribe from a Node
    http://xmpp.org/extensions/xep-0060.html#subscriber-subscribe
    &
    http://xmpp.org/extensions/xep-0060.html#subscriber-unsubscribe
    subscription-options 6.3 Configure Subscription Options http://xmpp.org/extensions/xep-0060.html#subscriber-configure
    subscription-notifications 12.12 Notification of Subscription State Changes http://xmpp.org/extensions/xep-0060.html#impl-subchange

    Feel free to download and test our latest ejabberd 2.1 RC1, your feedback is encouraged and will be welcome.