Commit 4ca8d71d authored by Matt Tucker's avatar Matt Tucker Committed by matt

Updated document from Cameron Moore.


git-svn-id: http://svn.igniterealtime.org/svn/repos/messenger/trunk@1210 b35dd754-fafc-0310-a699-88a17e54d16e
parent 6d15aaf1
......@@ -12,18 +12,162 @@
<a name="top"></a>
<p>
Jive Messenger implements the XMPP protocol as well as many extensions to XMPP
through the JEP process at jabber.org. This document provides a summary of that
protocol support and is updated for every Jive Messenger release.
</p>
<h2>Core XMPP Spport</h2>
<p>A major goal of the Jive Messenger project is to provide full support for the
<acronym title="Extensible Messaging and Presence Protocol">XMPP</acronym>
specifications defined by <a href="http://www.xmpp.org/specs/rfc3920.html">RFC 3920</a> and
<a href="http://www.xmpp.org/specs/rfc3921.html">RFC 3921</a>. In addition to full
XMPP support, we are also working to provide support for numerous extensions to XMPP
that are defined through the
<acronym title="Jabber Enhancement Proposals">JEP</acronym> process at
<a href="http://www.jabber.org">Jabber.org</a>. This document provides a
summary of that protocol support and is updated for every Jive Messenger
release.</p>
<p>This document is broken down into the following sections:</p>
<ul>
<li><a href="#basic">Basic IM Protocol Suite Support</a></li>
<li><a href="#intermediate">Intermediate IM Protocol Suite Support</a></li>
<li><a href="#jeps">List of JEPs Supported</a></li>
<li><a href="#rfc3920">Notes on RFC 3920: XMPP Core</a></li>
<li><a href="#rfc3921">Notes on RFC 3921: XMPP IM</a></li>
<li><a href="#footnotes">Footnotes</a></li>
</ul>
<p>A major goal of the Jive Messenger project is to provide full support for the XMPP
specifications, <a href="http://www.xmpp.org/specs/rfc3920.html">RFC 3920</a> and
<a href="http://www.xmpp.org/specs/rfc3921.html">RFC 3921</a>. Jive Messenger has
full support for XMPP, <b>except</b> for the items listed below:
<br>
<a name="basic"></a>
<h2>Basic IM Protocol Suite Support</h2>
<p>The table below details the level of support for the requirements set by
<a href="http://www.jabber.org/jeps/jep-0073.html">JEP-0073: Basic IM Protocol
Suite</a>.</p>
<table class="dbtable">
<tr>
<th>Specification</th>
<th>Supported</th>
</tr><tr>
<td><a href="http://www.xmpp.org/specs/rfc3920.html">RFC 3920</a>: XMPP Core</td>
<td>Yes/No (<a href="#rfc3920">see below</a>)</td>
</tr><tr>
<td><a href="http://www.xmpp.org/specs/rfc3921.html">RFC 3921</a>: XMPP IM</td>
<td>Yes/No (<a href="#rfc3921">see below</a>)</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0030.html">JEP-0030</a>: Service Discovery</td>
<td>Yes</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0077.html">JEP-0077</a>: In-Band Registration</td>
<td>Yes</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0078.html">JEP-0078</a>: Non-SASL Authentication</td>
<td>Yes</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0086.html">JEP-0086</a>: Error Condition Mappings</td>
<td>Yes</td>
</tr>
</table>
<br>
<a name="intermediate"></a>
<h2>Intermediate IM Protocol Suite Support</h2>
<p>The table below details the level of support for the requirements set by
<a href="http://www.jabber.org/jeps/jep-0117.html">JEP-0117: Intermediate IM Protocol
Suite</a> [<a href="fn1">1</a>].</p>
<table class="dbtable">
<tr>
<th>Specification</th>
<th>Supported</th>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0073.html">JEP-0073</a>: Basic IM Protocol Suite</td>
<td>No</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0004.html">JEP-0004</a>: Data Forms</td>
<td>Yes</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0020.html">JEP-0020</a>: Feature Negotiation</td>
<td>No</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0045.html">JEP-0045</a>: Multi-User Chat</td>
<td>Yes</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0047.html">JEP-0047</a>: In-Band Bytestreams</td>
<td>Yes</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0065.html">JEP-0065</a>: SOCKS5 Bytestreams</td>
<td>No</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0071.html">JEP-0071</a>: XHTML-IM</td>
<td>Yes [<a href="#fn3">3</a>]</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0096.html">JEP-0096</a>: File Transfer</td>
<td>No</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0115.html">JEP-0115</a>: Entity Capabilities</td>
<td>No</td>
</tr>
</table>
<br>
<a name="jeps"></a>
<h2>List of JEPs Supported</h2>
<p>The table below lists all JEPs supported by Jive Messenger and indicates which JEPs are part of the
<a href="#basic">Basic</a> or <a href="#intermediate">Intermediate</a> Protocol Suites listed above.</p>
<table class="dbtable">
<tr>
<th>Specification</th>
<th>Suite</th>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0004.html">JEP-0004</a>: Data Forms</td>
<td>Intermediate</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0030.html">JEP-0030</a>: Service Discovery</td>
<td>Basic</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0045.html">JEP-0045</a>: Multi-User Chat</td>
<td>Intermediate</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0049.html">JEP-0049</a>: Private XML Storage</td>
<td>-</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0054.html">JEP-0054</a>: vcard-temp</td>
<td>-</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0055.html">JEP-0055</a>: Jabber Search [<a href="#fn2">2</a>]</td>
<td>-</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0077.html">JEP-0077</a>: In-Band Registration</td>
<td>Basic</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0078.html">JEP-0078</a>: Non-SASL Authentication</td>
<td>Basic</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0086.html">JEP-0086</a>: Error Condition Mappings</td>
<td>Basic</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0090.html">JEP-0090</a>: Entity Time</td>
<td>-</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0091.html">JEP-0091</a>: Delayed Delivery</td>
<td>-</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0092.html">JEP-0092</a>: Software Version</td>
<td>-</td>
</tr><tr>
<td><a href="http://www.jabber.org/jeps/jep-0128.html">JEP-0128</a>: Service Discovery Extensions</td>
<td>-</td>
</tr>
</table>
<br>
<a name="rfc3920"></a>
<h2>Notes on RFC 3920: XMPP Core</h2>
<p>Jive Messenger has full support for the XMPP Core specification (RFC 3920), <b>except</b> for the items listed below:
<ul>
<li><b>TLS</b> (<a href="http://www.xmpp.org/specs/rfc3920.html#tls">RFC3920.5</a>) -- Jive
......@@ -36,40 +180,29 @@ full support for XMPP, <b>except</b> for the items listed below:
Jive Messenger currently relies on non-SASL authentication (JEP-0078) for authentication.</li>
<li><b>S2S</b> (<a href="http://www.xmpp.org/specs/rfc3920.html#rules">RFC3920.10.2</a>,
<a href="http://www.xmpp.org/specs/rfc3920.html#dialback">RFC33920.8</a>) --
<a href="http://www.xmpp.org/specs/rfc3920.html#dialback">RFC3920.8</a>) --
Server-to-Server (S2S) communication is not currently supported.</a></li>
<li><b>Privacy Lists</b> (<a href="http://www.xmpp.org/specs/rfc3921.html#privacy">RFC3921.10</a>) </li>
</ul>
<br>
<h2>JEP Support</h2>
<a name="rfc3921"></a>
<h2>Notes on RFC 3921: XMPP IM</h2>
The <a href="http://www.jabber.org">Jabber Software Foundation</a> has a standards process
for approving <a href="http://www.jabber.org/jeps/">extensions</a> (JEPs) to the XMPP protocol.
Jive Messenger's support for these JEPs is detailed below. Some JEPs do not require direct
server support and are only implemented by clients; such JEPs are not included in this list.
<p>Jive Messenger has full support for the XMPP IM specification (RFC 3921), <b>except</b> for the item listed below:
<ul>
<li>Data Forms (<a href="http://www.jabber.org/jeps/jep-0004.html">JEP-0004</a>)</li>
<li>Service Discovery (<a href="http://www.jabber.org/jeps/jep-0030.html">JEP-0030</a>)</li>
<li>Multi-User Chat (<a href="http://www.jabber.org/jeps/jep-0045.html">JEP-0045</a>)</li>
<li>Private XML Storage (<a href="http://www.jabber.org/jeps/jep-0049.html">JEP-0049</a>)</li>
<li>vcard-temp (<a href="http://www.jabber.org/jeps/jep-0054.html">JEP-0054</a>)</li>
<li>Jabber Search (<a href="http://www.jabber.org/jeps/jep-0055.html">JEP-0055</a>) --
supported provided via the <a href="http://www.jivesoftware.org/messenger/plugins.jsp">Search
plugin</a>.</li>
<li>Basic IM Protocol Suite (<a href="http://www.jabber.org/jeps/jep-0073.html">JEP-0073</a>) --
all JEPs in the suite supported, but Jive Messenger does not have full XMPP RFC compliance as noted above.
<li>In-Band Registration (<a href="http://www.jabber.org/jeps/jep-0077.html">JEP-0077</a>)</li>
<li>Non-SASL Authentication (<a href="http://www.jabber.org/jeps/jep-0078.html">JEP-0078</a>)</li>
<li>Entity Time (<a href="http://www.jabber.org/jeps/jep-0090.html">JEP-0090</a>)</li>
<li>Delayed Delivery (<a href="http://www.jabber.org/jeps/jep-0091.html">JEP-0091</a>)</li>
<li>Software Version (<a href="http://www.jabber.org/jeps/jep-0092.html">JEP-0092</a>)</li>
<li>Service Discovery Extensions (<a href="http://www.jabber.org/jeps/jep-0128.html">JEP-0128</a>)</li>
<li><b>Privacy Lists</b> (<a href="http://www.xmpp.org/specs/rfc3921.html#privacy">RFC3921.10</a>) </li>
</ul>
<br>
<a name="footnotes"></a>
<h2>Footnotes</h2>
<br><br>
<dl>
<dt><a name="fn1">1</a></dt><dd><u>JEP-0117: Intermediate IM Protocol Suite</u> is currently an experimental proposal, but it provides a good roadmap for future development.</dd>
<dt><a name="fn2">2</a></dt><dd>Support for <u>JEP-0055: Jabber Search</u> is provided by the <a href="http://www.jivesoftware.org/messenger/plugins.jsp">Search plugin</a>.</dd>
<dt><a name="fn3">3</a></dt><dd>Some requirements of <u>JEP-0117: Intermediate IM Protocol Suite</u> do not pertain to servers.</dd>
</dl>
</body>
</html>
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment