Proveedores SIP
Los proveedores SIP conectan tus números de teléfono a VOCALS. Se encargan del lado PSTN (red telefónica pública) de la llamada mientras VOCALS gestiona la conversación con IA.
VOCALS soporta dos tipos de conectividad SIP:
- Twilio -- SIP gestionado con WebSocket Media Streams (configuración más sencilla)
- SIP Genérico -- Cualquier proveedor de troncal SIP estándar (Netelip, Zadarma, Telnyx, etc.) a través de Asterisk
Elegir un Tipo de Proveedor
| Twilio | SIP Genérico | |
|---|---|---|
| Complejidad de configuración | Baja (solo credenciales API) | Media (configuración de troncal SIP) |
| Proveedores soportados | Solo Twilio | Cualquier proveedor de troncal SIP |
| Llamadas entrantes | Sí | Sí |
| Llamadas salientes | Sí | Sí |
| Protocolo de audio | WebSocket Media Streams (mulaw) | AudioSocket a través de Asterisk (slin/alaw) |
| Coste | Precios de Twilio | Precios de tu proveedor SIP |
Configurar Twilio
Requisitos Previos
- Una cuenta de Twilio con un número de teléfono
- Tu Account SID y Auth Token de Twilio
Pasos
- Ve a Configuración > Proveedores SIP en el panel de control de VOCALS.
- Haz clic en Añadir Proveedor SIP.
- Selecciona Twilio como tipo.
- Introduce tus credenciales:
- Account SID -- Se encuentra en el panel de tu Consola de Twilio. Siempre empieza por
ACseguido de 32 caracteres hexadecimales (ej.,ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx). Cualquier otro valor se rechaza al guardar. - Auth Token -- Se encuentra en el panel de tu Consola de Twilio
- Phone Number -- Tu número de teléfono de Twilio en formato E.164, con el prefijo del país (ej.,
+34911234567). Un número sin+y prefijo de país se rechaza al guardar -- consulta Formato del Número.
- Account SID -- Se encuentra en el panel de tu Consola de Twilio. Siempre empieza por
- Haz clic en Guardar.
Pega el Account SID, no el email de tu cuenta de Twilio. Twilio usa el Account SID como nombre de usuario cuando VOCALS realiza una llamada, así que cualquier otro valor hace que todas las llamadas salientes fallen con un error de autenticación. VOCALS comprueba el formato al guardar: si ves "Eso no es un Account SID de Twilio", vuelve a copiar el valor desde la Consola de Twilio.
Configuración de Twilio
Después de guardar en VOCALS, configura tu número de Twilio para enrutar las llamadas a VOCALS:
- En la página Proveedores SIP, copia la URL del webhook de voz. Aparece en la tarjeta del proveedor (haz clic en ella para copiarla) y también en el panel de edición al abrir el proveedor. Tiene esta forma:
https://api.usevocals.com/voice/webhook?tenant_id={your_tenant_id}. - En la Consola de Twilio, ve a Phone Numbers > Manage > Active Numbers.
- Haz clic en tu número.
- En Voice Configuration, configura:
- A call comes in: Webhook
- URL: la URL del webhook de voz que has copiado
- HTTP Method: POST
- Haz clic en Save configuration.
Twilio ahora reenviará las llamadas entrantes a VOCALS a través de WebSocket Media Streams.
La URL del webhook de voz identifica tu cuenta de VOCALS, no un proveedor concreto, así que es la misma en todas las tarjetas de proveedor SIP. Los proveedores que llegan a VOCALS mediante una troncal SIP registrada (Netelip, Zadarma y demás) nunca la llaman: solo la necesitan los proveedores que funcionan por webhook, como Twilio.
El webhook antes era https://api.usevocals.com/twilio/voice?tenant_id=.... Esa dirección sigue funcionando y lo seguirá haciendo indefinidamente: no hay nada que migrar. Ambas direcciones responden igual, así que solo necesitas la nueva al configurar un número por primera vez.
Configurar Netelip
Netelip es un proveedor de troncal SIP europeo con cobertura en España y Latinoamérica.
Requisitos Previos
- Una cuenta de Netelip con un DID (número de teléfono)
- Tus credenciales SIP del panel de control de Netelip
Pasos
- Ve a Configuración > Proveedores SIP en el panel de control de VOCALS.
- Haz clic en Añadir Proveedor SIP.
- Selecciona Netelip como tipo. Esto pre-rellena el servidor SIP y el puerto, pero puedes cambiarlos si es necesario.
- Rellena los detalles de conexión:
- SIP Server -- Pre-rellenado como
sip.netelip.com. Netelip también ofrece servidores regionales comosip-eu.netelip.com-- usa el que tu cuenta tenga configurado. - SIP Port -- Por defecto
5060. - Transport --
UDP(predeterminado para Netelip). - Outbound Number Format -- Pre-rellenado como
00 prefix, que es lo que Netelip espera. - Username -- Tu nombre de usuario SIP de Netelip.
- Password -- Tu contraseña SIP de Netelip.
- SIP Server -- Pre-rellenado como
- Opcionalmente configura el filtrado de llamadas entrantes:
- Allowed IPs -- Restringe qué direcciones IP pueden enviar llamadas a tu troncal. Déjalo vacío para permitir todas. Los servidores SIP de Netelip normalmente envían desde sus rangos de IP publicados.
- Haz clic en Guardar.
Después de guardar, VOCALS registra tu troncal con el servidor SIP. Comprueba la insignia de estado de registro en la tarjeta del proveedor SIP:
- Verde (Registrado) -- La troncal está conectada y lista para llamadas.
- Rojo (No Registrado) -- El registro falló. Verifica tus credenciales y la dirección del servidor SIP.
- Amarillo (Desconocido) -- No se pudo determinar el estado. La troncal puede estar aún inicializándose.
Configuración del DID de Netelip
En tu panel de control de Netelip, configura tu DID para enrutar las llamadas a VOCALS:
- Inicia sesión en tu cuenta de Netelip.
- Ve a Números DID (o equivalente).
- Establece el destino de tu número a la dirección IP de tu servidor VOCALS en el puerto 5060.
- Asegúrate de que el códec esté configurado como G.711a (alaw) o G.711u (ulaw) -- VOCALS auto-detecta ambos.
Configurar un Proveedor SIP Genérico
Cualquier proveedor de troncal SIP que soporte registro SIP estándar puede usarse con VOCALS.
Requisitos Previos
- Una cuenta de troncal SIP con tu proveedor
- Dirección del servidor SIP, puerto y credenciales
- Un DID (número de teléfono) de tu proveedor
Pasos
- Ve a Configuración > Proveedores SIP en el panel de control de VOCALS.
- Haz clic en Añadir Proveedor SIP.
- Selecciona SIP Genérico como tipo.
- Rellena los detalles de conexión:
- SIP Server -- El hostname o IP del servidor SIP de tu proveedor (ej.,
sip.provider.com). - SIP Port -- Normalmente
5060para UDP/TCP. - Transport --
UDPoTCPsegún tu proveedor. - Outbound Number Format -- Cómo escribe VOCALS el número marcado y el identificador de llamada al entregar la llamada a tu operador. Consulta Formato de Número Saliente más abajo.
- Username -- Tu nombre de usuario de autenticación SIP.
- Password -- Tu contraseña de autenticación SIP.
- SIP Server -- El hostname o IP del servidor SIP de tu proveedor (ej.,
- Añade cada DID de tu proveedor en Phone Numbers, en formato E.164 con el prefijo del país (ej.,
+34930485412). Un número sin+y prefijo de país se rechaza -- consulta Formato del Número. - Opcionalmente configura el filtrado de llamadas entrantes:
- Allowed IPs -- Lista blanca de IPs del servidor SIP de tu proveedor para prevenir inyección de llamadas no autorizadas.
- Media Encryption -- Configúralo según los requisitos de tu proveedor (
none,sdesodtls).
- Haz clic en Guardar.
Proveedores SIP Comunes
Estos proveedores se sabe que funcionan con VOCALS. La configuración es similar entre proveedores -- solo difieren la dirección del servidor SIP y las credenciales.
| Proveedor | Servidor SIP | Puerto Predeterminado | Transporte | Formato de Número Saliente | Notas |
|---|---|---|---|---|---|
| Netelip | sip.netelip.com | 5060 | UDP | 00 prefix | Cobertura España/LATAM. También sip-eu.netelip.com. |
| Zadarma | sip.zadarma.com | 5060 | UDP | E.164 digits | Cobertura global, precios competitivos. |
| Telnyx | sip.telnyx.com | 5060 | UDP/TLS | E.164 digits | Global, orientado a desarrolladores. |
| VoIP.ms | atlanta.voip.ms | 5060 | UDP | E.164 digits | Norteamérica, múltiples ubicaciones de servidor. |
| OVH | sip.ovh.net | 5060 | UDP | E.164 digits | Europa, incluido con hosting OVH. |
Al configurar un nuevo proveedor SIP, comienza realizando una llamada de prueba saliente para verificar la calidad de audio y latencia antes de configurar el enrutamiento entrante.
Formato de Número Saliente
Los operadores no se ponen de acuerdo sobre cómo debe escribirse un número internacional en la señalización. VOCALS siempre guarda tus números en E.164 canónico (+441234567890); esta opción solo decide qué envía a tu operador al realizar una llamada.
| Opción | Se marca como | Úsala cuando |
|---|---|---|
| E.164 digits (predeterminado) | 441234567890 | Tu operador espera dígitos sin prefijo. Es lo que quieren la mayoría de operadores mayoristas. |
| 00 prefix | 00441234567890 | Tu operador espera el código de acceso internacional europeo 00. Netelip y algunas otras troncales europeas lo requieren. |
El mismo formato se aplica al identificador de llamada, que tu operador valida por separado del número de destino.
Si el formato es incorrecto, el operador rechaza la llamada en una fracción de segundo y nunca llega a sonar. Si tus llamadas salientes fallan al instante mientras la troncal aparece como Registrada, cambia esta opción y vuelve a intentarlo.
Cómo Funcionan las Llamadas SIP en VOCALS
Para proveedores que no son Twilio, VOCALS usa Asterisk como gateway SIP:
Tu Proveedor SIP (PSTN)
|
Troncal SIP (registro + llamadas)
|
Asterisk (gateway SIP)
|
AudioSocket (protocolo de audio binario)
|
Servicio Bridge (conversión de códec)
|
WebSocket al backend de VOCALS
|
Pipeline STT -> LLM -> TTS
- Asterisk se registra con tu proveedor SIP y gestiona la señalización SIP.
- Cuando llega una llamada (o se inicia una), Asterisk abre una conexión AudioSocket al servicio bridge.
- El bridge convierte entre el formato de audio de Asterisk (alaw/ulaw/slin) y el protocolo WebSocket del backend de VOCALS.
- El backend ejecuta la llamada a través del mismo pipeline STT -> LLM -> TTS usado para las llamadas de Twilio.
Esta arquitectura significa que todos los proveedores -- Twilio y SIP genérico -- comparten el mismo pipeline de IA. La única diferencia es la capa de transporte de telefonía.
Llamadas Salientes
Tanto Twilio como los proveedores SIP genéricos soportan llamadas salientes:
- Ve a Llamadas en el panel de control, o usa la API
POST /api/v1/calls. - Selecciona el agente y el número de teléfono desde el que llamar.
- Introduce el número de destino.
- Haz clic en Llamar.
Para proveedores SIP genéricos, las llamadas salientes se enrutan a través de Asterisk. El identificador de llamada se establece como el número de teléfono asignado al agente que realiza la llamada. Tanto el número marcado como el identificador de llamada se escriben en el Formato de Número Saliente de la troncal.
Detección de Contestador Automático (AMD)
Para llamadas salientes a través de SIP genérico, VOCALS incluye detección de contestador automático:
- Asterisk analiza los primeros segundos de audio para determinar si respondió un humano o una máquina.
- Si se detecta una máquina (saludo de buzón de voz), la llamada se cuelga automáticamente.
- Si se detecta un humano (o el resultado es inconcluso), la llamada continúa normalmente.
- Como alternativa, el LLM también monitorea patrones de buzón de voz durante la conversación.
AMD es automático para llamadas salientes -- no se necesita configuración adicional.
Estado de Registro
Después de configurar un proveedor SIP genérico, el panel de control muestra el estado de registro de la troncal:
- Registrado -- La troncal está conectada a tu proveedor SIP y lista para llamadas.
- No Registrado -- El registro falló. Causas comunes:
- Dirección o puerto del servidor SIP incorrectos
- Nombre de usuario o contraseña incorrectos
- Firewall bloqueando el tráfico SIP (puerto 5060)
- Cuenta del proveedor suspendida
- Desconocido -- No se pudo determinar el estado.
El estado de registro se actualiza automáticamente. Después de guardar o editar un proveedor SIP, permite 10-30 segundos para que la troncal se registre.
Eliminar un Proveedor SIP
Un proveedor SIP solo se puede eliminar cuando ninguno de sus números de teléfono está asignado a un agente. Si algún agente todavía tiene uno de ellos, la eliminación se rechaza y el diálogo de confirmación enumera los agentes que la bloquean.
Para continuar, abre cada agente de la lista, quita o reasigna su número de teléfono y vuelve a eliminar el proveedor SIP.
Es intencionado. Eliminar un proveedor SIP del que depende un agente se llevaría por delante el número de ese agente, y el agente dejaría de recibir llamadas sin nada que explicara por qué.
Solución de Problemas
El Registro Falla
- Verifica las credenciales: Comprueba que tu nombre de usuario y contraseña SIP coincidan con el panel de control de tu proveedor.
- Verifica la dirección del servidor: Asegúrate de que el hostname del servidor SIP resuelva correctamente. Prueba con la dirección IP directamente si sospechas de DNS.
- Verifica el puerto y transporte: La mayoría de proveedores usan UDP en el puerto 5060. Algunos requieren TCP en el puerto 5060. (TLS no es compatible actualmente.)
- Verifica el firewall: Tu servidor debe permitir tráfico saliente en el puerto SIP y puertos UDP 10000-10100 (media RTP).
Las Llamadas Salientes Se Rechazan Al Instante
La troncal aparece como Registrada, pero todas las llamadas salientes fallan antes de sonar.
- Verifica el formato del número: ajusta Outbound Number Format al que use tu operador. La mayoría espera
E.164 digits; Netelip y algunas otras troncales europeas esperan00 prefix. Consulta Formato de Número Saliente. - Verifica el identificador de llamada: tu operador normalmente solo te deja presentar un número de tu propiedad. Asegúrate de que el número asignado al agente sea un DID de esa troncal.
- Verifica tu cuenta: algunos operadores bloquean destinos internacionales o exigen recargar saldo antes de permitir llamadas salientes.
Sin Audio (Llamadas Unidireccionales o Silenciosas)
- Verifica los puertos RTP: Asegúrate de que los puertos UDP 10000-10100 estén abiertos en el firewall de tu servidor para el tráfico de media.
- Verifica NAT: Si tu servidor está detrás de NAT, asegúrate de que la IP pública esté correctamente configurada. VOCALS la auto-detecta desde la variable de entorno
EXTERNAL_IP. - Verifica el códec: VOCALS soporta G.711a (alaw), G.711u (ulaw) y signed linear (slin). La mayoría de proveedores usan G.711a por defecto en Europa y G.711u en Norteamérica.
Las Llamadas Conectan pero el Agente No Responde
- Verifica la asignación del agente: Asegúrate de que un número de teléfono esté asignado al agente y que el DID coincida.
- Verifica el formato del número: el DID debe estar guardado con su prefijo de país (
+34930485412, no930485412). Un número guardado sin prefijo no puede asociarse a un agente, así que la llamada llega a tu cuenta pero nunca al agente. Consulta Formato del Número. - Verifica los proveedores: Comprueba que el agente tenga proveedores STT, LLM y TTS válidos configurados con API keys funcionales.
- Verifica los registros de llamadas: El panel de control muestra registros detallados de cada llamada, incluyendo cualquier error de proveedor.
Eco o Retroalimentación
- Verifica el jitter buffer: VOCALS aplica un jitter buffer adaptativo automáticamente. Si el eco persiste, puede ser del lado del proveedor SIP.
- Reduce el volumen TTS: Algunos proveedores TTS producen audio a alto volumen que puede causar eco en el lado PSTN. Reduce la ganancia si tu proveedor lo soporta.