fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42583?usp=email )
Change subject: bsc: add TC_chan_act_nack_not_borken ......................................................................
bsc: add TC_chan_act_nack_not_borken
Test that when the BTS NACKs a CHANnel ACTIVation with RSL_ERR_SERV_OPT_UNAVAIL or RSL_ERR_SERV_OPT_UNIMPL, the BSC: does NOT mark the lchan as BORKEN.
Change-Id: I000b7b44749380c5af4da42abe37b4ada6e06ee4 Related: osmo-bsc.git Ide3830a697501a0c245a41451302f1e68d553b3c Related: OS#6324 --- M bsc/BSC_Tests.ttcn M bsc/expected-results.xml 2 files changed, 25 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/83/42583/1
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index a4c666e..9911368 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -1623,6 +1623,29 @@ f_shutdown_helper(); }
+/* Verify that a Chan Activ NACK with RSL_ERR_SERV_OPT_UNAVAIL or RSL_ERR_SERV_OPT_UNIMPL + * does not mark the lchan as BORKEN. The channel mode was not supported by the BTS, but + * the lchan hardware itself is fine and must remain available for future assignments. */ +testcase TC_chan_act_nack_not_borken() runs on test_CT { + var RSL_Message rx_rsl; + + f_init(1); + + f_ipa_tx(ts_RSL_CHAN_RQD('33'O, 33)); + rx_rsl := f_exp_ipa_rx(tr_RSL_CHAN_ACT); + f_ipa_tx(ts_RSL_CHAN_ACT_NACK(rx_rsl.ies[0].body.chan_nr, RSL_ERR_SERV_OPT_UNAVAIL)); + f_sleep(0.5); + f_vty_expect_borken(BSCVTY, false); + + f_ipa_tx(ts_RSL_CHAN_RQD('33'O, 33)); + rx_rsl := f_exp_ipa_rx(tr_RSL_CHAN_ACT); + f_ipa_tx(ts_RSL_CHAN_ACT_NACK(rx_rsl.ies[0].body.chan_nr, RSL_ERR_SERV_OPT_UNIMPL)); + f_sleep(0.5); + f_vty_expect_borken(BSCVTY, false); + + f_shutdown_helper(); +} + /* Test for channel exhaustion due to RACH overload */ testcase TC_chan_exhaustion() runs on test_CT { var ASP_RSL_Unitdata rsl_ud; @@ -12762,6 +12785,7 @@ execute( TC_chan_act_ack_est_ind_noreply() ); execute( TC_chan_act_ack_est_ind_refused() ); execute( TC_chan_act_nack() ); + execute( TC_chan_act_nack_not_borken() ); execute( TC_chan_exhaustion() ); execute( TC_chan_deact_silence() ); execute( TC_chan_rel_rll_rel_ind() ); diff --git a/bsc/expected-results.xml b/bsc/expected-results.xml index 90b613d..65a4ef1 100644 --- a/bsc/expected-results.xml +++ b/bsc/expected-results.xml @@ -35,6 +35,7 @@ <testcase classname='BSC_Tests' name='TC_chan_act_ack_est_ind_noreply' time='MASKED'/> <testcase classname='BSC_Tests' name='TC_chan_act_ack_est_ind_refused' time='MASKED'/> <testcase classname='BSC_Tests' name='TC_chan_act_nack' time='MASKED'/> + <testcase classname='BSC_Tests' name='TC_chan_act_nack_not_borken' time='MASKED'/> <testcase classname='BSC_Tests' name='TC_chan_exhaustion' time='MASKED'/> <testcase classname='BSC_Tests' name='TC_chan_deact_silence' time='MASKED'/> <testcase classname='BSC_Tests' name='TC_chan_rel_rll_rel_ind' time='MASKED'/>