aboutsummaryrefslogtreecommitdiffstats
path: root/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty
diff options
context:
space:
mode:
Diffstat (limited to 'tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty')
-rw-r--r--tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty63
1 files changed, 63 insertions, 0 deletions
diff --git a/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty b/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty
new file mode 100644
index 000000000..776b09311
--- /dev/null
+++ b/tests/handover/test_amr_tch_h_to_f_rxlev_congested.ho_vty
@@ -0,0 +1,63 @@
+# Low RxLev causes upgrade of TCH/H to TCH/F
+
+network
+ handover2 afs-bias rxlev 0
+ handover2 min rxlev -80
+ handover2 window rxlev averaging 10
+
+create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F TCH/H TCH/H PDCH PDCH
+
+
+set-ts-use trx 0 0 states * - - - TCH/HH TCH/HH * *
+meas-rep repeat 9 lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
+# not enough values for rxlev averaging
+expect-no-chan
+meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
+# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev
+expect-as from lchan 0 0 4 0 to lchan 0 0 1 0
+expect-ts-use trx 0 0 states * TCH/F - - TCH/-H TCH/HH * *
+
+
+# This situation actually balances congestion
+set-ts-use trx 0 0 states * TCH/F - - TCH/HH TCH/HH * *
+meas-rep repeat 9 lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
+# not enough values for rxlev averaging
+expect-no-chan
+meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
+# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev
+expect-as from lchan 0 0 4 0 to lchan 0 0 2 0
+expect-ts-use trx 0 0 states * TCH/F TCH/F - TCH/-H TCH/HH * *
+
+# This situation moves congestion from TCH/H to TCH/F (TCH/H was 100% congested, then makes TCH/F 100% congested)
+# The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign.
+set-ts-use trx 0 0 states * TCH/F TCH/F - TCH/HH TCH/HH * *
+meas-rep repeat 9 lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
+# not enough values for rxlev averaging
+expect-no-chan
+meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
+# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev
+expect-as from lchan 0 0 4 0 to lchan 0 0 3 0
+expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F TCH/-H TCH/HH * *
+
+# This situation worsens congestion (TCH/H was 50% congested, then makes TCH/F 100% congested)
+# The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign.
+set-ts-use trx 0 0 states * TCH/F TCH/F - TCH/H- TCH/HH * *
+meas-rep repeat 9 lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
+# not enough values for rxlev averaging
+expect-no-chan
+meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
+# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev
+expect-as from lchan 0 0 4 0 to lchan 0 0 3 0
+expect-ts-use trx 0 0 states * TCH/F TCH/F TCH/F - TCH/HH * *
+
+
+# This situation creates congestion (TCH/H was not congested, then makes TCH/F 50% congested)
+# The congestion requirements would normally forbid this, but since this is an "RxQual emergency", we should reassign.
+set-ts-use trx 0 0 states * TCH/F - - TCH/H- - * *
+meas-rep repeat 9 lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
+# not enough values for rxlev averaging
+expect-no-chan
+meas-rep lchan 0 0 4 0 rxlev 23 rxqual 1 ta 0
+# average rxlev is now -110 + 23 = -87 < -80: reassign to TCH/F due to bad rxlev
+expect-as from lchan 0 0 4 0 to lchan 0 0 2 0
+expect-ts-use trx 0 0 states * TCH/F TCH/F - - - * *