首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ejabberd MUC档案管理查询响应

ejabberd MUC档案管理查询响应
EN

Stack Overflow用户
提问于 2016-01-12 14:35:19
回答 1查看 1.7K关注 0票数 8

我正在使用ejabberd 15.09,并为服务器配置中的每个MUC启用了归档管理,如下所示:

代码语言:javascript
复制
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之后,随着归档表中的元素数量的增加,消息正在被归档。这是在验证是否为会话启用了归档。

为了向服务器查询来自MUC的消息存档,我将发送以下iq数据包:

代码语言:javascript
复制
<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>

从服务器接收的响应不包含任何消息。

代码语言:javascript
复制
<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归档文件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-12 16:03:37

您需要查询MUC服务中的MUC归档文件。用户MAM服务只存储一对一会话的消息。

还请注意,您没有使用最新的ejabberd。截至今天,最新版本为15.11。我建议您使用有关MAM MUC的最新版本,因为已经对XEP-0313做了一些澄清,并添加到最新的ejabberd中。

下面是示例查询,将MAM查询节发送到MUC房间本身:

代码语言:javascript
复制
<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>
票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34746450

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档