Joe, Jack and Jill use IM as a communication medium among themselves in Company A, where they work, and with customers and partners around the world. No goofing off here -- it's a legitimate work tool.

+-----+                               |Mary |
|Joe  |--------+                      +-----+
+-----+        |                        /
            +------+       ____________/
+-----+     |      |      /            \
|Jack |-----|Server|-----| The Internet |
+-----+     |      |      \____________/
            +------+                   \
+-----+        |                        \
|Jill |--------+                      +-----+
+-----+                               |Paul |

I'd like if, when the Internet connection dies, Joe, Jack and Jill are still able to IM each other within the company. After all, network connectivity between them hasn't been compromised. Can any of the popular IM networks do this transparently? Perhaps installing a proxy-like program in a company server?

These three
still see
each other
v v v v v v
+-----+                                 |Mary |
|Joe  |--------+                        +-----+
+-----+        |                          /
            +------+         ____________/
+-----+     |      |   D    /            \
|Jack |-----|Server|-/ E /-| The Internet |
+-----+     |      |   A    \____________/
            +------+   D                 \
+-----+        |                          \
|Jill |--------+                        +-----+
+-----+                                 |Paul |
  • 2
    reminds me of Nethack ... :-)
    – Rook
    Commented Jan 28, 2010 at 1:05

4 Answers 4


As Iain, answered you can install an XMPP (also known as Jabber) server at your local network and have your workers use that server. There are many server implementations out there, both proprietary and open source.

Then you may have your XMPP server communicate with other XMPP servers (gmail.com, jabber.org, someothercompany.com) so that [email protected] will be able to talk to [email protected] or [email protected] without them needing to subscribe to the sabe IM service.


Yes, but not with public instant messengers.

Microsoft Communication Server can do this, so everyone locally can talk, but also integrate with third party IM providers such as AIM, MSN and Yahoo. (But it isn't cheap, or very easy to use in small environments. If you have thousands of users, it works VERY well!)

After this, you may want to take a look at a XMPP servers that you can run locally, however integration to third party products really depends on both the client and server you use.

I personally recommend you run a XMPP server on the server, and use a client such as Pidgin that will allow Joe, Jack and Jill to communicate locally, but also use whatever other networks they like. This will mean that they can talk on all networks and still communicate when the internet goes down.

(FYI, Jabberd is the one I used to use, however it has been years since I have done this and have no idea if anything better now exists)

  • I would suggest taking a look at Prosody and Openfire as well as Jabberd. Openfire has a nice admin interface, Prosody very streamlined and lower system needs. Commented Jan 27, 2010 at 17:01
  • +1 That's a great answer - use one IM product for internal system, and use a client that allows access to multiple IM systems. That gives you your redundancy and doesn't rely on your customers using a particular IM network. Pidgen will hook into XMMP locally, then all the major IM networks apart from Skype.
    – dunxd
    Commented Jan 28, 2010 at 11:21
  • We are doing the same thing with Openfire and their public transports to AIM/Yahoo/Gtalk. The other benefit of a solution like this from a corporate standpoint is that you can get central logging of all IM traffic.
    – Alex
    Commented Jan 28, 2010 at 15:22

Install a corporate XMPP (Jabber) server.


Well, I'm probably also going to say jabber/XMPP- Run a server within your office lan, and turn on federation. I'm going to go a step further and suggest setting up gateways as well - so that your users can connect to MSN, yahoo and others - which should probably cover most of your bases

in 2018 - I'm using matrix to do this - it supports multiple home servers so you'd simply be running a seperate homeserver inside and outside the network, and rooms "parented" to a server that's down still work via the other home servers. In this case running internal and external home servers that can find each other would work perfectly well - run the internal home server inside your lan, with the appropriate ports opened up, and you're good.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .