Since 95407f3f osmo-bts-trx supports scheduling all CSD specific
channel rates, however the rate adaptation was missing.
On the radio interface we deal with CSD-modified V.110 frames, which
need to be converted to normal 80-bit V.110 frames (RA1'/RA1), which
in turn need to be batched and sent in RFC4040 "clearmode" 160 octet
RTP payloads (RA1/RA2 as per I.460).
Note that this patch comments out TCH/F14.4 in bts_supports_cm_data(),
so that all channel allocations for this mode would be NACKed. The
reason for this is that the rate adaptation functions for TCH/F14.4
are different than the RA1'/RA1 and the RA1/RA2.
For more information, see:
* 3GPP TS 44.021, section 8 (functions RA1'/RA1)
* ITU-T I.460, section 1.1 "Rate adaption of 8, 16 and 32 kbit/s streams"
Change-Id: I5e3701ad52d5d428fd02caff037881045f2d0a02
Related: OS#1572
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 https://gitea.osmocom.org/cellular-infrastructure/osmo-bts
There is a web interface at https://gitea.osmocom.org/cellular-infrastructure/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()