Wiki » History » Version 25
steviehs, 06/14/2018 09:36 AM
Changed URL of sysmoBTS
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 | 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 | 23 | laforge | ** Multiple indoor and outdoor "fairwaves":https://fairwaves.co BTSs, like UmDESK and UmSITE |
61 | 13 | laforge | * osmo-bts-litecell15 |
62 | * osmo-bts-octphy |
||
63 | 10 | laforge | * osmo-bts-bb |
64 | ** 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 | |||
66 | 17 | laforge | {{graphviz_link() |
67 | graph G { |
||
68 | OsmoBTS [color=red]; |
||
69 | sysmoBTS [label="sysmocom sysmoBTS\n(many models)", shape=box]; |
||
70 | LC15 [label="Nuran\nLitecell 1.5", shape=box]; |
||
71 | OCT [label="Octasic\nOCTBTS", shape=box]; |
||
72 | TRX [label="OsmoTRX"]; |
||
73 | OtherSDR [label="Other SDR HW", shape=box, style=dashed]; |
||
74 | OtherPHY [label="Other GSM PHY", shape=box, style=dashed]; |
||
75 | UmTRX [label="Fairwaves\nUmTRX", shape=box]; |
||
76 | USRP [label="Ettus USRP\nFamily", shape=box]; |
||
77 | |||
78 | OsmoBTS -- sysmoBTS [label="osmo-bts-sysmo"]; |
||
79 | OsmoBTS -- LC15 [label="osmo-bts-lc15"]; |
||
80 | OsmoBTS -- OCT [label="osmo-bts-octphy"]; |
||
81 | OsmoBTS -- TRX [label="osmo-bts-trx"]; |
||
82 | OsmoBTS -- OtherPHY [style=dashed]; |
||
83 | |||
84 | TRX -- USRP; |
||
85 | TRX -- UmTRX; |
||
86 | TRX -- OtherSDR [style=dashed]; |
||
87 | |||
88 | 18 | laforge | { rank=same; sysmoBTS LC15 OCT UmTRX } |
89 | 17 | laforge | } |
90 | }} |
||
91 | |||
92 | 20 | laforge | {{include(cellular-infrastructure:MacroBinaryPackages)}} |
93 | |||
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 | |||
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 | h2. Source code |
||
107 | |||
108 | |||
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 | git clone git://git.osmocom.org/osmo-bts.git |
||
114 | </pre> |
||
115 | You can browse it via cgit: https://git.osmocom.org/osmo-bts/ |
||
116 | 6 | ipse | |
117 | 24 | laforge | h2. Test Suite |
118 | |||
119 | We have a TTCN-3 test suite for OsmoBTS as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]] |
||
120 | * source code: http://git.osmocom.org/osmo-ttcn3-hacks/tree/bts |
||
121 | * results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bts-test/ |
||
122 | |||
123 | 10 | laforge | h2. Authors / Credits |
124 | 1 | laforge | |
125 | 10 | laforge | |
126 | [[OsmoBTS]] was originally developed in 2011 by Andreas Eversberg and Harald Welte. |
||
127 | 1 | laforge | |
128 | 21 | laforge | Today it is mostly maintained by Harald Welte and his team at sysmocom. |