bsc: Testing of dynamic PDCH (both IPA style and Osmocom style)

This adds a set of four new testcases relted to dynamic PDCH switching:
One successful and one unsuccessful for each Osmo + IPA style dynamic
PDCH.

Closes: OS#3099
Change-Id: I7a7a937548a35461d86e93ead79c39a37a59563e
diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index 5dba470..104a1a8 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -277,6 +277,13 @@
 		a_bits := 0 /* related to immediate assignment */
 	}
 
+	/* osmocom-style dynamic PDCH */
+	template RSL_IE_ActivationType t_RSL_IE_ActType_PDCH := {
+		reactivation := false,
+		reserved := 1,
+		a_bits := 7 /* related to immediate assignment */
+	}
+
 	/* 9.3.6 */
 	type enumerated RSL_SpeechDataInd {
 		RSL_SPDI_SPEECH		('00000001'B),
@@ -418,7 +425,7 @@
 	}
 
 	/* 3GPP TS 44.018 / 10.5.2.38 Starting Time */
-	template RSL_IE_FrameNumber ts_RSL_IE_FrameNumber(GsmFrameNumber fn) := {
+	template (value) RSL_IE_FrameNumber ts_RSL_IE_FrameNumber(GsmFrameNumber fn) := {
 		t1_p := (fn / 1326) mod 32,
 		t3 := fn mod 51,
 		t2 := fn mod 26
@@ -945,6 +952,30 @@
 			/* lots of optional IEs */
 		}
 	}
+	template RSL_Message tr_RSL_CHAN_ACT(template RslChannelNr chan_nr,
+					     template RSL_IE_ChannelMode mode) := {
+		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
+		msg_type := RSL_MT_CHAN_ACTIV,
+		ies :={
+			tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
+			tr_RSL_IE(RSL_IE_Body:{act_type := t_RSL_IE_ActType}),
+			tr_RSL_IE(RSL_IE_Body:{chan_mode := mode}),
+			/* lots of optional IEs */
+			*
+		}
+	}
+	template RSL_Message tr_RSL_CHAN_ACT_PDCH(template RslChannelNr chan_nr,
+						  template RSL_IE_ChannelMode mode) := {
+		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
+		msg_type := RSL_MT_CHAN_ACTIV,
+		ies :={
+			tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
+			tr_RSL_IE(RSL_IE_Body:{act_type := t_RSL_IE_ActType_PDCH}),
+			/* lots of optional IEs */
+			*
+		}
+	}
+
 
 	/* 8.4.2 BTS -> BSC */
 	template RSL_Message ts_RSL_CHAN_ACT_ACK(RslChannelNr chan_nr, GsmFrameNumber fn) := {
@@ -1563,7 +1594,8 @@
 	}
 
 
-	template RSL_Message ts_RSL_IPA_PDCH_ACT_ACK(RslChannelNr chan_nr, RSL_IE_FrameNumber fn) := {
+	template RSL_Message ts_RSL_IPA_PDCH_ACT_ACK(RslChannelNr chan_nr,
+						     template (value) RSL_IE_FrameNumber fn) := {
 		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
 		msg_type := RSL_MT_IPAC_PDCH_ACT_ACK,
 		ies := {