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);