From 51114d1d9b1c03b3a7a35dd3c98416897c2c7755 Mon Sep 17 00:00:00 2001 From: Alexander Couzens Date: Tue, 31 Jul 2018 18:41:56 +0200 Subject: sgsn: create 3 instances of BSSGP at the same time Allows to use different BSSGP connection within a single test. Change-Id: I01d7f264a0a52e248d6e754485c807266c0b14bf --- sgsn/SGSN_Tests.ttcn | 121 +++++++++++++++++++++++++++------------------------ 1 file changed, 65 insertions(+), 56 deletions(-) (limited to 'sgsn') diff --git a/sgsn/SGSN_Tests.ttcn b/sgsn/SGSN_Tests.ttcn index 6bf2d605..3616a620 100644 --- a/sgsn/SGSN_Tests.ttcn +++ b/sgsn/SGSN_Tests.ttcn @@ -60,8 +60,11 @@ type record GbInstance { BssgpConfig cfg }; +type record length(3) of GbInstance GbInstances; +type record length(3) of BssgpCellId BssgpCellIds; + type component test_CT { - var GbInstance g_gb[3]; + var GbInstances g_gb; var GSUP_Emulation_CT vc_GSUP; var IPA_Emulation_CT vc_GSUP_IPA; @@ -101,15 +104,15 @@ type record BSSGP_ConnHdlrPars { OCT4 tlli, OCT4 tlli_old optional, RoutingAreaIdentificationV ra optional, - BssgpCellId bssgp_cell_id, + BssgpCellIds bssgp_cell_id, AuthVector vec optional, SGSN_ConnHdlrNetworkPars net, float t_guard }; -private function f_init_gb(inout GbInstance gb, charstring id) runs on test_CT { - gb.vc_NS := NS_CT.create(id & "-NS"); - gb.vc_BSSGP := BSSGP_CT.create(id & "-BSSGP"); +private function f_init_gb(inout GbInstance gb, charstring id, integer offset) runs on test_CT { + gb.vc_NS := NS_CT.create(id & "-NS" & int2str(offset)); + gb.vc_BSSGP := BSSGP_CT.create(id & "-BSSGP" & int2str(offset)); /* connect lower end of BSSGP emulation with NS upper port */ connect(gb.vc_BSSGP:BSCP, gb.vc_NS:NS_SP); /* connect lower end of NS emulation to NS codec port (on top of IPL4) */ @@ -224,7 +227,9 @@ function f_init(BcdMccMnc mcc_mnc := '26242F'H) runs on test_CT { sgsn_role := false }; - f_init_gb(g_gb[0], "SGSN_Test-Gb0"); + f_init_gb(g_gb[0], "SGSN_Test-Gb0", 0); + f_init_gb(g_gb[1], "SGSN_Test-Gb1", 1); + f_init_gb(g_gb[2], "SGSN_Test-Gb2", 2); f_init_gsup("SGSN_Test"); f_init_gtp("SGSN_Test"); f_init_vty(); @@ -234,7 +239,7 @@ function f_init(BcdMccMnc mcc_mnc := '26242F'H) runs on test_CT { type function void_fn(charstring id) runs on BSSGP_ConnHdlr; /* helper function to create, connect and start a BSSGP_ConnHdlr component */ -function f_start_handler(void_fn fn, charstring id, GbInstance gb, integer imsi_suffix, +function f_start_handler(void_fn fn, charstring id, GbInstances gb, integer imsi_suffix, float t_guard := 30.0) runs on test_CT return BSSGP_ConnHdlr { var BSSGP_ConnHdlr vc_conn; @@ -252,15 +257,19 @@ runs on test_CT return BSSGP_ConnHdlr { tlli := f_gprs_tlli_random(), tlli_old := omit, ra := omit, - bssgp_cell_id := gb.cfg.cell_id, + bssgp_cell_id := { gb[0].cfg.cell_id, gb[1].cfg.cell_id, gb[2].cfg.cell_id }, vec := omit, net := net_pars, t_guard := t_guard }; vc_conn := BSSGP_ConnHdlr.create(id); - connect(vc_conn:BSSGP[0], gb.vc_BSSGP:BSSGP_SP); - connect(vc_conn:BSSGP_PROC[0], gb.vc_BSSGP:BSSGP_PROC); + connect(vc_conn:BSSGP[0], gb[0].vc_BSSGP:BSSGP_SP); + connect(vc_conn:BSSGP_PROC[0], gb[0].vc_BSSGP:BSSGP_PROC); + connect(vc_conn:BSSGP[1], gb[1].vc_BSSGP:BSSGP_SP); + connect(vc_conn:BSSGP_PROC[1], gb[1].vc_BSSGP:BSSGP_PROC); + connect(vc_conn:BSSGP[2], gb[2].vc_BSSGP:BSSGP_SP); + connect(vc_conn:BSSGP_PROC[2], gb[2].vc_BSSGP:BSSGP_PROC); connect(vc_conn:GSUP, vc_GSUP:GSUP_CLIENT); connect(vc_conn:GSUP_PROC, vc_GSUP:GSUP_PROC); @@ -286,7 +295,7 @@ runs on BSSGP_ConnHdlr { g_pars := pars; /* register with BSSGP core */ - f_bssgp_client_register(g_pars.imsi, g_pars.tlli, g_pars.bssgp_cell_id); + f_bssgp_client_register(g_pars.imsi, g_pars.tlli, g_pars.bssgp_cell_id[0]); /* tell GSUP dispatcher to send this IMSI to us */ f_create_gsup_expect(hex2str(g_pars.imsi)); /* tell GTP dispatcher to send this IMSI to us */ @@ -417,9 +426,9 @@ function f_upd_ptmsi_and_tlli(OCT4 p_tmsi) runs on BSSGP_ConnHdlr { function f_process_attach_accept(PDU_GMM_AttachAccept aa) runs on BSSGP_ConnHdlr { /* mandatory IE */ var hexstring aa_plmn := f_RAI_to_plmn_hexstr(aa.routingAreaIdentification); - if (not (g_pars.bssgp_cell_id.ra_id.lai.mcc_mnc == aa_plmn)) { + if (not (g_pars.bssgp_cell_id[0].ra_id.lai.mcc_mnc == aa_plmn)) { setverdict(fail, "mismatching PLMN in Attach Accept: " & hex2str(aa_plmn) - & "; expected " & hex2str(g_pars.bssgp_cell_id.ra_id.lai.mcc_mnc)); + & "; expected " & hex2str(g_pars.bssgp_cell_id[0].ra_id.lai.mcc_mnc)); mtc.stop; } g_pars.ra := aa.routingAreaIdentification; @@ -524,7 +533,7 @@ testcase TC_attach() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb[0], 1); + vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb, 1); vc_conn.done; } @@ -532,7 +541,7 @@ testcase TC_attach_mnc3() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init('023042'H); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb[0], 1001); + vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb, 1001); vc_conn.done; } @@ -544,7 +553,7 @@ testcase TC_attach_umts_aka_umts_res() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach_umts_aka_umts_res), testcasename(), g_gb[0], 1002); + vc_conn := f_start_handler(refers(f_TC_attach_umts_aka_umts_res), testcasename(), g_gb, 1002); vc_conn.done; } @@ -556,7 +565,7 @@ testcase TC_attach_umts_aka_gsm_sres() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach_umts_aka_gsm_sres), testcasename(), g_gb[0], 1003); + vc_conn := f_start_handler(refers(f_TC_attach_umts_aka_gsm_sres), testcasename(), g_gb, 1003); vc_conn.done; } @@ -582,7 +591,7 @@ private function f_TC_attach_auth_id_timeout(charstring id) runs on BSSGP_ConnHd testcase TC_attach_auth_id_timeout() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_auth_id_timeout), testcasename(), g_gb[0], 2, 40.0); + vc_conn := f_start_handler(refers(f_TC_attach_auth_id_timeout), testcasename(), g_gb, 2, 40.0); vc_conn.done; } @@ -602,7 +611,7 @@ private function f_TC_attach_auth_sai_timeout(charstring id) runs on BSSGP_ConnH testcase TC_attach_auth_sai_timeout() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_auth_sai_timeout), testcasename(), g_gb[0], 3); + vc_conn := f_start_handler(refers(f_TC_attach_auth_sai_timeout), testcasename(), g_gb, 3); vc_conn.done; } @@ -623,7 +632,7 @@ private function f_TC_attach_auth_sai_reject(charstring id) runs on BSSGP_ConnHd testcase TC_attach_auth_sai_reject() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_auth_sai_reject), testcasename(), g_gb[0], 4); + vc_conn := f_start_handler(refers(f_TC_attach_auth_sai_reject), testcasename(), g_gb, 4); vc_conn.done; } @@ -652,7 +661,7 @@ testcase TC_attach_gsup_lu_timeout() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach_gsup_lu_timeout), testcasename(), g_gb[0], 5); + vc_conn := f_start_handler(refers(f_TC_attach_gsup_lu_timeout), testcasename(), g_gb, 5); vc_conn.done; } @@ -682,7 +691,7 @@ testcase TC_attach_gsup_lu_reject() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach_gsup_lu_reject), testcasename(), g_gb[0], 6); + vc_conn := f_start_handler(refers(f_TC_attach_gsup_lu_reject), testcasename(), g_gb, 6); vc_conn.done; } @@ -707,7 +716,7 @@ testcase TC_attach_combined() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach_combined), testcasename(), g_gb[0], 7); + vc_conn := f_start_handler(refers(f_TC_attach_combined), testcasename(), g_gb, 7); vc_conn.done; } @@ -731,7 +740,7 @@ testcase TC_attach_accept_all() runs on test_CT { f_init(); f_sleep(1.0); f_vty_config(SGSNVTY, "sgsn", "auth-policy accept-all"); - vc_conn := f_start_handler(refers(f_TC_attach_accept_all), testcasename(), g_gb[0], 8); + vc_conn := f_start_handler(refers(f_TC_attach_accept_all), testcasename(), g_gb, 8); vc_conn.done; } @@ -741,7 +750,7 @@ private function f_TC_attach_closed_foreign(charstring id) runs on BSSGP_ConnHdl /* Simulate a foreign IMSI */ g_pars.imsi := '001010123456789'H; - f_bssgp_client_register(g_pars.imsi, g_pars.tlli, g_pars.bssgp_cell_id); + f_bssgp_client_register(g_pars.imsi, g_pars.tlli, g_pars.bssgp_cell_id[0]); g_pars.net.expect_auth := false; @@ -766,10 +775,10 @@ testcase TC_attach_closed() runs on test_CT { f_sleep(1.0); f_vty_config(SGSNVTY, "sgsn", "auth-policy closed"); /* test with foreign IMSI: Must Reject */ - vc_conn := f_start_handler(refers(f_TC_attach_closed_foreign), testcasename(), g_gb[0], 9); + vc_conn := f_start_handler(refers(f_TC_attach_closed_foreign), testcasename(), g_gb, 9); vc_conn.done; /* test with home IMSI: Must Accept */ - vc_conn := f_start_handler(refers(f_TC_attach_accept_all), testcasename(), g_gb[0], 10); + vc_conn := f_start_handler(refers(f_TC_attach_accept_all), testcasename(), g_gb, 10); vc_conn.done; } @@ -790,7 +799,7 @@ testcase TC_rau_unknown() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_rau_unknown), testcasename(), g_gb[0], 11); + vc_conn := f_start_handler(refers(f_TC_rau_unknown), testcasename(), g_gb, 11); vc_conn.done; } @@ -819,7 +828,7 @@ testcase TC_attach_rau() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach_rau), testcasename(), g_gb[0], 12); + vc_conn := f_start_handler(refers(f_TC_attach_rau), testcasename(), g_gb, 12); vc_conn.done; } @@ -864,7 +873,7 @@ testcase TC_detach_unknown_nopoweroff() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_detach_unknown_nopoweroff), testcasename(), g_gb[0], 13); + vc_conn := f_start_handler(refers(f_TC_detach_unknown_nopoweroff), testcasename(), g_gb, 13); vc_conn.done; } @@ -876,7 +885,7 @@ testcase TC_detach_unknown_poweroff() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_detach_unknown_poweroff), testcasename(), g_gb[0], 14); + vc_conn := f_start_handler(refers(f_TC_detach_unknown_poweroff), testcasename(), g_gb, 14); vc_conn.done; } @@ -891,7 +900,7 @@ testcase TC_detach_nopoweroff() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_detach_nopoweroff), testcasename(), g_gb[0], 15); + vc_conn := f_start_handler(refers(f_TC_detach_nopoweroff), testcasename(), g_gb, 15); vc_conn.done; } @@ -906,7 +915,7 @@ testcase TC_detach_poweroff() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_detach_poweroff), testcasename(), g_gb[0], 16); + vc_conn := f_start_handler(refers(f_TC_detach_poweroff), testcasename(), g_gb, 16); vc_conn.done; } @@ -1196,7 +1205,7 @@ private function f_TC_attach_pdp_act(charstring id) runs on BSSGP_ConnHdlr { testcase TC_attach_pdp_act() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_pdp_act), testcasename(), g_gb[0], 17); + vc_conn := f_start_handler(refers(f_TC_attach_pdp_act), testcasename(), g_gb, 17); vc_conn.done; } @@ -1224,7 +1233,7 @@ private function f_TC_pdp_act_unattached(charstring id) runs on BSSGP_ConnHdlr { testcase TC_pdp_act_unattached() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_pdp_act_unattached), testcasename(), g_gb[0], 18); + vc_conn := f_start_handler(refers(f_TC_pdp_act_unattached), testcasename(), g_gb, 18); vc_conn.done; } @@ -1243,7 +1252,7 @@ private function f_TC_attach_pdp_act_user(charstring id) runs on BSSGP_ConnHdlr testcase TC_attach_pdp_act_user() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user), testcasename(), g_gb[0], 19); + vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user), testcasename(), g_gb, 19); vc_conn.done; } @@ -1262,7 +1271,7 @@ private function f_TC_attach_pdp_act_ggsn_reject(charstring id) runs on BSSGP_Co testcase TC_attach_pdp_act_ggsn_reject() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_ggsn_reject), testcasename(), g_gb[0], 20); + vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_ggsn_reject), testcasename(), g_gb, 20); vc_conn.done; } @@ -1283,7 +1292,7 @@ private function f_TC_attach_pdp_act_user_deact_mo(charstring id) runs on BSSGP_ testcase TC_attach_pdp_act_user_deact_mo() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_deact_mo), testcasename(), g_gb[0], 21); + vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_deact_mo), testcasename(), g_gb, 21); vc_conn.done; } @@ -1304,7 +1313,7 @@ private function f_TC_attach_pdp_act_user_deact_mt(charstring id) runs on BSSGP_ testcase TC_attach_pdp_act_user_deact_mt() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_deact_mt), testcasename(), g_gb[0], 22); + vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_deact_mt), testcasename(), g_gb, 22); vc_conn.done; } @@ -1323,7 +1332,7 @@ private function f_TC_attach_forget_tlli_attach(charstring id) runs on BSSGP_Con testcase TC_attach_second_attempt() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_forget_tlli_attach), testcasename(), g_gb[0], 22); + vc_conn := f_start_handler(refers(f_TC_attach_forget_tlli_attach), testcasename(), g_gb, 22); vc_conn.done; } @@ -1363,7 +1372,7 @@ testcase TC_attach_restart_ctr_echo() runs on test_CT { var BSSGP_ConnHdlr vc_conn; g_use_echo := true f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_restart_ctr_echo), testcasename(), g_gb[0], 23, 30.0); + vc_conn := f_start_handler(refers(f_TC_attach_restart_ctr_echo), testcasename(), g_gb, 23, 30.0); vc_conn.done; g_use_echo := false } @@ -1403,7 +1412,7 @@ private function f_TC_attach_restart_ctr_create(charstring id) runs on BSSGP_Con testcase TC_attach_restart_ctr_create() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_restart_ctr_create), testcasename(), g_gb[0], 24, 30.0); + vc_conn := f_start_handler(refers(f_TC_attach_restart_ctr_create), testcasename(), g_gb, 24, 30.0); vc_conn.done; } @@ -1439,7 +1448,7 @@ testcase TC_attach_pdp_act_deact_mt_t3395_expire() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_deact_mt_t3395_expire), testcasename(), g_gb[0], 25, 60.0); + vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_deact_mt_t3395_expire), testcasename(), g_gb, 25, 60.0); vc_conn.done; } @@ -1487,7 +1496,7 @@ private function f_TC_attach_pdp_act_user_error_ind_ggsn(charstring id) runs on testcase TC_attach_pdp_act_user_error_ind_ggsn() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_error_ind_ggsn), testcasename(), g_gb[0], 26); + vc_conn := f_start_handler(refers(f_TC_attach_pdp_act_user_error_ind_ggsn), testcasename(), g_gb, 26); vc_conn.done; } @@ -1499,7 +1508,7 @@ testcase TC_hlr_location_cancel_request_update() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_update), testcasename(), g_gb[0], 31); + vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_update), testcasename(), g_gb, 31); vc_conn.done; } @@ -1530,7 +1539,7 @@ testcase TC_hlr_location_cancel_request_withdraw() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_withdraw), testcasename(), g_gb[0], 29); + vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_withdraw), testcasename(), g_gb, 29); vc_conn.done; } @@ -1560,7 +1569,7 @@ testcase TC_hlr_location_cancel_request_unknown_subscriber_withdraw() runs on te var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_unknown_subscriber_withdraw), testcasename(), g_gb[0], 30); + vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_unknown_subscriber_withdraw), testcasename(), g_gb, 30); vc_conn.done; } @@ -1576,7 +1585,7 @@ testcase TC_hlr_location_cancel_request_unknown_subscriber_update() runs on test var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_unknown_subscriber_update), testcasename(), g_gb[0], 30); + vc_conn := f_start_handler(refers(f_TC_hlr_location_cancel_request_unknown_subscriber_update), testcasename(), g_gb, 30); vc_conn.done; } @@ -1595,7 +1604,7 @@ testcase TC_attach_detach_check_subscriber_list() runs on test_CT { var charstring imsi := hex2str(f_gen_imsi(id)); f_init(); - vc_conn := f_start_handler(refers(f_TC_attach_detach_check_subscriber_list), testcasename(), g_gb[0], id); + vc_conn := f_start_handler(refers(f_TC_attach_detach_check_subscriber_list), testcasename(), g_gb, id); vc_conn.done; f_vty_transceive_not_match(SGSNVTY, "show subscriber cache", pattern "* IMSI: {imsi}*"); @@ -1642,7 +1651,7 @@ testcase TC_attach_no_imei_response() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach_no_imei_response), testcasename(), g_gb[0], 32, 60.0); + vc_conn := f_start_handler(refers(f_TC_attach_no_imei_response), testcasename(), g_gb, 32, 60.0); vc_conn.done; } @@ -1690,7 +1699,7 @@ testcase TC_attach_no_imsi_response() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach_no_imsi_response), testcasename(), g_gb[0], 35, 60.0); + vc_conn := f_start_handler(refers(f_TC_attach_no_imsi_response), testcasename(), g_gb, 35, 60.0); vc_conn.done; } @@ -1708,7 +1717,7 @@ testcase TC_attach_check_subscriber_list() runs on test_CT { f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb[0], id); + vc_conn := f_start_handler(refers(f_TC_attach), testcasename(), g_gb, id); vc_conn.done; f_vty_transceive_match(SGSNVTY, "show subscriber cache", pattern "* IMSI: {imsi}*"); @@ -1723,7 +1732,7 @@ private function f_TC_attach_closed_imsi_added(charstring id) runs on BSSGP_Conn f_bssgp_client_unregister(g_pars.imsi); /* Simulate a foreign IMSI */ g_pars.imsi := '001010123456789'H; - f_bssgp_client_register(g_pars.imsi, g_pars.tlli, g_pars.bssgp_cell_id); + f_bssgp_client_register(g_pars.imsi, g_pars.tlli, g_pars.bssgp_cell_id[0]); /* there is no auth */ g_pars.net.expect_auth := false; @@ -1762,11 +1771,11 @@ testcase TC_attach_closed_add_vty() runs on test_CT { f_vty_config(SGSNVTY, "sgsn", "auth-policy closed"); f_vty_config(SGSNVTY, "sgsn", "imsi-acl del 001010123456789"); /* test with foreign IMSI: Must Reject */ - vc_conn := f_start_handler(refers(f_TC_attach_closed_foreign), testcasename(), g_gb[0], 9); + vc_conn := f_start_handler(refers(f_TC_attach_closed_foreign), testcasename(), g_gb, 9); vc_conn.done; f_vty_config(SGSNVTY, "sgsn", "imsi-acl add 001010123456789"); /* test with same IMSI: Must Accept */ - vc_conn := f_start_handler(refers(f_TC_attach_closed_imsi_added), testcasename(), g_gb[0], 10); + vc_conn := f_start_handler(refers(f_TC_attach_closed_imsi_added), testcasename(), g_gb, 10); vc_conn.done; } @@ -1803,7 +1812,7 @@ testcase TC_attach_check_complete_resend() runs on test_CT { var BSSGP_ConnHdlr vc_conn; f_init(); f_sleep(1.0); - vc_conn := f_start_handler(refers(f_TC_attach_check_complete_resend), testcasename(), g_gb[0], 36, 60.0); + vc_conn := f_start_handler(refers(f_TC_attach_check_complete_resend), testcasename(), g_gb, 36, 60.0); vc_conn.done; } -- cgit v1.2.3