diff --git a/library/RSL_Types.ttcn b/library/RSL_Types.ttcn
index ef3f45b..7f37720 100644
--- a/library/RSL_Types.ttcn
+++ b/library/RSL_Types.ttcn
@@ -1532,21 +1532,26 @@
 
 
 	/* 8.5.3 BTS -> BSC */
-	template (value) RSL_Message ts_RSL_CHAN_RQD(OCT1 ra, GsmFrameNumber fn, uint8_t acc_del := 0) := {
+	template (value) RSL_Message ts_RSL_CHAN_RQD(OCT1 ra, GsmFrameNumber fn,
+						     template (value) RslChannelNr chan_nr := ts_RslChanNr_RACH(0),
+						     uint8_t acc_del := 0) := {
 		msg_disc := ts_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
 		msg_type := RSL_MT_CHAN_RQD,
 		ies := {
-			t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := ts_RslChanNr_RACH(0)}),
+			t_RSL_IE(RSL_IE_CHAN_NR, RSL_IE_Body:{chan_nr := chan_nr}),
+			/* TODO: we may need to have optional RSL_IE_LINK_IDENT IE here */
 			t_RSL_IE(RSL_IE_REQ_REFERENCE, RSL_IE_Body:{req_ref := ts_RSL_IE_ReqRef(ra, fn)}),
 			t_RSL_IE(RSL_IE_ACCESS_DELAY, RSL_IE_Body:{access_delay := acc_del})
 		}
 	}
 	template RSL_Message tr_RSL_CHAN_RQD(template OCT1 ra, template GsmFrameNumber fn := ?,
-						template uint8_t acc_del := ?) := {
+					     template RslChannelNr chan_nr := ts_RslChanNr_RACH(0),
+					     template uint8_t acc_del := ?) := {
 		msg_disc := tr_RSL_MsgDisc(RSL_MDISC_CCHAN, false),
 		msg_type := RSL_MT_CHAN_RQD,
 		ies := {
-			tr_RSL_IE(RSL_IE_Body:{chan_nr := t_RslChanNr_RACH(0)}),
+			tr_RSL_IE(RSL_IE_Body:{chan_nr := chan_nr}),
+			/* TODO: we may need to have optional RSL_IE_LINK_IDENT IE here */
 			tr_RSL_IE(RSL_IE_Body:{req_ref := tr_RSL_IE_ReqRef(ra, fn)}),
 			tr_RSL_IE(RSL_IE_Body:{access_delay := acc_del})
 		}
