diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn
index 48d2f9c..dc44304 100644
--- a/mgw/MGCP_Test.ttcn
+++ b/mgw/MGCP_Test.ttcn
@@ -11,7 +11,7 @@
 	type component dummy_CT {
 		port MGCP_CODEC_PT MGCP;
 		var boolean initialized := false;
-		var ConnectionId g_conn_id := -1;
+		var ConnectionId g_mgcp_conn_id := -1;
 		var integer g_trans_id;
 	};
 
@@ -46,10 +46,10 @@
 		g_trans_id := float2int(rnd()*65535.0);
 		map(self:MGCP, system:MGCP_CODEC_PT);
 		/* connect the MGCP test port using the given
-		 * source/destionation ip/port and store the connection id in g_conn_id
+		 * source/destionation ip/port and store the connection id in g_mgcp_conn_id
 		 * */
-		res := f_IPL4_connect(MGCP, mp_remote_ip, mp_remote_udp_port, mp_local_ip, mp_local_udp_port, 0, { udp := {} });
-		g_conn_id := res.connId;
+		res := MGCP_CodecPort_CtrlFunct.f_IPL4_connect(MGCP, mp_remote_ip, mp_remote_udp_port, mp_local_ip, mp_local_udp_port, 0, { udp := {} });
+		g_mgcp_conn_id := res.connId;
 	}
 
 	/* 3.2.2.6 Connection Mode (sendonly, recvonly, sendrecv, confrnce, inactive, loopback,
@@ -282,7 +282,7 @@
 	 * MGCP_CodecPort */
 	function tr_MGCP_RecvFrom_R(template MgcpResponse resp) runs on dummy_CT return template MGCP_RecvFrom {
 		var template MGCP_RecvFrom mrf := {
-			connId := g_conn_id,
+			connId := g_mgcp_conn_id,
 			remName := mp_remote_ip,
 			remPort := mp_remote_udp_port,
 			locName := mp_local_ip,
@@ -300,7 +300,7 @@
 		var MGCP_RecvFrom mrf;
 		timer T := 5.0;
 
-		MGCP.send(t_MGCP_Send(g_conn_id, msg));
+		MGCP.send(t_MGCP_Send(g_mgcp_conn_id, msg));
 		T.start;
 		alt {
 			[] MGCP.receive(mrt) -> value mrf { }
