From 384e949cd22ef4e17ab6c37e3dabba8f95a180a2 Mon Sep 17 00:00:00 2001 From: Pau Espin Pedrol Date: Thu, 3 Sep 2020 17:05:19 +0200 Subject: [PATCH] library/MGCP_Templates: Apply MGCP AddressType based on provided address Change-Id: I1212abd31f6a4758105675908a1b7cb841caa3dd --- library/MGCP_Templates.ttcn | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/library/MGCP_Templates.ttcn b/library/MGCP_Templates.ttcn index e03fd8e9c..79d9670c4 100644 --- a/library/MGCP_Templates.ttcn +++ b/library/MGCP_Templates.ttcn @@ -310,13 +310,13 @@ module MGCP_Templates { 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 @@ module MGCP_Templates { } } + 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) {