Project

General

Profile

Wiki » History » Version 22

laforge, 03/23/2018 10:33 AM

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