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.
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.
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.
| Campo | Tamaño | Propósito |
|---|---|---|
| V / P / X / CC | 1 byte | Versión, relleno, extensión, indicadores de recuento CSRC |
| M (marcador) + PT | 1 byte | Bit de marcador + tipo de carga útil (códec de SDP) |
| Número de secuencia | 2 bytes | Detectar la pérdida y el reordenamiento de paquetes |
| Marca de tiempo | 4 bytes | Instante de muestreo; controla la reproducción / el búfer de jitter |
| SSRC | 4 bytes | Fuente de sincronización: identifica el flujo |
| CSRC (0–15) | 0–60 bytes | Fuentes contribuyentes (de mezcladores) |
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étrica | Lo que indica |
|---|---|
| Pérdida de paquetes (fracción + acumulativa) | Cuánto audio se está perdiendo |
| Fluctuación entre llegadas | Variación en la temporización de los paquetes: dificultad de reproducción |
| Tiempo de ida y vuelta | Latencia de la ruta (a partir de las marcas de tiempo SR/RR) |
| Secuencia más alta recibida | Detección de progreso y pérdida por fuente |
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.
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étodo | RFC | Dónde reside la clave | Nota |
|---|---|---|---|
| SDES | RFC 4568 | a=línea crypto en el SDP | Requiere SIP sobre TLS para ser seguro |
| DTLS-SRTP | RFC 5763/5764 | Derivado de un handshake DTLS en la ruta de medios | La clave nunca viaja en la señalización; utilizada por WebRTC |
| MIKEY | RFC 3830 | Carga útil de gestión de claves | Se utiliza en algunas implementaciones IMS |
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.
Especificaciones de la fuente
Las normas publicadas en las que se basa esta página. Se abre en una pestaña nueva.