Osmocom Base Transceiver Station (BTS) https://osmocom.org/projects/osmobts
Go to file
Vadim Yanitskiy 284f16e7d7 measurement: fix matching of SUB frames by TDMA FN
3GPP TS 45.008, section 8.3 defines active TDMA frame subsets for
TCH channels, which shall always be transmitted even during the
silence periods in DTX mode of operation.  Each frame number
listed in this section corresponds to a single burst.

The Uplink measurements always contain TDMA FN of the *first* burst
of a block, so it does not make sense to match the given FN against
all FNs in the respective subset.  Instead, we should match only
specific FNs in accordance with the block mapping rules defined in
3GPP TS 45.002, section 7, table 1.

In the active subset for TCH/F there is only one *complete* block
starting at FN=52.  Incomplete blocks {52, 53, 54, 55} and {56, 57,
58, 59} contain only 50% of the useful bits (partial SID) and thus
~50% BER, so we don't treat them as SUB.

In the active subsets for TCH/H there are two *complete* blocks
for each sub-slot.  Their respective first FNs can be efficiently
defined in a lookup table (see ts45008_dtx_tchh_fn_map[]).  Note
that we can use a single lookup table for both sub-slots of TCH/H
because their TDMA FNs do not overlap.

This patch fixes unexpected SUB-RxQual values > 0 on TCH channels
with DTXu enabled and other than AMR (HR, FR, EFR) codec in use.

Change-Id: I8cc3a755a8ad4dc564439aab2298c1e97ac0592d
Related: SYS#5853
2022-05-10 16:49:16 +03:00
contrib Bump version: 1.3.0.348-f42287-dirty → 1.4.0 2021-11-16 16:40:05 +01:00
debian debian/control: add osmo-bts meta-package 2021-11-30 09:03:12 +01:00
doc doc: rsl: Fix description of 'IP Connection Statistics' IE 2022-04-04 19:27:59 +02:00
include struct bts_ul_meas: reflect C/I units in field name s/c_i/ci_cb/ 2022-05-10 01:19:17 +03:00
src measurement: fix matching of SUB frames by TDMA FN 2022-05-10 16:49:16 +03:00
tests measurement: fix matching of SUB frames by TDMA FN 2022-05-10 16:49:16 +03:00
.gitignore .gitignore: add tests/amr/amr_test 2021-10-08 05:21:32 +00:00
.gitreview Add .gitreview 2016-06-17 15:33:01 +00:00
.mailmap Add .mailmap for mapping mail addresses in shortlog 2016-08-08 11:31:00 +00:00
COPYING re-work original osmo-bts with support for sysmocom femtobts 2011-06-27 11:25:35 +02:00
Makefile.am Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in 2020-05-22 13:37:41 +02:00
README.md Report interference levels in RSL RF RESource INDication 2021-06-18 18:56:57 +02:00
TODO-RELEASE Bump version: 1.3.0.348-f42287-dirty → 1.4.0 2021-11-16 16:40:05 +01:00
configure.ac Bump version: 1.3.0.348-f42287-dirty → 1.4.0 2021-11-16 16:40:05 +01:00
git-version-gen auto-generate a version 2011-09-07 21:28:27 +02:00

README.md

osmo-bts - Osmocom BTS Implementation

This repository contains a C-language implementation of a GSM Base Transceiver Station (BTS). It is part of the Osmocom Open Source Mobile Communications project.

This code implements Layer 2 and higher of a more or less conventional GSM BTS (Base Transceiver Station) - however, using an Abis/IP interface, rather than the old-fashioned E1/T1.

Specifically, this includes

  • BTS-side implementation of TS 08.58 (RSL) and TS 12.21 (OML)
  • BTS-side implementation of LAPDm (using libosmocore/libosmogsm)
  • A somewhat separated interface between those higher layer parts and the Layer1 interface.

Several kinds of BTS hardware are supported:

  • sysmocom sysmoBTS
  • Octasic octphy
  • Nutaq litecell 1.5
  • OpenCellular 2G (OC-2G)
  • software-defined radio based osmo-bts-trx (e.g. USRP B210, UmTRX, LimeSDR)

Homepage

The official homepage of the project is https://osmocom.org/projects/osmobts/wiki

GIT Repository

You can clone from the official osmo-bts.git repository using

git clone git://git.osmocom.org/osmo-bts.git

There is a cgit interface at https://git.osmocom.org/osmo-bts/

Documentation

User Manuals and VTY reference manuals are [optionally] built in PDF form as part of the build process.

Pre-rendered PDF version of the current "master" can be found at User Manual as well as the VTY reference manuals

There also is an Abis reference Manual describing the OsmoBTS specific A-bis dialect.

Mailing List

Discussions related to osmo-bts are happening on the openbsc@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/openbsc for subscription options and the list archive.

Please observe the Osmocom Mailing List Rules when posting.

Contributing

Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details

The current patch queue for osmo-bts can be seen at https://gerrit.osmocom.org/#/q/project:osmo-bts+status:open

Known Limitations

As of January 2021, the following known limitations exist in this implementation:

Common Core

  • No Extended BCCH support
  • System Information limited to 1,2,2bis,2ter,2quater,3,4,5,6,9,13
  • No RATSCCH in AMR
  • Will reject TS 12.21 STARTING TIME in SET BTS ATTR / SET CHAN ATTR
  • No support of TS 08.58 MultiRate Control
  • No support of TS 08.58 Supported Codec Types
  • No support of Bter frame / ENHANCED MEASUREMENT REPORT

osmo-bts-sysmo

  • No CSD / ECSD support (not planned)
  • GSM-R frequency band supported, but no NCH/ASCI/SoLSA
  • All timeslots on one TRX have to use same training sequence (TSC)
  • No multi-TRX support yet, though hardware+L1 support stacking
  • Makes no use of 12.21 Intave Parameters and Interference Level Boundaries
  • MphConfig.CNF can be returned to the wrong callback. E.g. with Tx Power and ciphering. The dispatch should take a look at the hLayer3.

osmo-bts-octphy

  • No support of EFR, HR voice codec (lack of PHY support?)
  • No re-transmission of PHY primitives in case of time-out
  • Link Quality / Measurement processing incomplete
  • impossible to modify encryption parameters using RSL MODE MODIFY
  • no clear indication of nominal transmit power, various power related computations are likely off
  • no OML attribute validation during bts_model_check_oml()