ejabberd MUC 归档管理查询响应
ejabberd MUC Archive Management Query Response
我正在使用 ejabberd 15.09 并为服务器配置中的每个 MUC 启用存档管理,如下所示:
mod_mam:
default: always
mod_muc:
## host: "conference.@HOST@"
access: muc
access_create: muc_create
access_persistent: muc_create
access_admin: muc_admin
default_room_options:
mam: true
persistent: true
public: true
此外,对 Ejabberd 管理面板的检查显示,在将每条消息发送到 MUC 后,随着存档中元素数量的增加 table,消息正在被存档。这是在验证是否为 session 启用了存档。
为了向服务器查询来自 MUC 的消息存档,我发送了这个 iq 数据包:
<iq type='set' id='testid1'>
<query xmlns='urn:xmpp:mam:1'>
<x xmlns='jabber:x:data' type='submit'>
<field var='FORM_TYPE' type='hidden'>
<value>urn:xmpp:mam:1</value>
</field>
<field var='with'>
<value>testmyroomnow@conference.ip/</value>
</field>
</x>
</query>
</iq>
从服务器收到的响应不包含任何消息。
<message from='user@ip' to='user@ip/Gajim'>
<fin xmlns='urn:xmpp:mam:0' complete='true'>
<set xmlns='http://jabber.org/protocol/rsm'>
<count>0</count>
</set>
</fin>
</message>
此 MUC 已包含一些消息,但像上面那样查询不会返回任何消息。 xml 节的格式似乎不正确。发送会议 JID 的格式不正确或其他原因。
不确定该怎么做,因为我已经在使用最新版本的 Ejabberd,它显示支持 MUC 存档。除了我在这里所做的以外,我不知道如何从 ejabberd 服务器查询 MUC 存档。
您需要查询MUC服务获取MUC存档。用户 MAM 服务仅存储 one-to-one 对话的消息。
另请注意,您使用的不是最新的 ejabberd。截至今天,最新版本是 15.11。我建议您使用关于 MAM MUC 的最新版本,因为已经对 XEP-0313 进行了一些澄清,并已添加到最新的 ejabberd 中。
这里是示例查询,将 MAM 查询节发送到 MUC 房间本身:
<iq type='set' id='juliet1' to='tech@conference.process-one.net'>
<query xmlns='urn:xmpp:mam:0' queryid='f27'>
<set xmlns='http://jabber.org/protocol/rsm'>
<max>10</max>
</set>
</query>
</iq>
我正在使用 ejabberd 15.09 并为服务器配置中的每个 MUC 启用存档管理,如下所示:
mod_mam:
default: always
mod_muc:
## host: "conference.@HOST@"
access: muc
access_create: muc_create
access_persistent: muc_create
access_admin: muc_admin
default_room_options:
mam: true
persistent: true
public: true
此外,对 Ejabberd 管理面板的检查显示,在将每条消息发送到 MUC 后,随着存档中元素数量的增加 table,消息正在被存档。这是在验证是否为 session 启用了存档。
为了向服务器查询来自 MUC 的消息存档,我发送了这个 iq 数据包:
<iq type='set' id='testid1'>
<query xmlns='urn:xmpp:mam:1'>
<x xmlns='jabber:x:data' type='submit'>
<field var='FORM_TYPE' type='hidden'>
<value>urn:xmpp:mam:1</value>
</field>
<field var='with'>
<value>testmyroomnow@conference.ip/</value>
</field>
</x>
</query>
</iq>
从服务器收到的响应不包含任何消息。
<message from='user@ip' to='user@ip/Gajim'>
<fin xmlns='urn:xmpp:mam:0' complete='true'>
<set xmlns='http://jabber.org/protocol/rsm'>
<count>0</count>
</set>
</fin>
</message>
此 MUC 已包含一些消息,但像上面那样查询不会返回任何消息。 xml 节的格式似乎不正确。发送会议 JID 的格式不正确或其他原因。
不确定该怎么做,因为我已经在使用最新版本的 Ejabberd,它显示支持 MUC 存档。除了我在这里所做的以外,我不知道如何从 ejabberd 服务器查询 MUC 存档。
您需要查询MUC服务获取MUC存档。用户 MAM 服务仅存储 one-to-one 对话的消息。
另请注意,您使用的不是最新的 ejabberd。截至今天,最新版本是 15.11。我建议您使用关于 MAM MUC 的最新版本,因为已经对 XEP-0313 进行了一些澄清,并已添加到最新的 ejabberd 中。
这里是示例查询,将 MAM 查询节发送到 MUC 房间本身:
<iq type='set' id='juliet1' to='tech@conference.process-one.net'>
<query xmlns='urn:xmpp:mam:0' queryid='f27'>
<set xmlns='http://jabber.org/protocol/rsm'>
<max>10</max>
</set>
</query>
</iq>