aboutsummaryrefslogtreecommitdiffstats
path: root/tests/handover/test_dyn_ts_congestion_tch_f_vs_tch_h.ho_vty
blob: c5890a513997759b57e93ad79619fa67fa243ef2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
# If a handover from one TCH kind to the other occupies a dynamic timeslot,
# also adhere to congestion constraints of the other TCH kind, since taking up
# a dyn TS may reduce the available slot count for both kinds of TCH.

create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F dyn dyn dyn PDCH
create-bts trx-count 1 timeslots c+s4 TCH/F TCH/F TCH/F dyn dyn dyn PDCH

# A TCH/F has better rxlev at a neighbor, and the neighbor's TCH/F slots would
# not become congested. But taking up a neighbor's dynamic timeslot for TCH/F
# would reduce the TCH/H availability to cause congestion on TCH/H. No HO.

network
 handover2 min-free-slots tch/f 0
 handover2 min-free-slots tch/h 4

set-ts-use trx 0 0 states * TCH/F - - pdch pdch pdch *
set-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/HH pdch pdch *

meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30
expect-no-chan

meas-rep lchan 0 0 1 0 rxlev 20 rxqual 0 ta 0 neighbors 40
# no handover because that results in congestion on TCH/H in bts 1
expect-no-chan

###

set-ts-use trx 0 0 states * - - - pdch pdch pdch *
set-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/HH TCH/F pdch *
meas-rep lchan * * * * rxlev 40 rxqual 0 ta 0 neighbors 30

congestion-check
expect-ho from lchan 1 0 4 1 to lchan 0 0 4 0
expect-ts-use trx 0 0 states * - - - TCH/H- pdch pdch *
expect-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/H- TCH/F pdch *


###

set-ts-use trx 0 0 states * - - - pdch pdch pdch *
set-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/H- TCH/F TCH/F *

congestion-check
# more FAIL: TCH/H moves to worse bts 0 due to congestion
expect-ho from lchan 1 0 4 0 to lchan 0 0 4 0
expect-ts-use trx 0 0 states * - - - TCH/H- pdch pdch *
expect-ts-use trx 1 0 states * TCH/F TCH/F TCH/F pdch TCH/F TCH/F *


###

set-ts-use trx 0 0 states * - - - TCH/H- pdch pdch *
set-ts-use trx 1 0 states * TCH/F TCH/F TCH/F pdch TCH/F TCH/F *

congestion-check
expect-no-chan

meas-rep lchan 1 * * * rxlev 40 rxqual 0 ta 0 neighbors 30
expect-no-chan

meas-rep lchan 0 * * * rxlev 30 rxqual 0 ta 0 neighbors 40
# no HO because the target is congested on TCH/H. Moving to TCH/F would also
# reduce TCH/H lchans because it would convert another dyn TS.
expect-no-chan

###

set-ts-use trx 0 0 states * - - - pdch pdch pdch *
set-ts-use trx 1 0 states * TCH/F TCH/F TCH/F TCH/F TCH/F TCH/F *

congestion-check
# FAIL: TCH/F occupy dynamic timeslots -- should hand over to bts 0 to free a
# dyn TS and reduce TCH/H congestion.
expect-no-chan