mgw: Introduce test TC_crcx_osmo_ign
Related: SYS#5063
Change-Id: I79415c385e89fe859854430bb20940f078fccea0
diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn
index 4be034b..f6dfe57 100644
--- a/mgw/MGCP_Test.ttcn
+++ b/mgw/MGCP_Test.ttcn
@@ -732,6 +732,35 @@
setverdict(pass);
}
+ /* Test CRCX with X-Osmo-IGN, using same message as SYS#5063 to make sure it doesn't cause a crash. */
+ testcase TC_crcx_osmo_ign() runs on dummy_CT {
+ var template MgcpCommand cmd;
+ var MgcpResponse resp;
+ var MgcpEndpoint ep := "7@" & c_mgw_domain;
+ var MgcpCallId call_id := '3'H;
+
+ f_init(ep);
+
+ /* CRCX 1 7@mgw MGCP 1.0
+ C: 3
+ L: p:20, a:GSM-EFR, nt:IN
+ M: recvonly
+ X-Osmo-IGN: C
+ */
+
+ cmd := ts_CRCX(get_next_trans_id(), ep, "netwtest", call_id);
+ cmd.params := {ts_MgcpParCallId(call_id),
+ t_MgcpParLocConnOpt("p:20, a:GSM-EFR, nt:IN"),
+ t_MgcpParConnMode("recvonly"),
+ t_MgcpParOsmoIGN("C")};
+ resp := mgcp_transceive_mgw(cmd, tr_CRCX_ACK);
+ extract_conn_id(resp);
+
+ /* clean-up */
+ f_dlcx_ok(ep, call_id);
+ setverdict(pass);
+ }
+
/* test CRCX with early bi-directional mode, expect 527 as
* bi-diretional media can only be established once both local and
* remote side are specified, see MGCP RFC */
@@ -2360,6 +2389,7 @@
execute(TC_crcx_no_lco());
execute(TC_crcx_noprefix());
execute(TC_crcx_unsupp_mode());
+ execute(TC_crcx_osmo_ign());
execute(TC_crcx_early_bidir_mode());
execute(TC_crcx_unsupp_param());
execute(TC_crcx_missing_callid());