diff --git a/bsc/MSC_ConnectionHandler.ttcn b/bsc/MSC_ConnectionHandler.ttcn
index 96797c9..36e554d 100644
--- a/bsc/MSC_ConnectionHandler.ttcn
+++ b/bsc/MSC_ConnectionHandler.ttcn
@@ -6,7 +6,7 @@
 import from GSM_Types all;
 import from SCCPasp_Types all;
 import from BSSAP_Types all;
-import from BSSMAP_Emulation all;
+import from RAN_Emulation all;
 import from BSSMAP_Templates all;
 
 import from IPL4asp_Types all;
@@ -330,14 +330,14 @@
 }
 
 /* this component represents a single subscriber connection at the MSC.
- * There is a 1:1 mapping between SCCP connections and BSSAP_ConnHdlr components.
- * We inherit all component variables, ports, functions, ... from BSSAP_ConnHdlr */
-type component MSC_ConnHdlr extends BSSAP_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr {
+ * There is a 1:1 mapping between SCCP connections and RAN_ConnHdlr components.
+ * We inherit all component variables, ports, functions, ... from RAN_ConnHdlr */
+type component MSC_ConnHdlr extends RAN_ConnHdlr, RSL_DchanHdlr, MGCP_ConnHdlr {
 	/* SCCP Connecction Identifier for the underlying SCCP connection */
 	var integer g_sccp_conn_id;
 
-	/* procedure port back to our parent (BSSMAP_Emulation_CT) for control */
-	port BSSMAPEM_PROC_PT BSSMAPEM;
+	/* procedure port back to our parent (RAN_Emulation_CT) for control */
+	port RAN_PROC_PT RAN;
 	port TELNETasp_PT BSCVTY;
 
 	var MediaState g_media;
@@ -357,10 +357,10 @@
 	}
 }
 
-/* Callback function from general BSSMAP_Emulation whenever a connectionless
+/* Callback function from general RAN_Emulation whenever a connectionless
  * BSSMAP message arrives.  Can retunr a PDU_BSSAP that should be sent in return */
 private function UnitdataCallback(PDU_BSSAP bssap)
-runs on BSSMAP_Emulation_CT return template PDU_BSSAP {
+runs on RAN_Emulation_CT return template PDU_BSSAP {
 	var template PDU_BSSAP resp := omit;
 
 	/* answer all RESET with a RESET ACK */
@@ -371,8 +371,8 @@
 	return resp;
 }
 
-const BssmapOps MSC_BssmapOps := {
-	create_cb := refers(BSSMAP_Emulation.ExpectedCreateCallback),
+const RanOps MSC_RanOps := {
+	create_cb := refers(RAN_Emulation.ExpectedCreateCallback),
 	unitdata_cb := refers(UnitdataCallback),
 	decode_dtap := false,
 	role_ms := false,
@@ -387,8 +387,8 @@
 
 /* register an expect with the BSSMAP core */
 private function f_create_bssmap_exp(octetstring l3_enc) runs on MSC_ConnHdlr {
-	BSSMAPEM.call(BSSMAPEM_register:{l3_enc, self}) {
-		[] BSSMAPEM.getreply(BSSMAPEM_register:{?, ?}) {};
+	RAN.call(RAN_register:{l3_enc, self}) {
+		[] RAN.getreply(RAN_register:{?, ?}) {};
 	}
 }
 
