3

誰かが私がすでに存在するパブリックMUCルームに参加しようとしたときに私が得ているこのエラーコード404を理解するのを手伝ってくれることを願っています。

XMPPシーケンスは次のとおりです。

  1. 部屋でIQクエリを実行する

    <iq from='bridgetest1@jabber.org/BridgeClient' id='0da67229d8f55e3b' 
    to='sdfsdfsdf@conference.jabber.org' type='get'> 
      <query xmlns='http://jabber.org/protocol/disco#info'/>
    </iq>
    
  2. IQクエリからの応答

    <iq from='sdfsdfsdf@conference.jabber.org' to='bridgetest1@jabber.org/BridgeClient' type='result' id='0da67229d8f55e3b'>
    <query xmlns='http://jabber.org/protocol/disco#info'>
        <identity category='conference' name='sdfsdfsdf' type='text'/>
        <feature var='http://jabber.org/protocol/muc'/>
        <feature var='http://jabber.org/protocol/muc#unique'/>
        <feature var='muc_temporary'/><feature var='muc_open'/>
        <feature var='muc_public'/><feature var='muc_unsecured'/>
        <feature var='muc_temporary'/><feature var='muc_anonymous'/>
      <x xmlns='jabber:x:data' type='result'>
        <field var='FORM_TYPE' type='hidden'>
          <value>http://jabber.org/protocol/muc#roominfo</value>
        </field>
        <field label='Subject Modifiable' var='muc#roominfo_subjectmod' type='boolean'>
          <value>0</value>
         </field><field label='Current Occupants' var='muc#roominfo_occupants' type='text-single'>
          <value>1</value>
         </field>
      </x>
    </query></iq>
    
  3. プレゼンスを使用して会議室に参加しよう

    <presence from='bridgetest1@jabber.org/BridgeClient' id='0da67229d8f55e3b' to='sdfsdfsdf@conference.jabber.org/bbbb'>
       <x xmlns='http://jabber.org/protocol/muc'/>
    </presence>
    
  4. 参加応答(エラー404)

    <presence from='sdfsdfsdf@conference.jabber.org' to='bridgetest1@jabber.org/BridgeClient' type='error' id='0da67229d8f55e3b'>
    <x xmlns='http://jabber.org/protocol/muc'/>
       <error code='404' type='cancel'>
         <item-not-found xmlns='urn:ietf:params:xml:ns:xmpp-stanzas'/>
       </error>
    </presence>
    

なぜ私が部屋に参加できないのか誰か知っていますか?以前に参加して一時的な部屋を作成しましたが、参加した後は、IQの結果で「muc_open」と表示されていても、元に戻すことはできません。

4

1 に答える 1

4

更新:MUC XEP-0045ドキュメントを確認していたところ、問題を説明する次の文章が見つかりました。

http://xmpp.org/extensions/xep-0045.html#createroom-instant

部屋に参加するだけではプロセスが完了しないことに気づきませんでした。それでも、インスタントルーム部分ですべてのデフォルト設定を受け入れるようにサーバーに指示する必要があります。そうしないと、ロックされたままになります。

ちなみに、部屋を作成した後(そして所有者になった後)に以下のスニペットを送信すると、私の問題は解決します。

    <iq from='crone1@shakespeare.lit/desktop'
        id='create1'
        to='coven@chat.shakespeare.lit'
        type='set'>
        <query xmlns='http://jabber.org/protocol/muc#owner'>
            <x xmlns='jabber:x:data' type='submit'/>
        </query>
    </iq>
于 2013-03-19T02:08:22.630 に答える