Osmocom Base Transceiver Station (BTS) https://osmocom.org/projects/osmobts
Go to file
Pau Espin 2ff4592ffc Fix RadioCarrier OML Operative State Change report not sent on some scenarios
Operative state is mainly maintained based on 2 requirements:
* phy_link being in CONNECTED state
* RSL connection being up and ready

However, state change report triggered over OMl towards BSC was only
done upon the first event of the two. That means that if for whatever
reason the RSL connection was established AFTER the phy_link became
CONNECTED (ie receiving RSP POWERON in osmo-bts-trx), then the status
towards the BSC would not be updated and hence the BSC would still see
the Radio Carrier object as DISABLED.

The trx_set_available() function is renamed to trx_operability_update()
to keep the logic conditions in one place, and different events
triggering a change in state simply call the function and let it handle
the new state.

Related: SYS#5063
Change-Id: Ic00df9e7278d42bc10c1e1a1c0edde7e13199299
2020-09-15 14:03:29 +02:00
contrib osmo-bts.spec.in: Use %config(noreplace) to retain current config file 2020-06-24 05:26:50 +00:00
debian Update dependency on libosmocore 1.4.0 2020-08-20 08:38:45 +00:00
doc osmo-bts-trx: Use much lower clock advance values towards PCU and TRX 2020-08-17 19:11:19 +02:00
include Fix RadioCarrier OML Operative State Change report not sent on some scenarios 2020-09-15 14:03:29 +02:00
src Fix RadioCarrier OML Operative State Change report not sent on some scenarios 2020-09-15 14:03:29 +02:00
tests common: tx_power: Fix bug in power ramp up below max-initial value 2020-08-18 17:22:38 +02:00
.gitignore contrib: integrate RPM spec 2020-05-20 08:52:37 +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 Fix common misspellings and typos 2019-10-17 08:05:35 +00:00
TODO-RELEASE Update dependency on libosmocore 1.4.0 2020-08-20 08:38:45 +00:00
configure.ac configure.ac: Fix trailing whitespace 2020-08-20 08:40:00 +00: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
  • 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 http://git.osmocom.org/osmo-bts/

Documentation

We provide a User Manual as well as a VTY Reference Manual and a 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 March 17, 2017, 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 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
  • 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()