# 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](https://www.ionos.es/digitalguide/servidores/know-how/turn-server/) 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](https://www.ionos.es/digitalguide/servidores/herramientas/nextcloud-talk/) intenta primero establecer una conexión directa entre los participantes (*peer-to-peer*). Para ello, puede utilizar un [servidor STUN](https://www.ionos.es/digitalguide/servidores/configuracion/stun-server/) 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](https://www.ionos.es/digitalguide/servidores/configuracion/nextcloud-ubuntu-2204/) en funcionamiento con la aplicación Nextcloud Talk activada. Nextcloud Talk necesita una conexión segura mediante [HTTPS](https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/que-es-https/) para utilizar WebRTC. Por tanto, tu instancia de [Nextcloud](https://www.ionos.es/digitalguide/servidores/herramientas/que-es-nextcloud/) debe ser accesible mediante HTTPS y contar con un certificado [TLS](https://www.ionos.es/digitalguide/servidores/seguridad/tls-transport-layer-security/) 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](https://www.ionos.es/digitalguide/dominios/consejos-sobre-dominios/que-es-un-dominio/) o [subdominio](https://www.ionos.es/digitalguide/dominios/gestion-de-dominios/que-es-un-subdominio/)
- Acceso a la configuración [DNS](https://www.ionos.es/digitalguide/servidores/know-how/domain-name-system/) del dominio
- Un cortafuegos en el que puedas abrir puertos [TCP](https://www.ionos.es/digitalguide/servidores/know-how/que-es-tcp-transport-control-protocol/) y [UDP](https://www.ionos.es/digitalguide/servidores/know-how/udp-user-datagram-protocol/)

Puedes utilizar, por ejemplo, [Ubuntu Server](https://www.ionos.es/digitalguide/servidores/configuracion/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.**

## ¿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](https://www.ionos.es/digitalguide/servidores/know-how/vps-que-es-un-servidor-virtual-privado/) 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](https://www.ionos.es/digitalguide/servidores/know-how/que-es-un-servidor-cloud/) o un [servidor dedicado](https://www.ionos.es/digitalguide/servidores/know-how/que-es-un-servidor-dedicado/). Para instalaciones grandes, se recomienda alojar el servidor TURN en una máquina independiente con acceso directo a Internet.

<table>
  <thead>
    <tr>
      <th><strong>Escenario de uso</strong></th>
      <th><strong>Servidor recomendado</strong></th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Nextcloud privado, uso familiar o equipos pequeños con llamadas ocasionales</td>
      <td>VPS pequeño o mediano</td>
    </tr>
    <tr>
      <td>Empresas con videollamadas frecuentes y varias conversaciones simultáneas</td>
      <td>VPS de alto rendimiento o servidor en la nube</td>
    </tr>
    <tr>
      <td>Numerosas conexiones simultáneas y elevado tráfico TURN</td>
      <td>VPS potente o servidor dedicado</td>
    </tr>
    <tr>
      <td>Instalaciones grandes de Nextcloud Talk con backend de alto rendimiento</td>
      <td>Servidor TURN independiente, preferiblemente con IP pública propia</td>
    </tr>
  </tbody>
</table>

**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**.

Nota 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](https://www.ionos.es/digitalguide/servidores/know-how/nat-asi-funciona-la-traduccion-de-direcciones-de-red/) o los [cortafuegos](https://www.ionos.es/digitalguide/servidores/seguridad/que-es-un-firewall/), 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](https://www.ionos.es/digitalguide/hosting/cuestiones-tecnicas/registro-a/) en la configuración de tu proveedor de DNS:

```text
turn.example.com → 203.0.113.10
```

En 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](https://www.ionos.es/digitalguide/servidores/know-how/direccion-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](https://www.ionos.es/digitalguide/servidores/herramientas/protocolo-ssh/):

```bash
ssh usuario@turn.example.com
```

A continuación, actualiza la lista de paquetes e instala las actualizaciones disponibles:

```bash
sudo apt update
sudo apt upgrade -y
```

Así 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:

```bash
sudo apt install coturn -y
```

Una vez completada la instalación, comprueba qué versión se ha instalado:

```bash
dpkg -s coturn | grep Version
```

La 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**.

Nota 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:

```bash
systemctl status coturn
```

En 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:

```bash
openssl rand -hex 32
```

El comando generará una cadena hexadecimal similar a esta:

```text
8c6e8a2a79bd6507e7a5274bc5779ec3a5f6c1f45dbcf420c1a824cd94a25112
```

Copia 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](https://www.ionos.es/digitalguide/servidores/seguridad/la-contrasena-una-clave-para-proteger-tu-informacion/), 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:

```bash
sudo snap install --classic certbot
```

Si el comando certbot no está disponible después de la instalación, crea el siguiente enlace:

```bash
sudo ln -s /snap/bin/certbot /usr/local/bin/certbot
```

Antes de solicitar el certificado, abre el puerto TCP 80 en el cortafuegos:

```bash
sudo ufw allow 80/tcp
```

A continuación, solicita el certificado con este comando:

```bash
sudo certbot certonly --standalone -d turn.example.com
```

El 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:

```text
/etc/letsencrypt/live/turn.example.com/fullchain.pem
/etc/letsencrypt/live/turn.example.com/privkey.pem
```

Certbot suele configurar automáticamente la renovación de los certificados. Puedes comprobar que funciona correctamente con el siguiente comando:

```bash
sudo certbot renew --dry-run
```

## Paso 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:

```bash
sudo setcap cap_net_bind_service=+ep /usr/bin/turnserver
```

Con 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:

```bash
getcap /usr/bin/turnserver
```

## Paso 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:

```bash
getent passwd turnserver
```

A continuación, crea un directorio protegido donde guardarás las copias del certificado y la clave privada que utilizará coturn:

```bash
sudo install -d -m 750 -o root -g turnserver /etc/coturn
```

Copia ambos archivos al nuevo directorio y asigna los permisos correspondientes:

```bash
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.pem
```

Si 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:

```bash
sudo nano /etc/letsencrypt/renewal-hooks/deploy/coturn.sh
```

Añade este contenido:

```bash
#!/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 coturn
```

Guarda el archivo y concédele permisos de ejecución:

```bash
sudo chmod +x /etc/letsencrypt/renewal-hooks/deploy/coturn.sh
```

De 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:

```bash
sudo cp /etc/turnserver.conf /etc/turnserver.conf.bak
```

Después, abre el archivo con un editor de texto:

```bash
sudo nano /etc/turnserver.conf
```

Para una instalación habitual de Nextcloud Talk, puedes utilizar la siguiente configuración básica:

```text
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=65535
```

**Sustituye 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.
- `cert` y `pkey`: 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=0` y `bps-capacity=0`: desactivan los límites globales de asignaciones y ancho de banda, respectivamente.
- `min-port` y `max-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:

```text
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.255
```

Si 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):

```text
denied-peer-ip=fc00::-fdff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
denied-peer-ip=fe80::-febf:ffff:ffff:ffff:ffff:ffff:ffff:ffff
```

Comprueba 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.

Nota 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:

```text
external-ip=203.0.113.10
```

También puedes indicar explícitamente la relación entre ambas direcciones:

```text
external-ip=203.0.113.10/10.0.0.10
```

En 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:

```bash
sudo ufw allow OpenSSH
```

Después, permite las conexiones TURN a través del puerto 443, tanto por TCP como por UDP:

```bash
sudo ufw allow 443/tcp
sudo ufw allow 443/udp
```

También debes abrir el intervalo de puertos UDP que utiliza coturn para retransmitir el tráfico multimedia:

```bash
sudo ufw allow 49152:65535/udp
```

Si 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:

```bash
sudo ufw allow 80/tcp
```

Comprueba ahora el estado del cortafuegos:

```bash
sudo ufw status
```

Si UFW todavía no está activado, puedes habilitarlo con el siguiente comando:

```bash
sudo ufw enable
```

**Activa 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:

```bash
sudo systemctl restart coturn
```

Activa también el servicio para que se inicie automáticamente cada vez que reinicies el servidor:

```bash
sudo systemctl enable coturn
```

A continuación, comprueba su estado:

```bash
sudo systemctl status coturn --no-pager
```

Si aparece active (running), significa que el servicio está en ejecución.

Para comprobar que coturn está escuchando en el puerto 443, ejecuta:

```bash
sudo ss -lntup | grep ':443'
```

En 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:

```text
turn.example.com:443
```

**No 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:` como `turns:` 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:

```bash
sudo apt install coturn
```

Después, utiliza turnutils_uclient para comprobar la conexión mediante UDP, TCP y TLS:

```bash
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.com
```

Sustituye 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:

```javascript
OCA.Talk.SimpleWebRTC.webrtc.config.peerConnectionConfig.iceTransportPolicy = 'relay'
```

Despué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.


This is a markdown version of: [https://www.ionos.es/digitalguide/servidores/configuracion/nextcloud-talk-turn-server/](https://www.ionos.es/digitalguide/servidores/configuracion/nextcloud-talk-turn-server/) for AI/LLM consumption.