From f9abf8d26c530085cb95f9f9ec1ed5c8744fe1bd Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Sun, 21 Apr 2019 13:07:17 +0200 Subject: MSC_Tests: Allow test cases to specify RAN index This allows to start ConnHdlr on specific RAN connections, i.e. on different emulated BSCs (and soon RNCs). Change-Id: I3d7ec567a7b69d8c6f79d26971bf1c94e077d5f5 --- msc/BSC_ConnectionHandler.ttcn | 3 ++- msc/MSC_Tests.ttcn | 18 ++++++++++-------- 2 files changed, 12 insertions(+), 9 deletions(-) (limited to 'msc') diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index db0e6833..4534a9b6 100644 --- a/msc/BSC_ConnectionHandler.ttcn +++ b/msc/BSC_ConnectionHandler.ttcn @@ -74,7 +74,8 @@ type record BSC_ConnHdlrPars { boolean ipa_ctrl_enable, boolean mm_info, boolean sgsap_enable, - boolean gsup_enable + boolean gsup_enable, + integer ran_idx }; /* get a one-octet bitmaks of supported algorithms based on Classmark information */ diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn index 6ad88603..8c221dc8 100644 --- a/msc/MSC_Tests.ttcn +++ b/msc/MSC_Tests.ttcn @@ -485,7 +485,8 @@ modifies ts_BSSAP_BSSMAP := { type function void_fn(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr; /* FIXME: move into BSC_ConnectionHandler? */ -function f_init_pars(integer imsi_suffix, boolean sgsap := false, boolean gsup := true) runs on MTC_CT return BSC_ConnHdlrPars { +function f_init_pars(integer imsi_suffix, boolean sgsap := false, boolean gsup := true, integer ran_idx := 0) +runs on MTC_CT return BSC_ConnHdlrPars { var BSC_ConnHdlrNetworkPars net_pars := { kc_support := '0A'O, /* A5/1 and A5/3 enabled */ expect_tmsi := true, @@ -493,8 +494,8 @@ function f_init_pars(integer imsi_suffix, boolean sgsap := false, boolean gsup : expect_ciph := false }; var BSC_ConnHdlrPars pars := { - sccp_addr_own := g_bssap[0].sccp_addr_own, - sccp_addr_peer := g_bssap[0].sccp_addr_peer, + sccp_addr_own := g_bssap[ran_idx].sccp_addr_own, + sccp_addr_peer := g_bssap[ran_idx].sccp_addr_peer, cell_id := valueof(ts_CellId_CGI('262'H, '42'H, 23, 42)), imei := f_gen_imei(imsi_suffix), imsi := f_gen_imsi(imsi_suffix), @@ -511,7 +512,8 @@ function f_init_pars(integer imsi_suffix, boolean sgsap := false, boolean gsup : ipa_ctrl_enable := true, mm_info := mp_mm_info, sgsap_enable := sgsap, - gsup_enable := gsup + gsup_enable := gsup, + ran_idx := ran_idx }; return pars; } @@ -522,8 +524,8 @@ function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars) runs on MT vc_conn := BSC_ConnHdlr.create(id); /* BSSMAP part / A interface */ - connect(vc_conn:BSSAP, g_bssap[0].vc_RAN:CLIENT); - connect(vc_conn:BSSAP_PROC, g_bssap[0].vc_RAN:PROC); + connect(vc_conn:BSSAP, g_bssap[pars.ran_idx].vc_RAN:CLIENT); + connect(vc_conn:BSSAP_PROC, g_bssap[pars.ran_idx].vc_RAN:PROC); /* MNCC part */ connect(vc_conn:MNCC, vc_MNCC:MNCC_CLIENT); connect(vc_conn:MNCC_PROC, vc_MNCC:MNCC_PROC); @@ -550,8 +552,8 @@ function f_start_handler_with_pars(void_fn fn, BSC_ConnHdlrPars pars) runs on MT return vc_conn; } -function f_start_handler(void_fn fn, integer imsi_suffix) runs on MTC_CT return BSC_ConnHdlr { - return f_start_handler_with_pars(fn, f_init_pars(imsi_suffix)); +function f_start_handler(void_fn fn, integer imsi_suffix, integer ran_idx := 0) runs on MTC_CT return BSC_ConnHdlr { + return f_start_handler_with_pars(fn, f_init_pars(imsi_suffix, ran_idx := ran_idx)); } private function f_tc_lu_imsi_noauth_tmsi(charstring id, BSC_ConnHdlrPars pars) runs on BSC_ConnHdlr { -- cgit v1.2.3