bsc: Validate new 'srvcc fast-return' VTY command
Related: SYS#5337 Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe
This commit is contained in:
parent
c555be597f
commit
9ae36d5e8c
|
@ -5226,11 +5226,15 @@ private function f_ho_into_this_bsc(charstring id, template (omit) BSSMAP_oldToN
|
|||
}
|
||||
|
||||
private function f_tc_ho_into_this_bsc(charstring id) runs on MSC_ConnHdlr {
|
||||
var template PDU_ML3_NW_MS exp_rr_rel_tmpl := tr_RRM_RR_RELEASE;
|
||||
var template PDU_ML3_NW_MS exp_rr_rel_tmpl;
|
||||
var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs := omit;
|
||||
if (not istemplatekind(g_pars.last_used_eutran_plmn, "omit")) {
|
||||
oldToNewBSSIEs := f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn));
|
||||
}
|
||||
if (g_pars.exp_fast_return) {
|
||||
exp_rr_rel_tmpl := tr_RRM_RR_RELEASE_CellSelectInd;
|
||||
} else {
|
||||
exp_rr_rel_tmpl := tr_RRM_RR_RELEASE;
|
||||
}
|
||||
f_ho_into_this_bsc(id, oldToNewBSSIEs);
|
||||
f_perform_clear(RSL, exp_rr_rel_tmpl);
|
||||
|
@ -5278,10 +5282,26 @@ testcase TC_ho_into_this_bsc_tla_v6() runs on test_CT {
|
|||
testcase TC_srvcc_eutran_to_geran() runs on test_CT {
|
||||
var TestHdlrParams pars := f_gen_test_hdlr_pars();
|
||||
pars.last_used_eutran_plmn := '323454'O;
|
||||
pars.exp_fast_return := true;
|
||||
f_tc_ho_into_this_bsc_main(pars);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
/* Same as TC_srvcc_eutran_to_geran, but test explicitly forbiding fast return
|
||||
on the BTS. As a result, RR Release shouldn't contain the EUTRAN neighbor
|
||||
list when the channel is released. */
|
||||
testcase TC_srvcc_eutran_to_geran_forbid_fast_return() runs on test_CT {
|
||||
f_init_vty();
|
||||
f_vty_allow_srvcc_fast_return(true, 0)
|
||||
|
||||
var TestHdlrParams pars := f_gen_test_hdlr_pars();
|
||||
pars.last_used_eutran_plmn := '323454'O;
|
||||
pars.exp_fast_return := false;
|
||||
f_tc_ho_into_this_bsc_main(pars);
|
||||
f_vty_allow_srvcc_fast_return(false, 0);
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
private function f_tc_srvcc_eutran_to_geran_ho_out(charstring id) runs on MSC_ConnHdlr {
|
||||
var template (omit) BSSMAP_oldToNewBSSIEs oldToNewBSSIEs;
|
||||
oldToNewBSSIEs := f_ts_BSSMAP_oldToNewBSSIEs(ts_BSSMAP_LastUsedEUTRANPLMNId(g_pars.last_used_eutran_plmn));
|
||||
|
@ -5289,15 +5309,16 @@ private function f_tc_srvcc_eutran_to_geran_ho_out(charstring id) runs on MSC_Co
|
|||
f_ho_out_of_this_bsc(oldToNewBSSIEs);
|
||||
setverdict(pass);
|
||||
}
|
||||
/* First, HO into BSC from EUTRAN (SRVCC): HO Request contains "Old BSS to New
|
||||
BSS Information" IE with "Last Used E-UTRAN PLMN Id".
|
||||
Second, HO to another BSC: HO Required contains "Old BSS to New BSS Information"
|
||||
IE with "Last Used E-UTRAN PLMN Id" from first step. */
|
||||
testcase TC_srvcc_eutran_to_geran_ho_out() runs on test_CT {
|
||||
|
||||
private function f_tc_srvcc_eutran_to_geran_ho_out_main(boolean disable_fast_return)
|
||||
runs on test_CT {
|
||||
var MSC_ConnHdlr vc_conn;
|
||||
var TestHdlrParams pars := f_gen_test_hdlr_pars();
|
||||
|
||||
f_init(1, true);
|
||||
if (disable_fast_return) {
|
||||
f_vty_allow_srvcc_fast_return(true, 0);
|
||||
}
|
||||
f_sleep(1.0);
|
||||
|
||||
f_ctrs_bsc_and_bts_init();
|
||||
|
@ -5316,9 +5337,26 @@ testcase TC_srvcc_eutran_to_geran_ho_out() runs on test_CT {
|
|||
f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:attempted", 1);
|
||||
f_ctrs_bsc_and_bts_add(0, "interbsc_ho_out:completed", 1);
|
||||
f_ctrs_bsc_and_bts_verify();
|
||||
|
||||
if (disable_fast_return) {
|
||||
f_vty_allow_srvcc_fast_return(false, 0);
|
||||
}
|
||||
f_shutdown_helper();
|
||||
}
|
||||
|
||||
/* First, HO into BSC from EUTRAN (SRVCC): HO Request contains "Old BSS to New
|
||||
BSS Information" IE with "Last Used E-UTRAN PLMN Id".
|
||||
Second, HO to another BSC: HO Required contains "Old BSS to New BSS Information"
|
||||
IE with "Last Used E-UTRAN PLMN Id" from first step. */
|
||||
testcase TC_srvcc_eutran_to_geran_ho_out() runs on test_CT {
|
||||
f_tc_srvcc_eutran_to_geran_ho_out_main(false);
|
||||
}
|
||||
/* Validate subsequent intra-GSM-HO works the same (with OldBSSToNewBSSInfo IE)
|
||||
* independently of fast-reture allowed/forbidden in local BTS */
|
||||
testcase TC_srvcc_eutran_to_geran_ho_out_forbid_fast_return() runs on test_CT {
|
||||
f_tc_srvcc_eutran_to_geran_ho_out_main(true);
|
||||
}
|
||||
|
||||
private function f_tc_ho_in_fail_msc_clears(charstring id) runs on MSC_ConnHdlr {
|
||||
var RslChannelNr new_chan_nr := valueof(t_RslChanNr0(1, RSL_CHAN_NR_Bm_ACCH));
|
||||
f_rslem_register(0, new_chan_nr);
|
||||
|
@ -7306,6 +7344,19 @@ private function f_vty_allow_emerg_bts(boolean allow, integer bts_nr) runs on te
|
|||
f_vty_transceive(BSCVTY, "exit");
|
||||
}
|
||||
|
||||
/* Allow/Forbid Fast Return after SRVCC on a given BTS via VTY */
|
||||
private function f_vty_allow_srvcc_fast_return(boolean allow, integer bts_nr) runs on test_CT {
|
||||
f_vty_enter_cfg_bts(BSCVTY, bts_nr);
|
||||
if (allow) {
|
||||
f_vty_transceive(BSCVTY, "srvcc fast-return allow");
|
||||
} else {
|
||||
f_vty_transceive(BSCVTY, "srvcc fast-return forbid");
|
||||
}
|
||||
f_vty_transceive(BSCVTY, "exit");
|
||||
f_vty_transceive(BSCVTY, "exit");
|
||||
f_vty_transceive(BSCVTY, "exit");
|
||||
}
|
||||
|
||||
/* Begin assignmet procedure and send an EMERGENCY SETUP (RR) */
|
||||
private function f_assignment_emerg_setup() runs on MSC_ConnHdlr {
|
||||
var PDU_ML3_MS_NW emerg_setup;
|
||||
|
@ -8950,6 +9001,8 @@ control {
|
|||
}
|
||||
execute( TC_srvcc_eutran_to_geran() );
|
||||
execute( TC_srvcc_eutran_to_geran_ho_out() );
|
||||
execute( TC_srvcc_eutran_to_geran_forbid_fast_return() );
|
||||
execute( TC_srvcc_eutran_to_geran_ho_out_forbid_fast_return() );
|
||||
execute( TC_ho_in_fail_msc_clears() );
|
||||
execute( TC_ho_in_fail_msc_clears_after_ho_detect() );
|
||||
execute( TC_ho_in_fail_no_detect() );
|
||||
|
|
|
@ -590,6 +590,7 @@ type record TestHdlrParams {
|
|||
TestHdlrParamsMSCPool mscpool,
|
||||
boolean media_mgw_offer_ipv6,
|
||||
OCT3 last_used_eutran_plmn optional,
|
||||
boolean exp_fast_return, /* RR Release expected to contain CellSelectInd ? */
|
||||
boolean expect_channel_mode_modify,
|
||||
uint3_t expect_tsc optional
|
||||
};
|
||||
|
@ -628,6 +629,7 @@ template (value) TestHdlrParams t_def_TestHdlrPars := {
|
|||
},
|
||||
media_mgw_offer_ipv6 := true,
|
||||
last_used_eutran_plmn := omit,
|
||||
exp_fast_return := false,
|
||||
expect_channel_mode_modify := false,
|
||||
expect_tsc := omit
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue