Wiki » History » Revision 33
Revision 32 (laforge, 07/25/2022 08:44 AM) → Revision 33/34 (laforge, 11/02/2023 08:34 AM)
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://sysmocom.de/products/bts/ "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":https://sysmocom.de/products/bts/ "sysmoBTS":https://www.sysmocom.de/products/bts/ hardware, while running [[osmo-bts-sysmo-remote]] on (for example) x86 hardware hardware. * osmo-bts-trx ** Wideband SDR transceiver hardware supported by "OpenBTS":http://openbts.org/ 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]; LimeSDR [label="LimeSDR\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 -- LimeSDR; TRX -- OtherSDR [style=dashed]; { rank=same; sysmoBTS LC15 OCT UmTRX } } }} {{include(cellular-infrastructure:MacroBinaryPackages)}} h2. Manuals * "OsmoBTS User Manual":https://ftp.osmocom.org/docs/latest/osmobts-usermanual.pdf * OsmoBTS VTY Reference: "osmo-bts-lc15":https://ftp.osmocom.org/docs/latest/osmobts-lc15-vty-reference.pdf, "osmo-bts-oc2g":https://ftp.osmocom.org/docs/latest/osmobts-oc2g-vty-reference.pdf, "osmo-bts-octphy":https://ftp.osmocom.org/docs/latest/osmobts-octphy-vty-reference.pdf, "osmo-bts-sysmo":https://ftp.osmocom.org/docs/latest/osmobts-sysmo-vty-reference.pdf, "osmo-bts-trx":https://ftp.osmocom.org/docs/latest/osmobts-trx-vty-reference.pdf, "osmo-bts-virtual":https://ftp.osmocom.org/docs/latest/osmobts-virtual-vty-reference.pdf * "OsmoBTS Abis Protocol Manual":https://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 @gitea.osmocom.org@ (module @osmo-bts@). Public read-only access is available via <pre> git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-bts.git </pre> You can browse it via cgit: https://gitea.osmocom.org/cellular-infrastructure/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: https://gitea.osmocom.org/ttcn3/osmo-ttcn3-hacks/src/branch/master/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)}}