XMPP For The Web/Win ::: XMPP-FTW (1.16.8)

Manual

This page covers using XMPP-FTW from the browser. You may also want to check out the demo and the chat client.

Components

Functionality XEP Module Status Notes
XMPP Core XMPP-Core xmpp-ftw
  • Login
  • logout
  • roster
  • presence
  • chat
Chat includes XEP-0085 support.
Data Forms XEP-0004 xmpp-ftw

 
Jabber RPC XEP-0009 xmpp-ftw-rpc
 
Service Discovery XEP-0030 xmpp-ftw-disco
Supports XEP-0128
Multi-user Chat XEP-0045 xmpp-ftw-muc
Supports XEP-0085
Ad-Hoc Commands XEP-0050 xmpp-ftw-command
 
Jabber Search XEP-0055 xmpp-ftw-search
 
Result Set Management XEP-0059 xmpp-ftw
 
Publish Subscribe XEP-0060 xmpp-ftw-pubsub
 
Out of band data XEP-0066 xmpp-ftw
 
HTTP requests XEP-0070 xmpp-ftw-http
 
In-Band registration XEP-0077 xmpp-ftw-register
 
User Avatar XEP-0084 xmpp-ftw-avatar
 
Chat state (see example) XEP-0085 xmpp-ftw
 
Entity Capabilities XEP-0115 xmpp-ftw
 
Service discovery extensions XEP-0128 xmpp-ftw-disco
 
Jingle XEP-0166 xmpp-ftw-jingle
 
Message delivery receipts XEP-0184 xmpp-ftw
 
XMPP Ping XEP-0199 xmpp-ftw-ping
 
Delayed delivery XEP-0203 xmpp-ftw
 
Last message correction XEP-0308 xmpp-ftw
 
Message Archive Management/MAM XEP-0313 xmpp-ftw-mam
 
Unknown stanzas N/A xmpp-ftw-wtf
 
Superfeedr N/A xmpp-ftw-superfeedr
 
buddycloud N/A xmpp-ftw-buddycloud
 
fanout N/A xmpp-ftw-fanout
 

Colour conventions

These colour conventions are also carried over into the demo client.

Outgoing message
Incoming message
Example data

JIDs

JIDs are always sent as an object as follows:

        {
            "user": "lloyd",
            "domain": "evilprofessor.co.uk",
            "resource": "laptop"
        }
        

Errors

Errors are delivered in the following form:

        {
            type: "auth",
         /* condition: "forbidden", */
         /* description: "Only owners can configure rooms" */
         /* application: {
                condition: 'too-many-users',
                /* xmlns: 'my:custom:ns', */
                /* description: 'We\'re still in beta' */
            } */
        }
        

Client errors

Client errors follow a similar format to standard XMPP error responses. An example error looks like this:

        {
            type: "modify",
            condition: "client-error",
            description: "Missing JID parameter",
            request: { message: "Hello you!" }
        }
        

If the request included a callback this will be sent back as the first argument (i.e. 'error' variable), otherwise the message will come back as a xmpp.error.client event.

Note: use of 'bad-request' was avoided to ensure that a client → XMPP-FTW was discernible from a pure client → XMPP error.

XMPP Server disconnection

If your XMPP server closes the connection then you will be informed via xmpp.error as follows:

        {
            type: "connection",
            condition: "disconnected",
            description: "XMPP client disconnected"
        }
        

Pages

Fork me on GitHub