bsc: Move BSSAP handling of emergency call to helper function
Change-Id: I3a88efeae6710ba005496067ecb0c8f4035404ab
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 469d7b6..45c319d 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -9156,15 +9156,13 @@
RSL.send(emerg_setup_data_ind);
}
-/* Test if the EMERGENCY SETUP gets passed on to the MSC via A when EMERGENCY
- * CALLS are permitted by the BSC config. */
-private function f_TC_assignment_emerg_setup_allow(charstring id) runs on MSC_ConnHdlr {
+/* expect EmergencySetup on BSSAP after calling f_assignment_emerg_setup() */
+private function f_assignment_emerg_setup_exp_bssap()
+runs on MSC_ConnHdlr {
var PDU_BSSAP emerg_setup_data_ind_bssap;
var PDU_ML3_MS_NW emerg_setup;
timer T := 3.0;
- f_assignment_emerg_setup()
-
T.start;
alt {
[] BSSAP.receive(tr_BSSAP_DTAP) -> value emerg_setup_data_ind_bssap {
@@ -9180,6 +9178,14 @@
setverdict(fail, "timout waiting for EMERGENCY SETUP!");
}
}
+}
+
+/* Test if the EMERGENCY SETUP gets passed on to the MSC via A when EMERGENCY
+ * CALLS are permitted by the BSC config. */
+private function f_TC_assignment_emerg_setup_allow(charstring id) runs on MSC_ConnHdlr {
+
+ f_assignment_emerg_setup();
+ f_assignment_emerg_setup_exp_bssap();
setverdict(pass);
f_perform_clear();
@@ -9191,7 +9197,7 @@
var PDU_BSSAP emerg_setup_data_ind_bssap;
timer T := 3.0;
- f_assignment_emerg_setup()
+ f_assignment_emerg_setup();
T.start;
alt {
@@ -10468,25 +10474,7 @@
* another lchan. */
g_pars.ra := f_rnd_ra_emerg();
f_assignment_emerg_setup();
-
- var PDU_BSSAP emerg_setup_data_ind_bssap;
- timer T := 3.0;
- T.start;
- alt {
- [] BSSAP.receive(tr_BSSAP_DTAP) -> value emerg_setup_data_ind_bssap {
- var PDU_ML3_MS_NW verify_emerg_setup;
- verify_emerg_setup := dec_PDU_ML3_MS_NW(emerg_setup_data_ind_bssap.pdu.dtap);
- if (not isbound(verify_emerg_setup.msgs.cc.emergencySetup)) {
- setverdict(fail, "no emergency setup");
- }
- }
- [] BSSAP.receive {
- setverdict(fail, "unexpected BSSAP message!");
- }
- [] T.timeout {
- setverdict(fail, "timeout waiting for EMERGENCY SETUP!");
- }
- }
+ f_assignment_emerg_setup_exp_bssap();
/* Here would usually be a CC Call Proceeding from the MSC, but what does the BSC care about DTAP. */
@@ -10576,25 +10564,7 @@
{
g_pars.ra := f_rnd_ra_emerg();
f_assignment_emerg_setup();
-
- var PDU_BSSAP emerg_setup_data_ind_bssap;
- timer T := 3.0;
- T.start;
- alt {
- [] BSSAP.receive(tr_BSSAP_DTAP) -> value emerg_setup_data_ind_bssap {
- var PDU_ML3_MS_NW verify_emerg_setup;
- verify_emerg_setup := dec_PDU_ML3_MS_NW(emerg_setup_data_ind_bssap.pdu.dtap);
- if (not ischosen(verify_emerg_setup.msgs.cc.emergencySetup)) {
- setverdict(fail, "no emergency setup");
- }
- }
- [] BSSAP.receive {
- setverdict(fail, "unexpected BSSAP message!");
- }
- [] T.timeout {
- setverdict(fail, "timeout waiting for EMERGENCY SETUP!");
- }
- }
+ f_assignment_emerg_setup_exp_bssap();
/* Start a Location Request to locate the emergency */
f_bssap_le_register_imsi(g_pars.imsi, omit);