Project

General

Profile

Wiki » History » Version 19

laforge, 10/21/2017 02:49 PM

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 16 laforge
h2. Manuals
93 1 laforge
94 16 laforge
* User Manual: http://ftp.osmocom.org/docs/latest/osmobts-usermanual.pdf
95 16 laforge
* VTY Reference: http://ftp.osmocom.org/docs/latest/osmobsc-vty-reference.pdf
96 16 laforge
* Abis Protocol Manual: http://ftp.osmocom.org/docs/latest/osmobts-abis.pdf
97 16 laforge
98 16 laforge
h2. Status
99 10 laforge
100 9 laforge
The source code includes a  http://cgit.osmocom.org/cgit/osmo-bts/tree/README file with current status information
101 9 laforge
102 1 laforge
h2. GPRS support
103 10 laforge
104 12 laforge
In the GSM architecture, the BTS is an element in the circuit-switched domain only.
105 1 laforge
106 12 laforge
For packet-switched support, OsmoBTS provides  a socket interface towards [[OsmoPCU:]]. This adds GPRS and EDGE support to it.
107 10 laforge
108 10 laforge
h2. Source code
109 10 laforge
110 10 laforge
111 1 laforge
The source code is available from git.osmocom.org (module osmo-bts).
112 6 ipse
113 6 ipse
Public read-only access is available via
114 6 ipse
 git clone git://git.osmocom.org/osmo-bts.git
115 6 ipse
You can browse it via cgit: http://cgit.osmocom.org/cgit/osmo-bts/
116 6 ipse
117 6 ipse
118 10 laforge
h2. Authors / Credits
119 1 laforge
120 10 laforge
121 10 laforge
[[OsmoBTS]] was originally developed in 2011 by Andreas Eversberg and Harald Welte.  
122 9 laforge
123 12 laforge
Today it is mostly maintained by Harald Welte and Holger Freyther at sysmocom.  Exception is the osmo-bts-trx back-end which is maintained by Fairwaves.