aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorVadim Yanitskiy <vyanitskiy@sysmocom.de>2022-06-16 02:10:16 +0700
committerfixeria <vyanitskiy@sysmocom.de>2022-06-30 16:36:55 +0000
commita019e9af8bdb8dd01e801f7686cfaf99a21241b9 (patch)
treee8578f7b37eeceee78dd27acee0921381d5ef1d8 /tests
parentc2928ac269a55d2ea1a6ae7984ba9065f8c41db0 (diff)
lchan_select: implement dynamic selection mode for assignment
This change implements an additional channel allocation mode, which can be employed during a TCH channel allocation for assignment. Selection between ascending and descending order is performed depending on pre-configured parameters: * Uplink RxLev threshold and number of samples for averaging, * C0 (BCCH carrier) channel load threshold. This is useful in setups where Tx power of the RF carriers cannot be adjusted +dynamically at run-time and thus BS Power Control cannot be performed. In such setups the BCCH carrier is transmitting at relatively higher power than the other RF carriers. The key idea is to allocate channels in a smarter way, so that UEs with poor signal would get channels on carriers with high Tx power, while UEs with good signal could use carriers with lower Tx power. Change-Id: I1b7a0d706976b73cc5c30a8714b830811addfe8d Related: osmo-ttcn3-hacks.git Ia522f37c1c001b3a36f5145b8875fbb88311c2e5 Related: SYS#5460
Diffstat (limited to 'tests')
-rw-r--r--tests/handover/handover_test.c2
-rw-r--r--tests/osmo-bsc.vty26
2 files changed, 27 insertions, 1 deletions
diff --git a/tests/handover/handover_test.c b/tests/handover/handover_test.c
index 77fa3712e..26c72ab0f 100644
--- a/tests/handover/handover_test.c
+++ b/tests/handover/handover_test.c
@@ -489,7 +489,7 @@ struct gsm_lchan *create_lchan(struct gsm_bts *bts, int full_rate, const char *c
struct gsm_lchan *lchan;
lchan = lchan_select_by_type(bts, (full_rate) ? GSM_LCHAN_TCH_F : GSM_LCHAN_TCH_H,
- SELECT_FOR_HANDOVER);
+ SELECT_FOR_HANDOVER, NULL);
if (!lchan) {
fprintf(stderr, "No resource for lchan\n");
exit(EXIT_FAILURE);
diff --git a/tests/osmo-bsc.vty b/tests/osmo-bsc.vty
index e0b9bdc18..4be3d5632 100644
--- a/tests/osmo-bsc.vty
+++ b/tests/osmo-bsc.vty
@@ -167,6 +167,7 @@ OsmoBSC(config-net-bts)# channel ?
OsmoBSC(config-net-bts)# channel allocator ?
mode Channel allocation mode
+ dynamic-param Parameters for dynamic channel allocation mode
avoid-interference Configure whether reported interference levels from RES IND are used in channel allocation
tch-signalling-policy Configure when TCH/H or TCH/F channels can be used to serve signalling if SDCCHs are exhausted
@@ -180,6 +181,31 @@ OsmoBSC(config-net-bts)# channel allocator mode set-all ?
ascending Allocate Timeslots and Transceivers in ascending order
descending Allocate Timeslots and Transceivers in descending order
+OsmoBSC(config-net-bts)# channel allocator mode handover ?
+ ascending Allocate Timeslots and Transceivers in ascending order
+ descending Allocate Timeslots and Transceivers in descending order
+
+OsmoBSC(config-net-bts)# channel allocator mode assignment ?
+ ascending Allocate Timeslots and Transceivers in ascending order
+ descending Allocate Timeslots and Transceivers in descending order
+ dynamic Dynamic lchan selection based on configured parameters
+
+OsmoBSC(config-net-bts)# channel allocator dynamic-param ?
+ sort-by-trx-power Whether to sort TRX instances by their respective power levels
+ ul-rxlev Uplink RxLev
+ c0-chan-load C0 (BCCH carrier) channel load
+
+OsmoBSC(config-net-bts)# channel allocator dynamic-param sort-by-trx-power ?
+ 0 Do not sort, use the same order as in the configuration file
+ 1 Sort TRX instances by their power levels in descending order
+
+OsmoBSC(config-net-bts)# channel allocator dynamic-param ul-rxlev thresh ?
+ <0-63> Uplink RxLev threshold
+OsmoBSC(config-net-bts)# channel allocator dynamic-param ul-rxlev thresh 50 avg-num ?
+ <1-10> Minimum number of RxLev samples for averaging
+OsmoBSC(config-net-bts)# channel allocator dynamic-param c0-chan-load thresh ?
+ <0-100> Channel load threshold (in %)
+
OsmoBSC(config-net-bts)# channel allocator avoid-interference ?
0 Ignore interference levels (default). Always assign lchans in a deterministic order.
1 In channel allocation, prefer lchans with less interference.