Limitations
Facebook Chat should be compatible with every XMPP client, but is not a full XMPP server. It should be thought of as a proxy into the world of Facebook Chat on www.facebook.com. As a result, it has several behaviors that differ slightly from what you would expect from a traditional XMPP service:
Your client cannot send or receive HTML messages
Because roster items and presence subscriptions are based on the user's Facebook friends, they cannot be created or deleted using the standard XMPP mechanisms.
Facebook Chat is terse when sending updates for new friends, because the negotiation happens outside of XMPP. Future versions of Facebook Chat may be more conformant.
The user's own Jabber ID (JID) is different from the Jabber ID that their contacts will see because the translation is done internally.
Arbitrary IQ stanzas cannot be passed between clients.
Presence probes do not currently work.
Non-SASL authentication with the jabber:iq:auth namespace as described in XEP-0078 is not currently supported.
The XML parser does not yet fully handle XML namespaces. Please stick to the same style as the examples in XMPP RFCs 3920 and 3921 when using XML namespaces.