Distributed XMPP servers behind firewalls

Liam Friel <[email protected]> Mon, 10 Jun 2013 22:42:21 +0100
Newsgroups gmane.network.jabber.admin
Message-ID <CA+vRuD3ZrbSPuNcHBRUmMZOVXozrYVLka_WO3UDucXMsj4ftiQ@mail.gmail.com>
--===============1290485337==
Content-Type: multipart/alternative; boundary=089e0122a9b2ca0f4204ded3a781

--089e0122a9b2ca0f4204ded3a781
Content-Type: text/plain; charset=ISO-8859-1

Hi

I have a requirement to make a distributed chat and presence system, with
some restrictions to be described below, and I *think* that XMPP would be
an extremely good fit. I have spent quite some time reading up on XMPP,
however I am looking for some configuration advice: hopefully this is the
correct list.

This is to support a distributed loose association of computer clubs.

These computer clubs generally run in networks over which they have no
control (think school networks, or hotel networks: they run in those
premises, and have internet access, but no control over routers or
firewalls etc). They may be behind several layers of NAT.

What I want is:
- to create a central cloud hosted server
- to run a chat server locally inside each of the computer clubs
  - clients on the local LAN can connect to their local chat server, and
chat to each other
  - that is vanilla XMPP/Jabber behaviour. I favour prosody as the server,
for various reasons.
- each computer club chat server makes an encypted link to the central
server and announces it's presence
  - this puts the local chat server "online" in our loose federation of
nodes
  - central server remembers some data about each "local" server which
connects
- clients on each local LAN can how ask their "online" local server to tell
them what other servers are online
- clients can get a roster of clients either connected locally, or
connected to other servers
- clients can initiate a chat session with local clients, or clients
connected to other servers

I would rather not write this s/w myself from scratch: this is rather close
to a distributed XMPP network of servers (isn't it?) except that I cannot
really rely on DNS to find the local server in each computer club, and
servers in each local club cannot directly contact each other. All contact
will have to go via the central server.

Any necessary level of ssl certs, unique identifiers for the "local" chat
servers etc is possible. It's just that local server A cannot see local
server B: they will have to communicate via the central cloud-hosted server.

Is XMPP the right answer to this problem? Or am I barking up the wrong tree
there?

TIA for your expert advice.

Regards
Liam

--089e0122a9b2ca0f4204ded3a781
Content-Type: text/html; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable

<div dir=3D"ltr">Hi<div><br></div><div>I have a requirement to make a distr=
ibuted chat and presence system, with some restrictions to be described bel=
ow, and I *think* that XMPP would be an extremely good fit. I have spent qu=
ite some time reading up on XMPP, however I am looking for some configurati=
on advice: hopefully this is the correct list.</div>
<div><br></div><div style>This is to support a distributed loose associatio=
n of computer clubs.</div><div style><br></div><div style>These computer cl=
ubs generally run in networks over which they have no control (think school=
 networks, or hotel networks: they run in those premises, and have internet=
 access, but no control over routers or firewalls etc). They may be behind =
several layers of NAT.</div>
<div style><br></div><div style>What I want is:</div><div style>- to create=
 a central cloud hosted server</div><div style>- to run a chat server local=
ly inside each of the computer clubs</div><div style>=A0 - clients on the l=
ocal LAN can connect to their local chat server, and chat to each other</di=
v>
<div style>=A0 - that is vanilla XMPP/Jabber behaviour. I favour prosody as=
 the server, for various reasons.</div><div style>- each computer club chat=
 server makes an encypted link to the central server and announces it&#39;s=
 presence</div>
<div style>=A0 - this puts the local chat server &quot;online&quot; in our =
loose federation of nodes</div><div style>=A0 - central server remembers so=
me data about each &quot;local&quot; server which connects</div><div style>
- clients on each local LAN can how ask their &quot;online&quot; local serv=
er to tell them what other servers are online</div><div style>- clients can=
 get a roster of clients either connected locally, or connected to other se=
rvers</div>
<div style>- clients can initiate a chat session with local clients, or cli=
ents connected to other servers</div><div style><br></div><div>I would rath=
er not write this s/w myself from scratch: this is rather close to a distri=
buted XMPP network of servers (isn&#39;t it?) except that I cannot really r=
ely on DNS to find the local server in each computer club, and servers in e=
ach local club cannot directly contact each other. All contact will have to=
 go via the central server.</div>
<div><br></div><div>Any necessary level of ssl certs, unique identifiers fo=
r the &quot;local&quot; chat servers etc is possible. It&#39;s just that lo=
cal server A cannot see local server B: they will have to communicate via t=
he central cloud-hosted server.</div>
<div><br></div><div><div style>Is XMPP the right answer to this problem? Or=
 am I barking up the wrong tree there?</div><div style><br></div><div style=
>TIA for your expert advice.</div><div style><br></div><div style>Regards</=
div>
<div style>Liam</div>
</div></div>

--089e0122a9b2ca0f4204ded3a781--

--===============1290485337==
Content-Type: text/plain; charset="us-ascii"
MIME-Version: 1.0
Content-Transfer-Encoding: 7bit
Content-Disposition: inline

_______________________________________________
JAdmin mailing list
Info: http://mail.jabber.org/mailman/listinfo/jadmin
Unsubscribe: [email protected]
_______________________________________________

--===============1290485337==--