This is an Openfire LBS(Location Based Service) plugin based on a private extension protocol as follows, but NOT based on XEP-0080(http://xmpp.org/extensions/xep-0080.html).
REQUEST
<iq id="c911" type="get" from="chris@im.nodexy/TCL-S960">
<query xmlns="nodexy.im.openfire.location">
<item user="chris" lon="22.323009" lat="29.098763"/>
</query>
</iq>
RESPONSE
<iq id="c911" type="result" to="chris@im.nodexy/TCL-S960">
<query xmlns="nodexy.im.openfire.location">
<item user="chris1" lon="22.323009" lat="29.098763" sex="0" online="30min"/>
<item user="chris2" lon="22.323009" lat="29.098763" sex="0" online="30min"/>
<item user="chris3" lon="22.323009" lat="29.098763" sex="0" online="30min"/>
... ...
</query>
</iq>
REQUEST
<iq id="c912" type="set" from="chris@im.nodexy/TCL-S960">
<query xmlns="nodexy.im.openfire.location">
<item user="chris" lon="22.323009" lat="29.098763"/>
</query>
</iq>
RESPONSE
<iq id="c912" type="result" to="chris@im.nodexy/TCL-S960">
<query xmlns="nodexy.im.openfire.location"/>
</iq>
REQUEST
<iq id="c913" type="set" from="chris@im.nodexy/TCL-S960" to="lena@im.nodexy/TCL-S960">
<query xmlns="nodexy.im.openfire.location">
<item user="chris" lon="22.323009" lat="29.098763"/>
</query>
</iq>
RESPONSE
<iq id="c913" type="result" to="chris@im.nodexy/TCL-S960" from="lena@im.nodexy/TCL-S960">
<query xmlns="nodexy.im.openfire.location"/>
</iq>
The source code has no functional testing, pls DO NOT use it in your business production directly.
