powered by Jive Software


Hi all!

How can I use s2s topology in Jive Messenger?


Hey estevaovix,

Yes, it is possible. Read the following “draft” documentation about server to server communication.

Connections to remote servers are created on demand. When a packet is sent to a domain that does not match the server’'s hostname then the server will try to create a connection to the remote server. The created connection will be used only for sending packets. The remote server should create a connection to your server for sending packets. Out of the box Jive Messenger will use port 5269 for server to server communication. Therefore, if user_1 that is connected to server_1 sends a message to user_2@server_2 then server_1 will try to create a socket connection to server_2 at port 5269. And server_2 will do the same thing for connecting to server_1.

In order to locate the IP address of remote servers, each server will try to resolve the hostname of remote servers using a DNS server. If it was not possible to resolve the remote servers hostname then a connection to the packet’‘s domain will be attempted. Notice that it is possible to create connections to services running in remote servers (e.g. conferente.remoteserver.com). As we said, Jive Messenger will first try a DNS lookup and a direct connection to the packet’'s domain but if that fails then Jive Messenger will use a “smart” retry logic. The server will remove each word from left to right before a dot and try again. Therefore, in the above example the server will try to connect to remoteserver.com if conferente.remoteserver.com failed.

From the admin console it is possible to enable or disable the server to server service. When disabled remote servers will not be able to establish connections to your server and your server will not attempt to establish connections to remote servers. From the admin console it is also possible to configure the servers that are allowed to connect to your server.

Things to check/do:

. The hostname used by your JM server must be registered in the DNS so that remote servers may be able to connect to your JM server. If the hostname of your server is an IP address then the DNS registration may be skipped.

. Servers will communicate using port 5269 so make sure that that port is opened in the firewall. If your server is behind a router then make sure that the router is forwarding port 5269 to your server. A simple test that you can try is doing a telnet to the JM’'s hostname at port 5269 from the remote server.

. It is possible to collect debug information. Open the Admin Console. Click on Logs > Debug and enable the Debug Log. Copy the information in the debug.log and post it you are running into troubles.


– Gato