Issue with Video (blackscreen in conference) after Server Migration

Hi all,

we are currently using a OpenVidu CE on Premise installation & just migrated the server to another location. Now we have the issue that we dont get a videostream on any browser on any desktop device. It works fine if I connect with a mobile device.

For example if I create a call with 2 desktop devices & 1 mobile device, both desktop devices can only see their own camera & 2 black screens, but the mobile device is able to see everyone.

Sporadically we get the following error:
" IceConnectionState of RTCPeerConnection 11c1be72-6882-4dcb-b323-58eab26c2d7c (str_CAM-CBVg_con_ZVqcJlV7uW) to “failed”"
“WebRTC: ICE failed, add a STUN server and see about:webrtc for more details”

We already checked the ports & everything seems fine there.

Any suggestions on how to troubleshoot?

Thanks in advance for your assistance!
Stefan

How did you installed the server?

Probably the Turn server is not reachable by your browsers or the TURN IP reaching the browsers is not the correct one…

  1. Please check all needed ports are open:

https://docs.openvidu.io/en/2.22.0/deployment/ce/on-premises/#1-prerequisites

  1. Enter to https://<YOUR_OPENVIDU_DOMAIN/dashboard, click into the TEST button, and check in Chrome/Firefox logs if the STUN/TURN server IP which appears in the logs is the public IP of your server.
    image

If not, you will need to define the Public IP of your server in /opt/openvidu/.env by adding:

COTURN_IP=<YOUR_PUBLIC_IP>

To install the server we followed this install guide:
https://docs.openvidu.io/en/stable/deployment/ce/on-premises/

  1. We already checked with our it-provider & they told us all ports are open & the network looks fine.

  2. I checked for the public IP for the STUN/TURN server, which is their & correct, but the TEST connection still didnt work.

If you have another idea what it could be, it would be appreciated.

Maybe Coturn is not running properly in your machine.

Please can you check with docker ps if the coturn service is running?

Could you share what is the output of:

sudo su
cd /opt/openvidu
docker-compose logs coturn | head -n 100

Make sure that port 3478 is reachable through TCP and UDP with the public IP used by browsers for STUN/TURN. It’s the minimal port needed for browsers for ICE protocol. Test it with netcat if necessary.

The Coturn service is running in docker & reachable trough port 3478.
We will also test the system directly on site in our datacenter this week, to check if maybe our IT-Provider still misconfigured something.

This is the log output you wanted to see, hopefully it helps.

coturn_1           | 0: : Config file found: //turnserver.conf
coturn_1           | 0: : Config file found: //turnserver.conf
coturn_1           | 0: : Config file found: //turnserver.conf
coturn_1           | 0: : Config file found: //turnserver.conf
coturn_1           | 0: :
coturn_1           | RFC 3489/5389/5766/5780/6062/6156 STUN/TURN Server
coturn_1           | Version Coturn-4.5.2 'dan Eider'
coturn_1           | 0: :
coturn_1           | RFC 3489/5389/5766/5780/6062/6156 STUN/TURN Server
coturn_1           | Version Coturn-4.5.2 'dan Eider'
coturn_1           | 0: :
coturn_1           | Max number of open files/sockets allowed for this process: 1048576
coturn_1           | 0: :
coturn_1           | Max number of open files/sockets allowed for this process: 1048576
coturn_1           | 0: :
coturn_1           | Due to the open files/sockets limitation,
coturn_1           | max supported number of TURN Sessions possible is: 524000 (approximately)
coturn_1           | 0: :
coturn_1           | Due to the open files/sockets limitation,
coturn_1           | max supported number of TURN Sessions possible is: 524000 (approximately)
coturn_1           | 0: :
coturn_1           |
coturn_1           | ==== Show him the instruments, Practical Frost: ====
coturn_1           |
coturn_1           | 0: :
coturn_1           |
coturn_1           | ==== Show him the instruments, Practical Frost: ====
coturn_1           |
coturn_1           | 0: : TLS supported
coturn_1           | 0: : TLS supported
coturn_1           | 0: : DTLS supported
coturn_1           | 0: : DTLS supported
coturn_1           | 0: : DTLS 1.2 supported
coturn_1           | 0: : DTLS 1.2 supported
coturn_1           | 0: : TURN/STUN ALPN supported
coturn_1           | 0: : TURN/STUN ALPN supported
coturn_1           | 0: : Third-party authorization (oAuth) supported
coturn_1           | 0: : Third-party authorization (oAuth) supported
coturn_1           | 0: : GCM (AEAD) supported
coturn_1           | 0: : GCM (AEAD) supported
coturn_1           | 0: : OpenSSL compile-time version: OpenSSL 1.1.1k  25 Mar 2021 (0x101010bf)
coturn_1           | 0: : OpenSSL compile-time version: OpenSSL 1.1.1k  25 Mar 2021 (0x101010bf)
coturn_1           | 0: :
coturn_1           | 0: :
coturn_1           | 0: : SQLite supported, default database location is /var/lib/coturn/turndb
coturn_1           | 0: : SQLite supported, default database location is /var/lib/coturn/turndb
coturn_1           | 0: : Redis supported
coturn_1           | 0: : Redis supported
coturn_1           | 0: : PostgreSQL supported
coturn_1           | 0: : PostgreSQL supported
coturn_1           | 0: : MySQL supported
coturn_1           | 0: : MySQL supported
coturn_1           | 0: : MongoDB supported
coturn_1           | 0: : MongoDB supported
coturn_1           | 0: :
coturn_1           | 0: :
coturn_1           | 0: : Default Net Engine version: 3 (UDP thread per CPU core)
coturn_1           |
coturn_1           | =====================================================
coturn_1           |
coturn_1           | 0: : Default Net Engine version: 3 (UDP thread per CPU core)
coturn_1           |
coturn_1           | =====================================================
coturn_1           |
coturn_1           | 0: : Domain name:
coturn_1           | 0: : Domain name:
coturn_1           | 0: : Default realm: openvidu
coturn_1           | 0: : Default realm: openvidu
coturn_1           | 0: : ERROR:
coturn_1           | CONFIG ERROR: Empty cli-password, and so telnet cli interface is disabled! Please set a non empty cli-password!
coturn_1           | 0: : ERROR:
coturn_1           | CONFIG ERROR: Empty cli-password, and so telnet cli interface is disabled! Please set a non empty cli-password!
coturn_1           | 0: : WARNING: cannot find certificate file: turn_server_cert.pem (1)
coturn_1           | Cannot create pid file: /var/run/turnserver.pid: Permission denied
coturn_1           | 0: : WARNING: cannot find certificate file: turn_server_cert.pem (1)
coturn_1           | 0: : WARNING: cannot start TLS and DTLS listeners because certificate file is not set properly
coturn_1           | 0: : WARNING: cannot start TLS and DTLS listeners because certificate file is not set properly
coturn_1           | 0: : WARNING: cannot find private key file: turn_server_pkey.pem (1)
coturn_1           | 0: : WARNING: cannot find private key file: turn_server_pkey.pem (1)
coturn_1           | 0: : WARNING: cannot start TLS and DTLS listeners because private key file is not set properly
coturn_1           | 0: : WARNING: cannot start TLS and DTLS listeners because private key file is not set properly
coturn_1           | 0: : NO EXPLICIT LISTENER ADDRESS(ES) ARE CONFIGURED
coturn_1           | 0: : NO EXPLICIT LISTENER ADDRESS(ES) ARE CONFIGURED
coturn_1           | 0: : ===========Discovering listener addresses: =========
coturn_1           | 0: : ===========Discovering listener addresses: =========
coturn_1           | 0: : Listener address to use: 127.0.0.1
coturn_1           | 0: : Listener address to use: 127.0.0.1
coturn_1           | 0: : Listener address to use: (Our public IP here)
coturn_1           | 0: : Listener address to use: (Our public IP here)
coturn_1           | 0: : Listener address to use: 172.28.0.1
coturn_1           | 0: : Listener address to use: 172.28.0.1
coturn_1           | 0: : Listener address to use: 172.29.0.1
coturn_1           | 0: : Listener address to use: 172.29.0.1
coturn_1           | 0: : Listener address to use: 192.168.0.1
coturn_1           | 0: : Listener address to use: 192.168.0.1
coturn_1           | 0: : Listener address to use: 172.23.0.1
coturn_1           | 0: : Listener address to use: 172.23.0.1
coturn_1           | 0: : Listener address to use: 192.168.224.1
coturn_1           | 0: : Listener address to use: 192.168.224.1