WIP: Prepare MSC_Tests for ability to emulate two BSCs

Change-Id: Ibe3ae6ed4181c6ba7501f5443b4f22e3c8abeb3e
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 9ec65f1..1799508 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -47,9 +47,11 @@
 import from L3_Templates all;
 
 
-type component MTC_CT extends BSSAP_Adapter_CT, CTRL_Adapter_CT {
+type component MTC_CT extends CTRL_Adapter_CT {
 	var boolean g_initialized := false;
 
+	var BSSAP_Adapter g_bssap;
+
 	/* no 'adapter_CT' for MNCC or GSUP */
 	var MNCC_Emulation_CT vc_MNCC;
 	var MGCP_Emulation_CT vc_MGCP;
@@ -75,6 +77,15 @@
 	integer mp_mgw_port := 2427;
 
 	charstring mp_msc_mncc := "/tmp/mncc";
+
+	BSSAP_Configuration mp_bssap_cfg := {
+		sccp_service_type := "mtp3_itu",
+		sctp_addr := { 23905, "127.0.0.1", 2905, "127.0.0.1" },
+		own_pc := 185,
+		own_ssn := 254,
+		peer_pc := 187,
+		peer_ssn := 254
+	};
 }
 
 
@@ -144,7 +155,7 @@
 	}
 	g_initialized := true;
 
-	f_bssap_init("MSC_Test", BSC_BssmapOps);
+	f_bssap_init(g_bssap, mp_bssap_cfg, "MSC_Test", BSC_BssmapOps);
 	f_ipa_ctrl_start(mp_msc_ip, mp_msc_ctrl_port);
 	f_init_mncc("MSC_Test");
 	f_init_mgcp("MSC_Test");
@@ -323,12 +334,6 @@
 	}
 }
 
-//	enc_PDU_BSSAP
-
-function f_send_BSSAP_UNITDATA(template PDU_BSSAP bssap) runs on MTC_CT {
-	BSSAP.send(ts_BSSAP_UNITDATA_req(g_sccp_addr_peer, g_sccp_addr_own, bssap))
-}
-
 type function void_fn(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr;
 
 private function f_concat_pad(integer tot_len, hexstring prefix, integer suffix) return hexstring {
@@ -361,8 +366,8 @@
 		expect_ciph := false
 	};
 	var BSC_ConnHdlrPars pars := {
-		sccp_addr_own := g_sccp_addr_own,
-		sccp_addr_peer := g_sccp_addr_peer,
+		sccp_addr_own := g_bssap.sccp_addr_own,
+		sccp_addr_peer := g_bssap.sccp_addr_peer,
 		cell_id := valueof(ts_CellId_CGI('262'H, '042'H, 23, 42)),
 		imei := f_gen_imei(imsi_suffix),
 		imsi := f_gen_imsi(imsi_suffix),
@@ -377,8 +382,8 @@
 
 	vc_conn := BSC_ConnHdlr.create(id);
 	/* BSSMAP part / A interface */
-	connect(vc_conn:BSSAP, vc_BSSMAP:CLIENT);
-	connect(vc_conn:BSSAP_PROC, vc_BSSMAP:PROC);
+	connect(vc_conn:BSSAP, g_bssap.vc_BSSMAP:CLIENT);
+	connect(vc_conn:BSSAP_PROC, g_bssap.vc_BSSMAP:PROC);
 	/* MNCC part */
 	connect(vc_conn:MNCC, vc_MNCC:MNCC_CLIENT);
 	connect(vc_conn:MNCC_PROC, vc_MNCC:MNCC_PROC);