Configurar un Sistema de Videoconferencias con Jitsi Meet

Qué es Jitsi Meet?

Jitsi Meet es una herramienta multiplataforma y gratuita que permite hacer videoconferencias grupales a través de Internet. En las videollamadas de Jitsi Meet no hay ningún límite en el número de participantes, pudiendo entrar tantos como lo permita la potencia y el ancho de banda del servidor. En este caso nos proponemos instalar y configurar jitsi y jibri, y adaptarlo un poquito a las necesidades de una empresa cubana.

Requisitos para el proceso:

  • Internet (Solo para el proceso de instalación)
  • Para Jisti utilicé un CT con ubuntu 18.04 live server 2 core, 4 Gb ram, 2 Gb swap y 20 Gb hdd ip: 10.1.1.2 FQDN: conferencias.empresa.cu
  • Para jibri utilicé un VM con ubuntu 18.04 live server 2 core, 4 Gb ram y 60 Gb hdd ip: 10.1.1.3 FQDN jibri.empresa.cu

NOTA: Los recursos que puse fueron en mi entorno de pruebas, en un entorno de producción, se le deben asignar más recursos a Jitsi, Jibri con esos recursos trabaja bien.

Comenzando con Jitsi:

Suponiendo que ya se creó el CT y se aplicó apt update y apt upgrade. Hacemos las siguientes pruebas:

root@conferencias:~# hostname
conferencias
root@conferencias:~# hostname -f
conferencias.empresa.cu

Esas deben ser las respuestas.

Luego pasamos a la configuración del firewall:

root@conferencias:~# ufw allow 80/tcp
Rules updated
Rules updated (v6)

root@conferencias:~# ufw allow 443/tcp
Rules updated
Rules updated (v6)

root@conferencias:~# ufw allow 4443/tcp
Rules updated
Rules updated (v6)

root@conferencias:~# sudo ufw allow 10000/udp
Rules updated
Rules updated (v6)
root@conferencias:~# sudo ufw allow 22/tcp
Rules updated
Rules updated (v6)

root@conferencias:~# ufw enable
Command may disrupt existing ssh connections. Proceed with operation (y|n)? y
Firewall is active and enabled on system startup

root@conferencias:~# ufw status
Status: active

To Action From
-- ------ ----
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
4443/tcp ALLOW Anywhere
10000/udp ALLOW Anywhere
22/tcp ALLOW Anywhere
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
4443/tcp (v6) ALLOW Anywhere (v6)
10000/udp (v6) ALLOW Anywhere (v6)
22/tcp (v6) ALLOW Anywhere (v6)

Así nos debe quedar la configuración de nuestro firewall.

Instalamos algunos paquetes necesarios:

apt install gnupg2 apt-transport-https sudo

apt install openjdk-8-jre-headless

Establecemos JAVA_HOME como una variable de entorno con las dos líneas siguientes:

root@conferencias:~# echo "JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")" |tee -a /etc/profile
root@conferencias:~# source /etc/profile

Agregamos el repositorio de Jitsi:

root@conferencias:~# wget -qO - https://download.jitsi.org/jitsi-key.gpg.key |apt-key add -
root@conferencias:~# sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"
root@conferencias:~# apt update

Instalamos Jitsi Meet

root@conferencias:~# apt install jitsi-meet

Durante la instalación nos pedirá un nombre de host, ahí le ponemos: conferencias.empresa.cu
Además nos pedirá que certificados usar, en mi caso escogí la primera opción, para que me genere un certificado auto firmado. (esto se puede cambiar después, yo lo dejé así)

Una vez terminado el proceso de instalación ya podrá usar la videoconferencia accediendo a https://conferencias.empresa.cu

Para videoconferencias con muchos participantes se recomienda cambiar las siguientes variables:

root@conferencias:~# nano /etc/systemd/system.conf

y agregamos lo siguiente al final:

DefaultLimitNOFILE=65000
DefaultLimitNPROC=65000
DefaultTasksMax=65000

Es recomedable editar:

root@conferencias:~# nano /etc/prosody/conf.avail/conferencias.empresa.cu.cfg.lua

y descomentar la línea 16 donde dice:

-- https_ports = { }; -- Remove this line to prevent listening on port 5284

dejarla que quede así:

https_ports = { }; -- Remove this line to prevent listening on port 5284

Luego reiniciar el servicio prosody:

root@conferencias:~# service prosody restart

y verificar que todo esta bien:

root@conferencias:~# service prosody status

NOTA: Se recomienda hacer una salva del contenedor CT

Para que no todos los usuarios puedan crear salas de videoconferencias y así tener controlado quien puede crear salas de videoconferencia de forma autenticada se continúa con el siguiente proceso:

Editamos: root@conferencias:~# nano /etc/prosody/conf.avail/conferencias.empresa.cu.cfg.lua

en la línea 26 que dice:

authentication = "anonymous"

la dejamos así:

authentication = "internal_plain"

y al final de ese archivo agregamos lo siguiente:

VirtualHost "guest.conferencias.empresa.cu"
authentication = "anonymous"
c2s_require_encryption = false

Editamos:

root@conferencias:~# nano /etc/jitsi/meet/conferencias.empresa.cu-config.js

en la línea 10 (que está en blanco justo debajo de: domain: ‘conferencias.empresa.cu’, ) agregamos:

anonymousdomain: 'guest.conferencias.emrpesa.cu',

Quedaría así lo editado del archivo:

/* eslint-disable no-unused-vars, no-var */

var config = {
// Connection
//

hosts: {
// XMPP domain.
domain: 'conferencias.empresa.cu',
anonymousdomain: 'guest.conferencias.empresa.cu',
// When using authentication, domain for guest users.
...............................................................(ahi continua el archivo......)

Editamos:

root@conferencias:~# nano /etc/jitsi/jicofo/sip-communicator.properties

y agregamos lo siguiente:

org.jitsi.jicofo.auth.URL=XMPP:conferencias.empresa.cu

Para crear los usuarios que tendrán acceso a crear salas de videoconferencia se usa el comando siguiente:

prosodyctl register username conferencias.empresa.cu password

como el siguiente ejemplo:

prosodyctl register admin conferencias.empresa.cu adminpassword

Reiniciamos lo siguiente:

root@conferencias:~# service prosody restart && service jicofo restart && service jitsi-videobridge2 restart

Hasta este punto ya se tiene una videoconferencia con autenticación de usuarios (sólo se tiene que autenticar el que crea la sala, los demás entran como invitados).

En caso de tener jitsi detras de un NAT hay dos formas posibles configurando jitsi o dejando jitsi como está y usando proxy inverso:

A- En caso de que sea con proxy inverso se puede usar la siguiente configuración del proxy inverso con nginx:

server {
listen 443 ssl http2;
ssl_certificate /etc/nginx/cert.crt;
ssl_certificate_key /etc/nginx/cert.key;
ssl on;
ssl_session_cache builtin:1000 shared:SSL:10m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers HIGH:!aNULL:!eNULL:!EXPORT:!CAMELLIA:!DES:!MD5:!PSK:!RC4;
ssl_prefer_server_ciphers on;

server_name url.externa.del.jitsi; // esta es la url que deben poner los que estan externamente al jitsi
location / {
ssi on;
proxy_pass https://URL.o.ip.interna.del.jitsi:4444/; // esta es la url o ip interno del jitsi... el 4444 pq es el puerto de eschucha del jitsi para https (tiene internamente un proxy inverso)
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forward-Proto http;
proxy_set_header X-Nginx-Proxy true;
proxy_ssl_verify off;
}
}

En caso de tener un proxy inverso, además, en el firewall se debe redireccionar el puerto 4443 por tcp y los puertos 10000-20000 por udp hacia el jitsi, y mantener el puerto 443 (https) hacia el proxy inverso.

B- En caso de que no se tenga un proxy inverso en el firewall se debe redireccionar todos los puertos (443/tcp, 4443/tcp, 10000-20000/udp) hacia jitsi.

PARA AMBOS CASOS (A Y B):
Editar:

nano /etc/jitsi/videobridge/sip-communicator.properties

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address>
org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<PUBLIC.IP.Address>

y comentar la siguiente línea:

org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES

NOTA: AQUÍ SE RECOMIENDA QUE HAGA OTRA SALVA DE SU CT.

Para acomodarlo un poco a las necesidades de nuestra empresa haremos lo siguiente:

Editamos:

root@conferencias:~# nano /etc/jitsi/meet/conferencias.empresa.cu-config.js

en la línea donde dice:

// disableAudioLevels: false,

la dejamos así:

disableAudioLevels: true,

en la línea que dice:

// startAudioMuted: 10,

la dejamos así:

startAudioMuted: 3,

Con esto garantizamos que los tres primeros que acceden a la sala de videoconferencia tengan el micrófono abierto, y los que entran después lo hacen con el micrófono cerrado, así no se nos forma un problema.

Más o menos por la línea 130 habla del tema de la resolución de video, lo cual es importante habilitarlo porque default viene en HD, así que consume mucho más ancho de banda y recursos, por que yo agregue esto a partir de la linea 130:

resolution: 360,
maxFps:15,
constraints: {
video: {
aspectRatio: 16 / 9,
height: {
ideal: 360,
max: 360,
min: 240
},
frameRate: {
max: 15
}
}
},

Además buscar la línea:

// requireDisplayName: true,

y descometarla, con eso se garantiza que cuando un usuario vaya a acceder a una sala, tenga que ponerse un nick obligatoriamente.

El archivo:

/usr/share/jitsi-meet/lang/main-esUS.json

ahí se cambian los carteles que salen al inicio de la web, y se adecuan a la empresa de cada cual, eso es editar solamente.

Hacer lo siguiente en el archivo:

/usr/share/jitsi-meet/interface_config.js

DISABLE_FOCUS_INDICATOR: true,
DISABLE_DOMINANT_SPEAKER_INDICATOR: true,
DISABLE_VIDEO_BACKGROUND: true,
DISABLE_DOMINANT_SPEAKER_INDICATOR: true,
DISABLE_JOIN_LEAVE_NOTIFICATIONS: true,

En el archivo:

/usr/share/jitsi-meet/interface_config.js

hay una serie de parámetros que se pueden cambiar, como por ejemplo dejarlos así:

APP_NAME: 'VideoConferencias Empresa X',
JITSI_WATERMARK_LINK: 'https://intranet.empresa.cu',

Donde:
app_name es el nombre que te sale en la ventana de tu navegador
jitsi_watermark_link es el link al que te redirecciona cuando le das click en el logotipo de la web.

El archivo:

/usr/share/jitsi-meet/images/watermark.png

ese es el logo que sale en la web, ese fichero se puede cambiar y poner el logo de tu empresa con ese mismo nombre

IMPORTANTE: Por defecto Jitsi viene que sólo muestra el nombre de cada participante sólo cuando se le pasa el mouse por arriba, una solución para que muestre el nombre de cada participante siempre editar el archivo ccs que esta en /usr/share/jitsi-meet/css/ y dejarlo así.

El usuario que creó la sala tiene la opción de obligar a todos a que vean lo que el decida, esto se hace en la opciones, donde dice MAS, señalar lo que dice todos me siguen.

Hasta aquí ya hay un sistema de videoconferencias con Jitsi como para una empresa.cu

NOTA: Se recomienda para las videoconferencias el uso del google chrome como navegador.

Ahora pasamos a configurar JIBRI que es quien se encarga de grabar las videoconferencias:

Suponiendo que ya se creo el VM y se aplico apt update y apt upgrade. Hacemos las siguientes pruebas:

root@jibri:~# hostname
jibri
root@jibri:~# hostname -f
jibri.empresa.cu

Aquí la parte del firewall la voy a saltar, solo es abrir en el jitsi server y jibri server los puertos 5222 5223 5369 todos tcp. Como en la primera parte.

Instalando paquetes necesarios:

root@jibri:~# apt install wget gnupg software-properties-common
root@jibri:~# apt install unzip ffmpeg curl alsa-utils icewm xdotool xserver-xorg-input-void xserver-xorg-video-dummy

Para cargar el modulo ALSA:

root@jibri:~# echo "snd-aloop" >> /etc/modules
root@jibri:~# modprobe snd-aloop

Así comprobamos que se cargo bien

root@jibri:~# lsmod | grep snd_aloop
snd_aloop 24576 0
snd_pcm 98304 1 snd_aloop
snd 81920 3 snd_timer,snd_aloop,snd_pcm

Instalar JAVA adoptopenjdk-8-hotspot
Jibri usa un JAVA llamado adoptopenjdk-8-hotspot que esta bloqueado para Cuba, para descargarlo hay varias formas: usando vpn es una, en mi caso yo lo descargue de aquí en mi pc , y luego lo instale manualmente en la VM.

Una vez descargado el archivo dicho anteriormente, lo copiamos en la carpeta /home/usuario y pasamos a extraerlo:

root@jibri:/home/usuario# tar xzf OpenJDK8U-jdk_x64_linux_hotspot_8u265b01.tar.gz

Añadiendo esta versión de Java a su PATH

root@jibri:/home/usuario# export PATH=$PWD/jdk8u265-b01/bin:$PATH

Comprobando que todo va bien:

root@jibri:/home/usuario# java -version

Debe devolver algo así:

root@jibri:/home/usuario# java -version
openjdk version "1.8.0_265"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_265-b01)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.265-b01, mixed mode)

Pasamos a instalar Google Chrome Stable. En mi caso use un VPN (debido al bloqueo) en mi pc y descargue el .deb desde este link.

Una vez descargado lo copio al VM se pasa a instalarlo:

root@jibri:~# dpkg -i google-chrome-stable_current_amd64.deb

NOTA: La primera vez que lo hice me dio un error de dependencias, instale esas dependencias, y volví a correr dpkg, y se instalo bien.

Creamos el siguiente directorio:

root@jibri:~# mkdir -p /etc/opt/chrome/policies/managed

Luego:

root@jibri:~# echo '{ "CommandLineFlagSecurityWarningsEnabled": false }' >>/etc/opt/chrome/policies/managed/managed_policies.json

Ahora necesitamos Chrome Driver (también bloqueado para cuba). por lo que hice lo mismo que con google chrome… VPN en mi windows y copiar al VM.

Descargue de aquí

Una vez copiado el chromedriver_linux64.zip descargado hacia nuestro VM de jibri, los extraemos

root@jibri:~# unzip ~/chromedriver_linux64.zip -d ~/

Luego borramos el chromedriver_linux64.zip que ya no es necesario, movemos de carpeta el chromedriver y le damos permisos:

root@jibri:~# rm ~/chromedriver_linux64.zip

root@jibri:~# mv -f ~/chromedriver /usr/local/bin/chromedriver

root@jibri:~# chown root:root /usr/local/bin/chromedriver

root@jibri:~# chmod 0755 /usr/local/bin/chromedriver

Una vez hecho eso vamos finalmente a instalar jibri.

root@jibri:~# wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -

root@jibri:~# sh -c "echo 'deb https://download.jitsi.org stable/' > /etc/apt/sources.list.d/jitsi-stable.list"

root@jibri:~# apt update && apt install jibri

Una vez instalado le damos permisos al usuario jibri que se crea durante la instalación jibri:

root@jibri:~# usermod -aG adm,audio,video,plugdev jibri

Como jibri usa google chrome para conectarse a la videoconferencia y grabarla, me daba error en la parte del certificado auto firmado, por eso hay que decirle a google chrome que lo acepte automáticamente, yo lo hice así:

root@jibri:~# mv /usr/bin/google-chrome /usr/bin/google-chrome-orig
root@jibri:~# cat <<EOF >/usr/bin/google-chrome
#!/bin/bash
/usr/bin/google-chrome-orig --ignore-certificate-errors \$@
EOF

El archivo debe quedar asi:

root@jibri:~# cat /usr/bin/google-chrome
#!/bin/bash
/usr/bin/google-chrome-orig --ignore-certificate-errors $@

Finalmente le damos permisos:

root@jibri:~# chmod +x /usr/bin/google-chrome

NOTA: Hacemos una salva de ambos contenedores.

Ahora pasamos a la configuración de Jitsi Meet server para que jibri se conecte a el (esto se hace en el Jitsi server todo)

Editamos el archivo:

root@conferencias:~# nano /etc/prosody/conf.d/conferencias.empresa.cu.cfg.lua

Agregamos al final del archivo lo siguiente:

-- internal muc component, meant to enable pools of jibri and jigasi clients
Component "internal.auth.conferencias.empresa.cu" "muc"
modules_enabled = {
"ping";
}
storage = "memory"
muc_room_cache_size = 1000

VirtualHost "recorder.conferencias.empresa.cu"
modules_enabled = {
"ping";
}
authentication = "internal_plain"

Reiniciamos el prosody:

root@conferencias:~# service prosody restart

Creamos los siguientes usuarios:

root@conferencias:~# prosodyctl register jibri auth.conferencias.empresa.cu passjibri

root@conferencias:~# prosodyctl register recorder recorder.conferencias.empresa.cu passrecorder

Editamos ahora:

root@conferencias:~# nano /etc/jitsi/jicofo/sip-communicator.properties

Añadimos lo siguiente:

org.jitsi.jicofo.jibri.BREWERY=JibriBrewery@internal.auth.conferencias.empresa.cu
org.jitsi.jicofo.jibri.PENDING_TIMEOUT=90

Reiniciamos Jicofo:

root@conferencias:~# service jicofo restart

Editamos:

root@conferencias:~# nano /etc/jitsi/meet/conferencias.empresa.cu-config.js

Buscamos dentro de la configuración los siguientes parámetros, que están comentados, y los dejamos así:

fileRecordingsEnabled: true,
hiddenDomain: 'recorder.conferencias.empresa.cu',

Debemos asegurarnos de que en el archivo siguiente en TOOLBAR_BUTTONS este el botón recorder habilitado por lo que editamos

root@conferencias:~# /usr/share/jitsi-meet/interface_config.js

y aproximadamente en la línea 187 está: TOOLBAR_BUTTONS

ahí agregamos:

'recording'

En mi caso yo edite mas cosas en TOOLBAR_BUTTONS y me queda de la siguiente forma:

TOOLBAR_BUTTONS: [
'microphone', 'camera', 'closedcaptions', 'desktop', 'fullscreen',
'fodeviceselection', 'hangup', 'profile', 'recording',
'etherpad', 'settings', 'raisehand',
'videoquality', 'filmstrip', 'feedback', 'shortcuts',
'tileview', 'download', 'help', 'mute-everyone', ],

11- Ahora pasamos a configurar en el jibri para que se conecte a Jitsi Meet:

root@jibri:~# nano /etc/jitsi/jibri/config.json

Adentro le ponemos e siguiente contenido:

//////////////////////////////////////////////////////////////////////

{
// NOTE: this is a *SAMPLE* config file, it will need to be configured with
// values from your environment
// Where recording files should be temporarily stored
"recording_directory":"/srv/recordings",
// The path to the script which will be run on completed recordings
"finalize_recording_script_path": "/path/to/finalize_recording.sh",
"xmpp_environments": [
{
// A friendly name for this environment which can be used
// for logging, stats, etc.
"name": "prod environment",
// The hosts of the XMPP servers to connect to as part of
// this environment
"xmpp_server_hosts": [
"conferencias.empresa.cu"
],
// The xmpp domain we'll connect to on the XMPP server
"xmpp_domain": "conferencias.empresa.cu",
// Jibri will login to the xmpp server as a privileged user
"control_login": {
// The domain to use for logging in
"domain": "auth.conferencias.empresa.cu",
// The credentials for logging in
"username": "jibri",
"password": "passjibri"
},
// Using the control_login information above, Jibri will join
// a control muc as a means of announcing its availability
// to provide services for a given environment
"control_muc": {
"domain": "internal.auth.conferencias.empresa.cu",
"room_name": "JibriBrewery",
"nickname": "jibri-nickname"
},
// All participants in a call join a muc so they can exchange
// information. Jibri can be instructed to join a special muc
// with credentials to give it special abilities (e.g. not being
// displayed to other users like a normal participant)
"call_login": {
"domain": "recorder.conferencias.empresa.cu",
"username": "recorder",
"password": "passrecorder"
},
// When jibri gets a request to start a service for a room, the room
// jid will look like:
// [email protected]_domain
// We'll build the url for the call by transforming that into:
// https://xmpp_domain/subdomain/roomName
// So if there are any prefixes in the jid (like jitsi meet, which
// has its participants join a muc at conference.xmpp_domain) then
// list that prefix here so it can be stripped out to generate
// the call url correctly
"room_jid_domain_string_to_strip_from_start": "conference.",
// The amount of time, in minutes, a service is allowed to continue.
// Once a service has been running for this long, it will be
// stopped (cleanly). A value of 0 means an indefinite amount
// of time is allowed
"usage_timeout": "0"
}
]
}

//////////////////////////////////////////////////////////////////////

Creamos el siguiente directorio:

root@jibri:~# mkdir /srv/recordings

le damos permisos a jibri para acceder a ese directorio:

root@jibri:~# chown jibri:jitsi /srv/recordings

reiniciamos y habilitamos jibri:

root@jibri:~# service jibri restart
root@jibri:~# systemctl enable jibri

Reiniciamos todo y probamos.

 

Espero les sirva y no olviden darle like.

 

¿De cuánta utilidad te ha parecido este contenido?

¡Haz clic en una estrella para puntuar!

Promedio de puntuación 4.8 / 5. Recuento de votos: 45

Hasta ahora, ¡no hay votos!. Sé el primero en puntuar este contenido.

53 comentarios

  1. Google Chrome 100.0.4896.127 Google Chrome 100.0.4896.127 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/100.0.4896.127 Safari/537.36

    Hola Jorge he seguido los pasos que están en el tuto pero no logro realizar la grabación me da error al intentar hacerlo me podrías brindar ayuda

  2. Firefox 86.0 Firefox 86.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:86.0) Gecko/20100101 Firefox/86.0

    Me devuelve este error gpg: no valid OpenPGP data found.
    Alguien me puede ayudar a resolver esto

  3. Google Chrome 93.0.4577.63 Google Chrome 93.0.4577.63 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36

    muy buen manual de configracion, una pregunta el servidor de grabacion se puede instalar en el mismo equipo que esta instalado jetsi

    • Firefox 92.0 Firefox 92.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0

      no es recomendable por el tema consumo de recursos, pero si se puede

  4. Google Chrome 93.0.4577.63 Google Chrome 93.0.4577.63 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/93.0.4577.63 Safari/537.36

    Este es por mucho uno de los tutos mas completos que he visto hasta ahora de Jitsi, excelente trabajo.
    Solo tengo un detallito, cuando estoy en una sala intento compartir la pantalla y se me queda en negro, no me da ninguna opcion de ventanas y solo me deja compartir ventanas del navegador. Si alguien paso por lo mismo y logro darle solucion le agradeceria una ayudita

    • Firefox 92.0 Firefox 92.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0

      realmente yo puedo compartir cualquier cosa, incluso videos, revisa el navegador que usas, debes usar google chrome actualizado

  5. Google Chrome 92.0.4515.159 Google Chrome 92.0.4515.159 Windows 7 x64 Edition Windows 7 x64 Edition
    Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.159 Safari/537.36

    Hola, porque cuando se conectan más de dos a la sala, se desactivan las cámaras y micrófonos de todos los que estemos en la sala, en fin, la video solo funciona bien solo con dos personas. agradecería cualquier ayuda.

    • Firefox 92.0 Firefox 92.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0

      ve revisando que servicio se cae cuando conecatas mas usuarios, eso debe ser errores en alguna configuracion

  6. Firefox 90.0 Firefox 90.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0

    Hola e lo anterior cambie el correo q estaba mal. Tambien tengo este problema con el certificado: DNS problem: looking up A for «jitsi.midominio» check for A DNS record exist for this domainm. Sin embargo sí tengo creado el registro A para este dominio en el servidor Zentyal que es el que uso como servidor DNS, para explicar un poco más tengo una zona DNZ donde estan los servidores, incuido el de jitsi, y tres subredes unidas a través de VPN con ipsec, en este entorno jitsi funciona de maravillas, pero para los usuarios externos a mi red no fuciona correctamente, se conectan aparentemente a la misma sala pero no hay comunicación. Le agradecería cualquier ayuda. Saludos cordiales

  7. Firefox 90.0 Firefox 90.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:90.0) Gecko/20100101 Firefox/90.0

    Hola excelente tutorial, implemtamos todo paso por paso en un VM UBUNTU 18.04, funciona todo en la red locaL y en la vpn, pero los usuarios externos a la red se conectan pero no se unen a la misma sala, no se ven, le agradeceria que nos diera una sugerencia de por quE pasa esto

  8. Firefox 89.0 Firefox 89.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:89.0) Gecko/20100101 Firefox/89.0

    Buen tutorial, creo segui los pasos bien, no implemnte lo de la porxy reverso, no se si ese sea el problema que al momento de escoger grabar me sale un erro que no permite la grabación, favor su ayuda o que esta mal.

  9. Google Chrome 91.0.4472.124 Google Chrome 91.0.4472.124 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36

    Muy buen tutorial amigo
    Debido a la actual situación epidemilógica mi jefa me pidio que implementara un servidor de videoconferencias para la empresa. Gracias a tu articulo ya lo tengo operativo. Tengo todos los municipios de mi provincias conectados a la empresa pero a una velocidad muy baja. La pregunta es ¿Que velocidad me recomiendas contratar en el enlace principal y cada uno de los clientes? Saludos.

    • Firefox 92.0 Firefox 92.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:92.0) Gecko/20100101 Firefox/92.0

      yo estoy a 34 mb, y mis municipios a 2mb cada uno, con esa velocidad me pincha bien.

  10. Google Chrome 90.0.4430.212 Google Chrome 90.0.4430.212 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.212 Safari/537.36

    Hola a todos, gracias estimado por su apoyo en compartir conocimiento, en este caso con video conferencia, nos ayuda mucho con el tema de la pandemia a nivel mundial. Mil gracias.

    Nota: Has porbado con la otra solucion que creo que viene a ser mas completa? «NexxCloud»… saudos.


  11. Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
    Firefox 88.0 Firefox 88.0 Ubuntu x64 Ubuntu x64
    Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:88.0) Gecko/20100101 Firefox/88.0

    Muy bueno el tuto, me ha servido de mucho. Tengo un par de preguntas para dejar a punto el servidor que he montado para mi empresa. Puedo contactarte por el telegram? Saludos, Leony

  12. Firefox 78.0 Firefox 78.0 GNU/Linux x64 GNU/Linux x64
    Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Firefox/78.0

    Buenas tardes.

    Jorge Elián Martínez Perdomo, necesito contactar contigo por privado o vía whatsapp si es posible, como podemos hacer?

    Saludos desde venezuela

    • Google Chrome 89.0.4389.105 Google Chrome 89.0.4389.105 Android 7.1.2 Android 7.1.2
      Mozilla/5.0 (Linux; Android 7.1.2; LM-X410.F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36

      Amigo me puedes localizar por telegram, @jemartinezp1994.

  13. Google Chrome 89.0.4389.90 Google Chrome 89.0.4389.90 Windows 7 x64 Edition Windows 7 x64 Edition
    Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36

    Tienes algún avance con la configuración del servidor turn?

    También se me esta presentando el siguiente error cuando se une algún participante a la reunión:
    «Desafortunadamente, algo salió mal.
    Estamos tratando de arreglar esto. Reconectando»

    Alguna idea?

    • Google Chrome 89.0.4389.105 Google Chrome 89.0.4389.105 Android 7.1.2 Android 7.1.2
      Mozilla/5.0 (Linux; Android 7.1.2; LM-X410.F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36

      Usas google crhome como navegador? Eso me ha pasado con firefox.. Ademas puede ser tema del NAT, tienes q revisar las configuraciones.

  14. Firefox 87.0 Firefox 87.0 Windows 7 x64 Edition Windows 7 x64 Edition
    Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:87.0) Gecko/20100101 Firefox/87.0

    Saludos colega, el tutorial está buenisimo, necesito saber donde se puede hacer alguna modificación para ue me muestre los nombre de los participantes permanentemente.

    • Google Chrome 89.0.4389.105 Google Chrome 89.0.4389.105 Android 7.1.2 Android 7.1.2
      Mozilla/5.0 (Linux; Android 7.1.2; LM-X410.F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36

      Eso se hace en el archivo all.css… En el tutorial esta explicado, lo que hubo cambios en la interfaz web de jitsi, por lo que debo arreglar los css que comparti en el tutorial para que les sirva.

  15. Google Chrome 89.0.4389.90 Google Chrome 89.0.4389.90 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.90 Safari/537.36

    Para Jisti utilicé un CT. ¿Qué es un CT?
    Para jibri utilicé un VM. Supongo que VM es una Virtual Machine.

    Me podrían aclarar estos términos?
    Gracias

    • Google Chrome 89.0.4389.105 Google Chrome 89.0.4389.105 Android 7.1.2 Android 7.1.2
      Mozilla/5.0 (Linux; Android 7.1.2; LM-X410.F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36

      Lo primero… Uso proxmox, CT.. Container template… Vm… Virtual machine.

  16. Firefox 82.0 Firefox 82.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:82.0) Gecko/20100101 Firefox/82.0

    Saludos, a alguien le ha pasado que cuando se agrega el repositorio de jitsi y le dan apt update le sale este error?
    The repository ‘https://download.jitsi.org stable/ Release’ does not have a Release file.

    • Google Chrome 89.0.4389.105 Google Chrome 89.0.4389.105 Android 7.1.2 Android 7.1.2
      Mozilla/5.0 (Linux; Android 7.1.2; LM-X410.F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36

      Raro ese error… Nunca me ha pasado

  17. Firefox 85.0 Firefox 85.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0

    Ahora necesitamos Chrome Driver (también bloqueado para cuba). por lo que hice lo mismo que con google chrome… VPN en mi windows y copiar al VM.

    Descargue de aquí

    Saludos, en esto pto, cuando doy en «descargue de aquí» me da el siguiente error
    This XML file does not appear to have any style information associated with it. The document tree is shown below.

    AccessDenied
    Access denied.

    We’re sorry, but this service is not available in your location

    • Google Chrome 89.0.4389.105 Google Chrome 89.0.4389.105 Android 7.1.2 Android 7.1.2
      Mozilla/5.0 (Linux; Android 7.1.2; LM-X410.F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36

      Busca en google descargar Chrome Driver, puede que ese enlace halla expirado, o este bloqueado para ti. Saludos


  18. Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
    Firefox 84.0 Firefox 84.0 Ubuntu x64 Ubuntu x64
    Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:84.0) Gecko/20100101 Firefox/84.0

    Un excelente tutorial, solo me da un error a la hora de autenticarme con user y pass, siendo consistente con los registrados… Alguna idea de la causa?
    Saludos.

    • Google Chrome 89.0.4389.105 Google Chrome 89.0.4389.105 Android 7.1.2 Android 7.1.2
      Mozilla/5.0 (Linux; Android 7.1.2; LM-X410.F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36

      Amigo tirse, revisa bien los pasos de la configuracion de la autenticacion, algo te falto o algun error debes haber cometido.. Saludos colega

  19. Google Chrome 88.0.4324.152 Google Chrome 88.0.4324.152 Android 7.0 Android 7.0
    Mozilla/5.0 (Linux; Android 7.0; SM-G610M) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.152 Mobile Safari/537.36

    Excelente tutorial; sólo una pregunta porque no deja acceder con la apk? Un saludo y gracias por todo

    • Google Chrome 89.0.4389.105 Google Chrome 89.0.4389.105 Android 7.1.2 Android 7.1.2
      Mozilla/5.0 (Linux; Android 7.1.2; LM-X410.F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36

      Hasta donde se es por el tema de los certificados autofirmados. Nosotros lo usamos con google chrome

  20. Firefox 85.0 Firefox 85.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0

    Hola equipo,
    Recibo la siguiente entrada de registro un par de veces en /var/log/jitsi/jvb.log
    HealthChecker.run#170: Performed a successful health check in PT0S. Sticky failure: false
    ¿Qué significa exactamente esto?
    Algo va mal o es normal?

    • Google Chrome 88.0.4324.150 Google Chrome 88.0.4324.150 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36

      eso es que esta buscando un server STUN en internet…olvida ese error, no influye en tu jitsi meet… saludos

  21. Microsoft Edge 88.0.705.56 Microsoft Edge 88.0.705.56 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 Edg/88.0.705.56

    Lo hice paso a paso y todo bien sin error. Al abrir mi web, sale todo en gris, vacio, y no pasa nada, no hay interfaz. Que puede ser?

    • Google Chrome 88.0.4324.150 Google Chrome 88.0.4324.150 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36

      escribeme al pv, pq la verdad hay q ir descartando cosas para llegar a la solucion de tu problema

      • Microsoft Edge 88.0.705.56 Microsoft Edge 88.0.705.56 Windows 10 x64 Edition Windows 10 x64 Edition
        Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.96 Safari/537.36 Edg/88.0.705.56

        como te puedo escribir al pv?

  22. Google Chrome 88.0.4324.104 Google Chrome 88.0.4324.104 Windows 7 x64 Edition Windows 7 x64 Edition
    Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36

    buenas no puedo instalar las dependencias

    • Google Chrome 88.0.4324.150 Google Chrome 88.0.4324.150 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36

      revisa el sources.list…. en mi caso use el de jovenclub. saludos


  23. Warning: Undefined array key 1 in /var/www/html/sysadminsdecuba/wp-content/plugins/wp-useragent/wp-useragent-detect-os.php on line 668
    Firefox 81.0 Firefox 81.0 Ubuntu x64 Ubuntu x64
    Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:81.0) Gecko/20100101 Firefox/81.0

    Saludos el tutorial esta perfecto y muy adaptado a lo cubano, ahora a la hora de configurar jibri, en un lxc de proxmox al ejecutar este modulo:

    root@jibri:~# echo «snd-aloop» >> /etc/modules
    root@jibri:~# modprobe snd-aloop

    me da el siguiente error
    root@jibri:/# modprobe snd-aloop
    modprobe: FATAL: Module snd-aloop not found in directory /lib/modules/5.3.10-1-pve

    me puedes ayudar ahí????

    • Google Chrome 87.0.4280.141 Google Chrome 87.0.4280.141 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36

      lo primero que dije en el tutorial es que se debe instalar jibri en un VM, alguien me dijo que si es posible cargar ese modulo desde un ct pero yo no lo logre… saludos

      • Google Chrome 88.0.4324.104 Google Chrome 88.0.4324.104 Windows 10 x64 Edition Windows 10 x64 Edition
        Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36

        Hola Jorge. Ante todo muy buena la información que brindas. Hay puntos que no he tocado en la instancia de Jitsi Meet que tengo por ak..
        Ahora bien, conoces o tienes idea de como hacer la implementación en un subdirectorio, por ejemplo mi.dominio.cu/jitsi pues he intentado de varias formas pero sin resultados. Si tienes alguna referencia por favor sería de gran ayuda.
        Gracias

        • Google Chrome 88.0.4324.93 Google Chrome 88.0.4324.93 Android 7.1.2 Android 7.1.2
          Mozilla/5.0 (Linux; Android 7.1.2; LM-X410.F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.93 Mobile Safari/537.36

          El probmema es que si lo haces como ese ejemplo que me pones estarias ya incluyendo un canal.

      • Firefox 85.0 Firefox 85.0 Windows 10 x64 Edition Windows 10 x64 Edition
        Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:85.0) Gecko/20100101 Firefox/85.0

        Buenos días jorge, espero todo bien por casa, le escribo a ver si tiene alguna sugerencia y me pueda ayudar.
        Hay alguna forma que después que esté instalado el S.O y el Jitsi, que ya tenga el hostname puesto y configurado en la instalación del jitsi, se le puede cambiar el hostname a la pc y hay forma de generar un nuevo certificado para conectarme a travez de ese nuevo hostname. Gracias de antemano, un cubano como usted.

        • Google Chrome 89.0.4389.105 Google Chrome 89.0.4389.105 Android 7.1.2 Android 7.1.2
          Mozilla/5.0 (Linux; Android 7.1.2; LM-X410.F) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/89.0.4389.105 Mobile Safari/537.36

          Amigo eso no lo he intentado hacer nunca, hasta donde se la solucion es desintalar jitsi y volverlo a instalar.

    • Firefox 84.0 Firefox 84.0 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0

      Lo instale en un lxc y lo que debes hacer es instlarle ese modulo en el proxmox y compartir con el lxc los modulos. Pero no me funciono la conversion, daba error a la hora de grabar. Solucion: montar una VM.
      De todas formas te comparto lo que hice:
      Apagar el lxc
      En el proxmox:
      echo «snd-aloop» >> /etc/modules
      modprobe snd-aloop
      Agregar un punto de montaje en el lxc (13052 – id del lxc):
      pct set 13052 –mp0 /lib/modules/$(uname -r),mp=/lib/modules/$(uname -r),ro=1

      • Google Chrome 88.0.4324.104 Google Chrome 88.0.4324.104 Windows 10 x64 Edition Windows 10 x64 Edition
        Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.104 Safari/537.36

        yo tambien intente eso, pero me dio sus errores, por eso al final termine con una vm..

  24. Firefox 83.0 Firefox 83.0 Windows 10 x64 Edition Windows 10 x64 Edition
    Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:83.0) Gecko/20100101 Firefox/83.0

    Perfecto el tuto, solo falto implementarle un TURN SERVER para cuando tienes dos usuarios en distintas redes. Por lo demas, bien explicado todo.

    • Firefox 84.0 Firefox 84.0 Windows 7 x64 Edition Windows 7 x64 Edition
      Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:84.0) Gecko/20100101 Firefox/84.0

      Hola, tengo ese escenario de redes distintas dentro de una VPN que deben de acceder a ese server JITSI, como puedo configurar un TURN SERVER

    • Google Chrome 87.0.4280.141 Google Chrome 87.0.4280.141 Windows 10 x64 Edition Windows 10 x64 Edition
      Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/87.0.4280.141 Safari/537.36

      amigo, yo conecto usuarios de distintas redes usando nat y un proxy inverso como mismo dije en el tuto… pero trabaje en base al turn server y otros detalles mas, cuando lo tenga todo probado lo agrego al tuto. saludos

Dejar una contestacion

Tu dirección de correo electrónico no será publicada.


*