BSC_Tests: Make sure CHAN RQDs for emergency are denied
Test that a CHAN RQD that indicates an emergency call is rejected if
emergency calls are disabled.
Change-Id: I9084df86e8f808e3c1d948ab88e07e7458761a71
Related: OS#4548
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index e556b48..903d5d7 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -1022,6 +1022,28 @@
f_TC_chan_act_ack_noest(ra := 'A5'O);
}
+/* Emergency call variant, but emergency calls are not allowed */
+testcase TC_chan_rqd_emerg_deny() runs on test_CT {
+ /* See also: 3GPP TS 04.08, Table 9.9, ra=101xxxxx */
+
+ var RSL_Message rx_rsl;
+ var GsmRrMessage rr;
+
+ f_init(1);
+ f_vty_allow_emerg_bts(false, 0);
+
+ IPA_RSL[0].clear;
+ f_ipa_tx(0, ts_RSL_CHAN_RQD('A5'O, 23));
+
+ rx_rsl := f_exp_ipa_rx(0, tr_RSL_MsgTypeC(RSL_MT_IMMEDIATE_ASSIGN_CMD));
+ rr := dec_GsmRrMessage(rx_rsl.ies[1].body.full_imm_ass_info.payload);
+ if (rr.header.message_type == IMMEDIATE_ASSIGNMENT_REJECT) {
+ setverdict(pass);
+ } else {
+ setverdict(fail, "immediate assignment not rejected");
+ }
+}
+
/* Test behavior if MSC never answers to CR */
testcase TC_chan_act_ack_est_ind_noreply() runs on test_CT {
var RslLinkId main_dcch := valueof(ts_RslLinkID_DCCH(0));
@@ -6136,6 +6158,7 @@
execute( TC_chan_act_counter() );
execute( TC_chan_act_ack_noest() );
execute( TC_chan_act_ack_noest_emerg() );
+ execute( TC_chan_rqd_emerg_deny() );
execute( TC_chan_act_ack_est_ind_noreply() );
execute( TC_chan_act_ack_est_ind_refused() );
execute( TC_chan_act_nack() );