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;
+}
+
+
+
+}