MGCP: Test for CRCX followed by DLCX
diff --git a/mgw/MGCP_Test.cfg b/mgw/MGCP_Test.cfg
index 89bda62..8d79271 100644
--- a/mgw/MGCP_Test.cfg
+++ b/mgw/MGCP_Test.cfg
@@ -26,3 +26,4 @@
MGCP_Test.TC_crcx_sdp
MGCP_Test.TC_mdcx_without_crcx
MGCP_Test.TC_dlcx_without_crcx
+MGCP_Test.TC_crcx_and_dlcx
diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn
index afd5f33..34fa0c1 100644
--- a/mgw/MGCP_Test.ttcn
+++ b/mgw/MGCP_Test.ttcn
@@ -512,6 +512,30 @@
setverdict(pass);
}
+ testcase TC_crcx_and_dlcx() runs on dummy_CT {
+ var template MgcpCommand cmd;
+ var MgcpResponse resp;
+ var template MgcpResponse rtmpl := {
+ line := {
+ code := ("200", "250"),
+ string := "OK"
+ },
+ params:= ?,
+ sdp := ?
+ };
+
+ f_init();
+
+ cmd := ts_CRCX(get_next_trans_id(), "5@mgw", "sendrecv", '51234'H);
+ resp := mgcp_transceive_mgw(cmd, rtmpl);
+
+ cmd := ts_DLCX(get_next_trans_id(), "5@mgw", '51234'H);
+ rtmpl.sdp := omit;
+ resp := mgcp_transceive_mgw(cmd, rtmpl);
+
+ setverdict(pass);
+ }
+
/* TODO: DLCX of valid endpoint but invalid call-id */
/* TODO: Double-DLCX (retransmission) */
/* TODO: Double-DLCX (no retransmission) */
@@ -538,5 +562,6 @@
execute(TC_crcx_sdp());
execute(TC_mdcx_without_crcx());
execute(TC_dlcx_without_crcx());
+ execute(TC_crcx_and_dlcx());
}
}