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>[email protected]</value>
      </field>
   </x>
  </query>
</iq>

Полученное сообщение:

<message xmlns="jabber:client" from="[email protected]" to="[email protected]/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>

person xhsoldier    schedule 24.06.2015    source источник


Ответы (1)


Я предполагаю, что вы используете дополнительный модуль ejabberd. Тем не менее, новый официальный модуль MAM был добавлен в официальный ejabberd и поддерживает последнюю версию MAM (0.4 на сегодняшний день) и архивирование MUC.

Он был выпущен в ejabberd 15.06. Вы также можете получить прямой доступ к исходному коду из репозитория ejabberd на Github. Модуль находится здесь: https://github.com/processone/ejabberd/blob/master/src/mod_mam.erl

person Mickaël Rémond    schedule 24.06.2015
comment
Я проверю это в ближайшие пару дней. Я также пишу модуль для перехвата user_send_packet, в перехватчике я сохраняю сообщения MUC в SQL. Затем предоставьте http API для запроса сообщений MUC. С точки зрения клиента я использую HTTP API для запроса сообщений истории MUC. - person xhsoldier; 24.06.2015
comment
могу я спросить, как вы используете http API для запроса сообщений истории MUC? Я пытаюсь получить историю чата, используя это (stackoverflow.com/questions/31828955/), но, похоже, это работает только для отдельных пользователей - person nhenrique; 01.09.2015
comment
Вы должны попробовать последнюю основную ветку. Он значительно улучшен и соответствует последним спецификациям. - person Mickaël Rémond; 01.09.2015