diff --git a/bsc/RSL_Tests.ttcn b/bsc/RSL_Tests.ttcn
new file mode 100644
index 0000000..7c0cf7d
--- /dev/null
+++ b/bsc/RSL_Tests.ttcn
@@ -0,0 +1,40 @@
+module RSL_Tests {
+
+import from GSM_Types all;
+import from RSL_Types all;
+import from MobileL3_Types all;
+import from MobileL3_CommonIE_Types all;
+import from L3_Templates all;
+import from RSL_Emulation all;
+
+type component RSL_Tests_CT extends RSL_DchanHdlr {
+}
+
+private function f_rx_l3(PDU_ML3_NW_MS l3) runs on RSL_Tests_CT {
+	log("L3 received ", l3);
+	if (ischosen(l3.msgs.rrm.channelRelease)) {
+	}
+}
+
+function test_mahlzeit(hexstring imsi) runs on RSL_Tests_CT {
+
+	var RSL_Message rsl;
+	var RslLinkId link_id := valueof(ts_RslLinkID_DCCH(0));
+	var MobileIdentityLV mi := valueof(ts_MI_IMSI_LV(imsi));
+	var PDU_ML3_MS_NW l3_info := valueof(ts_CM_SERV_REQ('0001'B, mi));
+	timer T := 1.0;
+
+	f_chan_est('23'O, enc_PDU_ML3_MS_NW(l3_info), link_id, 23);
+	/* if we reach here, we have established a dedicated channel */
+
+	alt {
+	[] RSL.receive(tr_RSL_MsgTypeR(RSL_MT_DATA_REQ)) -> value rsl {
+		var PDU_ML3_NW_MS l3 := dec_PDU_ML3_NW_MS(rsl.ies[2].body.l3_info.payload);
+		f_rx_l3(l3);
+		}
+	}
+}
+
+
+
+}
