3

我在源代码(ver-3.1.0)的 MongooseIM 中使用 mod muc_light 并从本文中获得帮助,我能够成功地执行以下操作而没有任何问题:

  1. 创建一个新的 muc light 房间。
  2. 发送/接收短信节
  3. 查询 MAM 并接收常规群聊消息。[来自上述文章的'6.2.1 来自居住者的群聊消息'] [即使,我在这里获得了 muc 信息,但因为这与特定的 muc light 房间有关。所以,没有多大用处。]

但我无法查询 MAM 并收到隶属关系变更通知。请参阅上述文章链接中的主题[6.2.2 隶属关系变更]。

以下是“隶属关系变更通知”的请求/响应

// Request to server with type='set'
<iq type='set' 
    id='mamget2' 
    to='muclight.localhost'> 
    <query xmlns='urn:xmpp:mam:1' queryid='f37'/> 
</iq>

// Response from server
<iq xmlns='jabber:client' 
    from='muclight.localhost' 
    to='ip0a0g0ur63vdjns@localhost/E42B7412598F3B081543-557985-559692' 
    id='mamget2' 
    type='error'>
    <error code='' type='cancel'>
      <not-allowed xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
      <text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>The action is not allowed.</text>
    </error>
</iq>

// Request to server with type='get'
<iq type='get' 
    id='mamget2' 
    to='muclight.localhost'> 
    <query xmlns='urn:xmpp:mam:1' queryid='f37'/> 
</iq>

// Response from server
<iq xmlns='jabber:client' 
    from='muclight.localhost' 
    to='ip0a0g0ur63vdjns@localhost/E42B7412598F3B081543-557985-559692' 
    id='mamget2' 
    type='error'>
    <error code='' type='cancel'>
      <not-allowed xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
      <text xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'>The action is not allowed.</text>
    </error>
</iq>

MongooseIM 配置:

  {mod_muc_light, [
      {host, "muclight.@HOST@"},
      {backend, rdbms},
      {max_occupants, 256}
     ]},
  {mod_mam_meta, [
     {backend, rdbms},
     {no_stanzaid_element, true},
     {is_archivable_message, "muclight.@HOST@"},
     {pm, false},
     {muc, [
       {host, "muclight.@HOST@"}
     ]}
   ]}

问题/疑虑:

  1. 我在配置中做错了吗?- [我对此表示怀疑,因为上面提到的其他一些操作运行良好]
  2. 我是否发送了不正确的 IQ 节 - [我对此表示怀疑,因为我正在复制上面链接中提供的完全相同的节示例]
  3. 我应该更新 MongooseIM。[或许]
  4. 还要别的吗?

请帮忙

4

0 回答 0