diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index 246ea3f..2d9c92e 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -625,13 +625,19 @@
 		RSL_IPA_Codec		codec
 	}
 
+	/* 9.3.20 */
+	type enumerated RSL_IE_ReleaseMode {
+		RSL_REL_MODE_NORMAL	('00'B),
+		REL_REL_MODE_LOCAL	('01'B)
+	}
+
 	/* union of all IE bodies */
 	type union RSL_IE_Body {
 		RslChannelNr		chan_nr,
 		RslLinkId		link_id,
 		RSL_L16V		l3_info,
 		RSL_LV			rlm_cause,
-		uint8_t			release_mode,
+		RSL_IE_ReleaseMode	release_mode,
 		RSL_IE_ActivationType	act_type,
 		RSL_IE_ChannelMode	chan_mode,
 		uint8_t			handover_ref,
@@ -926,25 +932,38 @@
 			tr_RSL_IE(RSL_IE_Body:{l3_info := tr_RSL_L16V(l3_info)})
 		}
 	}
+	template RSL_Message tr_RSL_EST_IND_NOL3(template RslChannelNr chan_nr, template RslLinkId link_id) :=
+{
+		msg_disc := tr_RSL_MsgDisc(RSL_MDISC_RLL, false),
+		msg_type := RSL_MT_EST_IND,
+		ies := {
+			tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
+			tr_RSL_IE(RSL_IE_Body:{link_id := link_id})
+		}
+	}
+
 
 	/* 8.3.7 BSC -> BTS */
 	template (value) RSL_Message ts_RSL_REL_REQ(template (value) RslChannelNr chan_nr,
-						    template (value) RslLinkId link_id) := {
+						    template (value) RslLinkId link_id,
+						    template (value) RSL_IE_ReleaseMode rel_mode := RSL_REL_MODE_NORMAL) := {
 		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_RLL, false),
 		msg_type := RSL_MT_REL_REQ,
 		ies :={
 			t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
-			t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id})
+			t_RSL_IE(RSL_IE_LINK_IDENT, RSL_IE_Body:{link_id := link_id}),
+			t_RSL_IE(RSL_IE_RELEASE_MODE, RSL_IE_Body:{release_mode := rel_mode})
 		}
 	}
 	template RSL_Message tr_RSL_REL_REQ(template RslChannelNr chan_nr,
-					    template RslLinkId link_id) := {
+					    template RslLinkId link_id,
+					    template RSL_IE_ReleaseMode rel_mode := ?) := {
 		msg_disc := tr_RSL_MsgDisc(RSL_MDISC_RLL, false),
 		msg_type := RSL_MT_REL_REQ,
 		ies :={
 			tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
 			tr_RSL_IE(RSL_IE_Body:{link_id := link_id}),
-			*
+			tr_RSL_IE(RSL_IE_Body:{release_mode := rel_mode})
 		}
 	}
 
@@ -993,6 +1012,13 @@
 	modifies ts_RSL_DATA_REQ := {
 		msg_type := RSL_MT_UNIT_DATA_REQ
 	}
+	template RSL_Message tr_RSL_UNITDATA_REQ(template RslChannelNr chan_nr,
+						 template RslLinkId link_id,
+						 template octetstring l3_info)
+	modifies tr_RSL_DATA_REQ := {
+		msg_type := RSL_MT_UNIT_DATA_REQ
+	}
+
 
 	/* 8.3.11 BTS -> BSC */
 	template (value) RSL_Message ts_RSL_UNITDATA_IND(template (value) RslChannelNr chan_nr,
@@ -1001,6 +1027,14 @@
 	modifies ts_RSL_DATA_IND := {
 		msg_type := RSL_MT_UNIT_DATA_IND
 	}
+	template RSL_Message tr_RSL_UNITDATA_IND(template RslChannelNr chan_nr,
+						 template (value) RslLinkId link_id,
+						 template octetstring l3_info)
+	modifies tr_RSL_DATA_IND := {
+		msg_type := RSL_MT_UNIT_DATA_IND
+	}
+
+
 
 
 	/* DEDICATED CANNEL MANAGEMENT MESSAGES */
