El audio unidireccional en las llamadas VoIP es casi siempre un problema del trayecto del audio: NAT, una dirección IP incorrecta en el SDP, un firewall que bloquea los puertos RTP o una discrepancia de códecs. Las llamadas que se cortan a un tiempo fijo, como hacia los 32 segundos o tras 15 o 30 minutos, suelen ser problemas de señalización: un ACK que falta o un refresco de sesión fallido.
Cómo transporta el audio una llamada
El SIP establece la llamada; el audio viaja por separado como paquetes RTP. Cada lado anuncia en el cuerpo SDP de su INVITE o de su 200 OK la dirección IP, el puerto y los códecs en los que quiere recibir el audio. Si uno de los lados anuncia una dirección que el otro no puede alcanzar, o un firewall descarta los paquetes, la señalización funciona pero el audio no. Los fundamentos de una conexión SIP con un carrier se explican en cómo funciona una interconexión SIP.
Audio unidireccional o sin audio: causas y comprobaciones
| Causa | Lo que ve | Solución |
|---|---|---|
| IP privada en el SDP | El SDP muestra una dirección 10.x, 172.16-31.x o 192.168.x | Configure la IP externa en su switch o SBC, o active la gestión del NAT |
| El firewall bloquea el RTP | Los paquetes salen pero nunca llegan, o al revés | Abra el rango de puertos RTP a las IP de audio del carrier, no solo a las IP de señalización |
| SIP ALG en un router | SDP reescrito de forma imprevisible | Desactive el SIP ALG en los routers y firewalls del trayecto |
| IP de audio no incluidas en la lista blanca | El carrier envía audio desde una IP que no esperaba | Pida al carrier su lista completa de IP de audio |
| Discrepancia de códecs | La llamada se conecta, silencio o ruido en ambos sentidos | Alinee las listas de códecs; consulte G.711 vs G.729 |
| Gestión de los re-INVITE | El audio se corta tras una espera, una transferencia o un cambio durante la llamada | Compruebe cómo gestionan ambos lados los re-INVITE y los cambios de audio |
| Errores de DTMF o de transcodificación | El audio se corta tras pulsar una tecla o en ciertas llamadas | Revise el modo DTMF (RFC 2833/4733 o SIP INFO) y la configuración de transcodificación |
La prueba más rápida: capture una llamada con una herramienta de captura de paquetes y compruebe si el RTP fluye en ambos sentidos y hacia la IP y el puerto anunciados en el SDP. Si el RTP llega a su borde de red pero no al teléfono, el problema está dentro de su red; si nunca llega, está en el lado del carrier o en un firewall entre ustedes.
Llamadas que se cortan a un tiempo fijo
- Hacia los 30 a 32 segundos: el lado que envió el 200 OK no recibió el ACK y se rinde tras su temporizador de retransmisión (en SIP estándar, 64 veces el temporizador base de 500 ms, es decir, 32 segundos). Suele ser un problema de NAT o de enrutamiento del ACK, o una cabecera Contact incorrecta.
- A los 15, 30 o 60 minutos, u otra cifra redonda: los session timers. Un lado espera un refresco de sesión (re-INVITE o UPDATE) que nunca llega o se rechaza. Alinee la configuración de los session timers, o compruebe si el carrier ha fijado una duración máxima de llamada.
- Tras un silencio de duración fija: el tiempo de espera del RTP. Un equipo termina la llamada cuando no recibe audio durante un tiempo determinado, algo que suele ocurrir cuando ya hay audio unidireccional.
Llamadas que se cortan al azar
Los cortes aleatorios suelen deberse a inestabilidad de la red (pérdida de paquetes en el enlace, un SBC que falla), a la red de destino o a una cadena de carriers en la que un salto tiene problemas de capacidad. Compruebe si los cortes se concentran en una ruta o un destino y quién envió el BYE según sus CDR. Una proporción creciente de llamadas cortas suele ser el primer indicio estadístico; consulte las llamadas de corta duración y MOS, jitter y pérdida de paquetes.
Qué enviar al carrier
Una incidencia se resuelve antes con pruebas: hora de la llamada en UTC, número llamado y número llamante, Call-ID, una traza SIP (pcap) que muestre el problema y qué sentido perdió el audio. Si solo una ruta muestra el problema con la misma configuración, es probable que el problema esté en esa ruta; añádalo a sus notas de pruebas de rutas.
VoIPMatcher gestiona con el proveedor cada ruta que obtiene, así que las incidencias técnicas se tratan en un solo lugar. Para obtener terminación VoIP hacia un destino, solicite una ruta VoIP.
Preguntas frecuentes
¿Debo desactivar el SIP ALG?
En la mayoría de los casos, sí. El SIP ALG de routers y firewalls intenta reescribir el SIP y el SDP para el NAT, pero a menudo lo hace mal y provoca audio unidireccional, registros fallidos y llamadas cortadas. Desactívelo en todos los equipos del trayecto, gestione el NAT en su switch o en su session border controller y vuelva a probar con una captura de paquetes.
¿Por qué el audio VoIP va en un solo sentido solo a veces?
El audio unidireccional intermitente suele deberse a asociaciones NAT que caducan, a un carrier que envía el audio desde varias IP que no están todas permitidas en su firewall, o a re-INVITE tras una espera o una transferencia que cambian la dirección del audio. Compare las capturas de paquetes de una llamada buena y una mala para ver qué dirección o puerto cambió.
¿Qué puertos RTP hay que abrir para VoIP?
Depende del equipo. Muchas plataformas usan un rango UDP situado entre 10000 y 20000, pero revise la configuración de su propio switch o SBC y la documentación del carrier. Abra ese rango solo a las IP de audio del carrier, no a todo internet, y recuerde que las IP de audio a menudo son distintas de las de señalización.
¿Un firewall puede causar audio unidireccional en llamadas VoIP?
Sí, cualquier firewall puede, cuando la inspección SIP o el SIP ALG están activados o cuando el rango de puertos RTP está cerrado a las IP de audio del carrier. Consulte la documentación del fabricante para desactivar el SIP ALG o el SIP helper, después permita el rango RTP desde las direcciones de audio del carrier y vuelva a probar con una captura de paquetes en ambos lados.
¿El audio unidireccional es culpa del carrier?
Normalmente no. La mayor parte del audio unidireccional viene de la configuración de NAT, firewall o SDP en uno de los extremos de la llamada. Una captura de paquetes le indica dónde mirar: si el RTP nunca llega a su borde de red, la causa está en el lado del carrier o en un firewall intermedio; si llega pero no alcanza el teléfono, está dentro de su red.
¿Necesita una ruta?
Envíe el destino, el tipo de ruta y la tarifa objetivo. Le respondemos con lo que podemos ofrecer.