Qué consigues
Terminación española a precio de operador para los agentes de voz que ya tienes montados en Vapi: conectas por SIP y las llamadas salen y entran por nuestra red en España.
- Precio de operador terminación española por un troncal local, sin tarifa internacional
- CDR por llamada registro detallado para facturar a tus clientes minuto a minuto
- CLI auténtico presentas numeración española real: más descuelgues
- DTMF garantizado RFC 2833 extremo a extremo: tus agentes navegan IVRs
Consumo mínimo 150 €/mes, alta del troncal en 48 h, sin permanencia. Facturación por segundos, sin establecimiento. La tarifa de terminación por minuto va en el rate deck que te mandamos con el alta.
Datos del troncal
Esto es lo que vas a introducir en Vapi. Los datos de conexión son individuales por cliente y te los entregamos con el alta (48 h); el resto es fijo y puedes dejarlo preparado.
| Host SIP de terminación | Con el alta (48 h) |
|---|---|
| IPs y puertos de señalización | Con el alta (48 h) |
| Autenticación | Credenciales con el alta (48 h) |
| Códecs | G.711 A-law (PCMA) y G.711 µ-law (PCMU) |
| DTMF | RFC 2833 (telephone-event), extremo a extremo |
| Formato de numeración | E.164 con prefijo: +34XXXXXXXXX en destino y en CLI |
| CLI de salida | Número español asignado o portado al troncal (no se permite CLI ajeno) |
Configuración en Vapi, paso a paso
En Vapi el troncal externo no se configura en el dashboard sino por API: una
credencial de tipo byo-sip-trunk y un número
byo-phone-number asociado a ella.
- Elige la región y no la mezcles. Vapi tiene región EU con API y
SIP propios: si tu organización está alojada en la UE, usa
https://api.eu.vapi.aiconsip.eu.vapi.ai; en la región US,https://api.vapi.aiconsip.vapi.ai. Su documentación exige mantener API y host SIP en la misma región. Para tráfico español, la región EU reduce latencia de señalización. - Crea la credencial
byo-sip-trunkcon el host del troncal y las credenciales que te entregamos con el alta:curl -X POST "$VAPI_API_BASE_URL/credential" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer TU_CLAVE_PRIVADA_VAPI" \ -d '{ "provider": "byo-sip-trunk", "name": "Troncal Universal Telecom", "gateways": [{ "ip": "<host-del-troncal>" }], "outboundLeadingPlusEnabled": true, "outboundAuthenticationPlan": { "authUsername": "<usuario-del-alta>", "authPassword": "<contraseña-del-alta>" } }'outboundLeadingPlusEnabled: truehace que Vapi marque en E.164 con+34, que es el formato que espera el troncal. Guarda elidde la credencial que devuelve la API. Vapi desaconseja la autenticación solo por IP en troncales compartidos: si tu alta llega con usuario y contraseña van enoutboundAuthenticationPlan; si llega con autenticación por IP, la credencial se crea sin ese bloque y las IPs se cierran en el alta. - Asocia tu número español a esa credencial:
El número es el que te asignamos (o portas) con el alta: será tu CLI de salida y tu número de entrada.curl -X POST "$VAPI_API_BASE_URL/phone-number" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer TU_CLAVE_PRIVADA_VAPI" \ -d '{ "provider": "byo-phone-number", "name": "Numero ES principal", "number": "+34XXXXXXXXX", "numberE164CheckEnabled": true, "credentialId": "<id-de-la-credencial>" }' - Entrantes. Vapi recibe las llamadas en
{+34XXXXXXXXX}@<credential_id>.sip.vapi.ai(o.sip.eu.vapi.aien la región EU). Pásanos elcredential_idy dejamos el troncal apuntando ahí; el intercambio de IPs de señalización de ambos lados se cierra en el alta (las de Vapi están publicadas en su documentación de red). - Llamada de prueba por API, con tu
assistantIdy elphoneNumberIddel paso 3:
Sigue después la sección de verificación, más abajo.curl -X POST "$VAPI_API_BASE_URL/call/phone" \ -H "Content-Type: application/json" \ -H "Authorization: Bearer TU_CLAVE_PRIVADA_VAPI" \ -d '{ "assistantId": "<assistant-id>", "customer": { "number": "+34910000002" }, "phoneNumberId": "<phone-number-id>" }'
Si la creación de la credencial falla con un error de gateway, revisa que el host
del troncal esté escrito sin sip: ni puerto, tal y como te lo
entregamos. Vapi publica una guía específica de errores de credencial BYO en su
documentación.
Documentación oficial citada
- Vapi — SIP Trunking (byo-sip-trunk) — consultada el 17/09/2026
- Vapi — SIP networking and firewall configuration — consultada el 17/09/2026
Ejemplo SIP: el INVITE que debe salir de Vapi
Así debe verse una llamada saliente correcta hacia el troncal
(<host-del-troncal> es el host que te entregamos con el
alta; los números son de ejemplo):
INVITE sip:+34912345678@<host-del-troncal> SIP/2.0
From: <sip:+34910000001@<host-plataforma>>;tag=8a71b2
To: <sip:+34912345678@<host-del-troncal>>
P-Asserted-Identity: <sip:+34910000001@<host-plataforma>>
Contact: <sip:agente@<host-plataforma>>
Content-Type: application/sdp
m=audio 40000 RTP/AVP 8 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000 - Request-URI y
To: destino en E.164 con+34. Sin prefijos de escape (00,011) ni números nacionales a 9 cifras. -
FromyP-Asserted-Identity: tu CLI español en E.164. El PAI es el que valida la identidad en la red; si tu plataforma solo permite fijar elFrom, es suficiente. - SDP: ofrece
PCMA(G.711 A-law, el códec de la red española) ytelephone-eventpara DTMF por RFC 2833.
Verificación: tres llamadas y el CDR
- Saliente a un fijo español. Lanza una llamada de prueba
desde Vapi a un fijo (
+34 91…/+34 95…). Debe establecer en 1–3 s con audio en ambos sentidos. Si hay audio en un solo sentido, revisa NAT/puertos RTP en tu lado o en el firewall de la plataforma. - CLI en un móvil. Llama a un móvil tuyo: debe presentarse el número español asignado, no "desconocido" ni un número extranjero. Ese CLI es el que decide los descuelgues en salientes.
- DTMF contra un IVR. Llama a un IVR real (vale el de tu propia centralita) y haz que el agente marque una opción. La cifra debe registrarse a la primera; si no llega, comprueba que la plataforma envía RFC 2833 y no tonos en banda (inband).
Cada llamada queda en el CDR con origen, destino, duración por segundos e importe: es la base para facturar a tus clientes minuto a minuto. El acceso al detalle de CDR te lo entregamos con el alta.
Tarifas y alta
| Terminación por minuto | En el rate deck (a demanda) |
|---|---|
| Consumo mínimo | 150 €/mes |
| Numeración local | desde 3 €/mes según país |
| Alta del troncal | en 48 h, sin permanencia |
Cuéntanos qué montas sobre Vapi y te devolvemos credenciales del troncal, rate deck con tus rutas reales y esta guía con tus datos.