<?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE xep SYSTEM 'xep.dtd' [ <!ENTITY % ents SYSTEM 'xep.ent'> %ents; ]> <?xml-stylesheet type='text/xsl' href='xep.xsl'?> <xep> <header> <title>Implicit XMPP WebSocket Endpoints</title> <abstract>This document specifies implicit connection endpoints for XMPP over WebSocket (RFC 7395).</abstract> &LEGALNOTICE; <number>xxxx</number> <status>ProtoXEP</status> <type>Standards Track</type> <sig>Standards</sig> <approver>Council</approver> <dependencies> <spec>XMPP Core</spec> <spec>XEP-0001</spec> <spec>Etc.</spec> </dependencies> <supersedes/> <supersededby/> <shortname>iwe</shortname> &flow; <revision> <version>0.0.1</version> <date>2020-01-28</date> <initials>fs</initials> <remark><p>First draft.</p></remark> </revision> </header> <section1 topic='Introduction' anchor='intro'> <p>Unlike for XMPP connections via TCP as specified in &rfc6120;, there exists no specificiation of implicit connection endpoints for XMPP over WebSocket (&rfc7395;). As a result, XMPP services which whish to provide WebSocket connectivity need to announce their WebSocket endpoints, so that clients are able to discover them (RFC 7395 § 4). This XEP fills this gap. It eventually enables, under certain conditions, XMPP services to provide WebSocket connectivty, without resorting to &xep0156; nor requiring manual configuration by the user.</p> </section1> <section1 topic='Implicit XMPP WebSocket Endpoints' anchor='reqs'> <p>The following implicit XMPP WebSocket endpoints are specified:</p> <ul> <li>wss://<xmpp-service-name>:5443/ws</li> <li>ws://<xmpp-service-name>:5443/ws</li> <li>wss://<xmpp-service-name>/ws</li> <li>ws://<xmpp-service-name>/ws</li> </ul> <p>TODO: Use implicit endpoints only if no other endpoints were discovered?</p> </section1> <section1 topic='Implementation Notes' anchor='impl'> <p>Implementations should note that due this XEP, the collection of potential endpoints may contain duplicates. This is because the implicit WebSocket connection endpoints defined herein may match the ones that where discovered (RFC 7395 § 4, XEP-0156). Implementations may want to ensure that no such duplicates exist.</p> <p>Furthermore, implementations attempting to connect to the discovered endpoints serially, as opposed to concurrently, may use the implicit endpoints only as last resort.</p> </section1> <section1 topic='Security Considerations' anchor='security'> <p>Since the implicit WebSocket connection endpoints are defined to include the XMPP service name, the verification required when using the secured variant of the WebSocket transport provides the necessary security.</p> </section1> <section1 topic='IANA Considerations' anchor='iana'> <p>This document requires no interaction with &IANA;.</p> </section1> <section1 topic='XMPP Registrar Considerations' anchor='registrar'> <p>This document requires no interaction with the XMPP registrar.</p> </section1> <section1 topic='XML Schema' anchor='schema'> <p>No XML schema specification is required, as this XEP does not specify any XML data.</p> </section1> </xep>