ejabberd MAM не работает для MUC
xep-0313 работает для реестров, но не работает для комнатного чата. Я могу получить архивное сообщение для списков, но я не могу получить архивное сообщение для комнаты, почему?
<iq type='set' id='juliet1'>
<query xmlns='urn:xmpp:mam:0'>
<x xmlns='jabber:x:data' type='submit'>
<field var='FORM_TYPE' type='hidden'>
<value>urn:xmpp:mam:0</value>
</field>
<field var='with'>
<value>roomJid@conference.host</value>
</field>
</x>
</query>
</iq>
Полученное сообщение:
<message xmlns="jabber:client" from="test3@192.168.1.67" to="test3@192.168.1.67/iPhone" id="dHS0oejBDWHp”>
<fin xmlns="urn:xmpp:mam:0" complete="true”>
<set xmlns="http://jabber.org/protocol/rsm”/>
</fin>
<no-copy xmlns="urn:xmpp:hints”/>
</message>
1 ответ
Решение
Я полагаю, вы используете модуль Ejabberd. Тем не менее, новый официальный модуль MAM был добавлен в официальный ejabberd, и он поддерживает последнюю версию MAM (0.4 на сегодняшний день) и архивирование MUC.
Он был выпущен в ejabberd 15.06. Вы также можете получить прямой доступ к источнику из репозитория ejabberd Github. Модуль находится здесь: https://github.com/processone/ejabberd/blob/master/src/mod_mam.erl