bts: Add test for ETWS Primary Notification via P1 Rest Octets

Change-Id: I247ea0f336e4ae9eecb1e8166f2326bdd2c299f4
Related: OS#4047
diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index 87de9a4..da8c7f8 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -149,7 +149,9 @@
 		RSL_MT_IPAC_DLCX_IND		('01110110'B),
 		RSL_MT_IPAC_DLCX		('01110111'B),
 		RSL_MT_IPAC_DLCX_ACK		('01111000'B),
-		RSL_MT_IPAC_DLCX_NACK		('01111001'B)
+		RSL_MT_IPAC_DLCX_NACK		('01111001'B),
+
+		RSL_MT_OSMO_ETWS_CMD		('01111111'B)
 	} with { variant "FIELDLENGTH(8)" };
 
 	/*! RSL Information Element Identifiers (Chapter 9.3) */
@@ -2115,6 +2117,26 @@
 		}
 	}
 
+	template (value) RSL_Message ts_RSL_OSMO_ETWS_CMD(template (value) octetstring msg,
+							  template (value) RslChannelNr chan_nr := ts_RslChanNr_PCH_AGCH(0)) := {
+		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
+		msg_type := RSL_MT_OSMO_ETWS_CMD,
+		ies := {
+			t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
+			t_RSL_IE(RSL_IE_SMSCB_MSG, RSL_IE_Body:{smscb_message := ts_RSL_LV(msg)})
+		}
+	}
+	template RSL_Message tr_RSL_OSMO_ETWS_CMD(template RslChannelNr chan_nr := ?,
+						  template octetstring msg := ?) := {
+		msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
+		msg_type := RSL_MT_OSMO_ETWS_CMD,
+		ies := {
+			tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
+			tr_RSL_IE(RSL_IE_Body:{smscb_message := tr_RSL_LV(msg)})
+		}
+	}
+
+
 
 	function f_rsl_find_ie(RSL_Message msg, RSL_IE_Type iei, out RSL_IE_Body ret) return boolean {
 		for (var integer i := 0; i < sizeof(msg.ies); i := i+1) {