[jitsi-users] ejabberd instead prosody


#1

If interesting. We posted in ejabberd forum https://www.ejabberd.im/forum/25594/jitsi-meet-ejabberd-instead-prosody-xmpp-server
and write message to maillist ejabberd@jabber.ru. People from prosody-team http://prosody.im/webchat not help. They only given recomendations:
use prosody with ejabberd via https://hg.prosody.im/prosody-modules/file/tip/mod_component_client/mod_component_client.lua

···

On 09/22/2016 10:30 AM, devteam wrote:

Hi, All!

Can you help? Anybody have expirience integrate jitsi-meet with ejabberd? (instead prosody)

Thx!


#2

Can you help? Anybody have expirience integrate jitsi-meet with ejabberd? (instead prosody)

That's not too complicated. Easiest way is to do first a quick-install on Debian (https://github.com/jitsi/jitsi-meet/blob/master/doc/quick-install.md) and then have a look at the resulting prosody config.
Or have a look in the Debian install and post-install scripts here: https://github.com/jitsi/jitsi-meet/tree/master/debian

I did it some time ago, so I might have forgotten some of the steps:

With the tool "equivs-control" create a fake package for prosody and install it. Then you can install jitsi-meet and all it's dependencies with "apt-get install jitsi-meet" without installing prosody. Or you just install also prosody but make sure it won't be started.

The post-install scripts will throw some errors while trying to create the jabber user for jicofo (focus), because there is no prosodyctl.

Videobridge integration you can find here: https://jitsi.org/Projects/JitsiVideobridgeWithEjabberd
IMO the shaper stuff is not necessary anymore.

In ejabberd-config make sure you have:
- added http_bind to the ejabberd_http module
- added an ejabberd_service for jitsi-videobridge
- added an ejabberd_service for focus

e.g.:

listen:

···

-
    port: 5280
    ip: "::"
    module: ejabberd_http
    certfile: "/etc/ejabberd/jabber.pem"
    tls: true
    web_admin: true
    http_bind: true
  -
   port: 5275
   module: ejabberd_service
   hosts:
     "jitsi-videobridge.example.com":
       password: "your_JVB_SECRET_from_/etc/jitsi/videobridge/config"
  -
   port: 5347
   module: ejabberd_service
   hosts:
     "focus.example.com":
       password: "your_JICOFO_SECRET_from_/etc/jitsi/jicofo/config"

Also check that the port-numbers, XMPP server name and XMPP domain in the /etc/jitsi config files match your ejabberd server.

Then create the focus user:
ejabberdctl register focus example.com JICOFO_AUTH_PASSWORD (JICOFO_AUTH_PASSWORD from /etc/jitsi/jicofo/config)

Then in ejabberd config give the focus user muc_admin role:

acl:
   focus:
     user:
       - "focus": "example.com"
    
muc_admin:
   focus: allow

When you use tls for http_bind on Port 5280 you also have to modify the nginx-config for BOSH (https instead of http):
proxy_pass https://localhost:5280/http-bind;

That should be all.
Reading https://github.com/jitsi/jitsi-meet/blob/master/doc/manual-install.md you can figure out what you have to add to your ejabberd and what else to do. Most of the stuff will be done by the post-install scripts from jitsi-meet package.

Regards,
Bernhard