bsc: add TC_mscpool_sccp_n_pcstate_detaches_msc
Related: SYS#6319 OS#5917 Related: I3a0869598b8395601a16d78dbc46eec400c0ea84 (osmo-bsc) Change-Id: Ia1aea4e33230d6a685b72ea5ba20dd9c7d265d44
This commit is contained in:
parent
002658a071
commit
2bdc6b6e3e
|
@ -9161,6 +9161,50 @@ testcase TC_mscpool_no_allow_attach_valid_nri() runs on test_CT {
|
|||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
/* When an MSC point-code gets an SCCP N-PCSTATE saying it is unreachable, immediately mark the MSC as unusable. */
|
||||
testcase TC_mscpool_sccp_n_pcstate_detaches_msc() runs on test_CT {
|
||||
|
||||
f_init(nr_bts := 3, handler_mode := true, nr_msc := 2);
|
||||
f_sleep(1.0);
|
||||
|
||||
/* Control which MSC gets chosen next by the round-robin, otherwise
|
||||
* would be randomly affected by which other tests ran before this. */
|
||||
f_vty_transceive(BSCVTY, "mscpool roundrobin next 0");
|
||||
|
||||
f_ctrs_msc_init();
|
||||
|
||||
var MSC_ConnHdlr vc_conn1;
|
||||
var TestHdlrParams pars1 := f_gen_test_hdlr_pars(bssap_idx := 0);
|
||||
pars1.mscpool.rsl_idx := 0;
|
||||
pars1.mscpool.l3_info := valueof(ts_LU_REQ(LU_Type_IMSI_Attach, valueof(ts_MI_IMSI_LV('001010000000001'H)), '00F110'O));
|
||||
vc_conn1 := f_start_handler(refers(f_tc_mscpool_compl_l3), pars1);
|
||||
vc_conn1.done;
|
||||
f_ctrs_msc_expect(0, "mscpool:subscr:new");
|
||||
|
||||
var MSC_ConnHdlr vc_conn2;
|
||||
var TestHdlrParams pars2 := f_gen_test_hdlr_pars(bssap_idx := 1);
|
||||
pars2.mscpool.rsl_idx := 1;
|
||||
pars2.mscpool.l3_info := valueof(ts_CM_SERV_REQ(CM_TYPE_MO_CALL, valueof(ts_MI_IMSI_LV('001010000000002'H))));
|
||||
vc_conn2 := f_start_handler(refers(f_tc_mscpool_compl_l3), pars2);
|
||||
vc_conn2.done;
|
||||
f_ctrs_msc_expect(1, "mscpool:subscr:new");
|
||||
|
||||
f_logp(BSCVTY, "disconnecting msc0");
|
||||
/* Disconnect the first MSC */
|
||||
f_ran_adapter_cleanup(g_bssap[0]);
|
||||
|
||||
/* Now round-robin would wrap to the first MSC, but since the first MSC is disconnected, it wraps around to msc
|
||||
* 2 again. */
|
||||
var MSC_ConnHdlr vc_conn3;
|
||||
var TestHdlrParams pars3 := f_gen_test_hdlr_pars(bssap_idx := 1);
|
||||
pars3.mscpool.rsl_idx := 2;
|
||||
pars3.mscpool.l3_info := valueof(ts_PAG_RESP(valueof(ts_MI_IMSI_LV('001010000000003'H))));
|
||||
vc_conn3 := f_start_handler(refers(f_tc_mscpool_compl_l3), pars3);
|
||||
vc_conn3.done;
|
||||
f_ctrs_msc_expect(1, "mscpool:subscr:new");
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
/* Allow/Deny emergency calls globally via VTY */
|
||||
private function f_vty_allow_emerg_msc(boolean allow) runs on test_CT {
|
||||
f_vty_enter_cfg_msc(BSCVTY, 0);
|
||||
|
@ -12463,6 +12507,8 @@ control {
|
|||
execute( TC_mscpool_paging_and_response_tmsi() );
|
||||
execute( TC_mscpool_no_allow_attach_round_robin() );
|
||||
execute( TC_mscpool_no_allow_attach_valid_nri() );
|
||||
|
||||
execute( TC_mscpool_sccp_n_pcstate_detaches_msc() );
|
||||
}
|
||||
|
||||
execute( TC_early_conn_fail() );
|
||||
|
|
Loading…
Reference in New Issue