Maciek Niedzielski wrote:
Hi, I wrote a simple script that can be used for xmpp-pinging.http://machekku.uaznia.net/jabber/xmppping/xmppping-0.1.tar.gz (requires python and PyXMPP) It tries to mimic ping command, so should be not so hard to use ;)
Cool, thanks!
A nice thing in the XEP is that even if other entity does not support the XEP, it will return an error, which serves for a pong. However, it is important to notice that not every error response is a pong. The XEP suggest using cancel/service-unavailable. cancel/feature-not-implemented (sent by jabberd2) sounds fine, too. However, there are errors like wait/recipient-unavailable which are definitely not pongs. So implementors should be careful about what they accept as pongs. Other thing: when pinging new jabberd14 on amessage.de, I noticed that it sends a pong when I pinging a (most probably) unexisting account (I used a random node and resource). I'm not sure if this is the right thing to do. I think the rule is that server should not respond for Iq sent to a full JID.
See here: http://www.xmpp.org/internet-drafts/draft-saintandre-rfc3921bis-00.html#rulesReturning <service-unavailable/> is the right thing to do here (at least according to the spec).
Peter -- Peter Saint-Andre Jabber Software Foundation http://www.jabber.org/people/stpeter.shtml
smime.p7s
Description: S/MIME Cryptographic Signature
