The value of a URI scheme (see RFC 3986
Thankfully, it is not necessary for the large existing base of deployed software to support the xmpp: URI scheme in order to integrate Jabber/XMPP support. A well-accepted alternative approach
Therefore, this document defines a MIME type of "application/jabber+xml" (in particular, an XML media type in accordance with RFC 3023
Note: The "application/jabber+xml" MIME type defined herein is not to be confused with the "application/xmpp+xml" MIME type defined in RFC 3923
The solution MUST enable a user to complete the following use cases, support for which is REQUIRED:
In addition, the solution SHOULD enable a user to complete the following use cases, support for which is RECOMMENDED:
These use cases are defined below.
In order to send a message to a contact, the user opens an XMPP file of the following form:
]]>
The browser passes this file to the helper application, which shall instantiate an appropriate interface for sending a single message to the JID defined in the file. If the user completes the interface, the helper application shall then send a message stanza of type='normal' as specified in XMPP IM
]]>
The browser passes this file to the helper application, which shall instantiate an appropriate interface for chatting with the JID defined in the file. If the user completes the interface, the helper application shall then send a message stanza of type='chat' as specified in XMPP IM, first authenticating with the user's Jabber/XMPP server if necessary.
]]>
The browser passes this file to the helper application, which shall instantiate an appropriate interface for sending a presence subscription request to the JID defined in the file (e.g., specifying a name and/or group for the contact). If the user completes the interface, the helper application shall then send a presence stanza of type='subscribe' as specified in XMPP IM, first authenticating with the user's Jabber/XMPP server if necessary. The helper application SHOULD perform a "roster set" before sending the presence subscription request, as described in XMPP IM.
]]>
The browser passes this file to the helper application, which shall instantiate an appropriate interface for joining the conference room associated with the JID defined in the file. If the user completes the interface, the helper application shall then send a directed presence stanza to the JID (appending a room nickname to the JID as the resource identifier) as described in Multi-User Chat (XEP-0045)
]]>
The browser passes this file to the helper application, which shall send an IQ stanza of type='get' to the service associated with the JID defined in the file in order to determine the registration requirements (first authenticating with the user's Jabber/XMPP server if necessary), as described in In-Band Registration (XEP-0077)
Detailed security considerations for instant messaging and presence protocols are given in RFC 2779
When a helper application has finished processing a file of type "application/jabber+xml", it SHOULD discard the file; this helps to prevent security-related problems that may result from HTTP caching.
This document requires registration of the "application/jabber+xml" content type with the Internet Assigned Numbers Authority (IANA)
Intended usage: COMMON
Author/Change controller: XSF, XMPP Registrar
]]>
The XMPP Registrar
The XMPP Registrar shall interact with the IANA in order to register the media type defined herein.
]]>