diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index 2cbd668..16ce506 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -571,6 +571,34 @@
 		frame_nr := tr_RSL_IE_FrameNumber(frame_nr)
 	}
 
+	/* 9.3.21 Resource Information */
+	type record RSL_IE_ResourceInfo {
+		uint8_t len,
+		RSL_ResourceInfo info
+	} with { variant (len) "LENGTHTO(info)" };
+
+	type record of RSL_ResourceInfoItem RSL_ResourceInfo;
+	type record RSL_ResourceInfoItem {
+		RslChannelNr chan_nr,
+		uint3_t interf_band,
+		BIT5 rfu ('00000'B)
+	};
+
+	template (value) RSL_ResourceInfoItem
+	ts_RSL_ResourceInfoItem(template (value) RslChannelNr chan_nr,
+				template (value) uint3_t interf_band := 0) := {
+		chan_nr := chan_nr,
+		interf_band := interf_band,
+		rfu := '00000'B
+	}
+	template RSL_ResourceInfoItem
+	tr_RSL_ResourceInfoItem(template (present) RslChannelNr chan_nr := ?,
+				template (present) uint3_t interf_band := ?) := {
+		chan_nr := chan_nr,
+		interf_band := interf_band,
+		rfu := ? /* Tolerate unknown values */
+	}
+
 	/* Osmocom Extension */
 	type record RSL_IE_UplinkMeasSuppMeasInfo {
 		int16_t toa256_mean,
@@ -869,6 +897,7 @@
 		RSL_IE_CbCommandType	cb_cmd_type,
 		RSL_LV			smscb_message,
 		RSL_IE_CbchLoadInfo	cbch_load_info,
+		RSL_IE_ResourceInfo	resource_info,
 		RSL_SacchInfo		sacch_info,
 
 		RSL_IE_StartingTime	starting_time,
@@ -929,6 +958,7 @@
 					cb_cmd_type, iei = RSL_IE_CB_CMD_TYPE;
 					smscb_message, iei = RSL_IE_SMSCB_MSG;
 					cbch_load_info, iei = RSL_IE_CBCH_LOAD_INFO;
+					resource_info, iei = RSL_IE_RESOURCE_INFO;
 					sacch_info, iei = RSL_IE_SACCH_INFO;
 					starting_time, iei = RSL_IE_STARTNG_TIME;
 					encr_info, iei = RSL_IE_ENCR_INFO;
@@ -1778,12 +1808,6 @@
 		}
 	}
 
-	template RSL_Message tr_RSL_RF_RES_IND := {
-		msg_disc := tr_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false),
-		msg_type := RSL_MT_RF_RES_IND,
-		ies := *
-	}
-
 	/* 8.5.8 BTS <- BSC SMS BROADCAST COMMAND */
 	template RSL_Message tr_RSL_SMSCB_CMD(template RSL_IE_CbCommandType cb_cmd := ?,
 					      template octetstring msg := ?,
@@ -1856,6 +1880,35 @@
 	}
 
 
+	/* 8.6.1 BTS -> BSC */
+	template (value) RSL_Message
+	ts_RSL_RF_RES_IND(template (value) RSL_ResourceInfo info) := {
+		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false),
+		msg_type := RSL_MT_RF_RES_IND,
+		ies := {
+			t_RSL_IE(RSL_IE_RESOURCE_INFO, RSL_IE_Body:{
+				resource_info := {
+					len := 0, /* overwritten */
+					info := info
+				}
+			})
+		}
+	}
+	template RSL_Message
+	tr_RSL_RF_RES_IND(template (present) RSL_ResourceInfo info := ?) := {
+		msg_disc := tr_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false),
+		msg_type := RSL_MT_RF_RES_IND,
+		ies := {
+			tr_RSL_IE(RSL_IE_Body:{
+				resource_info := {
+					len := ?,
+					info := info
+				}
+			})
+		}
+	}
+
+
 	/* 8.6.2 BTS <- BSC */
 	template (value) RSL_Message ts_RSL_SACCH_FILL(RSL_IE_SysinfoType si_type, octetstring l3_info) := {
 		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_TRX_MGMT, false),
