lavariega.com

Mi espacio de notas, hablo de Tecnología.
RTP y RTCP en voip Asterisk

RTP y RTCP: Qué son, diferencias y configuración en Asterisk.

Las llamadas VoIP y las videollamadas que usamos a diario dependen de dos protocolos fundamentales: RTP (Real-time Transport Protocol) y RTCP (RTP Control Protocol). Ambos trabajan en conjunto para que la voz y el video lleguen a tiempo, con buena calidad y de forma confiable.

En este artículo descubrirás qué son, para qué sirven, cómo se diferencian y cómo configurarlos en Asterisk y FreeSWITCH.

¿Qué es RTP y para qué sirve?

RTP es el protocolo encargado de transportar datos en tiempo real como voz, video o música en streaming.

Sus funciones clave son:

  • Transportar voz y video en llamadas VoIP y conferencias.
  • Mantener el orden de los paquetes mediante un número de secuencia.
  • Indicar el momento exacto de reproducción con un timestamp.
  • Especificar el códec utilizado (G.711, Opus, H.264, etc.).

👉 Ejemplo: En una llamada de, cada 20 ms de tu voz se envía en paquetes RTP. Si un paquete se pierde, la app usa algoritmos de “reconstrucción de voz” para evitar silencios. A continuación tenemos el ejemplo de una traza RTP.

Real-time Transport Protocol
    10.. .... = Versión: 2
    ..0. .... = Padding: False
    ...0 .... = Extension: False
    .... 0000 = CSRC count: 0
    Marker: 0
    Payload type: PCMU (G.711 mu-law) (0)
    Sequence number: 23541
    Timestamp: 384000
    Synchronization Source identifier (SSRC): 0x1234abcd
    Payload: (160 bytes de audio codificado)

Ahora, expliquemos cada campo para poder tener un claro panorama del protocolo RTP. Te recomiendo analizarlos unos minutos para mejor comprensión.

  1. Versión (V) → Aquí es 2, que es la más usada actualmente.
  2. Padding (P) → 0 indica que no hay relleno.
  3. Extension (X) → 0, no hay cabecera extendida.
  4. CSRC Count (CC) → 0, no hay fuentes contribuyentes adicionales (llamada 1:1 típica).
  5. Marker (M) → 0, no hay evento especial (ejemplo: inicio de un tono DTMF).
  6. Payload Type (PT) → 0, lo que corresponde al códec G.711 μ-law (PCMU).
  7. Sequence Number → 23541, usado para detectar pérdidas y reordenar paquetes.
  8. Timestamp → 384000, usado para mantener el orden temporal de la reproducción de audio.
  9. SSRC (Synchronization Source) → 0x1234abcd, identificador único del flujo RTP en esta sesión.
  10. Payload → Contiene los datos de voz codificados (160 muestras de audio en este caso).

¿Qué es RTCP y cuál es su función?

RTCP no transporta la voz o video en sí, sino que se encarga de monitorear y controlar la calidad de la comunicación.

Algunas de sus funciones más importantes son:

  • Identificación de participantes (CNAME).
  • Reportes de calidad: pérdida de paquetes, jitter, retardo.
  • Mensajes de salida (BYE) para indicar que un usuario dejó la sesión.
  • RTCP XR (Extended Reports): métricas avanzadas para evaluar calidad VoIP (MOS, eco, ruido, jitter buffer).

👉 Ejemplo: En una videollamada, RTCP puede detectar alto jitter y enviar esa información al servidor para que ajuste el buffer y estabilice la comunicación. Este es el ejemplo de una traza RTCP.

Real-time Transport Control Protocol (Sender Report)
    Version: 2
    Padding: False
    Reception report count: 1
    Packet type: Sender Report (200)
    Length: 52 bytes
    SSRC: 0x1234abcd (Identificador de la fuente de sincronización)

Sender Report (SR):
    NTP timestamp: 396459.1234 (sincronización con reloj de referencia)
    RTP timestamp: 384160
    Sender's packet count: 1280
    Sender's octet count: 204800

Report Block:
    SSRC del emisor reportado: 0x5678efgh
    Fracción de pérdida de paquetes: 0.02 (2%)
    Paquetes perdidos acumulados: 25
    Último número de secuencia extendido: 23565
    Jitter inter-arrival: 12 ms
    Último SR recibido (LSR): 0x2345abcd
    Retardo desde el último SR (DLSR): 40 ms


Diferencias entre RTP y RTCP
Ambos protocolos trabajan de la mano. A pesar de que tienen diferentes propósitos, deben trabajar en la misma sesión. La siguiente tabla simplemente para comprenderlos mejor.

CaracterísticaRTP 📡RTCP 📊
Función principalTransportar voz y video en tiempo realMonitorear la calidad de la sesión
Qué transmiteDatos multimedia (payload)Estadísticas y métricas
Ejemplo en VoIPTu voz y videoReporte de pérdida de paquetes y latencia
Uso en conjuntoObligatorio para llamadas y streaming de calidadComplemento necesario de RTP




Configuración RTP y RTCP en Asterisk

En Asterisk, RTP y RTCP se configuran en rtp.conf y sip.conf/pjsip.conf:

; /etc/asterisk/rtp.conf
[general]
rtpstart=10000
rtpend=20000
rtcpinterval=5000

Conclusión

  • RTP es el protocolo que transporta tu voz y video en tiempo real.
  • RTCP mide la calidad de esa transmisión y ayuda a mejorar la experiencia.
  • Ambos son esenciales en VoIP, videollamadas y streaming.

Deja un comentario

No se publicará tu dirección de correo electrónico. Los campos obligatorios están marcados con *.

*
*

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Contáctame

¡Conversemos en WhatsApp para apoyarte en tu proyecto de telefonía o call center!


Categorías

actualizar aprendizaje asterisk audio brew call center Centos cli codecs comandos contraseñas desarrollo de software enfermedad Firewall free GNU google grandstream gratis Issabel ivr lavariega libros linux mac manuales Maquina Virtual marcacion mexico OpenSource raspberry rtp SIP sofphone sox ssh sysadmin telefonia tips ubuntu vim VirtualBox virtualizacion virus voip


Apasionado de las tecnologías VoIP