2
votes

I have an internal web chat application implemented in python/django and using ejabberd 2.1.3 and Strophe.js. When you open the website with a special access link, a cmd line call is executed to add you to a shared roster group:

ejabberdctl srg_user_add 00024-540-1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com
1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com

The executes successfully and if I execute this cmd manually the members are shown fine:

ejabberdctl srg_get_members 1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com
[email protected]
[email protected]

However, in the Strophe.js presence handler I only receive a presence stanza for myself, meaning if I open two different links in two different browsers for two different members, I do not receive a presence stanza for the other member. If set the ejabberd log level to debug, this is reflected here.

<presence xmlns='jabber:client' from='[email protected]/3189433061352390311794558' to='[email protected]/3189433061352390311794558'/>
<presence xmlns='jabber:client' from='[email protected]/3319710041135238652858307' to='[email protected]/3319710041135238652858307'/>

It's missing the stanza to the other member:

<presence xmlns='jabber:client' from='[email protected]/3189433061352390311794558' to='[email protected]/3319710041135238652858307'/>

I have the same setup on a second server where it works fine, and I see the stanzas exactly as expected. Before, it also worked on the problem server, but last week we had a total power failure in the data center and the server went down. Since then I cannot seem to get it to work again. Could it be that some files might have been corrupted due to the power loss? Is there something I should clean up? Unfortunately the previously responsible person is no longer in our company...

1

1 Answers

0
votes

I found the problem - due to some stupid internal reasons, the

ejabberdctl srg_create ...

was missing, so the members were added to a non-existent group. I just do not understand why the srg_user_add and srg_get_members commands worked without error. If they had given some hint about the group not existing I would have found the problem sooner