ソースコード (ver-3.1.0) から MongooseIM で mod muc_light を使用しており、この記事の助けを借りて、以下の操作を問題なく正常に実行できます。
- 新しいムック ライト ルームを作成します。
- テキスト メッセージ スタンザの送受信
- MAM にクエリを実行し、通常のグループ チャット メッセージを受信します。[上記の記事の「6.2.1 居住者からのグループチャット メッセージ」][ここでも、muc 情報を取得していますが、これは特定の muc light room に関連しているためです。そのため、あまり役に立ちません。]
しかし、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 を更新する必要がありますか。[多分]
- 他に何か?
助けてください