The PCUIF interface implementation in osmo-bsc provides two ways to access the paging channel (PCH). 1) Under the SAPI PCU_IF_SAPI_PCH PAGING COMMAND messages are accepted as whole MAC block but the format is in the style that we are going to deprecate with PCUIF v.11. Also at the moment those PAGING COMMANDs are not confirmed towards the PCU. This is also not necessary since osmo-pcu would silently drop such confirmations. (see pcu_rx_data_cnf in pcu_l1_if.cpp) 2) Under the SAPI PCU_IF_SAPI_PCH_DT messages are also accepded as MAC blocks but the SAPI will only accept IMMEDIATE ASSIGNMENT messages. The messages are encapsulated in a struct that holds IMSI (paging group) and TLLI (used for confirmation) as separate struct members. The messages are also confirmed towards the PCU as it should be. Since we want to depreacete the older V.10 version of PCUIF and there is not much benefit in maintaining two interfaces we should use SAPI PCU_IF_SAPI_PCH_DT for both message types. This also requires small adjustments to osmo-pcu (see Depends). Depends: osmo-pcu.git I99cfe373fa157cfb32b74c113ad9935347653a71 Related: OS#5927 Change-Id: I82443f2b402aa2416469c8c50b1c050323ef3b8f |
||
---|---|---|
contrib | ||
debian | ||
doc | ||
include | ||
m4 | ||
src | ||
tests | ||
.gitignore | ||
.gitreview | ||
.mailmap | ||
AUTHORS | ||
COPYING | ||
Makefile.am | ||
README.md | ||
README.vty-tests | ||
TODO-RELEASE | ||
configure.ac | ||
git-version-gen | ||
osmoappdesc.py |
README.md
osmo-bsc - Osmocom BSC Implementation
This repository contains a C-language implementation of a GSM Base Station Controller (BSC). IT is part of the Osmocom Open Source Mobile Communications project.
OsmoBSC exposes
- A over IP towards an MSC (e.g. OsmoMSC): 3GPP AoIP or SCCPlite
- Abis interfaces towards various kinds of BTS (osmo-bts, sysmobts, nanoBTS, Siemens, Nokia, Ericsson)
- The Osmocom typical telnet VTY and CTRL interfaces.
- The Osmocom typical statsd exporter.
- Cell Broadcast Service Protocol (CBSP) towards a CBC (Cell Broadcast Centre, such as osmo-cbc).
- Lb interface towards a SMLC (Serving Mobile Location Centre, such as osmo-smlc).
Homepage
You can find the OsmoBSC issue tracker and wiki online at https://osmocom.org/projects/osmobsc and https://osmocom.org/projects/osmobsc/wiki.
GIT Repository
You can clone from the official osmo-bsc.git repository using
git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc
There is a web interface at https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc
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 Manual
There also is an Abis reference Manual describing the OsmoBTS specific A-bis dialect, as well as a CBSP Reference Maunal describing the level of CBSP conformance.
Mailing List
Discussions related to osmo-bsc 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-bsc can be seen at https://gerrit.osmocom.org/#/q/project:osmo-bsc+status:open
History
OsmoBSC originated from the OpenBSC project, which started as a minimalistic all-in-one implementation of the GSM Network. In 2017, OpenBSC had reached maturity and diversity (including M3UA SIGTRAN and 3G support in the form of IuCS and IuPS interfaces) that naturally lead to a separation of the all-in-one approach to fully independent separate programs as in typical GSM networks.
OsmoBSC was one of the parts split off from the old openbsc.git. Before, it worked as a standalone osmo-bsc binary as well as a combination of libbsc and libmsc, i.e. the old OsmoNITB. Since the standalone OsmoMSC with a true A interface (and IuCS for 3G support) is available, OsmoBSC exists only as a separate standalone entity.
OsmoBSC-NAT is a specialized solution to navigating RTP streams through a NAT. (Todo: describe in more detail)