Chaining XMPP Servers in series

Is there a way to put 3 Openfires in SERIES. ie. Client connects to Server A which connects to Server B which also connects to Server C (ie. NO server A to server C connection)

Can the user see the rooms available on Server C? There seemed to be some old RFCs that discussed chaining but I can find nothing now.
Thanks!

Openfire is a XMPP server, and the XMPP protocol does revolve around federation(one server talk to another). That being said, servers connect to each other directly. Server A-C and B-C or A-B. Server A cant use server B as proxy to contact server C.

1 Like

thank you!!!

What @zoidberg describes covers by far most use cases of Openfire (or any XMPP server), but there are scenarios in which it is desirable to have a server that sits in between communication exchanges by two other XMPP domains. Reasons for this typically include:

  • connection mediation (e.g. have one server that is addressable by all other servers, such that its address it the only one that needs to be distributed)
  • filtering / access control (e.g. ensure that certain bits of data do not cross domain boundaries - for example by leveraging security labels on data and filtering for those)

Openfire can facilitate such scenarios through a concept called ‘trunking’. Please refer to the following section from the Openfire documentation for more information: Openfire: Trunking Guide

thank you! does the intermediate node have to be dedicated for trunking or can it have rooms too for nodes A and C users accessing

I have never tested this, but I can’t think of a reason why the trunking server can’t have its own users, rooms and other features. As long as your networking/addressing is set up correctly (which can be a bit tricky, as the trunking server takes up several identities) things should work.