library/PCUIF_Types.ttcn: extend RACH.ind with TRX / TS number fields

Since there can be multiple PDCH channels configured on different
timeslots, different TRXes, and BTSes, the PTCCH/U handling code
in OsmoPCU needs to know the exact origin of a given RACH.ind.

Otherwise, it is not known which subscriber originated a given
PTCCH/U indication, and hence it is impossible to send PTCCH/D
Timing Advance notification properly.

Fortunately, we can extend the RACH.ind message without even
bumping the protocol version, because every single PDU has a
fixed size defined by the largest message - INFO.ind. In case
if the actual message payload is smaller, the rest is filled
with a constant padding byte (0x00).

Older versions of OsmoPCU will consider the new fields as padding,
while the messages from older OsmoBTS versions will always have
both fields set to 0x00. Since C0/TS0 cannot be configured to
PDCH, this can be easily detected on the other end.

Change-Id: Ia5c4e504a21dc5508920553d3856027455dba1b1
Related: OS#4102, OS#1545
diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn
index 87c9131..779f7c3 100644
--- a/bts/BTS_Tests.ttcn
+++ b/bts/BTS_Tests.ttcn
@@ -4170,8 +4170,8 @@
 			   chan_nr := ts_RslChanNr_PDCH(7),
 			   link_id := ts_RslLinkID_OSMO_PTCCH(0));
 
-	/* TODO: check time-slot and TRX number as soon as we extend the PCU interface */
-	pcu_rach_ind := tr_PCUIF_RACH_IND(ra := ra, fn := fn, sapi := PCU_IF_SAPI_PTCCH);
+	pcu_rach_ind := tr_PCUIF_RACH_IND(bts_nr := 0, trx_nr := 0, ts_nr := 7,
+					  ra := ra, fn := fn, sapi := PCU_IF_SAPI_PTCCH);
 
 	/* Expect a RACH.ind on the PCU interface (timeout is one multi-frame) */
 	T.start(52.0 * 4.615 / 1000.0);
@@ -4333,7 +4333,7 @@
 		timer T := 2.0;
 		T.start;
 		alt {
-		[] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_RACH_IND(0, oct2int(ra), 0, ?, fn))) {
+		[] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_RACH_IND(0, 0, 0, oct2int(ra), 0, ?, fn))) {
 			T.stop;
 			}
 		[] PCU.receive(t_SD_PCUIF(g_pcu_conn_id, tr_PCUIF_RACH_IND)) {
@@ -4382,7 +4382,7 @@
 
 		/* Compose the expected message */
 		pcu_rach_ind := tr_PCUIF_RACH_IND(
-			bts_nr := 0,
+			bts_nr := 0, trx_nr := 0, ts_nr := 0,
 			ra := bit2int(ra11),
 			is_11bit := 1,
 			burst_type := pcu_bt,