git-svn-id: file:///home/ksmith/gitmigration/svn/xmpp/trunk@774 4b5297f7-1745-476d-ba37-a9c6900126ab
This commit is contained in:
Peter Saint-Andre 2007-04-18 22:41:36 +00:00
parent ac137e0583
commit ce95351dec
1 changed files with 20 additions and 10 deletions

View File

@ -23,6 +23,12 @@
<shortname>N/A</shortname>
&hildjj;
&stpeter;
<revision>
<version>0.7</version>
<date>2007-04-18</date>
<initials>psa</initials>
<remark><p>Updated to reflect renaming of HTTP Binding to XMPP Over BOSH.</p></remark>
</revision>
<revision>
<version>0.6</version>
<date>2007-01-30</date>
@ -79,7 +85,7 @@
</revision>
</header>
<section1 topic='Introduction' anchor='intro'>
<p>Although &rfc3920; specifies the use of TCP as the method of connecting to an XMPP server, alternative connection methods exist, including the &xep0124; method, the &xep0025; method (now deprecated), and less common methods such as &wap;. For some of these methods, it is necessary to discover further parameters before connecting, such as the HTTP URL of an alternative connection manager. Currently, if a client application needs to discover alternative connection methods before connecting to an XMPP service, the relevant information must be provided manually by a human user, which is cumbersome and error-prone. Thankfully, there are several potential ways to complete this pre-connection service discovery in an automated fashion:</p>
<p>Although &rfc3920; specifies the use of TCP as the method of connecting to an XMPP server, alternative connection methods exist, including the &xep0124; method for which &xep0206; is the XMPP profile, the &xep0025; method (now deprecated), and less common methods such as &wap;. For some of these methods, it is necessary to discover further parameters before connecting, such as the HTTP URL of an alternative connection manager. Currently, if a client application needs to discover alternative connection methods before connecting to an XMPP service, the relevant information must be provided manually by a human user, which is cumbersome and error-prone. Thankfully, there are several potential ways to complete this pre-connection service discovery in an automated fashion:</p>
<ol>
<li><p>Define a &w3wsdl; definition (or other XML file format) and a canonical URL for that definition at a domain that offers XMPP services. Unfortunately, this approach requires access to the HTTP server for the domain (and quite possibly to the root directory thereof), which may be difficult for XMPP server administrators to arrange. In addition, it requires a client to retrieve the relevant file via HTTP before performing DNS lookups and XMPP connection; it would be more efficient to use recognized DNS methods since DNS lookups are already required by <cite>RFC 3920</cite>.</p></li>
<li><p>Define a way to specify alternative connection methods as part of the existing DNS SRV records (see &rfc2782;) for a domain that offers XMPP services. While this approach sounds promising, it is not feasible since the DNS SRV Target field can be used only to specify domain names and cannot be used to specify full URIs (such as the URL for an HTTP connection manager).</p></li>
@ -115,7 +121,7 @@
<section1 topic='Examples' anchor='examples'>
<p>The following examples show two DNS TXT resource records: the first indicates support for the httpbind connection method defined in XEP-0124 and the second indicates support for WAP connections (both include appropriate URLs).</p>
<example caption='TXT Resource Records'><![CDATA[
_xmppconnect IN TXT "_xmpp-client-httpbind=https://web.jabber.org:8080/bind.cgi"
_xmppconnect IN TXT "_xmpp-client-xbosh=https://web.jabber.org:8080/bind.cgi"
_xmppconnect IN TXT "_xmpp-client-wap=http://wap.jabber.org/connector.cgi"
]]></example>
</section1>
@ -143,17 +149,21 @@ _xmppconnect IN TXT "_xmpp-client-wap=http://wap.jabber.org/connector.cgi"
<section3 topic='Initial Registration' anchor='registrar-altconn-init'>
<code><![CDATA[
<method>
<name>_xmpp-client-httpbind</name>
<desc>the HTTP Binding connection method</desc>
<value>the http: or https: URL at which to contact the HTTP Binding connection manager or proxy</value>
<doc>XEP-0124</doc>
<name>_xmpp-client-httppoll</name>
<desc>the HTTP Polling connection method</desc>
<value>
the http: or https: URL at which to contact the HTTP Polling connection manager or proxy
</value>
<doc>XEP-0025</doc>
</method>
<method>
<name>_xmpp-client-httppoll</name>
<desc>the HTTP Polling connection method</desc>
<value>the http: or https: URL at which to contact the HTTP Polling connection manager or proxy</value>
<doc>XEP-0025</doc>
<name>_xmpp-client-xbosh</name>
<desc>the XMPP Over Bosh connection method</desc>
<value>
the http: or https: URL at which to contact the HTTP Binding connection manager or proxy
</value>
<doc>XEP-0206</doc>
</method>
]]></code>
</section3>