我在源代码(ver-3.1.0)的 MongooseIM 中使用 mod muc_light 并从本文中获得帮助,我能够成功地执行以下操作而没有任何问题:
- 创建一个新的 muc light 房间。
- 发送/接收短信节
- 查询 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@"}
]}
]}
问题/疑虑:
- 我在配置中做错了吗?- [我对此表示怀疑,因为上面提到的其他一些操作运行良好]
- 我是否发送了不正确的 IQ 节 - [我对此表示怀疑,因为我正在复制上面链接中提供的完全相同的节示例]
- 我应该更新 MongooseIM。[或许]
- 还要别的吗?
请帮忙