Attention is currently required from: fixeria.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/28327 )
Change subject: lchan_select: allow different alloc order for assignment and handover
......................................................................
Patch Set 2: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/28327
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I3ae73b36ee9433cc768376b56f0765e5f416162f
Gerrit-Change-Number: 28327
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 23 Jun 2022 13:07:31 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bsc/+/28412 )
Change subject: doc/manuals: document channel allocation parameters
......................................................................
doc/manuals: document channel allocation parameters
Change-Id: Ib77eb3d4ad896f1e37b52e549ca3c24f4980240b
Related: SYS#5460
---
A doc/manuals/chapters/chan_alloc.adoc
M doc/manuals/chapters/interf_meas.adoc
M doc/manuals/osmobsc-usermanual.adoc
3 files changed, 82 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/12/28412/1
diff --git a/doc/manuals/chapters/chan_alloc.adoc b/doc/manuals/chapters/chan_alloc.adoc
new file mode 100644
index 0000000..3a6d41a
--- /dev/null
+++ b/doc/manuals/chapters/chan_alloc.adoc
@@ -0,0 +1,79 @@
+== Channel allocation
+
+Radio resource management is one of the main tasks of the Base Station Controller.
+This involves selection, activation, and deactivation of logical channels, which
+are maintained by connected Base Stations. The number of usable logical channels
+is limited by total number of radio carriers and may vary depending on the physical
+channel combinations assigned to their timeslots. Thus a major goal of the this
+task is to manage all the available resources in an efficient way, shifting the
+balance between service quality and the overall capacity.
+
+=== Channel allocation parameters
+
+OsmoBSC's channel allocator can be configured via the VTY interface. All
+relevant parameters are limited by the scope of a BTS node they belong to.
+There is currently no way to define global configuration for all BTS.
+
+All parameters with their respective default values are listed below:
+
+----
+network
+ bts 0
+ channel allocator ascending
+ channel allocator avoid-interference 0
+ channel allocator tch-signalling-policy always
+----
+
+==== Channel allocation modes
+
+Currently only the following two simple channel allocation modes are supported:
+
+- ascending (default): allocates channels in ascending order,
+starting from timeslot 0 of the first TRX (also called C0, the BCCH carrier);
+- descending: allocates channels in descending order,
+starting from timeslot 7 of the last TRX.
+
+NOTE: Regardless of the chosen mode, logical channels (sub-slots) are always
+selected in ascending order. For example, if a timeslot is configured as SDCCH/8
+and all 8 sub-slots are not in use, then the first SDCCH(0) sub-slot will be
+selected in both ascending and descending modes.
+
+The allocation mode to be used can be configured using the following VTY command:
+
+----
+OsmoBSC(config-net-bts)# channel allocator ?
+ ascending Allocate Timeslots and Transceivers in ascending order
+ descending Allocate Timeslots and Transceivers in descending order
+----
+
+==== Interference aware channel allocation
+
+The channel allocator can be configured to prefer logical channels with least
+interference, based on interference measurements periodically sent by the BTSs
+(see <<interf_rep>>). This is an optional feature, which is disabled by default.
+
+----
+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.
+----
+
+NOTE: Interference levels are compared within the scope of a single TRX, which
+is selected with respect to the configured allocation mode. This means that
+the selection logic would ignore channels on the other TRXes, even if they
+are better according to the interference reports from the BTS.
+
+==== TCH sigalling policy
+
+By default, in a situation when all SDCCHs are exhausted, OsmoBSC will be using TCH
+channels for signalling (e.g for Location Updating or call establishment). This
+behavior can be restricted to certain kinds of signalling or disabled completely.
+
+----
+OsmoBSC(config-net-bts)# channel allocator tch-signalling-policy ?
+ never Never allow TCH for signalling purposes
+ emergency Only allow TCH for signalling purposes when establishing an emergency call
+ voice Allow TCH for signalling purposes when establishing any voice call
+ always Always allow TCH for signalling purposes (default)
+----
diff --git a/doc/manuals/chapters/interf_meas.adoc b/doc/manuals/chapters/interf_meas.adoc
index c82ff49..518a6e5 100644
--- a/doc/manuals/chapters/interf_meas.adoc
+++ b/doc/manuals/chapters/interf_meas.adoc
@@ -1,3 +1,4 @@
+[[interf_rep]]
== Interference reporting
According to 3GPP 48.058, section 6.1, the BTS shall periodically report the
diff --git a/doc/manuals/osmobsc-usermanual.adoc b/doc/manuals/osmobsc-usermanual.adoc
index 0afa015..f835525 100644
--- a/doc/manuals/osmobsc-usermanual.adoc
+++ b/doc/manuals/osmobsc-usermanual.adoc
@@ -24,6 +24,8 @@
include::{srcdir}/chapters/bsc.adoc[]
+include::{srcdir}/chapters/chan_alloc.adoc[]
+
include::{srcdir}/chapters/power_control.adoc[]
include::{srcdir}/chapters/interf_meas.adoc[]
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/28412
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ib77eb3d4ad896f1e37b52e549ca3c24f4980240b
Gerrit-Change-Number: 28412
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: neels, fixeria.
Hello Jenkins Builder, neels, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/28326
to look at the new patch set (#2).
Change subject: lchan_select: prepare a list of timeslots once, iterate over it
......................................................................
lchan_select: prepare a list of timeslots once, iterate over it
The lchan_avail_by_type() attempts to find an unused lchan for the
given GSM_LCHAN_* value: TCH/F, TCH/H, or SDCCH. This is achieved
by looking up timeslots with compatible GSM_PCHAN_* values.
For instance, finding an unused SDCCH lchan may involve:
* attempt to find a timeslot with pchan=GSM_PCHAN_CCCH_SDCCH4,
* attempt to find a timeslot with pchan=GSM_PCHAN_CCCH_SDCCH4_CBCH,
* attempt to find a timeslot with pchan=GSM_PCHAN_SDCCH8_SACCH8C,
* attempt to find a timeslot with pchan=GSM_PCHAN_SDCCH8_SACCH8C_CBCH,
* attempt to find a timeslot with pchan=GSM_PCHAN_OSMO_DYN (switched),
* attempt to find a timeslot with pchan=GSM_PCHAN_OSMO_DYN (not switched).
Each attempt involves iterating over all timeslots of each TRX,
either in ascending or in descending order (see _lc_dyn_find_bts()
and _lc_find_trx()).
This patch simplifies the lookup logic by preparing a monolithic
array of timeslot pointers once, and then using that array for
each GSM_PCHAN_* lookup attempt. This change is required for the
upcoming dynamic channel allocation mode, which is fa more complex
than the existing ascending/descending ones.
A side effect of this change is that the interference aware mode
of allocation is not limited by the scope of a single TRX anymore.
Interference levels are now compared within the scope of the whole
BTS, so that lchans on the other TRXes may be picked if they are
better according to the interference reports from the BTS.
Change-Id: I7ccc56856bfd40fd7c63b7437736de60c2b516ff
Related: SYS#5460
---
M doc/manuals/chapters/chan_alloc.adoc
M src/osmo-bsc/lchan_select.c
2 files changed, 86 insertions(+), 75 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/26/28326/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/28326
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I7ccc56856bfd40fd7c63b7437736de60c2b516ff
Gerrit-Change-Number: 28326
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: fixeria.
Hello Jenkins Builder, laforge,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/28327
to look at the new patch set (#2).
Change subject: lchan_select: allow different alloc order for assignment and handover
......................................................................
lchan_select: allow different alloc order for assignment and handover
A follow-up patch implements a special channel allocation mode, which is
only working for assignment (basically TCH selection for a voice call).
This mode cannot be employed for initial CHANNEL REQUEST or handover due
to the absence of an already established lchan.
Adding this mode to the existing VTY command syntax would be confusing:
channel allocator (ascending|desscending|dynamic)
^^^^^^^
so this patch extends the VTY syntax in a way that it becomes possible
to configure different channel allocator modes for different cases:
OsmoBSC(config-net-bts)# channel allocator mode ?
set-all Set a single mode for all variants
chan-req Channel allocation for CHANNEL REQUEST (RACH)
assignment Channel allocation for assignment
handover Channel allocation for handover
The old command syntax, which is basically 'set-all', is kept for
backwards compatibility, but marked as deprecated.
Change-Id: I3ae73b36ee9433cc768376b56f0765e5f416162f
Related: SYS#5460
---
M doc/examples/osmo-bsc/ericsson/osmo-bsc.dug20-rus01-4trx.cfg
M doc/examples/osmo-bsc/ericsson/osmo-bsc.dug20-rus02-4trx.cfg
M doc/examples/osmo-bsc/ericsson/osmo-bsc.dug20-rus02-8trx.cfg
M doc/examples/osmo-bsc/ericsson/osmo-bsc.rbs2308.cfg
M doc/examples/osmo-bsc/osmo-bsc-4trx.cfg
M doc/examples/osmo-bsc/osmo-bsc.cfg
M doc/examples/osmo-bsc/osmo-bsc_custom-sccp.cfg
M doc/manuals/chapters/bts-examples.adoc
M doc/manuals/chapters/chan_alloc.adoc
M include/osmocom/bsc/bts.h
M include/osmocom/bsc/lchan_select.h
M src/osmo-bsc/abis_rsl.c
M src/osmo-bsc/assignment_fsm.c
M src/osmo-bsc/bsc_vty.c
M src/osmo-bsc/bts_vty.c
M src/osmo-bsc/handover_decision_2.c
M src/osmo-bsc/handover_fsm.c
M src/osmo-bsc/lchan_select.c
M tests/ctrl/osmo-bsc-apply-config-file.cfg
M tests/ctrl/osmo-bsc-neigh-test.cfg
M tests/handover/handover_test.c
M tests/handover/test_dyn_ts_favor_static_ts_as_target.ho_vty
M tests/osmo-bsc.vty
23 files changed, 187 insertions(+), 67 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/27/28327/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/28327
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I3ae73b36ee9433cc768376b56f0765e5f416162f
Gerrit-Change-Number: 28327
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: fixeria.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bsc/+/28328
to look at the new patch set (#3).
Change subject: lchan_select: implement dynamic selection mode for assignment
......................................................................
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
---
M doc/manuals/chapters/chan_alloc.adoc
M include/osmocom/bsc/bts.h
M include/osmocom/bsc/lchan_select.h
M src/osmo-bsc/abis_rsl.c
M src/osmo-bsc/assignment_fsm.c
M src/osmo-bsc/bsc_vty.c
M src/osmo-bsc/bts.c
M src/osmo-bsc/bts_vty.c
M src/osmo-bsc/handover_decision_2.c
M src/osmo-bsc/handover_fsm.c
M src/osmo-bsc/lchan_select.c
M tests/osmo-bsc.vty
12 files changed, 328 insertions(+), 32 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bsc refs/changes/28/28328/3
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/28328
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: I1b7a0d706976b73cc5c30a8714b830811addfe8d
Gerrit-Change-Number: 28328
Gerrit-PatchSet: 3
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28408 )
Change subject: bsc: make BSC_Tests_CBSP module a friend of BSC_Tests
......................................................................
bsc: make BSC_Tests_CBSP module a friend of BSC_Tests
This allows BSC_Tests_CBSP to import friendly API from BSC_Tests.
The line importing stuff from BSC_Tests BSC_Tests_CBSP.ttcn is moved
on top for consistency with an existing friend - BSC_Tests_VAMOS.
Change-Id: Ie0bb5c2e33aadd4858f0f6d001468985c40ab152
---
M bsc/BSC_Tests.ttcn
M bsc/BSC_Tests_CBSP.ttcn
2 files changed, 3 insertions(+), 2 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, approved
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index 200fd5b..c2cf8d3 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -21,6 +21,7 @@
*/
friend module BSC_Tests_VAMOS;
+friend module BSC_Tests_CBSP;
import from Misc_Helpers all;
import from General_Types all;
diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn
index 53f7fbc..e38b8a6 100644
--- a/bsc/BSC_Tests_CBSP.ttcn
+++ b/bsc/BSC_Tests_CBSP.ttcn
@@ -12,6 +12,8 @@
* This test suite tests OsmoBSC while emulating the CBC (Cell Broadcast Centre)
*/
+import from BSC_Tests all;
+
import from General_Types all;
import from Osmocom_Types all;
import from GSM_Types all;
@@ -19,8 +21,6 @@
import from BSSAP_Types all;
import from BSSMAP_Templates all;
-import from BSC_Tests all;
-
import from IPA_Emulation all;
import from IPA_CodecPort all;
import from IPA_Types all;
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28408
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: Ie0bb5c2e33aadd4858f0f6d001468985c40ab152
Gerrit-Change-Number: 28408
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28409 )
Change subject: bsc: release dchan in TC_cbsp_emerg_write_bts_cgi_dchan
......................................................................
bsc: release dchan in TC_cbsp_emerg_write_bts_cgi_dchan
A follow-up patch is adding BSC_Tests.f_shutdown_helper() calls to all
CBSP testcases, what makes TC_cbsp_emerg_write_bts_cgi_dchan fail due
to talloc count mismatch. All dchans need to be released to avoid this.
Change-Id: I8b707c821693f930ab10bd8feea08ba5007da967
---
M bsc/BSC_Tests.ttcn
M bsc/BSC_Tests_CBSP.ttcn
2 files changed, 3 insertions(+), 1 deletion(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, approved
diff --git a/bsc/BSC_Tests.ttcn b/bsc/BSC_Tests.ttcn
index c2cf8d3..ed56fc2 100644
--- a/bsc/BSC_Tests.ttcn
+++ b/bsc/BSC_Tests.ttcn
@@ -8257,7 +8257,7 @@
BSSAP.send(RAN_Conn_Prim:MSC_CONN_PRIM_DISC_REQ);
}
-private function f_perform_clear_test_ct(DchanTuple dt)
+friend function f_perform_clear_test_ct(DchanTuple dt)
runs on test_CT
{
/* Instruct BSC to clear channel */
diff --git a/bsc/BSC_Tests_CBSP.ttcn b/bsc/BSC_Tests_CBSP.ttcn
index e38b8a6..61b2efd 100644
--- a/bsc/BSC_Tests_CBSP.ttcn
+++ b/bsc/BSC_Tests_CBSP.ttcn
@@ -971,6 +971,8 @@
setverdict(fail, "Waiting for APP INFO");
}
}
+
+ f_perform_clear_test_ct(dt);
}
private function f_exp_rsl_etws(integer rsl_idx := 0, boolean enabled) runs on cbsp_test_CT {
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/28409
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: I8b707c821693f930ab10bd8feea08ba5007da967
Gerrit-Change-Number: 28409
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-MessageType: merged