I'm currently running two ejabberd 2.1.6 hosts. They use (open)ldap for authentication and mod_shared_roster_ldap to pull a server-specific list of rosters and members. It looks like this:
test1.foo
test2.foo
Users on each server can auth and they see all the rosters in the config. They can also message each other between servers and the s2s connection works as expected.
What I need now is a way to have the Admin roster show to joe/jim and the Staff roster show to bob/bill. Since the LDAP directory used by test2.foo is managed by a completely different company than test1.foo, the rosters may change at any point without the other company knowing. This makes manual roster modification not feasible. So far in googling and searching here I haven't found a way to do this or even someone asking the same question.
Is there a way to do this at all? If not, is there some way to periodically (without restarting all jabber daemons) modify/push the shared rosters between servers?
AUMailerguy wrote: is there
is there some way to periodically (without restarting all jabber daemons) modify/push the shared rosters between servers?
Not an easy way, but you can:
If you install mod_admin_extra, you can list/add/remove members with shell calls. If you also install ejabberd_xmlrpc, you can use XMLRPC calls, and if you install mod_rest, you can use HTTP POST calls.
Then make it periodically.