diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index cb3767719..06085c640 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -6181,6 +6181,45 @@ testcase TC_dyn_osmo_pdch_tchh_act() runs on test_CT { vc_conn.done; } +/* try to RSL CHAN ACT the SDCCH8 on an osmocom-style PDCH */ +private function f_TC_dyn_osmo_pdch_sdcch8_act(charstring id) runs on ConnHdlr { + var PCUIF_Message first_info; + var integer ts_nr := g_chan_nr.tn; + var integer trx_nr := 0; + var integer bts_nr := 0; + var integer pcu_conn_id := -1; + var RslChannelNr chan_nr[8] := { valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 0)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 1)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 2)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 3)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 4)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 5)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 6)), + valueof(t_RslChanNr_SDCCH8(g_chan_nr.tn, 7)) }; + + /* register for the TCH/H channel numbers */ + for (var integer i := 0; i < lengthof(chan_nr); i := i + 1) { + f_rslem_register(0, chan_nr[i]); + } + + f_init_pcu(PCU, id, pcu_conn_id, first_info); + + for (var integer i := 0; i < lengthof(chan_nr); i := i + 1) { + f_rsl_transceive(ts_RSL_CHAN_ACT(chan_nr[i], g_pars.chan_mode), + tr_RSL_CHAN_ACT_ACK(chan_nr[i]), "RSL CHAN ACT [" & int2str(i) & "]"); + } + setverdict(pass); +} +testcase TC_dyn_osmo_pdch_sdcch8_act() runs on test_CT { + var ConnHdlrPars pars; + var ConnHdlr vc_conn; + f_init(); + + pars := valueof(t_Pars(t_RslChanNr_PDCH(4), ts_RSL_ChanMode_SIGN)); + vc_conn := f_start_handler(refers(f_TC_dyn_osmo_pdch_sdcch8_act), pars, true); + vc_conn.done; +} + /*********************************************************************** * IPA Style Dynamic Timeslot Support ***********************************************************************/ @@ -7647,6 +7686,7 @@ control { execute( TC_dyn_osmo_pdch_unsol_deact() ); execute( TC_dyn_osmo_pdch_tchf_act() ); execute( TC_dyn_osmo_pdch_tchh_act() ); + execute( TC_dyn_osmo_pdch_sdcch8_act() ); execute( TC_dyn_ipa_pdch_tchf_act() ); execute( TC_dyn_ipa_pdch_tchf_act_pdch_act_nack() );