BroadNet
SIP / VoIPMedios

RTP y SRTP: el flujo de medios

Actualizado el 4 min de lecturaBasado en estándares
Respuesta directa

RTP (Real-time Transport Protocol, RFC 3550) transporta la voz o el vídeo reales después de que SIP negocie la sesión, ejecutándose sobre UDP con una cabecera compacta (número de secuencia, timestamp, SSRC). RTCP informa de la calidad en paralelo. SRTP (RFC 3711) añade cifrado y autenticación a RTP, con claves mediante SDES en SDP o DTLS-SRTP.

§01

RTP: transportar los medios

Una vez que SIP y SDP han acordado la sesión, los medios en sí fluyen sobre RTP, casi siempre sobre UDP, porque el audio en tiempo real prefiere la entrega puntual a la garantizada. Cada paquete RTP transporta un fragmento de audio codificado (una trama de códec como 20 ms de G.711) tras una cabecera de 12 bytes. RTP es un flujo separado de la señalización SIP, en los puertos que negoció el SDP, y normalmente fluye directamente entre los puntos finales o a través de un relé de medios en lugar de seguir el trayecto de señalización.

§02

La cabecera RTP

La cabecera RTP de 12 bytes da al receptor todo lo que necesita para reconstruir un flujo en tiempo real. El número de secuencia detecta pérdidas y reordenamientos. El timestamp refleja el instante de muestreo para que el receptor reproduzca el audio a la cadencia correcta y elimine el jitter con un búfer de jitter. El SSRC identifica de forma única la fuente de medios dentro de la sesión. El payload type refleja el códec acordado en SDP. El bit marcador señala eventos como el primer paquete tras un periodo de silencio.

Campos de la cabecera RTP (12 bytes)
CampoTamañoPropósito
V / P / X / CC1 byteVersión, relleno, extensión, indicadores de recuento CSRC
M (marcador) + PT1 byteBit de marcador + tipo de carga útil (códec de SDP)
Número de secuencia2 bytesDetectar la pérdida y el reordenamiento de paquetes
Marca de tiempo4 bytesInstante de muestreo; controla la reproducción / el búfer de jitter
SSRC4 bytesFuente de sincronización: identifica el flujo
CSRC (0–15)0–60 bytesFuentes contribuyentes (de mezcladores)
§03

RTCP: retroalimentación de calidad

RTP viaja con un protocolo de control acompañante, RTCP, en el puerto adyacente (impar). RTCP no transporta medios; en su lugar, cada lado envía periódicamente Sender Reports y Receiver Reports que describen la salud del flujo: paquetes enviados y perdidos, pérdida acumulada, jitter de interllegada y el tiempo de ida y vuelta derivado de los timestamps de los informes. Estas métricas son la materia prima de las estimaciones de MOS y del diagnóstico de audio unidireccional, jitter y pérdida en una llamada VoIP. RTCP también transporta la descripción de la fuente (CNAME) y BYE para el derribo del flujo.

Métricas clave reportadas por RTCP
MétricaLo que indica
Pérdida de paquetes (fracción + acumulativa)Cuánto audio se está perdiendo
Fluctuación entre llegadasVariación en la temporización de los paquetes: dificultad de reproducción
Tiempo de ida y vueltaLatencia de la ruta (a partir de las marcas de tiempo SR/RR)
Secuencia más alta recibidaDetección de progreso y pérdida por fuente
§04

SRTP: cifrar los medios

El RTP simple no está cifrado, así que cualquiera en el trayecto puede capturar y reproducir el audio. SRTP (RFC 3711) lo protege: cifra la carga de RTP (por defecto AES en modo contador) y añade una etiqueta de autenticación (por defecto HMAC-SHA1) que protege la integridad y proporciona protección contra reproducción, dejando legible la cabecera RTP para que los routers y los búferes de jitter sigan funcionando. El transporte aparece en el SDP como RTP/SAVP en lugar de RTP/AVP. SRTP protege la confidencialidad y la integridad, pero depende por completo de cómo se intercambien sus claves.

§05

Claves de SRTP: SDES frente a DTLS-SRTP

SRTP necesita una clave maestra en cada extremo, y las dos formas comunes de entregarla difieren mucho en seguridad. SDES (RFC 4568) pone la clave en una línea a=crypto del SDP —sencillo, pero solo tan seguro como la señalización SIP, así que debe transportarse sobre TLS o la clave queda expuesta—. DTLS-SRTP (RFC 5763/5764) ejecuta en cambio un handshake DTLS en el trayecto de medios para derivar las claves, de modo que la clave nunca aparece en la señalización; es el modelo que WebRTC exige. Elige DTLS-SRTP donde los puntos finales lo admitan, y protege siempre SDES con SIP sobre TLS.

Métodos de intercambio de claves de SRTP
MétodoRFCDónde reside la claveNota
SDESRFC 4568a=línea crypto en el SDPRequiere SIP sobre TLS para ser seguro
DTLS-SRTPRFC 5763/5764Derivado de un handshake DTLS en la ruta de mediosLa clave nunca viaja en la señalización; utilizada por WebRTC
MIKEYRFC 3830Carga útil de gestión de clavesSe utiliza en algunas implementaciones IMS
Preguntas frecuentes

Preguntas frecuentes

¿Cuál es la diferencia entre SIP y RTP?

SIP es la señalización que establece, modifica y termina una llamada; RTP es el transporte de medios que lleva la voz o el vídeo reales una vez establecida la llamada. Se ejecutan como flujos separados en puertos separados: SIP negocia la sesión, RTP la entrega.

¿Por qué RTP se ejecuta sobre UDP en lugar de TCP?

El audio en tiempo real valora la puntualidad sobre la fiabilidad. La retransmisión y el bloqueo de cabecera de línea de TCP añadirían latencia y jitter que perjudican una llamada en vivo más que una pérdida ocasional de paquetes. RTP sobre UDP permite al receptor ocultar pequeñas pérdidas manteniendo el flujo puntual.

¿Qué hace RTCP?

RTCP es el canal de control acompañante de RTP. No transporta medios; informa periódicamente de la calidad del flujo —pérdida de paquetes, jitter y tiempo de ida y vuelta mediante Sender y Receiver Reports—, que se usa para estimar la calidad de llamada (MOS) y diagnosticar problemas como el audio unidireccional.

¿Qué es SRTP?

SRTP (RFC 3711) es el perfil seguro de RTP. Cifra la carga de medios (normalmente AES en modo contador) y autentica cada paquete (normalmente HMAC-SHA1) con protección contra reproducción, manteniendo en claro la cabecera RTP. En SDP aparece como el transporte RTP/SAVP.

¿Cuál es la diferencia entre SDES y DTLS-SRTP?

Ambos aportan las claves de SRTP. SDES transporta la clave en una línea a=crypto del SDP, así que solo es seguro si la propia señalización SIP se protege con TLS. DTLS-SRTP deriva las claves mediante un handshake DTLS en el trayecto de medios, de modo que la clave nunca toca la señalización: el enfoque que WebRTC requiere.

Referencias

Especificaciones de la fuente

Las normas publicadas en las que se basa esta página. Se abre en una pestaña nueva.

BNMantenido por el equipo de ingeniería BroadNet·Mensajería de nivel empresarial desde 2003.
Colócalo en el cable

Desarrollado con un enlace SMPP real y una API REST.

Solicita acceso de prueba con claves de prueba reales: primero envía a tu propio número verificado y, una vez aprobada tu identidad de remitente y las rutas, pasa a producción en más de 200 países.