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) {