summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorNeels Hofmeyr <nhofmeyr@sysmocom.de>2021-10-02 14:52:57 +0200
committerNeels Hofmeyr <nhofmeyr@sysmocom.de>2021-10-02 15:01:35 +0200
commit34174bde0a938b7ac8be6694cb929bae706c3c33 (patch)
tree6a9d70e072c2d5b5e28e4e0cbe41df215c77e28e
parent6a955cc46db85abb60d4ceeecf0ce264cfae9f89 (diff)
bsc: verify TSC in inter-BSC ho (out) RR HO Cmd
-rw-r--r--bsc/BSC_Tests.ttcn16
1 files changed, 14 insertions, 2 deletions
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index cc387f64..d64ccc06 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -5677,6 +5677,7 @@ private function f_ho_into_this_bsc(charstring id, template (omit) BSSMAP_oldToN
var RslChannelNr new_chan_nr := valueof(t_RslChanNr0(1, RSL_CHAN_NR_Bm_ACCH));
f_rslem_register(0, new_chan_nr);
g_chan_nr := new_chan_nr;
+ var uint3_t expect_target_tsc := BTS_TSC[0];
f_sleep(1.0);
f_create_mgcp_expect(ExpectCriteria:{omit,omit,omit});
@@ -5696,8 +5697,10 @@ private function f_ho_into_this_bsc(charstring id, template (omit) BSSMAP_oldToN
BSSAP.receive(tr_BSSMAP_HandoverRequestAcknowledge(?)) -> value rx_bssap;
- /* we're sure that the channel activation is done now, verify the encryption parameters in it */
- f_verify_encr_info(f_rslem_get_last_act(RSL_PROC, 0, g_chan_nr));
+ /* we're sure that the channel activation is done now, verify the parameters in it */
+ var RSL_Message chan_act := f_rslem_get_last_act(RSL_PROC, 0, g_chan_nr);
+ f_verify_encr_info(chan_act);
+ f_chan_act_verify_tsc(chan_act, expect_target_tsc);
ho_command_str := rx_bssap.pdu.bssmap.handoverRequestAck.layer3Information.layer3info;
log("Received L3 Info in HO Request Ack: ", ho_command_str);
@@ -5717,6 +5720,15 @@ private function f_ho_into_this_bsc(charstring id, template (omit) BSSMAP_oldToN
}
log("Handover Command chan_nr is", actual_new_chan_nr);
+ var uint3_t got_tsc := rr_chan_desc_tsc(ho_command.msgs.rrm.handoverCommand.channelDescription2);
+ if (not match(got_tsc, expect_target_tsc)) {
+ setverdict(fail, "RR Handover Command: unexpected TSC in Channel Description: expected ",
+ expect_target_tsc, " got ", got_tsc);
+ mtc.stop;
+ } else {
+ log("handoverCommand: verified TSC = ", got_tsc);
+ }
+
/* Now the MSC forwards the RR Handover Command to the other BSC, which
* tells the MS to handover to the new lchan. Here comes the new MS on
* the new lchan with a Handover RACH: */