pespin has uploaded this change for review. ( 
https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24798 )


Change subject: bsc: Introduce test TC_dyn_ts_sdcch8_act_nack
......................................................................

bsc: Introduce test TC_dyn_ts_sdcch8_act_nack

Change-Id: I388677c90203853fae584ca60d0e6645bb4ad675
Related: SYS#5309
---
M bsc/BSC_Tests.ttcn
1 file changed, 66 insertions(+), 0 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks 
refs/changes/98/24798/1

diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 31e004b..5f58a9e 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -6824,6 +6824,71 @@
        f_shutdown_helper();
 }

+/* Test Osmocom dyn TS SDCCH8 activation / deactivation when SDCCH fails at 
BTS */
+testcase TC_dyn_ts_sdcch8_act_nack() runs on test_CT {
+       var RSL_Message rsl_unused, rsl_msg;
+       var DchanTuple dt;
+       var BSSAP_N_CONNECT_ind rx_c_ind;
+       var GsmRrMessage rr;
+
+       /* change Timeslot 6 before f_init() starts RSL */
+       f_init_vty();
+       f_ts_set_chcomb(0, 0, 6, "TCH/F_TCH/H_SDCCH8_PDCH");
+       f_vty_transceive(BSCVTY, "drop bts connection 0 oml");
+
+       f_init(1, false);
+       f_sleep(1.0);
+
+       var RslChannelNr pdch_chan_nr := valueof(t_RslChanNr_PDCH(6));
+
+       log("TCH/F_TCH/H_SDCCH8_PDCH pchan starts out in disabled mode:");
+       f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, NONE_MODE);
+       /* The BSC will activate the dynamic PDCH by default, so confirm that */
+       rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?));
+
+       f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342));
+       f_sleep(1.0);
+       log("TCH/F_TCH/H_SDCCH8_PDC requested to PDCH ACT on startup, which was 
ACKed, so now in PDCH:");
+       f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE);
+
+       /* Fill TS0 SDCCH channels (NOTE: only 3 SDCCH/4 channels are available
+        * on CCCH+SDCCH4+CBCH) */
+       var integer i;
+       for (i := 0; i < 3; i := i + 1) {
+               dt := f_est_dchan('23'O, i, '00010203040506'O);
+       }
+
+       /* Now the dyn ts is selected. First PDCH is released, then sdcch chan 
is activated */
+       f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(oct2int('23'O) + i, 1), 2342));
+       rsl_unused := f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(pdch_chan_nr));
+       f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(pdch_chan_nr));
+
+       rsl_msg := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
+       dt.rsl_chan_nr := rsl_msg.ies[0].body.chan_nr;
+
+       f_ts_dyn_mode_assert(0, 0, dt.rsl_chan_nr.tn, SDCCH8_MODE);
+       f_ipa_tx(0, ts_RSL_CHAN_ACT_NACK(dt.rsl_chan_nr, 
RSL_ERR_EQUIPMENT_FAIL));
+       rsl_msg := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0));
+       rr := dec_GsmRrMessage(rsl_msg.ies[1].body.full_imm_ass_info.payload);
+       if (rr.header.message_type != IMMEDIATE_ASSIGNMENT_REJECT) {
+               Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Expected 
reject");
+       }
+
+       /* FIXME? Currently the TS stays in state BORKEN: */
+
+       /* The BSC will switch the TS back to PDCH once the only lchan using it 
is released: */
+       /* rsl_unused := f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(pdch_chan_nr, ?));
+        * f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(pdch_chan_nr, 2342));
+        * f_sleep(1.0);
+        * f_ts_dyn_mode_assert(0, 0, pdch_chan_nr.tn, PDCH_MODE)
+        */
+
+       /* clean up config */
+       f_ts_set_chcomb(0, 0, 6, "PDCH");
+
+       f_shutdown_helper();
+}
+
 testcase TC_chopped_ipa_ping() runs on test_CT {
        const Integers bsc_ipa_ports := {mp_bsc_rsl_port, mp_bsc_oml_port, 
mp_bsc_ctrl_port};
        for (var integer i := 0; i < lengthof(bsc_ipa_ports); i := i + 1) {
@@ -9269,6 +9334,7 @@
        execute( TC_dyn_pdch_osmo_act_deact() );
        execute( TC_dyn_pdch_osmo_act_nack() );
        execute( TC_dyn_ts_sdcch8_act_deact() );
+       execute( TC_dyn_ts_sdcch8_act_nack() );

        execute( TC_chopped_ipa_ping() );
        execute( TC_chopped_ipa_payload() );

--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/24798
To unsubscribe, or for help writing mail filters, visit 
https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I388677c90203853fae584ca60d0e6645bb4ad675
Gerrit-Change-Number: 24798
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <[email protected]>
Gerrit-MessageType: newchange

Reply via email to