From 34174bde0a938b7ac8be6694cb929bae706c3c33 Mon Sep 17 00:00:00 2001 From: Neels Hofmeyr Date: Sat, 2 Oct 2021 14:52:57 +0200 Subject: bsc: verify TSC in inter-BSC ho (out) RR HO Cmd Related: SYS#4895 OS#5244 Related: Iae20df4387c3d75752301bd5daeeea7508966393 (osmo-bsc) Change-Id: Icabcedc59d80e812c3d6ba5d6db5e2bb9b319252 --- bsc/BSC_Tests.ttcn | 16 ++++++++++++++-- 1 file 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: */ -- cgit v1.2.3