Ir al contenido principal

Real-time Transport Protocol (RTP)

Definición

El RTP es el protocolo de red responsable de entregar el audio de voz real durante las llamadas VoIP. A diferencia de SIP (que gestiona el establecimiento y cierre de la llamada), el RTP maneja el medio: el flujo de audio codificado entre los endpoints, usando los formatos de compresión negociados. El protocolo se apoya en puertos UDP, y cada llamada activa requiere un par de puertos para la comunicación bidireccional.

Cómo lo implementa VICIdial

En los sistemas VICIdial basados en Asterisk, el rango de puertos RTP se configura en rtp.conf, típicamente abarcando los puertos 10000-20000. Cada llamada concurrente consume dos puertos UDP: uno para la transmisión de audio y otro para la señalización de control RTCP. Por lo tanto, un servidor que soporta 500 llamadas simultáneas necesita un mínimo de 1,000 puertos disponibles. La capa SIP o PJSIP negocia los puertos específicos durante el inicio de la llamada, usando el protocolo SDP embebido en los mensajes SIP. Asterisk incorpora buffers de jitter (Jitter) para mitigar las inconsistencias en el tiempo de llegada de los paquetes, y las grabaciones de llamada capturan los flujos RTP de cada tramo de la llamada, mezclándolos en un único archivo de audio.

Por qué importa

Una mala configuración del RTP es la fuente principal de fallas de audio en despliegues de VICIdial. Los problemas de audio unidireccional (donde los participantes no pueden escucharse mutuamente) suelen derivar de complicaciones en el atravesamiento de NAT que bloquean el acceso al puerto RTP. Las restricciones de firewall sobre el rango de puertos RTP permiten que la señalización tenga éxito mientras impiden la entrega real del medio. Una implementación exitosa requiere reglas de firewall que permitan tráfico UDP en todo el rango RTP, una configuración NAT apropiada en los ajustes SIP/PJSIP, y ubicar los servidores en direcciones IP públicas cuando sea posible.

Conceptos relacionados