Chat

The chat service uses the standard protocol Jabber/XMPP and support TLS on standard ports (5222 or 5223).

The main features are:

  • Messaging between users of the system

  • Chat server administration

  • Broadcast messages

  • Group chat

  • Offline messages

  • Transfer files over LAN

  • S2S

  • Message archiving

All system users can access the chat using their own credentials.

Note

If NethServer is bound to a remote Active Directory account provider a dedicated user account in AD is required by the module to be fully operational! See Join an existing Active Directory domain.

Note

Nethserver-ejabberd use a version of ejabberd known as stable. System administrator and developers might need a version more recent of ejabberd, in that case you could install nethserver-ejabberd-next (NethForge Repository) and download after manually the ejabberd version you need on the website. Please note that you will need to add your custom-templates or configuration files. if you think that a change can be valuable to the NethServer community, please open a pull-request to the repository

Configuration

All configuration options are available from Configuration page inside the ejabberd application. Main options are:

  • enable and disable ejabberd daemon

  • enable built-in web administration interface

Under the Advanced options section, the administrator can also configure:

  • S2S federation

  • message archive

  • file upload to exchange data among clients using URL

  • file transfer speed

Server to server (S2S)

The XMPP system is federated by nature. If S2S is enabled, users with accounts on one server can communicate with users on remote servers. S2S allows for servers communicating seamlessly with each other, forming a global ‘federated’ IM network.

For this purpose, the SRV DNS record must be configured for your domain (https://wiki.xmpp.org/web/SRV_Records#XMPP_SRV_records) and the server must have a valid SSL/TLS certificate.

Message Archive Management

Message Archive Management (mod_mam) implements Message Archive Management as described in XEP-0313. When enabled, all messages will be stored inside the server and compatible XMPP clients can use it to store their chat history on the server.

The database can store a maximum of 2GB of messages, archived messages can be purged automatically. To configure message retention policy, set Clean messages older than X days option.

Note

If enabled, this module will store every message sent between users. This behavior will affect the privacy of your users.

Administrators

All users within the group jabberadmins are considered administrators of the chat server.

The group jabberadmins must be created and configured from the Groups page.

Administrators can:

  • Send broadcast messages

  • Check the status of connected users

Clients

Jabber clients are available for all desktop and mobile platforms.

Some widespread clients:

  • Pidgin is available for Windows and Linux

  • Adium for Mac OS X

  • BeejibelIM for Android and iOS, Xabber only for Android

When you configure the client, make sure TLS (or SSL) is enabled. Enter the user name and the domain of the machine.

If NethServer is also the DNS server of the network, the client should automatically find the server’s address through special pre-configured DNS records. Otherwise, specify the server address in the advanced options.

With TLS capabilities, strictly configured servers or clients could reject connections with your Ejabberd server if the SSL/TLS certificate doesn’t match the domain name. Also, the certificate should contain two sub-domains pubsub.* and conference.*. This certificate can be obtained for free with Let’s Encrypt (see Certificates).