
Protocol is defined in XEP-0206: XMPP Over BOSH. Synchronous HTTP) is a protocol for allowing XMPP communication over HTTP. This is the job of a BOSH connection manager. Server, we need a proxy which acts as a bridge between these two protocols. So to enable a web application like Converse to communicate with an XMPP XMPP connections on the other hand are stateful and usually last much longer. HTTP connections are stateless and usually shortlived.

Stanzas to be sent over an HTTP connection. Instead, we have HTTP and websocket as available protocols. Web-browsers do not allow the persistent, direct TCP socket connections used byĭesktop XMPP clients to communicate with XMPP servers. You can find a list of public XMPP servers/providers on Īnd a list of servers that you can set up yourself on. Then you’ll have to set up your own XMPP server. Integrate Converse into your own website and to use your website’sĪuthentication sessions to log in users to the XMPP server (i.e. You can connect to public XMPP servers like but if you want to Server (Jabber® is an older and more user-friendly synonym for XMPP). Messaging protocol, and therefore needs to connect to an XMPP/Jabber ¶ The various components ¶ An XMPP server ¶ This diagram shows the various services in a fairly common setup (image generated with draw.io). Usually (but optionally) there is a backend web application which hosts a The XMPP server is configured to use, so that users can log in with those Optionally there is a user directory such as Active Directory or LDAP, which Optionally the XMPP server is configured to use a SQL database for storing Reverse-proxied by a web-server in order to overcome cross-site scripting It communicates with the XMPP server via BOSH or websocket which is usually The diagram below shows a fairly common setup for a website or intranet:Ĭonverse runs in the web-browser on the user’s device. Then you’ll likely need to set up more services and components. If you want to more fully integrate it into a website Take a look at the section on libsignal and the That’s definitelyĮnough to simply demo Converse or to do development work on it.įor end-to-end encryption via OMEMO, you’ll need to load libsignal-protocol.js separately in Websocket or BOSH (XMPP-over-HTTP) enabled. Your own XMPP server and to better integrate it into your website.Īt the very least you’ll need Converse and an An XMPP server with This page documents what you’ll need to do to be able to connect Converse with
#Ejabberd websockets how to#


Server, the component must add attribute is_subdomain="true"to the opening stream element. In order to register a component for all virtual hosts served by the

