diff --git a/msc/BSC_ConnectionHandler.ttcn b/msc/BSC_ConnectionHandler.ttcn index db0e68338..4534a9b65 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 6ad88603e..8c221dc87 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 {