library/MGCP_Templates: Apply MGCP AddressType based on provided address
Change-Id: I1212abd31f6a4758105675908a1b7cb841caa3dd
diff --git a/library/MGCP_Templates.ttcn b/library/MGCP_Templates.ttcn
index e03fd8e..79d9670 100644
--- a/library/MGCP_Templates.ttcn
+++ b/library/MGCP_Templates.ttcn
@@ -310,13 +310,13 @@
integer rtp_port, SDP_fmt_list fmts,
SDP_attribute_list attributes) := {
protocol_version := 0,
- origin := ts_SDP_origin(local_addr, session_id, session_version),
+ origin := ts_SDP_origin(local_addr, session_id, session_version, f_mgcp_addr2addrtype(local_addr)),
session_name := "-",
information := omit,
uri := omit,
emails := omit,
phone_numbers := omit,
- connection := ts_SDP_connection_IP(remote_addr),
+ connection := ts_SDP_connection_IP(remote_addr, f_mgcp_addr2addrtype(remote_addr)),
bandwidth := omit,
times := { ts_SDP_time("0","0") },
timezone_adjustments := omit,
@@ -341,6 +341,15 @@
}
}
+ function f_mgcp_addr2addrtype(charstring addr) return charstring {
+ for (var integer i := 0; i < lengthof(addr); i := i + 1) {
+ if (addr[i] == ":") {
+ return "IP6";
+ }
+ }
+ return "IP4";
+ }
+
/* -1 is wildcard, positive is translated as string */
function f_mgcp_osmux_cid_encode(MgcpOsmuxCID osmux_cid) return charstring {
if (osmux_cid == -1) {