Sametime 11 integrazione con Jitsi. Una soluzione facile da usare ora per la videoconferenza

Ho lavorato con il mio amico e collega HCL Master Detlev Poettgen nella creazione di una soluzione per consentire ai clienti di utilizzare ora la videoconferenza con Sametime, mentre aspettiamo il rilascio di Sametime Meeting Server.
Abbiamo usato Jitsi, la stessa tecnologia utilizzata da Sametime Meetings, e fatto un’integrazione. Ovviamente non è una soluzione completamente integrata, ma funziona abbastanza bene.
Questo è qualcosa di utile per quei clienti che non vogliono utilizzare servizi cloud come Zoom o Webex o altri, ma preferiscono avere una soluzione completamente on-premise, e io ho più di uno di questo tipo di clienti.
Per utilizzare questa integrazione, modificare le preferenze nel client Sametime e definire un provider di riunioni esterno, utilizzando una sala sul server Jitsi.

Lo stesso per il client web

Installazione e configurazione di Jitsi

La prima cosa da fare è installare Jitsi su Ubuntu server 18.04. Le istruzioni sono disponibili qui
Per impostazione predefinita, Jitsi non utilizza l’autenticazione, quando si configura un server Jitsi Meet, tutti gli utenti che possono accedervi possono creare una room o partecipare a una chat esistente.
C’è la possibilità di utilizzare LDAP per l’autenticazione, e l’ ho configurata con successo utilizzando Domino 11 come server LDAP.
Ho usato l’autenticazione LDAP per jitsi-meet tramite cyrus/saslauthd
In un primo momento, è necessario installare i seguenti pacchetti:
apt install sasl2-bin libsasl2-modules-ldap lua-cyrussasl
Poi andare in /etc/prosody/conf.avail, si vedrà un file con il nome host e l’estensione .lua, nel mio esempio il server è denominato meeting.eld.it

Modificarlo e impostare l’autenticazione in cyrus e aggiungere auth_cyrus ai modules_enabled.

È inoltre necessario aggiungere le opzioni di configurazione

cyrus_application_name – “xmpp”

allow_unencrypted_plain_auth : true

Il file dovrebbe essere ora simile al seguente:

VirtualHost "meeting.eld.it"
        -- enabled = false -- Remove this line to enable this host
        authentication = "cyrus"  
        -- Properties below are modified by jitsi-meet-tokens package config
        -- and authentication above is switched to "token"
        --app_id="example_app_id"
        --app_secret="example_app_secret"
        -- Assign this host a certificate for TLS, otherwise it would use the one
        -- set in the global section (if any).
        -- Note that old-style SSL on port 5223 only supports one certificate, and will always
        -- use the global one.
        ssl = {
                key = "/etc/prosody/certs/meeting.eld.it.key";
                certificate = "/etc/prosody/certs/meeting.eld.it.crt";
        }
        cyrus_application_name = "xmpp" 
        allow_unencrypted_plain_auth = true  
        speakerstats_component = "speakerstats.meeting.eld.it"
        conference_duration_component = "conferenceduration.meeting.eld.it"
        -- we need bosh
        modules_enabled = {
           "bosh";
            "pubsub";
     "ping"; -- Enable mod_ping
     "auth_cyrus";
     "speakerstats";
     "turncredentials";
     "conference_duration";
        }
        c2s_require_encryption = false

Configurare saslauthd

Creare il file /etc/sasl/xmpp.conf. Se la cartella sasl non esiste ancora, crearla.
Incollare quanto segue all’interno del file xmpp.conf:
pwcheck_method: saslauthd
mech_list: PLAIN
Ora creare /etc/saslauthd.conf e aggiungere quanto segue. Sostituire l’IP con il vostro, così come la search base e utentebind / password
ldap_servers: ldaps://192.168.1.24:636 ldap://192.168.1.24:389
ldap_search_base: o=eld
ldap_bind_dn: cn-Roberto Boccadoro, o=eld
ldap_bind_pw: password
ldap_filter: (mail=%u*)
ldap_version: 3
ldap_auth_method: bind

Nota importante sul filtro ldap:

Al primo tentativo ho usato ldap_filter: (mail=%u) ma non ha funzionato
Utilizzare ldap_filter: (mail=%u*), notare l’* dopo il %u, e dire agli utenti di immettere la parte prima del segno @ del loro indirizzo di posta elettronica per autenticarsi.
Ora modificare il file /etc/default/saslauthd:
• Cambia START in yes
• Modificare MECHANISMS in ldap
• Modificare MECH_OPTIONS in /etc/saslauthd.conf
e riavviare il servizio con il comando service saslauthd restart. È inoltre necessario riavviare prosody ora con il comando service prosody restart.
Aggiungere prosody al gruppo sasl eseguendo il comando usermod -aG sasl prosody.
Una volta effettuata questa configurazione, agli utenti che accedono al server jitsi verrà richiesta l’autenticazione prima di unirsi a una stanza o di creare una stanza.