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. |