---
title: "Conecta un proveedor de VoIP"
description: "Conecta un proveedor que ya usas (Twilio o Telnyx mediante clave de API; SignalWire, Vonage, Plivo o cualquier troncal SIP mediante SIP), o abre una nueva cuenta de Telnyx con configuración guiada."
---

El tráfico de producción debe ejecutarse en números que posees a través de tu propio
proveedor de VoIP. La página **Conexiones → VoIP** del panel
(`/dashboard/voip-connections`) conecta la cuenta de tu proveedor; una vez
conectada, importas números que admiten llamadas entrantes **y salientes**.

Haz clic en **Nueva conexión** y elige una de dos opciones: **Conectar un proveedor que ya usas** o **Configurar una nueva cuenta de Telnyx**.

## Conecta un proveedor que ya usas

Elige el proveedor con el que están tus números:

| Proveedor | Cómo se conecta |
|----------|-----------------|
| Twilio | Clave de API: pega tu SID de cuenta y token de autenticación |
| Telnyx | Clave de API: pega tu clave de API v2 |
| SignalWire | Configuración SIP |
| Vonage | Configuración SIP |
| Plivo | Configuración SIP |
| Otro proveedor | Configuración SIP con el asistente de configuración de ThunderPhone, para cualquier otro operador o una PBX que administres |

Para Twilio y Telnyx, pega las credenciales y haz clic en **Conectar y
probar**. ThunderPhone las verifica y configura el lado del proveedor
por ti.
Para Telnyx, ThunderPhone agrega una conexión SIP propia a tu cuenta de
Telnyx (llamada `thunderphone-production-<org>-outbound-<id>`) y realiza
llamadas salientes a través de ella, por lo que Telnyx te factura esas
llamadas. Usa el perfil de voz saliente de la conexión de Telnyx en la
que están tus números, por lo que se aplican los países permitidos y los
límites de gasto de ese perfil. Si esa conexión no tiene un perfil de voz
saliente y tu cuenta tiene exactamente un perfil habilitado, ThunderPhone
usa ese. Para usar uno diferente, asígnalo a la conexión en el portal de
Telnyx y guarda de nuevo la conexión de ThunderPhone. Si la cuenta no
tiene ningún perfil habilitado, o tiene varios, asigna uno a la conexión
en el portal de Telnyx y guarda de nuevo la conexión de ThunderPhone.
Hasta entonces, las llamadas salientes fallan con
`outbound_trunk_unavailable`; las llamadas entrantes siguen funcionando.

Cuando Telnyx rechaza una llamada saliente (por ejemplo, SIP 403 Forbidden),
el rechazo proviene de tu propia cuenta de Telnyx. Las causas habituales son
que no haya crédito disponible, que el número de quien llama no esté en esa
cuenta de Telnyx o que un perfil de voz saliente no permita el país de
destino.

### Configuración SIP para SignalWire, Vonage y Plivo

Estos tres abren el [formulario SIP manual](#manual-sip-configuration) con
los pasos para ese proveedor en la parte superior, un enlace a la guía de
configuración del proveedor y un dominio SIP de ejemplo:

- **SignalWire:** crea credenciales SIP para llamadas salientes, ingresa el
  dominio SIP, el nombre de usuario y la contraseña, y asigna a cada número un
  script SWML que conecte las llamadas entrantes al endpoint SIP de ThunderPhone.
- **Vonage:** en el panel de SIP Trunking, crea un trunk con credenciales
  salientes, ingresa su dominio (por ejemplo,
  `your-trunk.sip-us.vonage.com`) y las credenciales, agrega el endpoint SIP
  de ThunderPhone como la URI SIP entrante del trunk y vincula tus números al
  trunk.
- **Plivo:** crea un trunk saliente con una credencial e ingresa su
  dominio SIP de terminación (`<trunk-id>.zt.plivo.com`), nombre de usuario y
  contraseña; crea un trunk entrante cuya URI principal sea el endpoint SIP de
  ThunderPhone seguido de `;transport=tcp`; luego establece el tipo de
  aplicación de cada número en ese trunk.

El resultado es una conexión SIP manual (`provider: "manual"` en la
API), probada y verificada exactamente igual que una ingresada a mano. La
tarjeta de conexión muestra el nombre del proveedor, por ejemplo
**SignalWire · SIP**.

## Configura una nueva cuenta de Telnyx

¿Aún no tienes un proveedor? El flujo guiado te acompaña para crear una cuenta de Telnyx
y conectarla:

<Steps>
  <Step title="Crea la cuenta">
    Haz clic en **Abrir registro de Telnyx**, crea tu cuenta y marca
    "He creado mi cuenta".
  </Step>
  <Step title="Obtén una clave de API">
    Haz clic en **Abrir página de claves de API**, genera una clave y pégala en
    **Clave de API (v2)**. Opcionalmente, asigna un nombre a la conexión.
  </Step>
  <Step title="Conectar y probar">
    Haz clic en **Conectar y probar** — ThunderPhone verifica las credenciales
    y aprovisiona lo necesario en Telnyx antes de guardar.
  </Step>
</Steps>

### Lo que ThunderPhone configura en Telnyx

A menos que ingreses tu propio ID de conexión, ambas rutas de Telnyx (la
configuración guiada y pegar una clave de API) dejan lo mismo en tu cuenta
de Telnyx: una conexión SIP llamada
`thunderphone-<your organization id>`. Es una **conexión FQDN**
cuyo registro FQDN apunta al endpoint SIP de ThunderPhone, y todos los
números que importas se le asignan. Telnyx envía las llamadas de esos
números directamente a ThunderPhone por SIP.

- Sus campos de webhook están vacíos intencionalmente. No intervienen
  webhooks, aplicaciones de Call Control, aplicaciones de TeXML ni
  teléfonos SIP registrados.
- No muevas los números importados a otra conexión o aplicación, ni
  registres un dispositivo en ella.
- Si ingresaste tu propio ID de conexión al conectar, ThunderPhone usa
  esa conexión en su lugar y nunca la modifica; debe ser una conexión FQDN
  que apunte al endpoint SIP de ThunderPhone.

Antes del 30 de agosto de 2026, la conexión `thunderphone-…` que
ThunderPhone creaba era una **conexión de credenciales**, que no puede
recibir llamadas. Si la tuya aún aparece como una conexión de credenciales,
contacta a soporte y la convertiremos.

## Configuración manual de SIP

Las tarjetas de SignalWire, Vonage y Plivo abren este formulario, al igual que
**Ingresaré cada configuración yo mismo** en **Otro proveedor**. Cualquier troncal SIP funciona, incluido DIDWW o una PBX que administres
tú mismo. Ingresa el nombre de la conexión, el **dominio / URI SIP**,
el nombre de usuario y la contraseña opcionales, el puerto y el transporte; la **Configuración
avanzada** agrega cifrado de medios (SRTP). El formulario también muestra la dirección SIP a la que tu troncal debe enviar las llamadas entrantes: `sip.thunderphone.com`,
en el puerto 5060 para UDP o TCP, o 5061 para TLS. Con TLS, la
señalización SIP permanece cifrada hasta LiveKit Cloud, donde
ThunderPhone gestiona la llamada; el audio nunca pasa por
`sip.thunderphone.com`, por lo que SRTP funciona como antes. Dirige cada llamada al
número marcado en formato E.164, con el mismo número, incluido el
`+`, tanto en la línea de solicitud como en la cabecera `To`: por ejemplo,
`sip:+14155550142@sip.thunderphone.com`. El `+` permite que
ThunderPhone gestione la llamada en la región correcta (consulta la nota en
[lista de IP permitidas](#ip-allowlisting-and-trunk-authentication)).
Los troncales configurados anteriormente con una dirección `<your-project>.sip.livekit.cloud`
siguen funcionando mientras **IP de origen permitidas** esté vacío; no
necesitas cambiarlos. ThunderPhone
convierte esa configuración en un par dedicado de troncales SIP en LiveKit
Cloud: las llamadas salientes
desde los números de la conexión se realizan a tu dominio SIP con tus
credenciales, y las llamadas entrantes a esos números se aceptan desde cualquier
dirección, a menos que completes el campo opcional **IP de origen permitidas**.
Complétalo solo si tu operador publica IP de señalización fijas: una lista incorrecta
o incompleta hace que ThunderPhone rechace las llamadas entrantes de tu operador. Dos botones realizan el trabajo principal:

- **Generar guía de configuración con IA** — crea instrucciones específicas
  para el proveedor sobre la configuración del lado del troncal que necesitas.
- **Probar y guardar conexión** — verifica que el endpoint SIP se resuelva
  en una dirección pública y que, para TCP/TLS, acepte una conexión en el
  puerto elegido (los hosts UDP solo reciben la verificación de DNS), y luego
  guarda. Aún no puede realizar una llamada porque la conexión no tiene
  números; la prueba real ocurre al importarlos (más abajo).

Editar una conexión más adelante vuelve a ejecutar la misma comprobación en tu
configuración modificada antes de guardar nada, luego reconstruye el troncal y
vuelve a verificar cada número de la conexión con una breve llamada de prueba
en segundo plano; los números aparecen como *En aprovisionamiento* hasta que su
llamada de prueba se realiza correctamente. Cambiar únicamente **IP de origen permitidas** en una
conexión *Conectada* es diferente: nunca afecta las llamadas salientes, por lo que
ThunderPhone actualiza de inmediato la lista en el troncal entrante y los
números permanecen *Activos*. La prueba de llamadas entrantes se restablece a *sin probar*;
ejecútala de nuevo o realiza una llamada real a través de tu operador para confirmar que la
nueva lista permite las llamadas entrantes. La prueba falla si su llamada sería rechazada
según la lista. Las contraseñas almacenadas nunca se muestran de nuevo; deja la
contraseña en blanco para conservarla o marca "Eliminar la contraseña almacenada" para un
troncal autenticado por IP.

### Lista de permitidas de IP y autenticación del troncal

Algunos proveedores (DIDWW, conexiones de Telnyx con autenticación por IP y la mayoría de las PBX detrás de un firewall) solo aceptan tráfico SIP desde direcciones que incluyas en una lista de permitidas o autentican las llamadas salientes mediante la IP de origen. ThunderPhone usa dos conjuntos de direcciones.

**Borde SIP.** Las llamadas entrantes que envías a `sip.thunderphone.com` pasan por el borde SIP de ThunderPhone, que solo transporta señalización SIP. El primer INVITE va a `sip.thunderphone.com`; el resto de la señalización de la llamada (ACK, colgar, transferencias) se realiza entre tu proveedor y el servidor de borde que recibió la llamada, `sip-1` o `sip-2`. Si tu firewall filtra la señalización SIP, permite los tres, en el puerto 5060 para UDP y TCP y el puerto 5061 para TLS:

| Servidor | Dirección IP |
|------|------------|
| `sip.thunderphone.com` | `172.170.39.202` |
| `sip-1.thunderphone.com` | `13.86.104.121` |
| `sip-2.thunderphone.com` | `20.80.98.90` |

**LiveKit Cloud.** El audio (RTP) de cada llamada y la señalización SIP de las llamadas salientes se realizan entre tu proveedor y LiveKit Cloud, nunca a través del borde SIP. Permite **todos** los rangos siguientes, tanto para la señalización SIP como para los medios:

{/* generated:livekit-static-ips:start */}
{/*
  GENERATED BLOCK — do not edit by hand.
  Source: scripts/docs-freshness/data/livekit-static-ips.json
  Regenerate: python3 scripts/docs-freshness/generate_livekit_static_ips.py
  CI regenerates this block and fails on drift
  (scripts/docs-freshness/generators.d/30-livekit-static-ips.sh).
*/}

| Rango de IP |
|----------|
| `143.223.88.0/21` |
| `161.115.160.0/19` |
| `153.57.128.0/18` |

LiveKit aplica estos rangos a Realtime, la señalización y los medios SIP, y los webhooks, y cubren las llamadas gestionadas en sus regiones de Canadá, UE, India, Japón y EE. UU. Nombres de región para un endpoint fijado: `canada`, `eu`, `india`, `japan`, `us`.
{/* generated:livekit-static-ips:end */}

<Note>
  Las llamadas enviadas a `sip.thunderphone.com` se gestionan en una región cubierta. Un número con un `+` inicial en el encabezado `To` y un código de país japonés, indio, de la UE/EEE, del Reino Unido o suizo va a esa región. Todas las demás llamadas se gestionan en la región de LiveKit más cercana al borde SIP de ThunderPhone, actualmente Estados Unidos. Una troncal que todavía apunta a una dirección `<your-project>.sip.livekit.cloud` se enruta a través de la región de LiveKit más cercana a quien llama, que puede estar fuera de las regiones cubiertas si tu proveedor también lo está. Muévela a `sip.thunderphone.com` o fíjala insertando un nombre de región justo antes de `.sip.livekit.cloud`: por ejemplo, `<your-project>.japan.sip.livekit.cloud`. La coincidencia de números entrantes no se ve afectada.
</Note>

Algunas reglas prácticas para el propio troncal:

- **ThunderPhone no se registra.** Nunca envía SIP `REGISTER` a tu proveedor, así que configura la troncal para autenticación basada en IP y/o credenciales (nombre de usuario + contraseña), no mediante registro.
- **Las llamadas salientes deben usar credenciales.** Habilita la autenticación con nombre de usuario y contraseña del lado del proveedor e introduce los mismos valores en el formulario SIP manual. Considera la lista de permitidas de IP como una segunda capa, no como la única: las llamadas salientes a destinos fuera de las regiones cubiertas pueden originarse desde otras direcciones.
- **Las llamadas entrantes son la dirección inversa.** El campo opcional **IP de origen permitidas** del formulario es donde introduces las direcciones de señalización de *tu proveedor* para que ThunderPhone solo acepte llamadas desde ellas. Introduce direcciones IP o rangos CIDR; los nombres de host nunca coinciden. Déjalo vacío a menos que tu proveedor publique una lista fija. ThunderPhone verifica la lista en cada llamada entrante con la dirección que ve su borde SIP, así que, una vez configurada la lista, envía tus llamadas a `sip.thunderphone.com`. Se rechaza una llamada desde una dirección que no está en la lista, o una enviada directamente a una dirección `<your-project>.sip.livekit.cloud`: falla o se conecta y termina de inmediato.

LiveKit publica los rangos en
[Regiones, endpoints regionales e IP estáticas](https://docs.livekit.io/deploy/admin/regions/endpoints/);
ThunderPhone revisa esa página semanalmente y actualiza esta guía cuando
cambia.

## Después de conectar

Importa números desde **Números de teléfono → Agregar número → Conectar proveedor de VoIP** (o directamente desde la conexión). Cada número importado se verifica antes de activarse. En una conexión SIP manual, esa verificación realiza una llamada de prueba breve (de unos segundos) **desde tu número, a través de tu troncal SIP, hasta un número de ThunderPhone**; así se prueban realmente el nombre de usuario, la contraseña, el transporte y el enrutamiento saliente de tu operador. Tu operador factura esa llamada como cualquier otra.

Si el operador la rechaza, el número permanece en *Aprovisionamiento* y la página de números de teléfono muestra la respuesta del operador (por ejemplo, "se rechazaron las credenciales de ThunderPhone (SIP 401)"); corrige la conexión y verifica de nuevo. Si tu operador acepta la troncal, pero su plan de enrutamiento no cubre el número de prueba de ThunderPhone (DIDWW responde "Número de destino incluido en la lista negra por el plan de enrutamiento"), el número aparece como *Verificado · operador aceptado*: se puede usar, pero no se probaron las llamadas a otros destinos. Esa llamada demuestra que tu troncal puede *realizar* llamadas como el número; no demuestra que seas propietario del número ni prueba las llamadas *hacia* el número; la prueba entrante opcional que aparece a continuación sí lo hace. Los números verificados admiten llamadas entrantes y salientes, lo que habilita las [campañas salientes](/es/guides/outbound-campaigns) y las [llamadas salientes](/es/guides/place-outbound-calls) programáticas.

### Prueba de llamadas entrantes

**Verificar número** abre un diálogo que también puede probar las llamadas
entrantes. La prueba realiza una llamada a tu número, verifica que la llamada
llegue a ThunderPhone y luego cuelga sin iniciar tu agente:

- **Números con su propio trunk SIP de salida** (números SIP manuales y
  números de Twilio una vez que ThunderPhone haya configurado las llamadas
  salientes en tu cuenta de Twilio) primero se llaman a sí mismos:
  ThunderPhone marca el número desde el propio número, a través de ese trunk.
  El diálogo te avisa antes de realizar la llamada. La llamada sale a través
  de tu operador y, si tu enrutamiento entrante es correcto, regresa
  directamente a ThunderPhone. Cuando regresa con el identificador de llamada
  del propio número, esa única llamada demuestra tanto que tu operador acepta
  las llamadas de ThunderPhone como si fueran del número como que las llamadas
  al número llegan a ThunderPhone, en cualquier país. Algunos operadores
  rechazan o no conectan una llamada de un número a sí mismo; eso no dice nada
  sobre tu enrutamiento, por lo que ThunderPhone llama entonces desde uno de
  sus propios números. Si tu número se desvía a otro destino, ese teléfono
  puede sonar dos veces: primero mostrando el identificador de llamada del
  propio número y luego el número de prueba de ThunderPhone.
- **Otros números** (y la alternativa anterior) reciben una llamada desde uno
  de los propios números de ThunderPhone. Por ahora, ThunderPhone solo puede
  realizar estas llamadas a números de Estados Unidos y Canadá; para otros
  números, la prueba informa que no pudo ejecutarse, junto con la respuesta de
  tu operador si se rechazó la llamada al propio número.

Si tu operador cambia el identificador de llamada durante el trayecto,
ThunderPhone no puede reconocer la llamada, por lo que tu agente podría
contestarla por un momento. La prueba de entrada es opcional. Omítela y el
número seguirá funcionando; la página de números de teléfono mostrará
*Llamadas entrantes no probadas*, y podrás ejecutarla más tarde con **Probar**
o con la opción **Probar llamadas entrantes** del menú del número.
Inmediatamente después de una importación, la página de números de teléfono
también te pide probar las llamadas entrantes de los nuevos números. No se
marca nada hasta que confirmes en el diálogo.

Si tu proveedor envía el número a otro destino, el destino al que apunte puede
sonar hasta 8 segundos por llamada antes de que ThunderPhone cuelgue. Si algo
contesta primero (una aplicación de Twilio que contesta y luego desvía, un
menú telefónico), la prueba espera a que la llamada desviada llegue a
ThunderPhone: hasta 8 segundos en la llamada al propio número y 15 segundos
en una llamada desde un número de ThunderPhone. El resultado permanece en el
número (*Entrantes aprobadas* o *Entrantes fallidas*) hasta que cambies la
conexión o vuelvas a importar el número, lo que lo restablece a *no probadas*.
Cambiar una conexión vuelve a verificar las llamadas salientes en segundo
plano, pero nunca llama a tu número sin que se lo pidas.

## Solución de problemas con llamadas entrantes

El botón **Probar** de la conexión verifica las credenciales, y la verificación
comprueba la marcación saliente. Para comprobar las llamadas entrantes, ejecuta la prueba
de llamada entrante anterior o llama al número desde un teléfono y busca la llamada en
**Historial de llamadas**.
Las pruebas de **Hablar** en el navegador y las simulaciones de bot a bot no pasan por
tu operador, por lo que no muestran si las llamadas entrantes funcionan. Una simulación
dirigida al número de teléfono (bucle SIP) sí lo marca a través de tu operador, por lo
que una llamada respondida sí prueba el enrutamiento entrante.

- **Escuchas el mensaje de tu propio operador móvil** (por ejemplo, "Bienvenido
  a Verizon" o "el número que ha marcado no está en servicio"): la
  llamada falló antes de llegar a ThunderPhone. Comprueba que el número esté
  activo en tu cuenta del proveedor y asignado a la conexión o troncal de
  ThunderPhone.
- **Tono de ocupado o la llamada sigue sonando sin respuesta:** el proveedor aceptó la llamada,
  pero no pudo entregarla. Con Telnyx, comprueba la
  **Conexión** del número en el portal de Telnyx: debe ser la conexión FQDN
  `thunderphone-…` descrita anteriormente o tu propia conexión FQDN que apunte al
  endpoint SIP de ThunderPhone. Con Twilio, el número debe estar vinculado al troncal SIP
  de ThunderPhone en lugar de a un webhook de Voice o una aplicación TwiML.
- **Los registros de tu operador muestran `404 No trunk found`** (SIP manual): la
  llamada llegó a ThunderPhone, pero no coincidió con ningún troncal. Comprueba que el número
  esté importado en esta conexión y que el troncal apunte a
  `sip.thunderphone.com`. Si apunta a una dirección
  `<your-project>.sip.livekit.cloud`, **IP de origen permitidas**
  debe estar vacío: si hay una lista configurada, solo se aceptan las llamadas enviadas a
  `sip.thunderphone.com`.
- **`404 Not Found` de `sip.thunderphone.com`** (SIP manual): la
  llamada no se dirigió a un número de teléfono, o la línea de solicitud y el encabezado
  `To` indican números distintos. Envía el número marcado en ambos, como se indicó
  anteriormente.
- **`403 Forbidden` de `sip.thunderphone.com`:** la línea de solicitud
  indica otro host. Dirige la llamada a `sip.thunderphone.com`, por
  ejemplo, `sip:+14155550142@sip.thunderphone.com`.
- **La llamada llega a ThunderPhone, pero responde el agente equivocado o
  nadie responde:** comprueba el agente entrante del número en **Números de teléfono**.

El copiloto de la aplicación puede comprobar un número por ti: pregúntale por qué fallan las llamadas
al número. Para las conexiones de Telnyx, también consulta, en modo de solo lectura y para
los administradores de la organización, a qué conexión de Telnyx está asignado el número.

---

## Próximos pasos

<CardGroup cols={2}>
  <Card title="Obtén un número de teléfono" icon="phone" href="/es/guides/get-a-phone-number">
    El flujo completo para agregar un número, números de ThunderPhone y VoIP.
  </Card>
  <Card title="Usa tus propios números (API)" icon="code" href="/es/guides/bring-your-own-numbers">
    El mismo flujo de conectar, importar y verificar mediante REST.
  </Card>
  <Card title="Ejecuta campañas salientes" icon="megaphone" href="/es/guides/outbound-campaigns">
    Listas CSV, ventanas de llamada y política de reintentos.
  </Card>
  <Card title="Referencia de conexiones VoIP" icon="phone-volume" href="/api-reference/voip-connections">
    Todos los campos de conexiones, evidencia e importaciones.
  </Card>
</CardGroup>
