2 Stimmen

Ejabberd sendet keine Anwesenheits-Nachricht an andere Roster-Mitglieder.

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...

0voto

user1811704 Punkte 21

Ich habe das Problem gefunden - aufgrund einiger dummer interner Gründe fehlte das

ejabberdctl srg_create ...

Also wurden die Mitglieder zu einer nicht existierenden Gruppe hinzugefügt. Ich verstehe einfach nicht, warum die Befehle srg_user_add und srg_get_members ohne Fehler funktionierten. Wenn sie einen Hinweis darauf gegeben hätten, dass die Gruppe nicht existiert, hätte ich das Problem früher gefunden

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X