Ich habe eine interne Web-Chat-Anwendung in Python/Django implementiert und verwende ejabberd 2.1.3 sowie Strophe.js. Wenn Sie die Website mit einem speziellen Zugriffslink öffnen, wird ein Befehlszeilenaufruf ausgeführt, um Sie einer gemeinsamen Roster-Gruppe hinzuzufügen:
ejabberdctl srg_user_add 00024-540-1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com
1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com
Der Befehl wird erfolgreich ausgeführt und wenn ich diesen Befehl manuell ausführe, werden die Mitglieder korrekt angezeigt:
ejabberdctl srg_get_members 1mCYpYTTCRcjJK5OWI7cWs xmpp.mydomain.com
00024-540-1mcypyttcrcjjk5owi7cws@xmpp.mydomain.com
01114-540-1mcypyttcrcjjk5owi7cws@xmpp.mydomain.com
Im Strophe.js Präsenz-Handler erhalte ich jedoch nur eine Präsenznachricht für mich selbst, was bedeutet, dass ich bei Öffnen von zwei verschiedenen Links in zwei verschiedenen Browsern für zwei verschiedene Mitglieder keine Präsenznachricht für das andere Mitglied erhalte. Wenn ich den ejabberd-Protokollpegel auf Debug setze, wird dies hier reflektiert.
Es fehlt die Präsenznachricht an das andere Mitglied:
Ich habe die gleiche Konfiguration auf einem zweiten Server, wo es einwandfrei funktioniert, und ich sehe die Nachrichten genau wie erwartet. Früher funktionierte es auch auf dem Problemserver, aber letzte Woche gab es einen totalen Stromausfall im Rechenzentrum und der Server wurde heruntergefahren. Seitdem scheint es nicht mehr zu funktionieren. Könnte es sein, dass einige Dateien aufgrund des Stromausfalls beschädigt wurden? Gibt es etwas, das ich aufräumen sollte? Leider ist die Person, die zuvor dafür verantwortlich war, nicht mehr in unserem Unternehmen...