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
- Message archiving
All system users can access the chat using their own credentials.
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.
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.
If enabled, this module will store every message sent between users. This behavior will affect the privacy of your users.
All users within the group
jabberadmins are considered administrators of the chat server.
jabberadmins must be created and configured from the Groups page.
- Send broadcast messages
- Check the status of connected users
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
This certificate can be obtained for free with Let’s Encrypt (see Certificates).