protocol-support.html 7.64 KB
Newer Older
Matt Tucker's avatar
Matt Tucker committed
1 2 3 4 5 6 7 8 9 10 11 12 13 14
<!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>

15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
<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>
Matt Tucker's avatar
Matt Tucker committed
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
<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
Matt Tucker's avatar
Matt Tucker committed
76
Suite</a> [<a href="#fn1">1</a>].</p>
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

<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:
Matt Tucker's avatar
Matt Tucker committed
171 172 173 174

<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"
175
    protocol but does not currently support TLS stream-negotiation as described in XMPP.</li>
Matt Tucker's avatar
Matt Tucker committed
176 177
    
    <li><b>Resource Binding</b> (<a href="http://www.xmpp.org/specs/rfc3920.html#bind">RFC3920.7</a>) </li>
Matt Tucker's avatar
Matt Tucker committed
178 179 180 181 182

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

    <li><b>S2S</b> (<a href="http://www.xmpp.org/specs/rfc3920.html#rules">RFC3920.10.2</a>,
183
    <a href="http://www.xmpp.org/specs/rfc3920.html#dialback">RFC3920.8</a>)  --
Matt Tucker's avatar
Matt Tucker committed
184 185
    Server-to-Server (S2S) communication is not currently supported.</a></li>
</ul>
186
<br>
Matt Tucker's avatar
Matt Tucker committed
187

188 189
<a name="rfc3921"></a>
<h2>Notes on RFC 3921: XMPP IM</h2>
Matt Tucker's avatar
Matt Tucker committed
190

191
<p>Jive Messenger has full support for the XMPP IM specification (RFC 3921), <b>except</b> for the item listed below:
Matt Tucker's avatar
Matt Tucker committed
192 193

<ul>
194
    <li><b>Privacy Lists</b> (<a href="http://www.xmpp.org/specs/rfc3921.html#privacy">RFC3921.10</a>) </li>
Matt Tucker's avatar
Matt Tucker committed
195
</ul>
196 197 198 199
<br>

<a name="footnotes"></a>
<h2>Footnotes</h2>
Matt Tucker's avatar
Matt Tucker committed
200

201 202 203 204 205
<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>
Matt Tucker's avatar
Matt Tucker committed
206 207 208

</body>
</html>