RSL_Emulation: Move templates into RSL_Types
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),