diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index 43f0734..2171fc0 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -531,13 +531,46 @@
 	external function dec_RSL_Message(in octetstring stream) return RSL_Message
 		with { extension "prototype(convert) decode(RAW)" };
 
-	template RSL_Message tr_RSL_MsgType(template RSL_MessageDiscriminator m_disc,
+	template RSL_Message tr_RSL_MsgDiscType(template RSL_MessageDiscriminator m_disc,
 				RSL_MessageType m_type) := {
 		msg_disc := m_disc,
 		msg_type := m_type,
 		ies := *
 	}
 
+template RSL_Message tr_RSL_MsgType(template RSL_MessageType msg_type) := {
+	msg_disc := ?,
+	msg_type := msg_type,
+	ies := *
+}
+
+/* Common Channel Management */
+template RSL_Message tr_RSL_MsgTypeC(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
+	msg_disc := { RSL_MDISC_CCHAN, ? }
+}
+
+/* RLL */
+template RSL_Message tr_RSL_MsgTypeR(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
+	msg_disc := { RSL_MDISC_RLL, true }
+}
+
+/* Dedicated Channel Management */
+template RSL_Message tr_RSL_MsgTypeD(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
+	msg_disc := { RSL_MDISC_DCHAN, ? }
+}
+
+/* Dedicated Channel Management */
+template RSL_Message tr_RSL_MsgTypeT(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
+	msg_disc := { RSL_MDISC_TRX_MGMT, ? }
+}
+
+
+/* dedicated channel or RLL */
+template RSL_Message tr_RSL_MsgTypeDR(template RSL_MessageType msg_type) modifies tr_RSL_MsgType := {
+	msg_disc := ({RSL_MDISC_DCHAN,?}, {RSL_MDISC_RLL,true})
+}
+
+
 	/* 8.3.1 BSC -> BTS */
 	template RSL_Message ts_RSL_DATA_REQ(RslChannelNr chan_nr, RslLinkId link_id, octetstring l3_info) := {
 		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, true),
