protocol-support.html 8.45 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221
<!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">
    <style type="text/css">
    .supported { background-color:#D0FFCB }
    .partially_supported { background-color:#FEFF94 } 
    .unsupported { background-color:#FFB4B4 }
    </style>
</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, Jive Messenger also provides 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 basic suite includes full support of the XMPP RFC's as well as the most common extensions.
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 width="35%">Supported</th>
</tr><tr>
  <td><a href="http://www.xmpp.org/specs/rfc3920.html">RFC 3920</a>: XMPP Core</td>
  <td class="partially_supported">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 class="partially_supported">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 class="supported">Yes</td>
</tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0077.html">JEP-0077</a>: In-Band Registration</td>
  <td class="supported">Yes</td>
</tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0078.html">JEP-0078</a>: Non-SASL Authentication</td>
  <td class="supported">Yes</td>
</tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0086.html">JEP-0086</a>: Error Condition Mappings</td>
  <td class="supported">Yes</td>
</tr>
</table>
<br>

<a name="intermediate"></a>
<h2>Intermediate IM Protocol Suite Support</h2>

<p>The intermediate suite includes the full basic suite as well as more advanced features in common use
by XMPP clients. 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>.</p>

<table class="dbtable">
<tr>
  <th>Specification</th>
  <th width="35%">Supported</th>
</tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0073.html">JEP-0073</a>: Basic IM Protocol Suite</td>
  <td class="partially_supported">No</td>
</tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0004.html">JEP-0004</a>: Data Forms</td>
  <td class="supported">Yes</td>
</tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0020.html">JEP-0020</a>: Feature Negotiation</td>
  <td class="unsupported">No</td>
</tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0045.html">JEP-0045</a>: Multi-User Chat</td>
  <td class="supported">Yes</td>
</tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0047.html">JEP-0047</a>: In-Band Bytestreams</td>
  <td class="supported">Yes</td>
</tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0065.html">JEP-0065</a>: SOCKS5 Bytestreams</td>
  <td class="unsupported">No</td>
</tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0071.html">JEP-0071</a>: XHTML-IM</td>
  <td class="supported">Yes [<a href="#fn1">1</a>]</td>
</tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0096.html">JEP-0096</a>: File Transfer</td>
  <td class="unsupported">No</td>
</tr><tr>
  <td><a href="http://www.jabber.org/jeps/jep-0115.html">JEP-0115</a>: Entity Capabilities</td>
  <td class="partially_supported">Yes [<a href="#fn2">2</a>]</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="#fn3">3</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 client-to-server (c2s) TLS streams as defined in the RFC, but does not currently 
    provide support for TLS between servers (s2s).</li>
    
    <li><b>SASL</b> (<a href="http://www.xmpp.org/specs/rfc3920.html#sasl">RFC33920.6</a>)  --
    Jive Messenger provides support for client-to-server (c2s) SASL authentication, but does not currently
    provide support for SASL between servers (s2s).</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>] Some requirements of <u>JEP-0117: Intermediate IM Protocol Suite</u> do not pertain to servers.
 <br>
 [<a name="fn2">2</a>] The entity capabilities JEP is primarily for clients to implement. However, Jive Messenger does not support an optional server extensions defined by the JEP.
 <br>
 [<a name="fn3">3</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>

</body>
</html>