protocol-support.html 7.77 KB
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>
<head>
    <title>Jive Messenger Protocol Support</title>
    <link href="style.css" rel="stylesheet" type="text/css">
</head>

<body>

<h1>Jive Messenger Protocol Support</h1>

<a name="top"></a>

<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>

<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.
JEPs that only require client-side support are omitted.</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-0012.html">JEP-0012</a>: Last Activity</td>
  <td>-</td>
 </tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0030.html">JEP-0013</a>: Flexible Offline Message Retrieval</td>
  <td>-</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-0114.html">JEP-0114</a>: Jabber Component Protocol</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
    Messenger provides support for a dedicated TLS/SSL port (5223) as used by the older "Jabber"
    protocol but does not currently support TLS stream-negotiation as described in XMPP.</li>
    
    <li><b>Resource Binding</b> (<a href="http://www.xmpp.org/specs/rfc3920.html#bind">RFC3920.7</a>) </li>

    <li><b>SASL</b> (<a href="http://www.xmpp.org/specs/rfc3920.html#sasl">RFC33920.6</a>)  --
    Jive Messenger currently relies on non-SASL authentication (JEP-0078) for authentication.</li>
</ul>
<br>

<a name="rfc3921"></a>
<h2>Notes on RFC 3921: XMPP IM</h2>

<p>Jive Messenger has full support for the XMPP IM specification (RFC 3921), <b>except</b> for the item listed below:

<ul>
    <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>

  [<a name="fn1">1</a>] <u>JEP-0117: Intermediate IM Protocol Suite</u> is currently an experimental proposal, but it provides a good roadmap for future development.
<br>  
  [<a name="fn2">2</a>] Support for <u>JEP-0055: Jabber Search</u> is provided by the <a href="http://www.jivesoftware.org/messenger/plugins.jsp">Search plugin</a>.
 <br>
 [<a name="fn3">3</a>] Some requirements of <u>JEP-0117: Intermediate IM Protocol Suite</u> do not pertain to servers.

</body>
</html>