Cómo configurar un servidor TURN para Nextcloud Talk paso a paso
Nextcloud Talk permite realizar llamadas de audio y vídeo directamente desde Nextcloud. En una red local o cuando la conexión a Internet no presenta restricciones especiales, suele funcionar sin necesidad de realizar ajustes adicionales. Sin embargo, cuando los participantes se encuentran detrás de cortafuegos restrictivos, en redes corporativas o en entornos con determinadas configuraciones NAT, puede que no sea posible establecer una conexión directa. En estos casos, un servidor TURN para Nextcloud Talk permite mantener la comunicación.
¿Qué es un Nextcloud TURN server?
Un servidor TURN actúa como intermediario: en lugar de intercambiar los datos de audio y vídeo directamente entre los participantes, el tráfico se transmite a través del servidor TURN. Nextcloud Talk intenta primero establecer una conexión directa entre los participantes (peer-to-peer). Para ello, puede utilizar un servidor STUN que le ayude a determinar la dirección IP pública y la información de conexión necesaria. Si no es posible establecer la conexión directa, recurre al servidor TURN como alternativa. Por eso, contar con un servidor TURN propio es recomendable para mejorar la fiabilidad de las llamadas, especialmente cuando participan usuarios externos o se utilizan redes restrictivas.
¿Qué necesitas para configurar un servidor TURN para Nextcloud Talk?
Antes de empezar, debes tener una instalación de Nextcloud en funcionamiento con la aplicación Nextcloud Talk activada. Nextcloud Talk necesita una conexión segura mediante HTTPS para utilizar WebRTC. Por tanto, tu instancia de Nextcloud debe ser accesible mediante HTTPS y contar con un certificado TLS válido.
El alojamiento compartido presenta limitaciones para instalaciones de Talk con muchos usuarios, ya que las llamadas pueden generar una carga adicional en el servidor. Además, para utilizar tu propio servidor TURN, necesitas control sobre los puertos de red y la posibilidad de ejecutar un servicio de forma permanente.
Para seguir esta guía, necesitas:
- Una instalación de Nextcloud con Nextcloud Talk activado
- Permisos de administración en Nextcloud
- Un servidor Linux en el que puedas instalar software
- Acceso SSH con permisos sudo o de root
- Una dirección IPv4 pública
- Un dominio o subdominio
- Acceso a la configuración DNS del dominio
- Un cortafuegos en el que puedas abrir puertos TCP y UDP
Puedes utilizar, por ejemplo, Ubuntu Server 26.04 LTS, Ubuntu 24.04 LTS o una versión actual de Debian. En esta guía utilizaremos el dominio turn.example.com como ejemplo para acceder al servidor TURN. Recuerda sustituirlo por tu propio dominio en todos los comandos.
- NUEVO: Escala de forma flexible con VM-Cloning, Load Balancing, nuevas opciones de almacenamiento y más.
- Tráfico ilimitado, > 99,99 % de disponibilidad
- Atención 24/7 con asesor personal
¿Qué servidor elegir para Nextcloud Talk: VPS o servidor dedicado?
Para alojar un servidor TURN para Nextcloud Talk, la potencia de procesamiento no es el único factor importante. La conexión de red desempeña un papel fundamental, ya que TURN se encarga de retransmitir los datos de audio y vídeo entre los participantes cuando no es posible establecer una conexión directa. En estos casos, todo el tráfico multimedia de las conexiones que utilizan TURN pasa por el servidor.
Un VPS pequeño o mediano suele ser suficiente para instalaciones privadas, pequeñas empresas o equipos que realizan pocas llamadas simultáneas con Nextcloud Talk. Si el VPS se utiliza exclusivamente como servidor TURN, dos CPU virtuales y unos pocos gigabytes de RAM pueden ser suficientes. No obstante, es más importante disponer de una conexión estable, una dirección IP pública y suficiente capacidad de transferencia de datos.
Si se realizan videoconferencias frecuentes con numerosos participantes simultáneos, el ancho de banda disponible cobra especial importancia. Para instalaciones de mayor tamaño, puede ser conveniente optar por un VPS más potente, un servidor en la nube o un servidor dedicado. Para instalaciones grandes, se recomienda alojar el servidor TURN en una máquina independiente con acceso directo a Internet.
| Escenario de uso | Servidor recomendado |
|---|---|
| Nextcloud privado, uso familiar o equipos pequeños con llamadas ocasionales | VPS pequeño o mediano |
| Empresas con videollamadas frecuentes y varias conversaciones simultáneas | VPS de alto rendimiento o servidor en la nube |
| Numerosas conexiones simultáneas y elevado tráfico TURN | VPS potente o servidor dedicado |
| Instalaciones grandes de Nextcloud Talk con backend de alto rendimiento | Servidor TURN independiente, preferiblemente con IP pública propia |
Disponer de un VPS exclusivo para TURN también facilita la configuración de los puertos. Nextcloud recomienda utilizar el puerto 443 para el servicio TURN con el fin de mejorar la compatibilidad con redes restrictivas. Si Nextcloud ya se ejecuta en el mismo servidor mediante Apache o NGINX, el puerto TCP 443 suele estar ocupado por HTTPS. Al instalar TURN en un servidor independiente, puedes utilizar este puerto sin conflictos con el servidor web.
Un servidor TURN para Nextcloud Talk no sustituye al High Performance Backend (HPB). Mientras que TURN permite establecer comunicaciones cuando las restricciones de red, como NAT o los cortafuegos, impiden una conexión directa, el HPB gestiona, entre otras funciones, la señalización y la distribución del tráfico multimedia en instalaciones de mayor tamaño. Para llamadas grupales con más de 5 a 10 participantes, también puede ser necesario utilizar el High Performance Backend.
Paso 1: configurar un subdominio para el servidor TURN
Lo primero es asignar un nombre de host al servidor TURN. Para ello, crea, por ejemplo, el siguiente registro A en la configuración de tu proveedor de DNS:
turn.example.com → 203.0.113.10textEn este ejemplo, 203.0.113.10 representa la dirección IPv4 pública de tu servidor. Si también dispone de una dirección IPv6 pública, puedes crear un registro AAAA. No obstante, solo debes hacerlo si IPv6 está correctamente configurado y el servidor TURN es accesible a través de esta dirección.
Los cambios en la configuración DNS pueden tardar algún tiempo en propagarse. Para comprobar que el subdominio se resuelve correctamente, puedes utilizar los comandos dig turn.example.com o nslookup turn.example.com. Si también has creado un registro AAAA, compruébalo con dig AAAA turn.example.com.
Las direcciones IP que aparezcan en los resultados deben coincidir con las direcciones públicas de tu servidor, tanto IPv4 como IPv6, si corresponde.
Paso 2: conectarte al servidor y actualizar el sistema
Conéctate al servidor TURN mediante SSH:
ssh usuario@turn.example.combashA continuación, actualiza la lista de paquetes e instala las actualizaciones disponibles:
sudo apt update
sudo apt upgrade -ybashAsí te aseguras de partir de un sistema actualizado antes de continuar con la instalación.
Paso 3: instalar coturn
Para configurar el servidor TURN utilizaremos coturn, un software disponible en los repositorios de Ubuntu y Debian. Puedes instalarlo directamente con el gestor de paquetes:
sudo apt install coturn -ybashUna vez completada la instalación, comprueba qué versión se ha instalado:
dpkg -s coturn | grep VersionbashLa documentación de Nextcloud establece coturn 4.5.0.8 como versión mínima. Sin embargo, para una instalación nueva, es recomendable utilizar una versión reciente de coturn que reciba actualizaciones de seguridad.
Al instalar coturn mediante apt, obtendrás la versión disponible en los repositorios de tu distribución. La disponibilidad de actualizaciones de seguridad depende de la distribución y del repositorio. En Ubuntu, coturn pertenece a Universe, donde las actualizaciones de seguridad estándar dependen de las aportaciones de la comunidad y de Debian. Por eso, conviene comprobar la versión instalada.
Si necesitas una versión más reciente, puedes utilizar un repositorio PPA de confianza, una imagen de contenedor o compilar el software desde el código fuente. En entornos de producción, utiliza únicamente fuentes fiables y mantén el software actualizado.
Por último, comprueba que systemd reconoce el servicio:
systemctl status coturnbashEn las versiones actuales de Ubuntu y Debian, el servicio coturn se administra mediante systemd.
Paso 4: generar una clave secreta segura para TURN
Nextcloud Talk y coturn necesitan compartir una clave secreta para generar credenciales temporales que permitan acceder al servidor TURN. Puedes crear una clave aleatoria con el siguiente comando:
openssl rand -hex 32bashEl comando generará una cadena hexadecimal similar a esta:
8c6e8a2a79bd6507e7a5274bc5779ec3a5f6c1f45dbcf420c1a824cd94a25112textCopia la clave generada y guárdala en un lugar seguro. La necesitarás más adelante tanto para configurar coturn como para establecer la autenticación en los ajustes de Nextcloud Talk.
Al igual que con cualquier contraseña segura, evita utilizar valores fáciles de adivinar. En un entorno de producción, genera siempre una clave aleatoria propia y no reutilices la del ejemplo.
Paso 5: configurar el certificado TLS para TURN
Para garantizar la mayor compatibilidad posible, es recomendable configurar TURN en el puerto 443 y admitir tanto conexiones convencionales (turn:) como conexiones cifradas (turns:). Esto resulta especialmente útil en redes restrictivas que solo permiten conexiones a través del puerto 443.
Para admitir conexiones turns:, coturn necesita un certificado TLS. Puedes obtenerlo gratuitamente mediante Let’s Encrypt.
Si utilizas un servidor Ubuntu dedicado exclusivamente a TURN, puedes instalar Certbot mediante Snap:
sudo snap install --classic certbotbashSi el comando certbot no está disponible después de la instalación, crea el siguiente enlace:
sudo ln -s /snap/bin/certbot /usr/local/bin/certbotbashAntes de solicitar el certificado, abre el puerto TCP 80 en el cortafuegos:
sudo ufw allow 80/tcpbashA continuación, solicita el certificado con este comando:
sudo certbot certonly --standalone -d turn.example.combashEl modo standalone inicia temporalmente un servidor web para verificar que controlas el dominio. Para completar esta validación mediante HTTP-01, el puerto 80 debe ser accesible desde Internet.
Una vez emitido el certificado, encontrarás los archivos correspondientes en las siguientes rutas:
/etc/letsencrypt/live/turn.example.com/fullchain.pem
/etc/letsencrypt/live/turn.example.com/privkey.pemtextCertbot suele configurar automáticamente la renovación de los certificados. Puedes comprobar que funciona correctamente con el siguiente comando:
sudo certbot renew --dry-runbashPaso 6: permitir que coturn utilice el puerto 443
En Linux, los puertos inferiores al 1024 se consideran puertos privilegiados. Como coturn suele ejecutarse con un usuario sin privilegios de administrador, es posible que no pueda abrir directamente el puerto 443.
Para solucionarlo, puedes utilizar las Linux Capabilities, que permiten conceder permisos específicos a un programa sin necesidad de ejecutarlo como root.
Ejecuta el siguiente comando para permitir que coturn utilice puertos privilegiados:
sudo setcap cap_net_bind_service=+ep /usr/bin/turnserverbashCon este ajuste, turnserver obtiene permiso para abrir puertos como el 443 sin recibir todos los privilegios de root.
Ten en cuenta que una actualización del paquete podría eliminar este permiso. Si coturn deja de funcionar en el puerto 443 después de una actualización, comprueba la configuración con:
getcap /usr/bin/turnserverbashPaso 7: dar acceso a coturn al certificado TLS
Por motivos de seguridad, la clave privada de Let’s Encrypt normalmente solo es accesible para el usuario root. Sin embargo, coturn necesita leerla para establecer conexiones TLS.
Primero, comprueba que el usuario turnserver existe en el sistema:
getent passwd turnserverbashA continuación, crea un directorio protegido donde guardarás las copias del certificado y la clave privada que utilizará coturn:
sudo install -d -m 750 -o root -g turnserver /etc/coturnbashCopia ambos archivos al nuevo directorio y asigna los permisos correspondientes:
sudo install -m 640 -o root -g turnserver \
/etc/letsencrypt/live/turn.example.com/fullchain.pem \
/etc/coturn/fullchain.pem
sudo install -m 640 -o root -g turnserver \
/etc/letsencrypt/live/turn.example.com/privkey.pem \
/etc/coturn/privkey.pembashSi tu distribución utiliza otro usuario o grupo para ejecutar coturn, sustituye turnserver por el correspondiente.
Automatizar la actualización del certificado
Cuando Let’s Encrypt renueva un certificado, actualiza los archivos originales, pero no las copias que acabas de crear. Por eso, es recomendable configurar un deploy hook de Certbot que copie los archivos renovados y reinicie coturn automáticamente.
Crea el siguiente script:
sudo nano /etc/letsencrypt/renewal-hooks/deploy/coturn.shbashAñade este contenido:
#!/bin/sh
install -m 640 -o root -g turnserver \
/etc/letsencrypt/live/turn.example.com/fullchain.pem \
/etc/coturn/fullchain.pem
install -m 640 -o root -g turnserver \
/etc/letsencrypt/live/turn.example.com/privkey.pem \
/etc/coturn/privkey.pem
systemctl restart coturnbashGuarda el archivo y concédele permisos de ejecución:
sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/coturn.shbashDe este modo, cada vez que se renueve correctamente el certificado, el script actualizará las copias y reiniciará coturn para que utilice los nuevos archivos.
Paso 8: configurar coturn para Nextcloud Talk
El archivo principal de configuración de coturn suele encontrarse en /etc/turnserver.conf tanto en Ubuntu como en Debian.
Antes de modificarlo, crea una copia de seguridad:
sudo cp /etc/turnserver.conf /etc/turnserver.conf.bakbashDespués, abre el archivo con un editor de texto:
sudo nano /etc/turnserver.confbashPara una instalación habitual de Nextcloud Talk, puedes utilizar la siguiente configuración básica:
listening-port=443
fingerprint
use-auth-secret
static-auth-secret=TU_CLAVE_SECRETA
realm=turn.example.com
cert=/etc/coturn/fullchain.pem
pkey=/etc/coturn/privkey.pem
stale-nonce
no-multicast-peers
total-quota=0
bps-capacity=0
min-port=49152
max-port=65535textSustituye TU_CLAVE_SECRETA por la clave que generaste en el paso 4 y turn.example.com por el dominio de tu servidor TURN.
Estas son las principales opciones de configuración:
listening-port=443: establece el puerto por el que los clientes se conectan al servidor TURN.fingerprint: añade una suma de comprobación CRC-32 que ayuda a distinguir los mensajes STUN de los paquetes de otros protocolos.use-auth-secret: activa la autenticación mediante una clave secreta compartida con Nextcloud Talk.static-auth-secret: contiene la clave secreta que utilizan ambos servicios.realm: define el dominio de autenticación del servidor TURN.certypkey: indican las rutas del certificado TLS y su clave privada.stale-nonce: permite renovar periódicamente los valores de autenticación (nonces).no-multicast-peers: impide que coturn retransmita tráfico a direcciones multicast.total-quota=0ybps-capacity=0: desactivan los límites globales de asignaciones y ancho de banda, respectivamente.min-portymax-port: definen el intervalo de puertos UDP utilizados para retransmitir el tráfico multimedia.
Por defecto, coturn utiliza los puertos UDP del 49152 al 65535 para retransmitir datos. Por tanto, también debes permitir este intervalo en el cortafuegos para que las conexiones TURN funcionen correctamente.
Además, coturn puede reconocer automáticamente las conexiones TLS en un puerto de escucha convencional, siempre que TLS esté habilitado y configurado correctamente. Esto permite admitir conexiones turn: y turns: a través del puerto 443, lo que mejora la compatibilidad con redes restrictivas.
Paso 9: proteger el servidor TURN frente a accesos a redes internas
Un servidor TURN no debe convertirse en una vía de acceso a servicios internos de tu servidor o de tu red. Si puede comunicarse con redes privadas, es recomendable bloquear explícitamente los rangos de direcciones IP correspondientes.
Para ello, puedes añadir las siguientes líneas al archivo de configuración de coturn:
denied-peer-ip=0.0.0.0-0.255.255.255
denied-peer-ip=10.0.0.0-10.255.255.255
denied-peer-ip=100.64.0.0-100.127.255.255
denied-peer-ip=127.0.0.0-127.255.255.255
denied-peer-ip=169.254.0.0-169.254.255.255
denied-peer-ip=172.16.0.0-172.31.255.255
denied-peer-ip=192.0.0.0-192.0.0.255
denied-peer-ip=192.0.2.0-192.0.2.255
denied-peer-ip=192.88.99.0-192.88.99.255
denied-peer-ip=192.168.0.0-192.168.255.255
denied-peer-ip=198.18.0.0-198.19.255.255
denied-peer-ip=198.51.100.0-198.51.100.255
denied-peer-ip=203.0.113.0-203.0.113.255
denied-peer-ip=240.0.0.0-255.255.255.255textSi tu servidor TURN también utiliza IPv6, conviene bloquear los rangos de direcciones internas correspondientes, como las direcciones locales únicas (Unique Local Addresses, fc00::/7) y de direcciones de enlace local (Link Local, fe80::/10):
denied-peer-ip=fc00::-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
denied-peer-ip=fe80::-febf:ffff:ffff:ffff:ffff:ffff:ffff:fffftextComprueba también si el servidor TURN puede acceder a otras direcciones IPv6 de tu infraestructura y, si es necesario, bloquea esos destinos de forma específica.
Antes de confiar en estas restricciones, comprueba el estado del paquete instalado en el registro de seguridad de tu distribución. Actualmente, Debian clasifica coturn 4.6.1 de Bookworm y Trixie como vulnerable a CVE-2026-73212, que permite eludir las restricciones IPv4 en determinadas condiciones de enrutamiento.
Si algún servicio, como el High Performance Backend de Nextcloud Talk, necesita comunicarse con el servidor TURN a través de una red privada, comprueba que las restricciones no bloqueen las conexiones necesarias. En estos casos, puedes establecer excepciones para direcciones IP concretas mediante allowed-peer-ip o adaptar las reglas de red a tu infraestructura.
Paso 10: configurar la dirección IP pública si el servidor está detrás de NAT
Un VPS convencional suele disponer de una dirección IP pública asignada directamente, lo que simplifica la configuración de coturn. Sin embargo, si el servidor TURN se encuentra detrás de NAT, debe conocer la correspondencia entre su dirección IP privada y la pública.
En una configuración sencilla, puedes añadir esta línea al archivo de configuración:
external-ip=203.0.113.10textTambién puedes indicar explícitamente la relación entre ambas direcciones:
external-ip=203.0.113.10/10.0.0.10textEn este segundo ejemplo, 203.0.113.10 es la dirección IP pública y 10.0.0.10 es la privada. El software coturn utiliza esta información para comunicar a los clientes la dirección pública correcta a través de la cual pueden acceder al servicio de retransmisión.
Para que funcione, los puertos correspondientes deben redirigirse desde el dispositivo NAT al servidor TURN sin modificar sus números.
No añadas external-ip si tu servidor dispone de una dirección IP pública directa y no necesita esta configuración. Una asignación incorrecta puede provocar que el servidor TURN responda a las conexiones iniciales, pero no consiga retransmitir el tráfico multimedia.
Paso 11: configurar el cortafuegos
El siguiente paso consiste en abrir los puertos necesarios para que el servidor TURN sea accesible desde Internet.
Antes de modificar las reglas del cortafuegos, asegúrate de que las conexiones SSH están permitidas para no perder el acceso remoto al servidor:
sudo ufw allow OpenSSHbashDespués, permite las conexiones TURN a través del puerto 443, tanto por TCP como por UDP:
sudo ufw allow 443/tcp
sudo ufw allow 443/udpbashTambién debes abrir el intervalo de puertos UDP que utiliza coturn para retransmitir el tráfico multimedia:
sudo ufw allow 49152:65535/udpbashSi utilizas Certbot con el método de validación HTTP-01, mantén abierto el puerto TCP 80 para permitir la renovación de los certificados:
sudo ufw allow 80/tcpbashComprueba ahora el estado del cortafuegos:
sudo ufw statusbashSi UFW todavía no está activado, puedes habilitarlo con el siguiente comando:
sudo ufw enablebashActiva UFW únicamente después de comprobar que las conexiones SSH están permitidas, especialmente si administras el servidor de forma remota.
Ten en cuenta que algunos proveedores de hosting utilizan un cortafuegos adicional a nivel de infraestructura. Si es tu caso, tendrás que abrir los mismos puertos también en ese cortafuegos, ya que las reglas de UFW por sí solas no serán suficientes.
Paso 12: iniciar coturn
Una vez completada la configuración, reinicia coturn para aplicar los cambios:
sudo systemctl restart coturnbashActiva también el servicio para que se inicie automáticamente cada vez que reinicies el servidor:
sudo systemctl enable coturnbashA continuación, comprueba su estado:
sudo systemctl status coturn --no-pagerbashSi aparece active (running), significa que el servicio está en ejecución.
Para comprobar que coturn está escuchando en el puerto 443, ejecuta:
sudo ss -lntup | grep ':443'bashEn los resultados deberían aparecer entradas correspondientes a turnserver. Esto confirma que el servicio está escuchando en ese puerto, aunque todavía tendrás que comprobar que sea accesible desde Internet.
Paso 13: configurar el servidor TURN en Nextcloud Talk
Ahora que coturn está en funcionamiento, debes indicar a Nextcloud Talk cómo conectarse al servidor TURN.
Inicia sesión en tu instancia de Nextcloud con una cuenta de administrador y accede a “Ajustes de administración”. Después, abre el apartado de configuración de Talk e introduce la siguiente dirección en el campo del servidor TURN:
turn.example.com:443textNo añadas https://, turn: ni turns: delante de la dirección. Nextcloud espera únicamente el nombre de host y el puerto, mientras que el protocolo se selecciona por separado.
En el campo de la clave secreta TURN, introduce exactamente el mismo valor que configuraste en static-auth-secret= dentro del archivo /etc/turnserver.conf.
Por último, selecciona las siguientes opciones:
- UDP y TCP como protocolos de transporte.
- La opción para utilizar tanto
turn:comoturns:y admitir conexiones convencionales y cifradas.
De este modo, Nextcloud Talk podrá recurrir a tu servidor TURN cuando no sea posible establecer una conexión directa entre los participantes.
Paso 14: comprobar que el servidor TURN funciona correctamente
Que coturn esté en ejecución no garantiza que sea accesible desde Internet ni que Nextcloud Talk pueda utilizarlo correctamente. Por eso, es importante comprobar tanto la conexión al servidor como su funcionamiento durante una llamada.
Siempre que sea posible, realiza las pruebas desde otro equipo conectado a una red diferente, en lugar de ejecutarlas directamente en el servidor TURN.
En un sistema Ubuntu, puedes instalar las herramientas de prueba de coturn con este comando:
sudo apt install coturnbashDespués, utiliza turnutils_uclient para comprobar la conexión mediante UDP, TCP y TLS:
turnutils_uclient -p 443 -W TU_CLAVE_SECRETA -v -y turn.example.com
turnutils_uclient -t -p 443 -W TU_CLAVE_SECRETA -v -y turn.example.com
turnutils_uclient -t -S -p 443 -W TU_CLAVE_SECRETA -v -y turn.example.combashSustituye TU_CLAVE_SECRETA por la clave que generaste en el paso 4.
Estas pruebas permiten comprobar si el servidor TURN es accesible desde el exterior y si puede retransmitir tráfico. Sin embargo, superarlas no garantiza que Nextcloud Talk esté utilizando correctamente el servidor TURN.
Para comprobarlo, puedes forzar temporalmente las conexiones de Nextcloud Talk a través de TURN.
Primero, únete a una llamada de Talk y abre la consola de desarrollador del navegador. A continuación, ejecuta este comando:
OCA.Talk.SimpleWebRTC.webrtc.config.peerConnectionConfig.iceTransportPolicy = 'relay'javascriptDespués, abandona la llamada y vuelve a unirte.
Con este ajuste, el navegador intentará transmitir y recibir el audio y el vídeo exclusivamente a través del servidor TURN. Si la llamada sigue funcionando correctamente, significa que Nextcloud Talk puede utilizarlo para retransmitir el tráfico multimedia.
Siempre que puedas, realiza esta prueba con dos dispositivos conectados a redes diferentes.
Conclusión: un servidor TURN propio mejora la fiabilidad de Nextcloud Talk
Nextcloud Talk puede establecer muchas llamadas sin necesidad de disponer de un servidor TURN propio. Sin embargo, cuando se utiliza habitualmente desde redes corporativas, conexiones móviles o entornos con configuraciones NAT restrictivas, contar con un servidor TURN propio mejora la fiabilidad de las comunicaciones.
Para instalaciones pequeñas y medianas, un VPS independiente suele ser una buena opción. Permite ejecutar coturn por separado de Nextcloud y utilizar el puerto 443 para mejorar la compatibilidad con redes restrictivas.
En instalaciones más grandes, con numerosas llamadas simultáneas, el ancho de banda disponible es uno de los factores más importantes. En estos casos, puede ser conveniente optar por un VPS de mayor capacidad o un servidor dedicado.

