SIP y RTP: Cómo se Establece una Llamada VoIP Paso a Paso
En las comunicaciones modernas, VoIP (Voice over IP) es la tecnología clave para empresas que buscan ahorrar costos y tener mayor flexibilidad. Detrás de cada llamada existen protocolos que trabajan en conjunto para que la voz viaje de un teléfono a otro con calidad y baja latencia. Los más importantes son SIP (Session Initiation Protocol) y RTP (Real-Time Protocol).
En este artículo aprenderás cómo SIP y RTP trabajan juntos, qué información intercambian y veremos un ejemplo de traza SIP para entender la negociación de codecs y puertos.
¿Qué es SIP?
SIP (Session Initiation Protocol) es un protocolo de señalización que opera en la Capa de Aplicación. Su función principal es establecer, modificar y terminar sesiones (como llamadas de voz o video).
- Usa el puerto UDP/TCP 5060 por defecto.
- Se apoya en SDP (Session Description Protocol) para describir las características de la sesión (codecs, puertos, tipos de medios).
¿Qué es RTP?
Una vez que SIP establece la sesión, el tráfico real de voz viaja en RTP (Real-Time Protocol).
- RTP transporta los paquetes de audio (o video).
- Generalmente usa puertos dinámicos en UDP.
- Se acompaña de RTCP (RTP Control Protocol) para métricas de calidad, como jitter, delay y pérdida de paquetes.
Ejemplo de Traza SIP
1. SIP INVITE (Teléfono A → Teléfono B)
👉 Aquí el teléfono A ofrece varios codecs (G.711 μ-law, G.711 A-law, G.729) y el puerto UDP 4000 para recibir RTP.
INVITE sip:1002@empresa.com SIP/2.0
Via: SIP/2.0/UDP 192.168.1.10:5060
From: "1001" <sip:1001@empresa.com>
To: <sip:1002@empresa.com>
Call-ID: 12345@192.168.1.10
CSeq: 1 INVITE
Content-Type: application/sdp
Content-Length: 200
v=0
o=- 1234 5678 IN IP4 192.168.1.10
s=VoIP Call
c=IN IP4 192.168.1.10
t=0 0
m=audio 4000 RTP/AVP 0 8 18 101
a=rtpmap:0 PCMU/8000
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=rtpmap:101 telephone-event/8000
2. SIP 200 OK (Teléfono B → Teléfono A)
👉 El teléfono B acepta la llamada y responde que usará el codec G.711 A-law (8) en el puerto UDP 5000.
SIP/2.0 200 OK
Via: SIP/2.0/UDP 192.168.1.10:5060
From: "1001" <sip:1001@empresa.com>
To: <sip:1002@empresa.com>;tag=54321
Call-ID: 12345@192.168.1.10
CSeq: 1 INVITE
Content-Type: application/sdp
Content-Length: 150
v=0
o=- 4321 8765 IN IP4 192.168.1.20
s=VoIP Call
c=IN IP4 192.168.1.20
t=0 0
m=audio 5000 RTP/AVP 8
a=rtpmap:8 PCMA/8000
3. Confirmación ACK (Teléfono A → Teléfono B)
👉 Con el ACK, ambos dispositivos están listos y comienza el envío de RTP con el codec acordado.
ACK sip:1002@empresa.com SIP/2.0
Via: SIP/2.0/UDP 192.168.1.10:5060
From: "1001" <sip:1001@empresa.com>
To: <sip:1002@empresa.com>;tag=54321
Call-ID: 12345@192.168.1.10
CSeq: 1 ACK
Parámetros avanzados en SIP/SDP
Cuando revisamos una traza SIP, además de la negociación de codecs y puertos, aparecen atributos que definen cómo se comportará la sesión de voz. Estos parámetros son fundamentales para garantizar compatibilidad entre dispositivos y calidad en la llamada.
Por ejemplo:
- Codec Selection: en la oferta (INVITE) y respuesta (200 OK), los dispositivos deciden qué codec usar. El primero de la lista suele ser el que prevalece (ej. G.711 A-law = 8).
- a=sendrecv: indica que el dispositivo enviará y recibirá audio (modo bidireccional). También existen sendonly o recvonly en escenarios específicos.
- RTP/AVP fmtp:10: los atributos fmtp se usan para parámetros especiales de codecs. El payload type 10 corresponde a G.729, y en este caso fmtp:10 puede definir si soporta variantes como Annex B (supresión de silencio).
- fmtp:96: los payload dinámicos (96 en adelante) se usan para funciones adicionales, como DTMF (Dual Tone Multi-Frequency). Este permite transmitir tonos de teclado durante la llamada.
- Silence Suppression (silenceSupp): permite ahorrar ancho de banda evitando enviar RTP cuando no hay voz. Puede ser útil, pero en fax sobre IP o grabaciones es mejor desactivarlo.
- No RTP Proxy (noRTPproxy): indica si los RTP van directo entre los dos endpoints o si pasan por un servidor intermedio (proxy). Si está en “no”, el audio fluye directo, reduciendo latencia.

Tabla de atributos SIP/SDP comunes
Parámetro | Descripción | Ejemplo en SDP | Uso típico |
---|---|---|---|
Codec Selection | Indica qué codec se usará (el primero listado es el preferido). | m=audio 5000 RTP/AVP 8 18 101 | Definir G.711, G.729, Opus, etc. |
a=sendrecv | Define si el dispositivo envía/recibe audio. | a=sendrecv | Llamadas normales bidireccionales. |
RTP/AVP fmtp:10 | Parámetros específicos del codec G.729. | a=fmtp:10 annexb=no | Activar/desactivar supresión de silencio en G.729. |
fmtp:96 | Payload dinámico, usado para eventos DTMF. | a=rtpmap:96 telephone-event/8000 | Enviar dígitos del teclado durante la llamada. |
silenceSupp | Controla si se envían RTP en momentos de silencio. | a=silenceSupp:off | Mejor desactivado para fax o grabaciones. |
noRTPproxy | Indica si el RTP pasa directo o vía un proxy intermedio. | a=noRTPproxy | Mejor directo, reduce latencia. |