[JDEV] Using jabber as a central server for an Intranet

Iain Shigeoka iainshigeoka at yahoo.com
Thu Jan 3 12:18:42 CST 2002

On 1/2/02 9:48 PM, "Ritu Khetan" <ritu at netcore.co.in> wrote:
>> Yes, you certainly can.  Although the only Jabber server I know that is
>> feature complete is the one offered by Jabber.com.  So if theirs doesn\'t do
>> it, you\'ll need to build your own.

>  Thanks for your response.
>  Can you give me some direction on how can I do this.

As DJ mentioned, you'll probably need to write your own customization.

First choice, if you have money, look around and talk to Jabber IM vendors.
Jabber.com obviously.  However, there are other companies selling IM
solutions (servers and clients) although they may not adventise the fact
that they are using the Jabber protocols.  These companies may be able to do
the customization for you (I imagine it would not take much extra coding).

Second choice, roll your own.  First choose your language.  As far as I know
you can go C or Java (for minimum work).  Then take the existing server in
that language (for C start with jabber.org's reference server, for Java try
Al Sutton's or the Java one on sourceforge (posts to this list have
announced them recently)).

I would imagine that you can set up some simple "relay servers" by changing
the way that the servers handle packet routing.  I would imagine the biggest
challenge will be in synchronizing and coordinating user
accounts/authentication between relay servers.  If you don't require
separate authentication on the relay servers then its not a big deal.
However, if your LAN is untrusted, you'll probably want to authenticate
against the relay servers...

As another alternative you can setup a normal Jabber distributed server
architecture inside your LAN but modify the servers and clients so that the
IP address and server names are disassociated.  Then use your own mapping
between server names and IP addresses to make the LAN look like another part
of the Internet.  The benefit being less modifications of the internal code
(you could theoretically not modify the jabber stuff at all and hack DNS
except for the "gateway Jabber server").

I have this latter setup going on my custom software because it makes
testing on my laptop easier.  Your servers know that accounting.company.com
goes to the jabber server in the accounting department, that company.com
addresses are the gateway, that outside (non company.com names) are routed
through the gateway server (all outside addresses map to the gateway
server), and that internal addresses on messages going through the gateway
are rewritten as company.com so that replies get returned to the gateway
machine (that can then lookup the address and remap it to the LAN name).

Hope that helps.


Do You Yahoo!?
Get your free @yahoo.com address at http://mail.yahoo.com

More information about the JDev mailing list