Rosters with external user IDs

Hi all

In the past, I believe with ejabberd 2.1.x and older versions, there was once the feature (or perhaps a bug) that allowed us to produce rosters that also contain jabber IDs that weren't part of the domain. This was really more of a convenience thing for our users in our domain as well as encouragement to collaborate with a community of orgs that had the same interest. For example, say our jabber domain was something.org. The ejabberd server is configured to permit any other jabber servers from other orgs to freely peer/connect to it. We'd have a roster built (syntax excluded here) like so:

jeff@something.org
johnny@something.org

And so on. Our script would then allow users in a portal to register alternative jabber IDs used in their own organizations, something like:

joe@somethingelse.org

And so on, so that the roster file would look like this (again for the sake of brevity, excluding the syntax/format)

jeff@something.org
johnny@something.org
joe@somethingelse.org

And then the file would be pushed back into ejabberd for the shared roster to then be pushed at the clients.

Is there still a way to register within our roster those jabber IDs external to our jabber domain, or is this now no longer possible?

Thanks,

I see no reason for ejabberd

I see no reason for ejabberd to complain about that. I think it should work. Did you try with recent ejabberd and failed?

This time the push_roster_all

This time the push_roster_all command just fails with an eventual timeout.

Failed RPC connection to the node 'ejabberd@jabber1.something.org: timeout

Nothing stands out in the error.log

Just as a follow-up, did the

Just as a follow-up, did the jump from 15.11 to 17.04 since it was time do so. Still haven't tested the external ID thing yet as we've found the same error tacking place in just pushing the new roster with internal IDs only. Will follow-up if a solution is found but in short, we get a timeout using push_roster_all.

I've tested the

I've tested the push_roster_all command in ejabberd git, and it had a bug, but it reported an error message, not a timeout. In any case, I've fixed in git. I've fixed in git:
https://github.com/processone/ejabberd/commit/ee8bbccb2a2dcc8206b894f6ac...

I've also documented the file format:

[{"user1", "localhost", "Workers", "User 1"},
 {"user2", "localhost", "Workers", "User 2"}].

OK cool thanks for the update

OK cool thanks for the update and fix, will try this. The format I was told to use lately was:

[{<<"user1s">>, <<"localhost">>, <<"Workers">>, <<"User 1">>}]

But I will upgrade and will try this one first and see if I can register foreign ID's as well.

Syndicate content