BTS_Tests: introduce and use TCH loop - as_l1_tch_loop()

Change-Id: Icd4c86e04a5f7a88ff8874a6be194fe13bb9e80c
Related: OS#4799
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 7b44363..f010c1b 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -687,6 +687,7 @@
 	[not ignore_other] as_l1_sacch();
 	[not ignore_other] as_meas_res();
 	[not ignore_other] as_l1_dcch_loop();
+	[not ignore_other] as_l1_tch_loop();
 	[not ignore_other] RSL.receive {
 		Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail, "Unexpected RSL message received");
 		}
@@ -1782,6 +1783,16 @@
 		}
 }
 
+private altstep as_l1_tch_loop() runs on ConnHdlr {
+	var L1ctlDlMessage l1_dl;
+	[] L1CTL.receive(tr_L1CTL_TRAFFIC_IND(g_chan_nr)) -> value l1_dl {
+		log("TCH received: ", l1_dl.payload.traffic_ind.data);
+		L1CTL.send(ts_L1CTL_TRAFFIC_REQ(g_chan_nr, l1_dl.dl_info.link_id,
+						l1_dl.payload.traffic_ind.data));
+		repeat;
+		}
+}
+
 private type record MeasElem {
 	uint6_t rxlev,
 	uint3_t rxqual
@@ -2141,6 +2152,7 @@
 	[] as_l1_sacch();
 	[] as_meas_res();
 	[] as_l1_dcch_loop();
+	[] as_l1_tch_loop();
 	[] L1CTL.receive { repeat; }
 	[g_Tmeas_exp.running] T.timeout {
 		/* as_meas_res() would have done Misc_Helpers.f_shutdown(__BFILE__, __LINE__, fail) in case