Liam Friel
2013-06-10 21:42:21 UTC
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jadmin/attachments/20130610/17bb702d/attachment.html>
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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.jabber.org/pipermail/jadmin/attachments/20130610/17bb702d/attachment.html>