BTS: add some dynamic power control tests

Change-Id: I57489ba22542d859ced767e856634f9060c060f0
diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index 456d6d2..e8bb67f 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -626,6 +626,18 @@
 		msg := msg
 	}
 
+	/* 9.3.31 */
+	type record RSL_IE_MS_Power_Parameters {
+		uint8_t len,
+		octetstring params
+	} with {
+		variant (len) "LENGTHTO(params)";
+	};
+	template (value) RSL_IE_MS_Power_Parameters ts_RSL_IE_MS_Power_Parameters(octetstring params) := {
+		len := 0, /* overwritten */
+		params := params
+	}
+
 	/* 9.3.40 */
 	type enumerated RSL_ChanNeeded {
 		RSL_CHANNEED_ANY	('00'B),
@@ -765,6 +777,7 @@
 		uint8_t			handover_ref,
 		RSL_IE_BS_Power		bs_power,
 		RSL_IE_MS_Power		ms_power,
+		RSL_IE_MS_Power_Parameters ms_power_params,
 		uint8_t			timing_adv,
 		RSL_IE_MultirateCtrl	multirate_ctrl,
 		uint8_t			msg_id,
@@ -819,6 +832,7 @@
 					handover_ref, iei = RSL_IE_HANDO_REF;
 					bs_power, iei = RSL_IE_BS_POWER;
 					ms_power, iei = RSL_IE_MS_POWER;
+					ms_power_params, iei = RSL_IE_MS_POWER_PARAM;
 					timing_adv, iei = RSL_IE_TIMING_ADVANCE;
 					multirate_ctrl, iei = RSL_IE_MR_CONTROL;
 					msg_id, iei = RSL_IE_MSG_ID;
@@ -1442,6 +1456,18 @@
 		}
 	}
 
+	template (value) RSL_Message ts_RSL_MS_PWR_CTRL_with_pp(template (value) RslChannelNr chan_nr,
+							integer pwr_level) := {
+		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
+		msg_type := RSL_MT_MS_POWER_CONTROL,
+		ies := {
+			t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
+			t_RSL_IE(RSL_IE_MS_POWER, RSL_IE_Body:{ms_power := ts_RSL_IE_MS_Power(pwr_level)}),
+			t_RSL_IE(RSL_IE_MS_POWER_PARAM, RSL_IE_Body:{ms_power_params :=
+			ts_RSL_IE_MS_Power_Parameters(''O)})
+		}
+	}
+
 	/* 8.4.19 BTS -> BSC */
 	template (value) RSL_Message ts_RSL_RF_CHAN_REL_ACK(template (value) RslChannelNr chan_nr) :=
 		ts_RSL_MsgDiscType(ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),