Jicofo and Prosody ports


I have some questions regarding how the communication goes between the different components.

First, it is my understanding that jicofo communicates with the rest mostly through prosody. Why then is it listening on 8888?

Second, prosody is listening on several ports: 5222 (“client”), 5269 (“server”), 5280 (“bosh”), and I think I’ve also seen 5281. What are the different purposes of those, particularly with respect to Jitsi?

Finally, I understand that the jicofo and prosody ports don’t need to be opened to the world, but only to the videobridges (if they are on separate machines). Is that correct?


Because there is a REST API you can use for health checks for example: jicofo/health-checks.md at fcf956ed96a8a92e3c30cda372f852f8db9fb754 · jitsi/jicofo · GitHub

Generally speaking you can disable all ports except 5222 and 5280.

  • 5222: accept connections from clients. Jicofo makes a client connection for example.
  • 5280: bosh / websocket connections. Usually this is behind a proxy that’s why it’s plain http.

Correct, for the most part. You need to have a route, usually /http-bind and /xmpp-websocket proxied over to prosody’s port 5280.