-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 On 7/6/13 8:12 PM, li wang wrote: > Here is my protocol log, There is an error for feature not > implemented. It seems that I do not reply the previous iq: <iq > xmlns="jabber:client" to="tes...@example.com/testim.5027 > <http://tes...@example.com/testim.5027>" > from="tes...@example.com/testim.5027 > <http://tes...@example.com/testim.5027>" id="wygwyuoi" > type="result" />. What stanza that I've to reply to stop the > server's complain? Which RFC defines the feature required by > server?
Rosters are defined in RFC 6121. > The full log is here: <snip/> This is the roster push from the server: > 190221: Recv(testClient): <iq xmlns="jabber:client" > to="tes...@example.com/testim.5027 > <http://tes...@example.com/testim.5027>" type="set" > id="wygwyuoi"><query xmlns="jabber:iq:roster"><item > jid="tes...@example.com <mailto:tes...@example.com>" > subscription="none" /></query></iq> Properly (according to RFC 6121), your client is acking the push: > 190221: Send(testClient): <iq xmlns="jabber:client" type="result" > id="wygwyuoi" /> This is wrong behavior by the server -- it's not correct to send an IQ-result in response to a prior IQ-result: > 190221: Recv(testClient): <iq xmlns="jabber:client" > to="tes...@example.com/testim.5027 > <http://tes...@example.com/testim.5027>" > from="tes...@example.com/testim.5027 > <http://tes...@example.com/testim.5027>" id="wygwyuoi" > type="result" /> Somehow the server is confused and sends you an error (perhaps because it didn't expect the client to ack the roster push): > 190221: Recv(testClient): <iq xmlns="jabber:client" type="error" > from="tes...@example.com/testim.5027 > <http://tes...@example.com/testim.5027>" id="wygwyuoi" > to="tes...@example.com/testim.5027 > <http://tes...@example.com/testim.5027>"><query > xmlns="jabber:iq:roster"><item jid="tes...@example.com > <mailto:tes...@example.com>" subscription="none" /></query><error > code="501" type="cancel"><feature-not-implemented > xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" /><text > xmlns="urn:ietf:params:xml:ns:xmpp-stanzas">The feature requested > is not implemented by the recipient or server and therefore cannot > be processed.</text></error></iq> Do note that this business about acking the roster pushes was not clear in RFC 3921 (the precursor to RFC 6121), so it is possible that jabberd2 is following the older way of doing things. Peter - -- Peter Saint-Andre https://stpeter.im/ -----BEGIN PGP SIGNATURE----- Version: GnuPG/MacGPG2 v2.0.19 (Darwin) Comment: GPGTools - http://gpgtools.org Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJR2NOAAAoJEOoGpJErxa2p0lIP/RQ7yjdGXgWe6ISY5vqzW5j1 S7iGClVBbRdcqc/TxexA2CfDhj4m82haGmU1p4BhJCgOrm9z41v18caHwVArrGLw 7F90u0qXAv7fzQWWvW2PrtLDLIn05/jdM6lBcIw8+TbX7A9CkkIzbxoByc/C04MX vGrqTFXL8A0YtuUndzljuhpS65YfhUu6mmkAgc0lXlyTrBhDHCPNjPgqmirEdMcP rcY289qlXMv5Ai4d3kLjfaoXhQoBfsieGd4x0Zze+7DZHmWfdUjhYY28w5EzvCsT eAVA65MkFLHAi26StENtQzLa8cu6rxx7FbhGCaJ0j85ToaJU/CczcErPdJhdRhF5 olwrLGMinzJq8PqMeckzcp+tFtqlbl3RLhOyT0zjyIhXdxNr8BJpeuQ252LssdYF fMR1WdKxrQ4qtgZ7mI5tw48fFyE2og6UMjCjitL5GmT/gkgChPIfdIJFQmpzVz+w seUeRzlFINND/MlWYzRhJtKGH+pbjS5NGFjYqj5O8AE2EQPYkuIhl5u2HO6KBwtv 55Xj5HThEzVqvX6ETjNU7ROaBZFLzRrKsHsZ6+uV/PupoX8AbPBuI8EoW4yknFuE z/YB6FCuneVgfSmXaP5o+/QamMDdHJ30rIrV/8Fs97fuW7dgmmkthUd3pBUP3laV ASrYtPsnkFna9hSwgVE2 =0hzr -----END PGP SIGNATURE-----