[jdev] XMPP questions

Peter Saint-Andre stpeter at stpeter.im
Fri Feb 10 05:05:38 UTC 2012

On 2/9/12 12:47 PM, Daniel Dormont wrote:
> Well, I'm not the most experienced one here, but I'll tell you what I know.

And that's much appreciated!

A few additional bits of information inline...

> On Wed, Feb 8, 2012 at 5:09 PM, Ruff, Rob <rruff at scires.com
> <mailto:rruff at scires.com>> wrote:
>     Hi, ____
>     __ __
>     I am new to XMPP and have a few questions.  I have read the book and
>     a number of different websites and am still not sure about a few
>     things.  ____
>     __ __
>     We are considering using XMPP for chat, conferencing, etc between a
>     number of systems that will not be connected via a reliable
>     network.  The systems may lose connectivity at any time, especially
>     if one is moving.  Since any of the systems can lose connectivity,
>     an XMPP server will run at each one so the systems that are still
>     connected can communicate.____
>     __ __
>     I am using Openfire and Spark as well as a bot I created using the
>     gloox c++ library to do some prototyping/testing.____
>     __ __
>     __-          __Is a DNS required to use XMPP, in particular for the
>     server to server connections?  I have played around with using the
>     hosts file and I can’t seem to get that to work. 
> Formally, yes. If you want to interface with outside XMPP providers such
> as jabber.org <http://jabber.org> or Google, also yes. In practice, no,
> but there are some conditions you have to meet. Specifically, in order
> for server A and B to communicate by S2S, both servers must have host
> entries for themselves and each other, which exactly match the XMPP
> domain name each is serving.

The original poster could also run his servers at IP addresses rather
than fully qualified domain names. In that sense, DNS is not required.

>     ____
>     __-          __I have seen references to BOSH for unreliable
>     connections but it usually referred to client-server connections. 
>     Could that be used for server-server connections as well or is there
>     something else you would recommend?
> To the best of my knowledge there is no BOSH equivalent for S2S.

Actually, BOSH could be used for s2s, but no one does so.

>     ____
>     __-          __Is multicast required?
> No, unless you're using a specific XMPP service that relies on it. 

I'm not sure what the original poster meant by multicast.

>     ____
>     __-          __I understand that conferences are hosted at a
>     particular server.  That would mean if that particular server lost
>     connectivity then the conference would be unavailable for the others
>     that are still connected.  Is there any way around this?
> To my knowledge, no. The only two servers I've worked with here are
> Openfire and Ejabberd, so it's possible that some other server like
> M-Link explicitly supports hot failover and clustering of individual
> multi-user chats. Ejabberd supports clustering of MUC _domains_, but
> each individual conference lives on a particular node. If it dies it can
> be restarted on another node, but in the mean time it's still dead. 

Some folks in the XMPP developer community have been working on
approaches to solving that problem. There are several proposals, but
none of them is solid yet, or implemented (although there is an
experimental implementation of XEP-0289). Expect further progress on
this problem in 2012.


Peter Saint-Andre

More information about the JDev mailing list