pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/30846 )
Change subject: bsc: Move BSSAP handling of emergency call to helper function ......................................................................
bsc: Move BSSAP handling of emergency call to helper function
Change-Id: I3a88efeae6710ba005496067ecb0c8f4035404ab --- M bsc/BSC_Tests.ttcn 1 file changed, 14 insertions(+), 44 deletions(-)
Approvals: Jenkins Builder: Verified fixeria: Looks good to me, but someone else must approve laforge: Looks good to me, approved
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);