diff options
author | Vadim Yanitskiy <vyanitskiy@sysmocom.de> | 2022-06-16 02:10:16 +0700 |
---|---|---|
committer | fixeria <vyanitskiy@sysmocom.de> | 2022-06-30 16:36:55 +0000 |
commit | a019e9af8bdb8dd01e801f7686cfaf99a21241b9 (patch) | |
tree | e8578f7b37eeceee78dd27acee0921381d5ef1d8 /tests | |
parent | c2928ac269a55d2ea1a6ae7984ba9065f8c41db0 (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.c | 2 | ||||
-rw-r--r-- | tests/osmo-bsc.vty | 26 |
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. |