2 openfire servers and 1 ldap servers - how to get search to work


The setup I have is 1 ldap service containing users from two locations and each location has its own openfire server. The trouble is when users in location A search for a user in location B they find them in the database and search assumes they are being served by the local server (ie. location A) but are offline. A subsequent message sent by the user never gets to the remote server because of this fact. Is there anyway of telling openfire which users are assocated with with either server



No this no way your openfire server will know. It will have the complete user list on each server, so in fact they do exist on both servers.


I can see all the users as its one central ldap database, the problem is that users in site a appear as

usera@openfire_server_a which is fine but users in site b also appear as


when in fact they exist as


consequently sitea users can not contact site b unless manually adding them as contacts and specifying an alternate search service through the Spark client. Most users don’t know to do that and instead fire off messages to userb@openfire_server_a which will never get answered

That is exactly what I am saying. Because your BaseDN on both servers is seeing all users of both domains there is no way for spark to know which server to send the message to and will assume it should go to the account that is on the same server as the user sending the message.

You could change the baseDN on each server to separate the domains if the LDAP structure supports this. Otherwise you will continue to have this issue. There is no way spark or openfire can differenciate the users with your current config.

Ah right I see what you are saying. With the two BaseDN approach would it be possible for users using Spark in site a to seamlessly search users in site b without having to manually specify the remote server that needs to be used. From what I’ve seen, the Openfire config seems to allow only one search server to be added and the Spark client requires manually adding the remote search server which can not be saved between Spark sessions.

If there’s a way I can get round this issue I’d be happy to modify BaseDNs

Thanks for your help