This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.
neels gerrit-no-reply at lists.osmocom.orgneels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 ) Change subject: bsc: add TC_imm_ass_pre_chan_ack_dyn_ts ...................................................................... bsc: add TC_imm_ass_pre_chan_ack_dyn_ts Related: SYS#5559 Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba --- M bsc/BSC_Tests.ttcn M bsc/BSC_Tests_2.ttcn 2 files changed, 72 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/69/25169/1 diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn index f9900f7..1cc876f 100644 --- a/bsc/BSC_Tests.ttcn +++ b/bsc/BSC_Tests.ttcn @@ -4232,14 +4232,14 @@ f_shutdown_helper(); } -private function f_disable_all_tch_f() runs on test_CT { +function f_disable_all_tch_f() runs on test_CT { f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 1 sub-slot 0 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 2 sub-slot 0 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 3 sub-slot 0 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 4 sub-slot 0 borken"); } -private function f_disable_all_tch_h() runs on test_CT { +function f_disable_all_tch_h() runs on test_CT { f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 5 sub-slot 0 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 5 sub-slot 1 borken"); } @@ -4253,7 +4253,7 @@ f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 5 sub-slot 1 unused"); } -private function f_disable_all_sdcch() runs on test_CT { +function f_disable_all_sdcch() runs on test_CT { f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 0 sub-slot 0 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 0 sub-slot 1 borken"); f_vty_transceive(BSCVTY, "bts 0 trx 0 timeslot 0 sub-slot 2 borken"); @@ -6748,7 +6748,7 @@ } } -private function f_ts_set_chcomb(integer bts_nr, integer trx_nr, integer ts_nr, charstring chcomb) +function f_ts_set_chcomb(integer bts_nr, integer trx_nr, integer ts_nr, charstring chcomb) runs on test_CT { f_vty_enter_cfg_ts(BSCVTY, bts_nr, trx_nr, ts_nr); f_vty_transceive(BSCVTY, "phys_chan_config " & chcomb); diff --git a/bsc/BSC_Tests_2.ttcn b/bsc/BSC_Tests_2.ttcn index bbf869f..b211a37 100644 --- a/bsc/BSC_Tests_2.ttcn +++ b/bsc/BSC_Tests_2.ttcn @@ -185,8 +185,76 @@ f_shutdown_helper(); } +testcase TC_imm_ass_pre_chan_ack_dyn_ts() runs on test_CT { + /* change Timeslot 6 before f_init() starts RSL */ + f_init_vty(); + f_ts_set_chcomb(0, 0, 6, "TCH/F_TCH/H_PDCH"); + f_vty_transceive(BSCVTY, "drop bts connection 0 oml"); + + f_init(1, false); + f_sleep(1.0); + + var RslChannelNr chan_nr := valueof(t_RslChanNr_PDCH(6)); + /* The BSC will activate the dynamic PDCH by default, so confirm that */ + f_exp_ipa_rx(0, tr_RSL_CHAN_ACT_PDCH(chan_nr, ?)); + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, 2323)); + + /* clean up timeslot 6 config, will only take effect when the OML drops the next time */ + f_ts_set_chcomb(0, 0, 6, "PDCH"); + + /* block all static timeslots so that the dyn TS will be used */ + f_disable_all_tch_f(); + f_disable_all_tch_h(); + f_disable_all_sdcch(); + + var RSL_Message chan_act; + var RSL_Message imm_ass; + + f_init(1, false); + f_sleep(1.0); + + f_vty_set_imm_ass(BSCVTY, 0, "pre-chan-ack"); + + /* RA containing reason=LU */ + var GsmFrameNumber fn := 2342; + var uint8_t ra := 2; + f_ipa_tx(0, ts_RSL_CHAN_RQD(int2oct(ra, 1), fn)); + + /* (set bts 0 cfg back to default) */ + f_vty_set_imm_ass(BSCVTY); + + /* Expect the dyn TS to deactivate PDCH first */ + f_exp_ipa_rx(0, tr_RSL_RF_CHAN_REL(chan_nr)); + f_ipa_tx(0, ts_RSL_RF_CHAN_REL_ACK(chan_nr)); + + /* Now activation as SDCCH8 */ + chan_nr := valueof(t_RslChanNr_SDCCH8(tn := 6, sub_slot := 0)); + + chan_act := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV)); + //var RslChannelNr chan_nr := chan_act.ies[0].body.chan_nr; + + /* *FIRST* expect the Immediate Assignment, before we ACK the chan act */ + imm_ass := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0)); + f_verify_imm_ass(imm_ass, ra, fn, chan_nr); + + /* Only now send the Chan Act ACK */ + f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn+10)); + + /* Check that the lchan is working */ + var octetstring l3 := '00010203040506'O; + f_ipa_tx(0, ts_RSL_EST_IND(chan_nr, valueof(ts_RslLinkID_DCCH(0)), l3)); + + var BSSAP_N_CONNECT_ind rx_c_ind; + BSSAP.receive(tr_BSSAP_CONNECT_ind(?, ?, tr_BSSMAP_ComplL3(l3))) -> value rx_c_ind; + BSSAP.send(ts_BSSAP_CONNECT_res(rx_c_ind.connectionId)); + + f_sleep(1.0); + f_shutdown_helper(); +} + control { execute( TC_imm_ass_post_chan_ack() ); execute( TC_imm_ass_pre_chan_ack() ); + execute( TC_imm_ass_pre_chan_ack_dyn_ts() ); } } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25169 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: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba Gerrit-Change-Number: 25169 Gerrit-PatchSet: 1 Gerrit-Owner: neels <nhofmeyr at sysmocom.de> Gerrit-MessageType: newchange -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210808/0cb22650/attachment.htm>