Server to Server Archive and Forward

Hello, I’m relatively new to managing OpenFire installations and I’m trying to solve a particular problem. I am trying to setup a series of OpenFire servers, each with a handful of users, in an environment where connections between the servers may be intermittent. Clients will always be able to reach their local server. In this scenario I would like users to be able to send messages to users on another server. When connections between the servers are down, I would like the servers to store messages to be forwarded once the connection can be re-established.

I’ll illustrate with an example. Let’s say I have User1 on ServerA and User2 on ServerB. User1@ServerA is having a conversation with User2@ServerB. In the middle of the conversation, the connection between ServerA and ServerB goes down for some period of time (say 30 minutes). During this time User1 and User2 continue to send messages to each other. Once the connection between ServerA and ServerB is re-established I would like them to sync up the messages that User1 and User2 have tried to send each other.

I’ve been looking at the plugins that are available, and I’ve installed the Monitoring Plugin, even though I know this is primarily focused on saving a user’s history on their local server. Is there another plugin or setting that I’m trying to achieve?

FYI, the client we’re using for this is Converse.js, though I might be able to switch to something similar if needed. It does need to be embedded in a web page though.

I don’t think that there’s something in Openfire that addresses temporary unavailable server-to-server connections.

There are a lot of side-notes here, but generally speaking, it either can deliver a stanza to a remote domain, or it fails and returns an error. There is no queuing of messages on the server-to-server link.

Something like that could be built, but you’d then have to wonder what the UX is on the sending side. That might expect that data is delivered (or at least: delivery did not fail), while that then is not the case.

There are various development tracks that we could look into, but as of yet, I do not think Openfire (or most XMPP servers, for that matter) support these use-cases.