bsc: TC_ho_int: verify TSC in Chan Act

OS#5244 reports an error in the Training Sequence Code used in the
Channel Activation for a handover target channel. Verify the TSC to
uncover this bug.

Related: SYS#4895, OS#5244
Related: Iae20df4387c3d75752301bd5daeeea7508966393 (osmo-bsc)
Change-Id: I1ed6f068c85b01e5a2d7b5f2651498a1521f89af
This commit is contained in:
Neels Hofmeyr 2021-10-02 12:26:38 +02:00
parent 596393abe5
commit c2cf45481a
1 changed files with 8 additions and 2 deletions

View File

@ -5081,7 +5081,7 @@ private function f_tc_ho_int(charstring id) runs on MSC_ConnHdlr {
handover_done := false,
old_chan_nr := -
};
/* issue hand-over command on VTY */
/* issue hand-over command on VTY, from BTS 0 to BTS 1 */
f_vty_handover(BSCVTY, 0, 0, g_chan_nr, 1);
/* temporarily suspend DChan processing on BTS1 to avoid race with RSLEM_register */
f_rslem_suspend(RSL1_PROC);
@ -5103,9 +5103,13 @@ private function f_tc_ho_int(charstring id) runs on MSC_ConnHdlr {
* test expectation */
f_check_mgcp_expectations()
var RSL_Message chan_act := f_rslem_get_last_act(RSL1_PROC, 0, g_chan_nr);
/* Ensure the Channel Activation for the new channel contained the right encryption params. as_handover() set
* g_chan_nr to the new lchan that was handed over to. It lives in bts 1, so look it up at RSL1_PROC. */
f_verify_encr_info(f_rslem_get_last_act(RSL1_PROC, 0, g_chan_nr));
f_verify_encr_info(chan_act);
f_chan_act_verify_tsc(chan_act, BTS_TSC[1]);
f_sleep(0.5);
}
@ -5116,6 +5120,8 @@ testcase TC_ho_int() runs on test_CT {
f_init(2, true);
f_sleep(1.0);
pars.expect_tsc := BTS_TSC[0];
f_ctrs_bsc_and_bts_init();
vc_conn := f_start_handler(refers(f_tc_ho_int), pars);