実装しようとしています GoogleのLibjingle(バージョン:0.6.14) PCPの例で、実行中に501:機能が実装されていないというエラーが発生します。具体的には、各「アカウント」が接続され、認証され、他のアカウントとの通信が開始された後にエラーが発生します。インタラクションの簡略化されたログが最後に提供されます。
独自のJabberサーバーをセットアップし(Amazon EC2サーバーでOpenFireを使用)、必要なすべてのポートを開き、各「アカウント」を他の名簿に追加しました。サーバーはファイル転送を許可するように設定されています。私はサーバーの操作に慣れていないので、なぜこのエラーが発生するのか、そしてそれを修正する方法がわかりません。
よろしくお願いします、AeroBuffalo
P.S.追加情報が必要な場合はお知らせください(つまり、どちらかまたは両方の端の完全なプログラムログ)。
受信終了:
[018:217] SEND >>>>>>>>>>>>>>>>>>>>>>>>> : Thu Jul 5 14:17:15 2012
[018:217] <iq to="[email protected]/pcp" type="set" id="5">
[018:217] <jingle xmlns="urn:xmpp:jingle:1" action="session-initiate" sid="402024303" initiator="[email protected]/pcp">
[018:217] <content name="securetunnel" creator="initiator">
[018:217] <description xmlns="http://www.google.com/talk/securetunnel">
[018:217] <type>send:winein.jpeg</type>
[018:217] <client-cert>--BEGIN CERTIFICATE--END CERTIFICATE--</client-cert>
[018:217] </description>
[018:217] <transport xmlns="http://www.google.com/transport/p2p"/>
[018:217] </content>
[018:217] </jingle>
[018:217] <session xmlns="http://www.google.com/session" type="initiate" id="402024303" initiator="[email protected]/pcp">
[018:217] <description xmlns="http://www.google.com/talk/securetunnel">
[018:217] <type>send:winein.jpeg</type>
[018:217] <client-cert>--BEGIN CERTIFICATE--END CERTIFICATE--</client-cert>
[018:217] </description></session>
[018:217] </iq>
[018:217] RECV <<<<<<<<<<<<<<<<<<<<<<<<< : Thu Jul 5 14:17:15 2012
[018:217] <presence to="[email protected]/pcp" from="forgesend" type="error">
[018:217] <error code="404" type="cancel">
[018:217] <remote-server-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
[018:217] </error></presence>
[018:218] RECV <<<<<<<<<<<<<<<<<<<<<<<<< : Thu Jul 5 14:17:15 2012
[018:218] <presence to="[email protected]/pcp" from="forgesend" type="error">
[018:218] <error code="404" type="cancel">
[018:218] <remote-server-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
[018:218] </error></presence>
[018:264] RECV <<<<<<<<<<<<<<<<<<<<<<<<< : Thu Jul 5 14:17:15 2012
[018:264] <iq type="result" id="3" to="[email protected]/pcp">
[018:264] <query xmlns="google:jingleinfo">
[018:264] <stun>
[018:264] <server Host="stun.xten.net" udp="3478"/>
[018:264] <server Host="jivesoftware.com" udp="3478"/>
[018:264] <server Host="igniterealtime.org" udp="3478"/>
[018:264] <server Host="stun.fwdnet.net" udp="3478"/>
[018:264] </stun>
[018:264] <publicip ip="65.101.207.121"/>
[018:264] </query></iq>
[018:420] RECV <<<<<<<<<<<<<<<<<<<<<<<<< : Thu Jul 5 14:17:15 2012
[018:420] <iq to="[email protected]/pcp" type="set" id="5" from="[email protected]/pcp">
[018:420] <jingle xmlns="urn:xmpp:jingle:1" action="session-initiate" sid="3548650675" initiator="[email protected]/pcp">
[018:420] <content name="securetunnel" creator="initiator">
[018:420] <description xmlns="http://www.google.com/talk/securetunnel">
[018:420] <type>recv:wineout.jpeg</type>
[018:420] <client-cert>--BEGIN CERTIFICATE--END CERTIFICATE--</client-cert>
[018:420] </description>
[018:420] <transport xmlns="http://www.google.com/transport/p2p"/>
[018:420] </content></jingle>
[018:420] <session xmlns="http://www.google.com/session" type="initiate" id="3548650675" initiator="[email protected]/pcp">
[018:420] <description xmlns="http://www.google.com/talk/securetunnel">
[018:420] <type>recv:wineout.jpeg</type>
[018:420] <client-cert>--BEGIN CERTIFICATE--END CERTIFICATE--</client-cert>
[018:420] </description></session></iq>
[018:421] TunnelSessionClientBase::OnSessionCreate: received=1
[018:421] Session:3548650675 Old state:STATE_INIT New state:STATE_RECEIVEDINITIATE Type:http://www.google.com/talk/securetunnel Transport:http://www.google.com/transport/p2p
[018:421] TunnelSession::OnSessionState(Session::STATE_RECEIVEDINITIATE)
[018:421] SEND >>>>>>>>>>>>>>>>>>>>>>>>> : Thu Jul 5 14:17:15 2012
[018:421] <iq to="[email protected]/pcp" id="5" type="result"/>
[018:465] RECV <<<<<<<<<<<<<<<<<<<<<<<<< : Thu Jul 5 14:17:15 2012
[018:465] <iq to="[email protected]/pcp" id="5" type="result" from="[email protected]/pcp"/>
[198:665] RECV <<<<<<<<<<<<<<<<<<<<<<<<< : Thu Jul 5 14:20:15 2012
[198:665] <iq type="get" id="162-10" from="forgejabber.com" to="[email protected]/pcp">
[198:665] <ping xmlns="urn:xmpp:ping"/>
[198:665] /iq>
[198:665] SEND >>>>>>>>>>>>>>>>>>>>>>>>> : Thu Jul 5 14:20:15 2012
[198:665] <iq type="error" id="162-10" to="forgejabber.com">
[198:665] <ping xmlns="urn:xmpp:ping"/>
[198:665] <error code="501" type="cancel">
[198:665] <feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
[198:665] </error>
[198:665] </iq>
送信者:
[019:043] SEND >>>>>>>>>>>>>>>>>>>>>>>>> : Thu Jul 5 14:17:15 2012
[019:043] <iq type="get" id="3">
[019:043] <query xmlns="google:jingleinfo"/>
[019:043] </iq>
[019:043] SEND >>>>>>>>>>>>>>>>>>>>>>>>> : Thu Jul 5 14:17:15 2012
[019:043] <iq to="[email protected]/pcp" type="set" id="5">
[019:043] <jingle xmlns="urn:xmpp:jingle:1" action="session-initiate" sid="3548650675" initiator="[email protected]/pcp">
[019:043] <content name="securetunnel" creator="initiator">
[019:043] <description xmlns="http://www.google.com/talk/securetunnel">
[019:043] <type>recv:wineout.jpeg</type>
[019:043] <client-cert>--BEGIN CERTIFICATE----END CERTIFICATE--</client-cert>
[019:043] </description>
[019:043] <transport xmlns="http://www.google.com/transport/p2p"/>
[019:043] </content>
[019:043] </jingle>
[019:043] <session xmlns="http://www.google.com/session" type="initiate" id="3548650675" initiator="[email protected]/pcp">
[019:043] <description xmlns="http://www.google.com/talk/securetunnel">
[019:043] <type>recv:wineout.jpeg</type>
[019:043] <client-cert>--BEGIN CERTIFICATE--END CERTIFICATE--</client-cert>
[019:043] </description></session></iq>
[019:043] RECV <<<<<<<<<<<<<<<<<<<<<<<<< : Thu Jul 5 14:17:15 2012
[019:043] <presence to="[email protected]/pcp" from="forgereceive" type="error">
[019:043] <error code="404" type="cancel">
[019:043] <remote-server-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
[019:043] </error></presence>
[019:044] RECV <<<<<<<<<<<<<<<<<<<<<<<<< : Thu Jul 5 14:17:15 2012
[019:044] <presence to="[email protected]/pcp" from="forgereceive" type="error">
[019:044] <error code="404" type="cancel">
[019:044] <remote-server-not-found xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
[019:044] </error></presence>
[019:044] RECV <<<<<<<<<<<<<<<<<<<<<<<<< : Thu Jul 5 14:17:15 2012
[019:044] <iq to="[email protected]/pcp" type="set" id="5" from="[email protected]/pcp">
[019:044] <jingle xmlns="urn:xmpp:jingle:1" action="session-initiate" sid="402024303" initiator="[email protected]/pcp">
[019:044] <content name="securetunnel" creator="initiator">
[019:044] <description xmlns="http://www.google.com/talk/securetunnel">
[019:044] <type>send:winein.jpeg</type>
[019:044] <client-cert>--BEGIN CERTIFICATE--END CERTIFICATE--</client-cert>
[019:044] </description>
[019:044] <transport xmlns="http://www.google.com/transport/p2p"/>
[019:044] </content></jingle>
[019:044] <session xmlns="http://www.google.com/session" type="initiate" id="402024303" initiator="[email protected]/pcp">
[019:044] <description xmlns="http://www.google.com/talk/securetunnel">
[019:044] <type>send:winein.jpeg</type>
[019:044] <client-cert>--BEGIN CERTIFICATE--END CERTIFICATE--</client-cert>
[019:044] </description></session></iq>
[019:044] TunnelSessionClientBase::OnSessionCreate: received=1
[019:044] Session:402024303 Old state:STATE_INIT New state:STATE_RECEIVEDINITIATE Type:http://www.google.com/talk/securetunnel Transport:http://www.google.com/transport/p2p
[019:044] TunnelSession::OnSessionState(Session::STATE_RECEIVEDINITIATE)
[019:044] SEND >>>>>>>>>>>>>>>>>>>>>>>>> : Thu Jul 5 14:17:15 2012
[019:044] <iq to="[email protected]/pcp" id="5" type="result"/>
[019:088] RECV <<<<<<<<<<<<<<<<<<<<<<<<< : Thu Jul 5 14:17:15 2012
[019:088] <iq type="result" id="3" to="[email protected]/pcp">
[019:088] <query xmlns="google:jingleinfo">
[019:088] <stun>
[019:088] <server Host="stun.xten.net" udp="3478"/>
[019:088] <server Host="jivesoftware.com" udp="3478"/>
[019:088] <server Host="igniterealtime.org" udp="3478"/>
[019:088] <server Host="stun.fwdnet.net" udp="3478"/>
[019:088] </stun>
[019:088] <publicip ip="65.101.207.121"/>
[019:088] </query>
[019:088] </iq>
[019:183] RECV <<<<<<<<<<<<<<<<<<<<<<<<< : Thu Jul 5 14:17:15 2012
[019:183] <iq to="[email protected]/pcp" id="5" type="result" from="[email protected]/pcp"/>
[199:381] RECV <<<<<<<<<<<<<<<<<<<<<<<<< : Thu Jul 5 14:20:15 2012
[199:381] <iq type="get" id="474-11" from="forgejabber.com" to="[email protected]/pcp">
[199:381] <ping xmlns="urn:xmpp:ping"/>
[199:381] </iq>
[199:381] SEND >>>>>>>>>>>>>>>>>>>>>>>>> : Thu Jul 5 14:20:15 2012
[199:381] <iq type="error" id="474-11" to="forgejabber.com">
[199:381] <ping xmlns="urn:xmpp:ping"/>
[199:381] <error code="501" type="cancel">
[199:381] <feature-not-implemented xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/>
[199:382] </error></iq>
この投稿以来、私はXMPPをクラッシュコースしました。これにより、このエラーは恥ずかしいほど単純/明白になりました。このエラーが発生する可能性のある将来の人々にとって、エラーの理由は、Libjingleにピン留めのXMPP機能の実装がないため、XMPP/Jabberサーバーからのping要求を処理する方法がわからないためです。 2つのクライアントがファイル転送を通信する適切な方法を設定しなかったため(コードの実行時のエラー)、2つはただそこに座って何かが起こるのを待っていたため、サーバーは最終的にまだそこにいるかどうかを尋ねました。