diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn
index 80f4c83..3a548c4 100644
--- a/mgw/MGCP_Test.ttcn
+++ b/mgw/MGCP_Test.ttcn
@@ -452,6 +452,32 @@
 		setverdict(pass);
 	}
 
+	function f_crcx_and_dlcx_ep_callid_connid(MgcpEndpoint ep, MgcpCallId call_id) runs on dummy_CT {
+		var template MgcpCommand cmd;
+		var MgcpResponse resp;
+
+		cmd := ts_CRCX(get_next_trans_id(), ep, "recvonly", call_id);
+		resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK);
+
+		f_dlcx_ok(ep, call_id, extract_conn_id(resp));
+
+		setverdict(pass);
+	}
+
+	testcase TC_crcx_dlcx_30ep() runs on dummy_CT {
+		var MgcpEndpoint ep;
+		var MgcpCallId call_id;
+		var integer ep_nr;
+
+		f_init();
+
+		for (ep_nr := 1; ep_nr < 30; ep_nr := ep_nr+1) {
+			ep := hex2str(int2hex(ep_nr, 2)) & "@mgw";
+			call_id := int2hex(ep_nr, 2) & '1234'H;
+			f_crcx_and_dlcx_ep_callid_connid(ep, call_id);
+		}
+	}
+
 	/* Test (valid) CRCX followed by (valid) DLCX containing EP+CallId */
 	testcase TC_crcx_and_dlcx_ep_callid() runs on dummy_CT {
 		var template MgcpCommand cmd;
