== Overview === About this manual This manual should help you getting started with the OsmoBTS software. It will cover aspects of configuring and running OsmoBTS as well as some introduction about its internal architecture and external interfaces. === About OsmoBTS OsmoBTS is an implementation of a GSM BTS (Base Transceiver Station). A BTS serves as the interface between the Um radio interface towards phones and the wired Abis interface towards the BSC (Base Station Controller). It also implements the network side of the Layer 2 of the Um radio interface: The LAPDm protocol. OsmoBTS is licensed as Free and Open Source Software (FOSS) under _GNU AGPLv3_ <>. It is developed as one GSM network infrastructure component part of the overall Osmocom project. As perhaps the first implementation of a GSM BTS ever in the industry, OsmoBTS is implemented in a vendor-independent way and supports a large variety of transceiver hardware and physical layer implementations from many vendors. === Credits OsmoBTS was originally developed in 2011 by Andreas Eversberg and Harald Welte. It has since been maintained by Harald Welte and Holger Freyther at sysmocom. === OsmoBTS in the Osmocom GSM network architecture OsmoBTS can be used in combination with the various other GSM network elements developed under the umbrella of the Osmocom project. Typical configurations either use OsmoBTS with OsmoBSC, or with OsmoNITB, as can be seen in the following figures. [[fig-gsm-classic]] .Classic GSM architecture using OsmoBTS with OsmoBTS components [graphviz] ---- digraph G { rankdir=LR; MS0 [label="MS"] MS1 [label="MS"] MS2 [label="MS"] MS3 [label="MS"] BTS0 [label="OsmoBTS"] BTS1 [label="OsmoBTS"] BSC [label="OsmoBSC"] MSC [label="MSC/VLR"] HLR [label="HLR/AUC"] MS0->BTS0 [label="Um"] MS1->BTS0 [label="Um"] MS2->BTS1 [label="Um"] MS3->BTS1 [label="Um"] BTS0->BSC [label="Abis"] BTS1->BSC [label="Abis"] BSC->MSC [label="A"] MSC->HLR [label="C"] MSC->EIR [label="F"] MSC->SMSC } ---- [[fig-gsm-nitb]] .GSM architecture using OsmoBTS + OsmoNITB [graphviz] ---- digraph G { rankdir=LR; MS0 [label="MS"] MS1 [label="MS"] MS2 [label="MS"] MS3 [label="MS"] BTS0 [label="OsmoBTS"] BTS1 [label="OsmoBTS"] MS0->BTS0 [label="Um"] MS1->BTS0 [label="Um"] MS2->BTS1 [label="Um"] MS3->BTS1 [label="Um"] BTS0->BSC [label="Abis"] BTS1->BSC [label="Abis"] subgraph cluster_nitb { label = "OsmoNITB"; BSC MSC [label="MSC/VLR"] HLR [label="HLR/AUC"] BSC->MSC [label="A"] MSC->HLR [label="C"] MSC->EIR [label="F"] MSC->SMSC; } } ---- If intended by the user, it is of course also possible to implement an OsmoBTS-compatible Abis-over-IP interface in any third party BSC. The Abis/IP interface and its protocol are documented in the _OsmoBTS Abis Protocol Specification_ <>. However, be advised that such a configuration is currently not officially supported by Osmocom.