mgw: Add test cases for invalid DLCX commands
diff --git a/mgw/MGCP_Test.cfg b/mgw/MGCP_Test.cfg
index 94d80a1..8efff7a 100644
--- a/mgw/MGCP_Test.cfg
+++ b/mgw/MGCP_Test.cfg
@@ -29,3 +29,5 @@
MGCP_Test.TC_crcx_and_dlcx_ep_callid_connid
MGCP_Test.TC_crcx_and_dlcx_ep_callid
MGCP_Test.TC_crcx_and_dlcx_ep
+MGCP_Test.TC_crcx_and_dlcx_ep_callid_inval
+MGCP_Test.TC_crcx_and_dlcx_ep_callid_connid_inval
diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn
index df07bd0..d13fad3 100644
--- a/mgw/MGCP_Test.ttcn
+++ b/mgw/MGCP_Test.ttcn
@@ -638,7 +638,7 @@
var template MgcpCommand cmd;
var MgcpResponse resp;
var MgcpEndpoint ep := "5@mgw";
- var MgcpCallId call_id := '51234'H;
+ var MgcpCallId call_id := '51233'H;
f_init(ep);
@@ -655,7 +655,7 @@
var template MgcpCommand cmd;
var MgcpResponse resp;
var MgcpEndpoint ep := "5@mgw";
- var MgcpCallId call_id := '51234'H;
+ var MgcpCallId call_id := '51232'H;
f_init(ep);
@@ -668,7 +668,42 @@
}
- /* TODO: DLCX of valid endpoint but invalid call-id */
+ /* CRCX + DLCX of valid endpoint but invalid call-id */
+ testcase TC_crcx_and_dlcx_ep_callid_inval() runs on dummy_CT {
+ var template MgcpCommand cmd;
+ var MgcpResponse resp;
+ var MgcpEndpoint ep := "5@mgw";
+ var MgcpCallId call_id := '51231'H;
+
+ f_init(ep);
+
+ cmd := ts_CRCX(get_next_trans_id(), ep, "recvonly", call_id);
+ resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK);
+
+ f_dlcx(ep, "516", *, 'ffff'H);
+
+ setverdict(pass);
+ }
+
+
+ /* CRCX + DLCX of valid endpoint and call-id but invalid conn-id */
+ testcase TC_crcx_and_dlcx_ep_callid_connid_inval() runs on dummy_CT {
+ var template MgcpCommand cmd;
+ var MgcpResponse resp;
+ var MgcpEndpoint ep := "5@mgw";
+ var MgcpCallId call_id := '51230'H;
+
+ f_init(ep);
+
+ cmd := ts_CRCX(get_next_trans_id(), ep, "recvonly", call_id);
+ resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK);
+
+ f_dlcx(ep, "515", *, call_id, 'ffff'H);
+
+ setverdict(pass);
+ }
+
+
/* TODO: Double-DLCX (retransmission) */
/* TODO: Double-DLCX (no retransmission) */
@@ -697,5 +732,7 @@
execute(TC_crcx_and_dlcx_ep_callid_connid());
execute(TC_crcx_and_dlcx_ep_callid());
execute(TC_crcx_and_dlcx_ep());
+ execute(TC_crcx_and_dlcx_ep_callid_inval());
+ execute(TC_crcx_and_dlcx_ep_callid_connid_inval());
}
}