Change in osmo-ttcn3-hacks[master]: bsc: properly check TSC and ARFCN in early IA tests

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

neels gerrit-no-reply at lists.osmocom.org
Tue Sep 7 17:09:36 UTC 2021


neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25398 )


Change subject: bsc: properly check TSC and ARFCN in early IA tests
......................................................................

bsc: properly check TSC and ARFCN in early IA tests

Tests have shown that the Training Sequence Set was not correct in early
IMM ASS messages. Add validation of the TSC and ARFCN in IMM ASS
messages for all early IA related tests. This makes the tests fail.

Related osmo-bsc patch linked below makes the tests pass again.

Related: SYS#5559
Related: I9f26074154600d854a0b3baee2f38a6666f4cb56 (osmo-bsc)
Change-Id: I4479244b0c53648e62e84e1ebf986f51d659484f
---
M bsc/BSC_Tests.ttcn
1 file changed, 33 insertions(+), 6 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/98/25398/1

diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 2b90a6e..5d65a66 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -9649,7 +9649,9 @@
 }
 
 private function f_verify_imm_ass(RSL_Message imm_ass, template uint8_t ra := ?, template GsmFrameNumber fn := ?,
-				  template RslChannelNr chan_nr := ?)
+				  template RslChannelNr chan_nr := ?,
+				  template (present) uint12_t arfcn := ?,
+				  template (present) uint3_t tsc := ?)
 {
 	var RSL_IE_Body full_imm_ass_info;
 	if (not f_rsl_find_ie(imm_ass, RSL_IE_FULL_IMM_ASS_INFO, full_imm_ass_info)) {
@@ -9660,7 +9662,7 @@
 	var GsmRrMessage rr_imm_ass := dec_GsmRrMessage(full_imm_ass_info.full_imm_ass_info.payload);
 	var template GsmRrMessage expect_imm_ass := tr_IMM_ASS(ra := ra,
 							       fn := fn,
-							       ch_desc := tr_ChanDescH0(chan_nr),
+							       ch_desc := tr_ChanDescH0(chan_nr, arfcn, tsc),
 							       page_mode := ?);
 	if (not match(rr_imm_ass, expect_imm_ass)) {
 		log("Error: expected ", expect_imm_ass, " got ", rr_imm_ass);
@@ -9688,12 +9690,19 @@
 
 	/* First send the Chan Act ACK */
 	var RslChannelNr chan_nr := chan_act.ies[0].body.chan_nr;
+	var RSL_IE_Body chan_ident_ie;
+	if (not f_rsl_find_ie(chan_act, RSL_IE_CHAN_IDENT, chan_ident_ie)) {
+		setverdict(fail, "RSL Channel Identification IE is absent");
+		mtc.stop;
+	}
+
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn + 10));
 
 	/* Then expect the Immediate Assignment, after we ACKed the chan act */
 	imm_ass := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0));
 
-	f_verify_imm_ass(imm_ass, ra, fn, chan_nr);
+	f_verify_imm_ass(imm_ass, ra, fn, chan_nr, chan_ident_ie.chan_ident.ch_desc.v.arfcn,
+			 chan_ident_ie.chan_ident.ch_desc.v.tsc);
 
 	/* Check that the lchan is working */
 	var octetstring l3 := '00010203040506'O;
@@ -9726,10 +9735,16 @@
 
 	chan_act := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
 	var RslChannelNr chan_nr := chan_act.ies[0].body.chan_nr;
+	var RSL_IE_Body chan_ident_ie;
+	if (not f_rsl_find_ie(chan_act, RSL_IE_CHAN_IDENT, chan_ident_ie)) {
+		setverdict(fail, "RSL Channel Identification IE is absent");
+		mtc.stop;
+	}
 
 	/* *FIRST* expect the Immediate Assignment, before we ACK the chan act */
 	imm_ass := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0));
-	f_verify_imm_ass(imm_ass, ra, fn, chan_nr);
+	f_verify_imm_ass(imm_ass, ra, fn, chan_nr, chan_ident_ie.chan_ident.ch_desc.v.arfcn,
+			 chan_ident_ie.chan_ident.ch_desc.v.tsc);
 
 	/* Only now send the Chan Act ACK */
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn+10));
@@ -9792,10 +9807,16 @@
 	chan_nr := valueof(t_RslChanNr_SDCCH8(tn := 6, sub_slot := 0));
 
 	chan_act := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
+	var RSL_IE_Body chan_ident_ie;
+	if (not f_rsl_find_ie(chan_act, RSL_IE_CHAN_IDENT, chan_ident_ie)) {
+		setverdict(fail, "RSL Channel Identification IE is absent");
+		mtc.stop;
+	}
 
 	/* *FIRST* expect the Immediate Assignment, before we ACK the chan act */
 	imm_ass := f_exp_ipa_rx(0, tr_RSL_IMM_ASSIGN(0));
-	f_verify_imm_ass(imm_ass, ra, fn, chan_nr);
+	f_verify_imm_ass(imm_ass, ra, fn, chan_nr, chan_ident_ie.chan_ident.ch_desc.v.arfcn,
+			 chan_ident_ie.chan_ident.ch_desc.v.tsc);
 
 	/* Only now send the Chan Act ACK */
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn+10));
@@ -9863,9 +9884,15 @@
 	chan_nr := valueof(t_RslChanNr_SDCCH8(tn := 6, sub_slot := 0));
 
 	chan_act := f_exp_ipa_rx(0, tr_RSL_MsgTypeD(RSL_MT_CHAN_ACTIV));
+	var RSL_IE_Body chan_ident_ie;
+	if (not f_rsl_find_ie(chan_act, RSL_IE_CHAN_IDENT, chan_ident_ie)) {
+		setverdict(fail, "RSL Channel Identification IE is absent");
+		mtc.stop;
+	}
 	f_ipa_tx(0, ts_RSL_CHAN_ACT_ACK(chan_nr, fn+10));
 
-	f_verify_imm_ass(imm_ass, ra, fn, chan_nr);
+	f_verify_imm_ass(imm_ass, ra, fn, chan_nr, chan_ident_ie.chan_ident.ch_desc.v.arfcn,
+			 chan_ident_ie.chan_ident.ch_desc.v.tsc);
 
 	/* Check that the lchan is working */
 	var octetstring l3 := '00010203040506'O;

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/25398
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I4479244b0c53648e62e84e1ebf986f51d659484f
Gerrit-Change-Number: 25398
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20210907/3540dab9/attachment.htm>


More information about the gerrit-log mailing list