Project

General

Profile

Wiki » History » Version 32

laforge, 07/25/2022 08:44 AM
gitea

1 10 laforge
h1. [[OsmoBTS]]
2 4 ipse
3
4 15 laforge
[[OsmoBTS]] is a software implementation of a GSM BTS(Base Transceiver Station). 
5
6
It implements the follwing protocols/interfaces:
7 10 laforge
* LAPDm (GSM 04.06)
8
* RTP
9
* A-bis/IP in IPA multiplex
10
* OML (GSM TS 12.21)
11
* RSL (GSM TS 08.58)
12 1 laforge
13 14 laforge
[[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.
14 1 laforge
15 11 laforge
h2. OsmoBTS in the Osmocom architecture
16
17 19 laforge
h3. OsmoBTS in a GSM + GPRS/EDGE network using [[OsmoNITB:]]
18
19 11 laforge
{{graphviz_link()
20
digraph G {
21
    rankdir = LR;
22
    OsmoTRX -> OsmoBTS [label="bursts over UDP"];
23
    sysmoPHY -> OsmoBTS [label="/dev/msgq/"];
24
    octPHY -> OsmoBTS [label="Raw Ethernet"];
25
    OsmoBTS -> OsmoNITB [label="Abis/IP"];
26
    OsmoBTS -> OsmoPCU [label="pcu_sock"];
27
    OsmoPCU -> OsmoSGSN [label="Gb/IP"];
28 19 laforge
    OsmoBTS [color=red];
29
}
30
}}
31
32
h3. OsmoBTS in a GSM + GPRS/EDGE network using [[OsmoBSC:]] and [[OsmoMSC:]]
33
34
{{graphviz_link()
35
digraph G {
36
    rankdir = LR;
37
    OsmoTRX -> OsmoBTS [label="bursts over UDP"];
38
    sysmoPHY -> OsmoBTS [label="/dev/msgq/"];
39
    octPHY -> OsmoBTS [label="Raw Ethernet"];
40
    OsmoBTS -> OsmoBSC [label="Abis/IP"];
41
    OsmoBSC -> OsmoMSC [label="3GPP AoIP"];
42
    OsmoMSC -> OsmoHLR [label="GSUP"];
43
    OsmoBTS -> OsmoPCU [label="pcu_sock"];
44
    OsmoPCU -> OsmoSGSN [label="Gb/IP"];
45
    OsmoSGSN -> OsmoGGSN [label="Gp"];
46 11 laforge
    OsmoBTS [color=red];
47
}
48
}}
49 1 laforge
50 10 laforge
h2. Backends / Hardware support
51 9 laforge
52 10 laforge
53
[[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.
54
55
So far [[OsmoBTS]] has been integrated with several different L1/PHY and hardware systems. The backends are:
56
* osmo-bts-sysmo
57 25 steviehs
** Multiple indoor and outdoor BTS products  called "sysmoBTS":https://www.sysmocom.de/products/bts/ by "sysmocom":http://sysmocom.de/
58 28 keith
* osmo-bts-sysmo-remote
59 29 fixeria
** Allows forwarding over UDP of the Layer1 to the "sysmoBTS":https://www.sysmocom.de/products/bts/ hardware, while running [[osmo-bts-sysmo-remote]] on (for example) x86 hardware.
60 1 laforge
* osmo-bts-trx
61 29 fixeria
** Wideband SDR transceiver hardware supported by "OpenBTS":http://openbts.org/ transceiver or [[OsmoTRX:]] PHY layer software, including the [[umtrx:UmTRX]], the USRP family, etc.
62 23 laforge
** Multiple indoor and outdoor "fairwaves":https://fairwaves.co BTSs, like UmDESK and UmSITE
63 13 laforge
* osmo-bts-litecell15
64
* osmo-bts-octphy
65 10 laforge
* osmo-bts-bb
66 29 fixeria
** 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.
67 10 laforge
68 17 laforge
{{graphviz_link()
69
graph G {
70
  OsmoBTS [color=red];
71
  sysmoBTS [label="sysmocom sysmoBTS\n(many models)", shape=box];
72
  LC15 [label="Nuran\nLitecell 1.5", shape=box];
73
  OCT [label="Octasic\nOCTBTS", shape=box];
74
  TRX [label="OsmoTRX"];
75
  OtherSDR [label="Other SDR HW", shape=box, style=dashed];
76
  OtherPHY [label="Other GSM PHY", shape=box, style=dashed];
77
  UmTRX [label="Fairwaves\nUmTRX", shape=box];
78
  USRP [label="Ettus USRP\nFamily", shape=box];
79 30 laforge
  LimeSDR [label="LimeSDR\nFamily", shape=box];
80 17 laforge
81
  OsmoBTS -- sysmoBTS [label="osmo-bts-sysmo"];
82
  OsmoBTS -- LC15 [label="osmo-bts-lc15"];
83
  OsmoBTS -- OCT [label="osmo-bts-octphy"];
84
  OsmoBTS -- TRX [label="osmo-bts-trx"];
85
  OsmoBTS -- OtherPHY [style=dashed];
86
87
  TRX -- USRP;
88
  TRX -- UmTRX;
89 30 laforge
  TRX -- LimeSDR;
90 17 laforge
  TRX -- OtherSDR [style=dashed];
91
92 18 laforge
  { rank=same; sysmoBTS LC15 OCT UmTRX }
93 17 laforge
}
94
}}
95
96 20 laforge
{{include(cellular-infrastructure:MacroBinaryPackages)}}
97
98 16 laforge
h2. Manuals
99 1 laforge
100 31 laforge
* "OsmoBTS User Manual":https://ftp.osmocom.org/docs/latest/osmobts-usermanual.pdf
101
* 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
102
* "OsmoBTS Abis Protocol Manual":https://ftp.osmocom.org/docs/latest/osmobts-abis.pdf
103 9 laforge
104 1 laforge
h2. GPRS support
105 10 laforge
106 12 laforge
In the GSM architecture, the BTS is an element in the circuit-switched domain only.
107 1 laforge
108 12 laforge
For packet-switched support, OsmoBTS provides  a socket interface towards [[OsmoPCU:]]. This adds GPRS and EDGE support to it.
109 10 laforge
110
h2. Source code
111
112
113 32 laforge
The source code is available from @gitea.osmocom.org@ (module @osmo-bts@).
114 6 ipse
115 1 laforge
Public read-only access is available via
116 22 laforge
<pre>
117 32 laforge
git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-bts.git
118 22 laforge
</pre>
119 32 laforge
You can browse it via cgit: https://gitea.osmocom.org/cellular-infrastructure/osmo-bts
120 6 ipse
121 24 laforge
h2. Test Suite
122
123
We have a TTCN-3 test suite for OsmoBTS as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]]
124 32 laforge
* source code: https://gitea.osmocom.org/ttcn3/osmo-ttcn3-hacks/src/branch/master/bts
125 24 laforge
* results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/
126
127 10 laforge
h2. Authors / Credits
128 1 laforge
129 10 laforge
130
[[OsmoBTS]] was originally developed in 2011 by Andreas Eversberg and Harald Welte.  
131 1 laforge
132 21 laforge
Today it is mostly maintained by Harald Welte and his team at sysmocom.
133 27 laforge
134
{{include(cellular-infrastructure:MacroCommercialSupport)}}
Add picture from clipboard (Maximum size: 48.8 MB)