Wiki » History » Revision 28
Revision 27 (laforge, 03/04/2020 08:28 PM) → Revision 28/34 (keith, 04/06/2020 05:27 PM)
h1. [[OsmoBTS]]
[[OsmoBTS]] is a software implementation of a GSM BTS(Base Transceiver Station).
It implements the follwing protocols/interfaces:
* LAPDm (GSM 04.06)
* RTP
* A-bis/IP in IPA multiplex
* OML (GSM TS 12.21)
* RSL (GSM TS 08.58)
[[OsmoBTS]] is building up on work done previosuly for [[OpenBSC:]] (e.g. RSL, OML, RTP) and [[OsmocomBB:]] (e.g. LAPDm). The Abis/IP protocol staking is inspired by ip.access A-bis/IP, sometimes called IPA multiplex.
h2. OsmoBTS in the Osmocom architecture
h3. OsmoBTS in a GSM + GPRS/EDGE network using [[OsmoNITB:]]
{{graphviz_link()
digraph G {
rankdir = LR;
OsmoTRX -> OsmoBTS [label="bursts over UDP"];
sysmoPHY -> OsmoBTS [label="/dev/msgq/"];
octPHY -> OsmoBTS [label="Raw Ethernet"];
OsmoBTS -> OsmoNITB [label="Abis/IP"];
OsmoBTS -> OsmoPCU [label="pcu_sock"];
OsmoPCU -> OsmoSGSN [label="Gb/IP"];
OsmoBTS [color=red];
}
}}
h3. OsmoBTS in a GSM + GPRS/EDGE network using [[OsmoBSC:]] and [[OsmoMSC:]]
{{graphviz_link()
digraph G {
rankdir = LR;
OsmoTRX -> OsmoBTS [label="bursts over UDP"];
sysmoPHY -> OsmoBTS [label="/dev/msgq/"];
octPHY -> OsmoBTS [label="Raw Ethernet"];
OsmoBTS -> OsmoBSC [label="Abis/IP"];
OsmoBSC -> OsmoMSC [label="3GPP AoIP"];
OsmoMSC -> OsmoHLR [label="GSUP"];
OsmoBTS -> OsmoPCU [label="pcu_sock"];
OsmoPCU -> OsmoSGSN [label="Gb/IP"];
OsmoSGSN -> OsmoGGSN [label="Gp"];
OsmoBTS [color=red];
}
}}
h2. Backends / Hardware support
[[OsmoBTS]] is modular and has support for multiple back-ends. A back-end talks to a specific L1/PHY implementation of the respective BTS hardware. Based on this architecture, it should be relatively easy to add a new back-end to support so-far unsupported GSM PHY/L1 and associated hardware.
So far [[OsmoBTS]] has been integrated with several different L1/PHY and hardware systems. The backends are:
* osmo-bts-sysmo
** Multiple indoor and outdoor BTS products called "sysmoBTS":https://www.sysmocom.de/products/bts/ by "sysmocom":http://sysmocom.de/
* osmo-bts-sysmo-remote
** Allows forwarding over UDP of the Layer1 to the "sysmoBTS" hardware, while running [[osmo-bts-sysmo-remote]] on (for example) x86 hardware.
* osmo-bts-trx
** Wideband SDR transceiver hardware supported by [[OpenBTS]] transceiver or [OsmoTRX] PHY layer software, including the [[umtrx:UmTRX]], the USRP family, etc.
** Multiple indoor and outdoor "fairwaves":https://fairwaves.co BTSs, like UmDESK and UmSITE
* osmo-bts-litecell15
* osmo-bts-octphy
* osmo-bts-bb
** A pretty crazy experimental BTS hardware based on two [[OsmocomBB]] phones had originally been supported, but needs to be re-integrated with core code changes.
{{graphviz_link()
graph G {
OsmoBTS [color=red];
sysmoBTS [label="sysmocom sysmoBTS\n(many models)", shape=box];
LC15 [label="Nuran\nLitecell 1.5", shape=box];
OCT [label="Octasic\nOCTBTS", shape=box];
TRX [label="OsmoTRX"];
OtherSDR [label="Other SDR HW", shape=box, style=dashed];
OtherPHY [label="Other GSM PHY", shape=box, style=dashed];
UmTRX [label="Fairwaves\nUmTRX", shape=box];
USRP [label="Ettus USRP\nFamily", shape=box];
OsmoBTS -- sysmoBTS [label="osmo-bts-sysmo"];
OsmoBTS -- LC15 [label="osmo-bts-lc15"];
OsmoBTS -- OCT [label="osmo-bts-octphy"];
OsmoBTS -- TRX [label="osmo-bts-trx"];
OsmoBTS -- OtherPHY [style=dashed];
TRX -- USRP;
TRX -- UmTRX;
TRX -- OtherSDR [style=dashed];
{ rank=same; sysmoBTS LC15 OCT UmTRX }
}
}}
{{include(cellular-infrastructure:MacroBinaryPackages)}}
h2. Manuals
* User Manual: http://ftp.osmocom.org/docs/latest/osmobts-usermanual.pdf
* VTY Reference: http://ftp.osmocom.org/docs/latest/osmobts-vty-reference.pdf
* Abis Protocol Manual: http://ftp.osmocom.org/docs/latest/osmobts-abis.pdf
h2. GPRS support
In the GSM architecture, the BTS is an element in the circuit-switched domain only.
For packet-switched support, OsmoBTS provides a socket interface towards [[OsmoPCU:]]. This adds GPRS and EDGE support to it.
h2. Source code
The source code is available from @git.osmocom.org@ (module @osmo-bts@).
Public read-only access is available via
<pre>
git clone git://git.osmocom.org/osmo-bts.git
</pre>
You can browse it via cgit: https://git.osmocom.org/osmo-bts/
h2. Test Suite
We have a TTCN-3 test suite for OsmoBTS as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]]
* source code: http://git.osmocom.org/osmo-ttcn3-hacks/tree/bts
* results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/
h2. Authors / Credits
[[OsmoBTS]] was originally developed in 2011 by Andreas Eversberg and Harald Welte.
Today it is mostly maintained by Harald Welte and his team at sysmocom.
{{include(cellular-infrastructure:MacroCommercialSupport)}}