bts: Introduce test TC_dyn_osmo_pdch_sdcch8_act

Change-Id: I16d5f32697d2b5df97419d39a3948777bedfc1b5
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index cb37677..06085c6 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -6181,6 +6181,45 @@
 	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 @@
 	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() );