aboutsummaryrefslogtreecommitdiffstats
path: root/msc
diff options
context:
space:
mode:
authorHarald Welte <laforge@gnumonks.org>2018-02-09 00:17:14 +0100
committerHarald Welte <laforge@gnumonks.org>2018-02-13 08:15:33 +0100
commita4ca446034c726124ccf8fab8ba9b709926c82bc (patch)
tree38c655dad291907e85bb70a2c62a29bf72044bba /msc
parent33ec09bf342892f3686e2a6387b418adc282857a (diff)
WIP: Prepare MSC_Tests for ability to emulate two BSCs
Diffstat (limited to 'msc')
-rw-r--r--msc/BSC_ConnectionHandler.ttcn4
-rw-r--r--msc/MSC_Tests.cfg14
-rw-r--r--msc/MSC_Tests.ttcn29
3 files changed, 30 insertions, 17 deletions
diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn
index 856b20a0..2d65a34c 100644
--- a/msc/BSC_ConnectionHandler.ttcn
+++ b/msc/BSC_ConnectionHandler.ttcn
@@ -147,7 +147,9 @@ const BssmapOps BSC_BssmapOps := {
create_cb := refers(BSSMAP_Emulation.ExpectedCreateCallback),
unitdata_cb := refers(BscUnitdataCallback),
decode_dtap := true,
- role_ms := true
+ role_ms := true,
+ sccp_addr_local := omit,
+ sccp_addr_peer := omit
}
diff --git a/msc/MSC_Tests.cfg b/msc/MSC_Tests.cfg
index ab8a2ff0..a7605aba 100644
--- a/msc/MSC_Tests.cfg
+++ b/msc/MSC_Tests.cfg
@@ -4,7 +4,7 @@ SourceInfoFormat := Single;
#ConsoleMask := ERROR | WARNING | TESTCASE | TTCN_MATCHING | DEBUG_ENCDEC
FileMask := LOG_ALL | TTCN_MATCHING;
-BSSAP.FileMask := LOG_NOTHING;
+#BSSAP.FileMask := LOG_NOTHING;
"MSC_Test-M3UA".FileMask := ERROR | WARNING;
"MSC_Test-SCCP".FileMask := ERROR | WARNING;
"MSC_Test-GSUP-IPA".FileMask := ERROR | WARNING;
@@ -27,9 +27,15 @@ mtc.FileMask := ERROR | WARNING;
[MODULE_PARAMETERS]
M3UA_Emulation.tsp_logVerbose := true;
-BSSAP_Adapter.mp_own_pc := 193; /* 0.23.3 */
-BSSAP_Adapter.mp_peer_pc := 185; /* 0.23.1 */
-BSSAP_Adapter.mp_sctp_addr := { 23906, "127.0.0.1", 2905, "127.0.0.1" };
+MSC_Tests.mp_bssap_cfg := {
+ sccp_service_type := "mtp3_itu",
+ sctp_addr := { 23906, "127.0.0.1", 2905, "127.0.0.1" },
+ own_pc := 193,
+ own_ssn := 254,
+ peer_pc := 185,
+ peer_ssn := 254,
+ sio := '83'O
+};
Osmocom_VTY_Functions.mp_prompt_prefix := "OsmoMSC";
[MAIN_CONTROLLER]
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 9ec65f1b..17995083 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -47,9 +47,11 @@ import from MobileL3_CommonIE_Types all;
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 @@ modulepar {
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 @@ function f_init() runs on MTC_CT {
}
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 @@ modifies ts_BSSAP_BSSMAP := {
}
}
-// 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 @@ function f_start_handler(void_fn fn, charstring id, integer imsi_suffix) runs on
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 @@ function f_start_handler(void_fn fn, charstring id, integer imsi_suffix) runs on
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);