2017-12-23 4 views
0

Ich benutze Ejabberd-Server aus dem Quellcode in Linux. Meine Situation ist, wenn ich die Anwesenheit von jemandem brauche, dann muss ich ihn/sie in meinen Dienstplan aufnehmen und genehmige seine Anwesenheitsanfrage. Da ich an der Anwesenheit eines einzigen Kontakts zu einer Zeit interessiert bin, ist es für mich sinnlos, viele Kontakte in den Dienstplan aufzunehmen, wenn die Anwesenheit genehmigt ist. Daher möchte ich einen Mechanismus, mit dem ich die Anwesenheitsanfrage an jemanden sende, und diese Anfrage wird sofort vom Server genehmigt, unabhängig von den anderen Kontakten, die online verfügbar sind, um die Anfrage zu genehmigen oder nicht. Ich benutze Ejabberd 17.11 Version und Backend SQL zum Speichern der meisten Daten auf dem Linux Mint.Wie genehmigt man die Anwesenheitsanforderungen in Ejabberd-Server ohne Genehmigung durch Kontakte

Kurz gesagt, der Ejabberd-Server sollte automatisch alle Anwesenheitsanforderungen genehmigen, anstatt die Anfrage an den Kontakt weiterzuleiten und auf die Genehmigung zu warten.

Antwort

1

Gemäß RFC3921 https://xmpp.org/rfcs/rfc3921.html#presence, darf der Server eines Benutzers die Abonnementanforderungen nicht automatisch im Namen des Benutzers genehmigen. Alle Abonnementanforderungen MÜSSEN an den Client des Benutzers gerichtet sein, insbesondere an eine oder mehrere verfügbare Ressourcen, die dem Benutzer zugeordnet sind.

Ich würde vorschlagen, Auto-Genehmigung Funktionalität auf Client-Seite zu verschieben.

+0

Aber ich habe einige benutzerdefinierte Anforderungen. Ich habe kein Interesse daran, meine Server-XMPP-Standards kompatibel zu machen. Könnten Sie bitte eine Wegbeschreibung vorschlagen? – Shubham1164

1

Hallo ich verwende eine erweiterte Ejabberd namens MongooseIM. Ich habe einige Artikel über Ejabberd auf TechTalk auf Chinesisch geschrieben.

Wenn Sie die automatische Freigabe presence möchten, müssen Sie ejabberd_c2s:process_outgoing_stanza und mod_roster:process_subscription_transaction ändern, um den ursprünglichen Genehmigungsablauf in MongooseIM zu umgehen.

Ich denke, dass Sie das gleiche in Ejabberd tun können.

+0

Was sind die wichtigsten Pluspunkte von MongooseIM gegenüber generischen Ejabberd-Servern? – Shubham1164

+0

Restful API-Unterstützung, LightMUC und so weiter. –

Verwandte Themen