aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Smith <osmith@sysmocom.de>2023-09-27 10:52:50 +0200
committerosmith <osmith@sysmocom.de>2023-09-28 17:01:52 +0000
commit45a6dd39fc894f821ac7b699a0a3fce86e2efcd9 (patch)
tree46f17679ec1abca780ae91a0a407f09b6de6a551
parentaedacf32565d912e452b1a11312468fe9d64c2e9 (diff)
bsc: add test TC_si2_ncc_permitted
-rw-r--r--bsc/BSC_Tests.ttcn51
1 files changed, 51 insertions, 0 deletions
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 7773153a..f2844e1d 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -3108,6 +3108,56 @@ testcase TC_si_acc_ramp_rotate() runs on test_CT {
f_shutdown_helper();
}
+/* Verify NCC Permitted in System Information Type 2
+ * 3GPP TS 44.018 ยง 10.5.2.27 */
+testcase TC_si2_ncc_permitted() runs on test_CT {
+ var ASP_RSL_Unitdata rx_rsl_ud;
+ timer T := 5.0;
+ var BIT8 exp;
+
+ f_init_vty();
+
+ /* Set NCC Permitted to 6 7 8 */
+ f_vty_enter_cfg_bts(BSCVTY, 0);
+ f_vty_transceive(BSCVTY, "ncc-permitted 6 7 8");
+ f_vty_transceive(BSCVTY, "end");
+ exp := '11100000'B;
+
+ f_init(1);
+ T.start;
+
+ /* Check value in SI 2 */
+ alt {
+ [] IPA_RSL[0][0].receive(tr_ASP_RSL_UD(tr_RSL_BCCH_INFO(RSL_SYSTEM_INFO_2))) -> value rx_rsl_ud {
+ var RSL_IE_Body ie := rx_rsl_ud.rsl.ies[2].body; /* FULL BCCH Information IE */
+ var SystemInformation si := dec_SystemInformation(ie.other.payload);
+
+ if (si.header.message_type != SYSTEM_INFORMATION_TYPE_2) {
+ setverdict(fail, "RSL FULL BCCH Information IE contains: ", si);
+ repeat;
+ }
+
+ if (si.payload.si2.ncc_permitted != exp) {
+ setverdict(fail, "NCC Permitted is ", si.payload.si2.ncc_permitted, " but expected ", exp);
+ break;
+ }
+
+ }
+ [] IPA_RSL[0][0].receive { repeat; }
+ [] T.timeout {
+ setverdict(fail, "Timeout waiting for RSL BCCH INFOrmation (SI2)");
+ }
+ }
+
+ /* Reset NCC Permitted to default (all permitted). This is already
+ * getting tested in TC_si_default(). */
+ f_vty_enter_cfg_bts(BSCVTY, 0);
+ f_vty_transceive(BSCVTY, "ncc-permitted all");
+ f_vty_transceive(BSCVTY, "end");
+
+ f_shutdown_helper();
+}
+
testcase TC_ctrl_msc_connection_status() runs on test_CT {
var charstring ctrl_resp;
@@ -12430,6 +12480,7 @@ control {
execute( TC_si2quater_49_earfcns() );
execute( TC_si_acc_rotate() );
execute( TC_si_acc_ramp_rotate() );
+ execute( TC_si2_ncc_permitted() ); /* TODO: test in SI6 too */
/* RSL DCHAN Channel ACtivation / Deactivation */
execute( TC_chan_act_noreply() );