1. March 2018

We updated our Chat backend

Soldupe Chat

We finalized the first bigger update in 2018 – we updated our chat backend to ejabberd 18.01!

And with this update, we also have some new features in place, which we would like to introduce to you in this blog post. As you know from our previous blog posts, we are using ejabberd for our chat backend. The same XMPP Backend Server on which services like WhatsApp and others rely.

But we are sticking to plain XMPP, without all the proprietary extensions – why that?

  1. We deeply believe in open standards
  2. We hate lock-in effects
  3. We are here to give you back your digital freedom and that doesn’t work out with proprietary s…stuff

Our Chat Features

  • 1:1 Chat
  • Multi-User Chats (Chatrooms)
  • Display your presence
  • Use a dedicated avatar picture and display name
  • Sending pictures, videos, voice messages and other files via Chat or to Chatrooms
  • Use multiple clients (mobile and desktop) simultaneously
  • Mandatory, strong encryption
  • Easy to use end-to-end encryption via OMEMO

With this update we can now fully support OMEMO end-to-end encryption and we are also now offering “Message Archive Management”, which adds another layer of comfort to our chat backend. MAM has been added through many of our users requesting it – we listen to our users and act correspondingly!

But this was just the first update for this year, more is still to come!

And now for those technical interested:

Current Supported XMPP Extensions

XMPP is an open protocol, which features are organized into so call “extensions” (XEP), hence the name Extensible Messaging and Presence Protocol (XMPP).

We are currently supporting the following XEPs:

XEP-0045: Multi-User Chat
XEP-0163: Personal Eventing Protocol
XEP-0191: Blocking Command
XEP-0198: Stream Management
XEP-0237: Roster Versioning
XEP-0280: Message Carbons
XEP-0313: Message Archive Management (new!)
XEP-0352: Client State Indication
XEP-0357: Push Notifications
XEP-0363: HTTP File Upload

XEP-0045: Multi-User Chat
Lets you setup conference rooms, where you can chat with up to 250 other people. This rooms may be either public or private.

XEP-0163: Personal Eventing Protocol
This is an important extension for enabling end-to-end encryption via OMEMO. Enables you also to upload an avatar pic beyond other things.

XEP-0191: Blocking Command
Somebody annoys you? Give him or her ye olden Banhammer.

XEP-0198: Stream Management
In case of small network outages or IP-Address changes on mobile networks, this extension will help you keeping your connection for a seamless user experience.

XEP-0237: Roster Versioning
Just helps you saving bandwidth, as only changes in the roster are delivered to your client.

XEP-0280: Message Carbons
If you are using the Soldupe Chat backend from several devices, this will deliver your outbound messages to all your other devices. So you can change between devices, without losing track on your conversations.

XEP-0313: Message Archive Management
This extension handles message archives stored at the server. For example, this XEP enables you to load messages posted to a multi-user chat when you were offline after getting online again.

XEP-0352: Client State Indication
This extension lets you manage your online/offline state.

XEP-0357: Push Notifications
This extension adds push notifications to our XMPP server, which sends you information about new messages to your devices.

XEP-0363: HTTP File Upload
This extension enables you to post files to Multi-User and 1:1 chats. It also makes the data transfer between clients more reliable. NOTE: When using OMEMO encryption, these files will be stored encrypted on the server. Otherwise not!

When using the Soldupe Chat backend, your JID will be username@soldupe.im – Inband registration without having an active Soldupe subscription is not possible.

Client Software

Basically you can use any client software you like, as long as it understands standard XMPP and supports TLS 1.2.

We recommend to use these clients with the Soldupe Chat Backend:

The client configuration is straight forward: Just enter your JID, as well as your password and the app should configure itself. We will release a dedicated manual on how to configure several common chat clients for usage with Soldupe.

Encryption

The Soldupe Chat backend requires mandatory encryption. The client to server and server to server connections on the Soldupe Chat backend require both mandatory TLS 1.2 encryption.

Of course, you can also use OTR or OMEMO (which we recommend) encryption with our chat backend.

 

If you have any questions, drop us a line on one of our social media channels or sign up to our Newsletter!

 

Last updated: March 1st, 2018