Vadim Yanitskiy
11fb108221
Currently (without this patch) if tch_dl_dequeue() yields nothing we're scheduling dummy FACCH/H *regardless* if it's permitted to start at the given TDMA FN or not. This may result in misaligned FACCH transmission, so the MS will not able to decode anything and will report BER>0. With this patch applied we schedule FACCH/H if it's allowed to start at the current TDMA FN; otherwise send half-filled bursts with even numbered bits contaning 232 encoded bits of the previous L2 frame and 232 odd numbered bits all set to 0. This patch does not guard against sporadic gaps in the Downlink TCH queue. However when tch_dl_dequeue() constantly yields nothing, e.g. when we end up with a codec mismatch, then this additional check saves us from starting misaligned FACCH/H transmission. If we start at a wrong TDMA offset, then all subsequent FACCH frames will be scheduled at wrong offsets and thus none of them will be decoded by the MS. Change-Id: I6f8af140a6ccf3d5fd7b98f6cb5c18e2c5e2f61b Related: SYS#5919, OS#4823 |
||
---|---|---|
contrib | ||
debian | ||
doc | ||
include | ||
src | ||
tests | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
COPYING | ||
Makefile.am | ||
README.md | ||
TODO-RELEASE | ||
configure.ac | ||
git-version-gen |
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
- VTY Reference Manual for osmo-bts-sysmo
- VTY Reference Manual for osmo-bts-trx
- VTY Reference Manual for osmo-bts-lc15
- VTY Reference Manual for osmo-bts-oc2g
- VTY Reference Manual for osmo-bts-octphy
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()