summaryrefslogtreecommitdiffstats
path: root/msc
diff options
context:
space:
mode:
authorNeels Hofmeyr <neels@hofmeyr.de>2019-02-26 05:02:46 +0100
committerNeels Hofmeyr <neels@hofmeyr.de>2019-03-07 16:37:51 +0100
commitde76f0554753e0608d353cc31131d6c2e72ddd3a (patch)
treed725aafaf050aef9b455820ee85f3f22629ffe92 /msc
parentced8acf30581c36745bdf22d68acd802aa5a25c9 (diff)
msc: add as_optional_cc_rel to ignore CC REL during call abort tests
When aborting a call with a Clear Request, it is actually a good idea to release an ongoing call with a CC Release message from the MSC. Allow this. Change-Id: I8378f7602fecac8262b31b47ad9327a3782c1bcd
Diffstat (limited to 'msc')
-rw-r--r--msc/MSC_Tests.ttcn32
1 files changed, 23 insertions, 9 deletions
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 7129f81..1edc7ad 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -152,6 +152,10 @@ private altstep as_Tguard_direct() runs on MTC_CT {
}
}
+private altstep as_optional_cc_rel(CallParameters cpars) runs on BSC_ConnHdlr {
+ [] BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id))) { repeat; };
+}
+
function f_init_smpp(charstring id) runs on MTC_CT {
id := id & "-SMPP";
var EsmePars pars := {
@@ -1267,7 +1271,13 @@ private function f_tc_mo_setup_and_nothing(charstring id, BSC_ConnHdlrPars pars)
BSSAP.send(ts_PDU_DTAP_MO(ts_ML3_MO_CC_SETUP(cpars.transaction_id, cpars.called_party)));
+ var default ccrel := activate(as_optional_cc_rel(cpars));
+
f_expect_clear(185.0);
+
+ deactivate(ccrel);
+
+ f_sleep(1.0);
}
testcase TC_mo_setup_and_nothing() runs on MTC_CT {
var BSC_ConnHdlr vc_conn;
@@ -1477,7 +1487,6 @@ private function f_tc_mt_crcx_ran_reject(charstring id, BSC_ConnHdlrPars pars) r
setverdict(fail, "Timeout waiting for channel release");
mtc.stop;
}
- [] BSSAP.receive { repeat; }
[] MNCC.receive { repeat; }
[] GSUP.receive { repeat; }
[] MGCP.receive(tr_DLCX(?)) -> value mgcp_cmd {
@@ -1487,6 +1496,7 @@ private function f_tc_mt_crcx_ran_reject(charstring id, BSC_ConnHdlrPars pars) r
}
[] MGCP.receive { repeat; }
[] as_clear_cmd_compl_disc();
+ [] as_optional_cc_rel(cpars);
}
}
testcase TC_mt_crcx_ran_reject() runs on MTC_CT {
@@ -1873,13 +1883,11 @@ private function f_tc_mo_release_timeout(charstring id, BSC_ConnHdlrPars pars) r
/* Drop CRCX */
MGCP.receive(tr_CRCX) -> value mgcp_cmd;
- /* Drop DTAP Release */
- BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id)));
-
- /* Drop resent DTAP Release */
- BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_RELEASE(cpars.transaction_id)));
+ var default ccrel := activate(as_optional_cc_rel(cpars));
f_expect_clear(60.0);
+
+ deactivate(ccrel);
}
testcase TC_mo_release_timeout() runs on MTC_CT {
var BSC_ConnHdlr vc_conn;
@@ -3154,10 +3162,16 @@ private function f_tc_mo_cc_bssmap_clear(charstring id, BSC_ConnHdlrPars pars) r
f_sleep(1.0);
BSSAP.send(ts_BSSMAP_ClearRequest(0));
- MNCC.receive(tr_MNCC_REL_ind(?, ?)) -> value mncc;
+ var default ccrel := activate(as_optional_cc_rel(cpars));
- BSSAP.receive(tr_BSSMAP_ClearCommand);
- BSSAP.send(ts_BSSMAP_ClearComplete);
+ interleave {
+ [] MNCC.receive(tr_MNCC_REL_ind(?, ?)) { };
+ [] BSSAP.receive(tr_BSSMAP_ClearCommand) {
+ BSSAP.send(ts_BSSMAP_ClearComplete);
+ };
+ }
+
+ deactivate(ccrel);
f_sleep(1.0);
}