RSL_Types: More templates, f_rsl_find_ie() for finding an IE in a message

Change-Id: Id7fa7d672c1fde97882fa44959501e8bf7b8dc0b
diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index b3d758b..765a91e 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -909,6 +909,15 @@
 		msg_type := RSL_MT_MODE_MODIFY_NACK
 	}
 
+	/* 8.4.14: BTS <- BSC */
+	template RSL_Message tr_RSL_RF_CHAN_REL(template RslChannelNr chan_nr) := {
+		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
+		msg_type := RSL_MT_RF_CHAN_REL,
+		ies := {
+			tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr})
+		}
+	}
+
 	/* 8.4.19 BTS -> BSC */
 	template RSL_Message ts_RSL_RF_CHAN_REL_ACK(RslChannelNr chan_nr) :=
 		ts_RSL_MsgDiscType(ts_RSL_MsgDisc(RSL_MDISC_DCHAN, false),
@@ -1160,5 +1169,16 @@
 	}
 
 
+	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) {
+			if (msg.ies[i].iei == iei) {
+				ret := msg.ies[i].body;
+				return true;
+			}
+		}
+		return false;
+	}
+
+
 
 } with { encode "RAW" ; variant "FIELDORDER(msb)" }