From: Eric Tamme <eric.tamme@onsip.com>
Date: Tue, 30 Dec 2014 11:48:51 -0700
Subject: [PATCH] added more rtp transports to match those available in
rtpengine
diff --git a/modules/rtpengine/rtpengine.c b/modules/rtpengine/rtpengine.c
index 3cb4a94..ed4e2fe 100644
--- a/modules/rtpengine/rtpengine.c
+++ b/modules/rtpengine/rtpengine.c
@@ -938,6 +938,9 @@ static const char *transports[] = {
[0x01] = "RTP/SAVP",
[0x02] = "RTP/AVPF",
[0x03] = "RTP/SAVPF",
+ [0x04] = "UDP/TLS/RTP/SAVP",
+ [0x05] = "UDP/TLS/RTP/SAVPF"
+
};
static int parse_flags(struct ng_flags_parse *ng_flags, struct sip_msg *msg, enum rtpe_operation *op,
@@ -1148,6 +1151,20 @@ static int parse_flags(struct ng_flags_parse *ng_flags, struct sip_msg *msg, enu
goto error;
break;
+ case 16:
+ if (str_eq(&key, "UDP/TLS/RTP/SAVP"))
+ ng_flags->transport = 0x104;
+ else
+ goto error;
+ break;
+
+ case 17:
+ if (str_eq(&key, "UDP/TLS/RTP/SAVPF"))
+ ng_flags->transport = 0x105;
+ else
+ goto error;
+ break;
+
case 26:
if (str_eq(&key, "replace-session-connection"))
bencode_list_add_string(ng_flags->replace, "session-connection");
@@ -1234,7 +1251,7 @@ static bencode_item_t *rtpe_function_call(bencode_buffer_t *bencbuf, struct sip_
bencode_dictionary_add(ng_flags.dict, "replace", ng_flags.replace);
if ((ng_flags.transport & 0x100))
bencode_dictionary_add_string(ng_flags.dict, "transport-protocol",
- transports[ng_flags.transport & 0x003]);
+ transports[ng_flags.transport & 0x005]);
if (ng_flags.rtcp_mux && ng_flags.rtcp_mux->child)
bencode_dictionary_add(ng_flags.dict, "rtcp-mux", ng_flags.rtcp_mux);