S2S Presence not working

I configured two ejabberd servers with names "abc.com" and "xyz.com" in S2S configuration.

In both the servers i registered a Shared roster group called "test"(with @all@ configuration). Users within the same server are able to see each other presence successfully.

But the users across servers are unable to see each other users presence status(i.e users of abc.com are not able to see the presence of xyz.com users & vice-versa), to solve this problem i added the users of "abc.com" in "xyz.com" shared roster "test" manually & vice-versa. After that presence is working.

Now my question, is there any configuration available in ejabberd/smack to avoid manually adding users to each other roster's.

I need to configure 170+ ejabberd nodes. Adding each servers users to other servers roster is really tiresome job. Hence looking for a configuration.

If you have those domains in

If you have those domains in the same ejabberd node, defined as vhosts like this:

hosts:
  - "localhost"
  - "example.com"

Then you can get presences shared with a config like this:
In WebAdmin, go to localhost vhost, create group grlocal, with Members: @all@, and Display: grexample@example.com
In WebAdmin, go to example.com vhost, create group grexample, with Members: @all@, and Display: grlocal@localhost

However, if you have completely separated Jabber servers (just the coincidence that both use ejabberd), then obviously mod_shared_roster in one node does not know what users are in the other server.

If you have two ejabberd nodes in a cluster (they share content of some Mnesia tables), and define one vhost in each one, then I am not sure if it is possible. You can try to define both vhosts in both nodes, and share the passwd mnesia table.

Thanks alot badlop for your

Thanks alot badlop for your reply.

I'm having completely separate ejabberd servers in different physical nodes(machines).

In my setup, each node has a separate Ejabberd Server, LDAP, Database, Application Server.

At each node, ejabberd is configured to LDAP of that node. LDAP in each node contains the details of the registered users in that node only i.e( other node user details are not available in LDAP).

But in the Database of each node, contains all the users details i.e Self node users details along with other node users details always.

Note: LDAP contains username & password. Database only contains username. Hence authentication can be done only against LDAP from Ejabberd.

1) My application is currently using SMACK API to interact with Ejabberd. Is there anyway through SMACK java API(programatically) or anyother means that i can register one ejabberd server users in other ejabberd server for getting the PRESENCE?

2) Do you have anyidea whether ejabberd server commercial support is available in INDIA?

Thanks in Advance!!!

Oh, I don't know if presence

Oh, I don't know if presence will be correctly shared in this case, or if it is possible to accomplish presence-sharing in some other way; I only experiment with 1 node servers, sorry.

You can try to post your question in the ejabberd mailing list, as there are many jabber admins in that list, maybe one have some idea.

I guess ProcessOne can give online support everywhere, you can ask them.

Syndicate content