bsc-tests: Add BTS_Simulation, RSL_Tests and .cfg file
diff --git a/bsc/BTS_Simulation.ttcn b/bsc/BTS_Simulation.ttcn
new file mode 100644
index 0000000..de78231
--- /dev/null
+++ b/bsc/BTS_Simulation.ttcn
@@ -0,0 +1,44 @@
+module BTS_Simulation {
+
+/* Start an IPA client and bind the RSL Emulation on top; we assume that OML
+ * is handled elsewhere! */
+
+import from IPL4asp_Types all;
+import from IPA_Emulation all;
+import from RSL_Emulation all;
+import from RSL_Tests all;
+
+type component BTS_CT {
+	var IPA_Emulation_CT vc_IPA;
+	var RSL_Emulation_CT vc_RSL;
+	var IPA_CCM_Parameters ccm_pars;
+}
+
+function main(charstring bsc_host, PortNumber bsc_port, charstring id) runs on BTS_CT
+{
+	vc_IPA := IPA_Emulation_CT.create(id & "-IPA");
+	vc_RSL := RSL_Emulation_CT.create(id & "-RSL");
+	ccm_pars := c_IPA_default_ccm_pars;
+	ccm_pars.name := "Osmocom TTCN-3 BTS Simulator";
+	ccm_pars.unit_id := "1234/0/0";
+
+	map(vc_IPA:IPA_PORT, system:IPA_CODEC_PT);
+	connect(vc_IPA:IPA_RSL_PORT, vc_RSL:IPA_PT);
+
+	vc_IPA.start(IPA_Emulation.main_client(bsc_host, bsc_port, "", -1, ccm_pars));
+	vc_RSL.start(RSL_Emulation.main());
+
+	var RSL_Tests_CT vc_DCHAN;
+	vc_DCHAN := RSL_Tests_CT.create(id & "-DCHAN");
+	connect(vc_DCHAN:RSL, vc_RSL:CLIENT_PT);
+	vc_DCHAN.start(RSL_Tests.test_mahlzeit('901700123456789'H));
+
+
+	/* wait until termination of respective component */
+	vc_RSL.done;
+	vc_IPA.done;
+}
+
+
+
+}