Osmocom Base Transceiver Station (BTS) https://osmocom.org/projects/osmobts
Go to file
Harald Welte a4bd813081 sysmobts: Re-order the bit-endianness of every HR codec parameter
The so-called "RTP mode" of the DSP contains a bug on all firmware
versions < 5.3.3 which causes the bit-order within each of the
non-aligned codec parameters to be wrong.  Introduce a function
originally written by Sylvain Munaut during 32C3 in
http://git.osmocom.org/openbsc/commit/?h=sylvain/32c3_codec&id=5b4a16bbe93a7b1ace65cc23d6cce56ecf4f1275
to bring the bits into [the correct] order.

This has never been seen in a "pure sysmoBTS" setup, as all BTSs would
use the same (wrong) bit-ordering and thus interoperate.  This patch now
checks for an affected DSP firmware version and then jumbles (old DSP
firmware version) or does nothing (new DSP firmware version).

Change-Id: Ia0eee4f514fb8fd81c052bb44a4facba898d6afb
Closes: SYS#2452
2017-06-01 00:50:51 +02:00
contrib sysmobts: Add VTY support to the sysmobts-mgr 2014-08-21 15:49:06 +02:00
doc add information on unit (milli-dB) to control interface doc 2014-08-25 08:42:08 +02:00
include tx_power: Change PA calibration tables to use delta vales 2017-02-14 16:54:36 +01:00
src sysmobts: Re-order the bit-endianness of every HR codec parameter 2017-06-01 00:50:51 +02:00
tests power: Make it possible to force a power level 2015-02-05 22:32:53 +01:00
.gitignore common: Ignore "si.valid" outside of _MAX_SYSINFO_TYPE 2014-05-22 21:17:49 +02:00
COPYING re-work original osmo-bts with support for sysmocom femtobts 2011-06-27 11:25:35 +02:00
Makefile.am sysmobts: Add VTY support to the sysmobts-mgr 2014-08-21 15:49:06 +02:00
README update README to bring it more in sync with reality. 2015-08-21 02:30:24 +02:00
configure.ac sysmobts: Initial version to use libgps to determine FIX state 2015-01-09 21:57:13 +01:00
git-version-gen auto-generate a version 2011-09-07 21:28:27 +02:00

README

Repository forw the Osmocom BTS implementation.

This code implementes the 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.

Right now, only one hardware and Layer1 are supported:  The sysmocom
sysmoBTS.

There is some experimental and way incomplete code to use a couple of
OsmocomBB phones and run them in the BTS.  However, the required code
for the Calypso DSP code have not been written yet.  This would still
require a lot of work.

Some additional work is being done in using some parts of the OpenBTS
L1FEC and glue it against omso-bts.  This code is called osmo-trx and
requires the jolly/trx branch of this repository.

== Known Limitations ==

As of August 20, 2015, 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
 * No OML (TS 12.21) alarms yet (temperature, ...)
 * Only single-TRX BTS at this point
 * Will reject TS 12.21 STARTING TIME in SET BTS ATTR / SET CHAN ATTR
 * No support for frequency hopping
 * No reporting of interference levels as part of TS 08.58 RF RES IND
 * No error reporting in case PAGING COMMAND fails due to queue overflow
 * No use of TS 08.58 BS Power and MS Power parameters
 * 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
 * Doesn't yet include MAC address in Abis/IP Identity message
 * 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.