OsmoBSC » History » Version 23
laforge, 08/10/2022 07:19 AM
1 | 15 | laforge | {{>toc}} |
---|---|---|---|
2 | |||
3 | 1 | laforge | h1. OsmoBSC |
4 | |||
5 | 23 | laforge | [[OsmoBSC:]] is an implementation of a GSM BSC (Base Station Controller), i.e. it offers the following interfaces: |
6 | * A-bis interface towards the Base Transceiver Stations (BTSs) |
||
7 | * A-over-IP (AoIP) interface towards an Mobile Switching Centre (MSC) (e.g. [[OsmoMSC:]]). |
||
8 | * Media Gateway Control Protocol (MGCP) interface towards a Media Gateway (MGW) (e.g. [[OsmoMGW:]] for handling the RTP user plane (voice call codec frames) |
||
9 | * Lb interface towards a Serving Mobile Location Centre (SMLC) (e.g. [[OsmoSMLC:]]) |
||
10 | * CBSP interface towards a Cell Broadcast Centre (CBC) (e.g. [[OsmoCBC:]]) |
||
11 | 1 | laforge | |
12 | |||
13 | 23 | laforge | OsmoBSC started as a very humble implementation, but by now is a rather feature-complete Base Station Controller with support for (example) |
14 | * intra-BSC, inter-BSC, inter-MSC, inter-PLMN hand-over |
||
15 | * interference, power and load based hand-over |
||
16 | * circuit-switched fallback (CSFB) from LTE/E-UTRAN with fast return |
||
17 | * dynamic timeslot usage (SDCCH/TCH/PDCH) - depending on BTS support |
||
18 | * MSC pooling |
||
19 | * Cell Broadcast (CBS) / Emergency Broadcast (ETWS) |
||
20 | * Location Services |
||
21 | * SACCH Repetition |
||
22 | * Basic VAMOS support - depending on BTS support |
||
23 | 19 | laforge | |
24 | 23 | laforge | |
25 | 12 | laforge | h2. OsmoBSC in the Osmocom architecture |
26 | |||
27 | h3. Signaling Plane only |
||
28 | |||
29 | {{graphviz_link() |
||
30 | digraph G { |
||
31 | rankdir = LR; |
||
32 | subgraph cluster_RAN { |
||
33 | OsmoBTS; |
||
34 | OsmoBTS1 [label="OsmoBTS"]; |
||
35 | OsmoBTS2 [label="OsmoBTS"]; |
||
36 | OsmoBSC [color=red]; |
||
37 | label = "RAN"; |
||
38 | } |
||
39 | subgraph cluster_CN { |
||
40 | OsmoMSC [label="MSC\ne.g. OsmoMSC"]; |
||
41 | Core [label="Other CN Elements"]; |
||
42 | label = "CN"; |
||
43 | } |
||
44 | OsmoBTS -> OsmoBSC [label="Abis/IP"]; |
||
45 | OsmoBTS1 -> OsmoBSC [label="Abis/IP"]; |
||
46 | OsmoBTS2 -> OsmoBSC [label="Abis/IP"]; |
||
47 | OsmoBSC -> OsmoMSC [label="3GPP AoIP\nvia SIGTRAN/STP"]; |
||
48 | OsmoMSC -> Core [label="MAP/ISUP/SIP/GSUP"]; |
||
49 | |||
50 | |||
51 | } |
||
52 | } |
||
53 | }} |
||
54 | |||
55 | h3. Signaling + User (Media) Plane |
||
56 | |||
57 | {{graphviz_link() |
||
58 | digraph G { |
||
59 | rankdir = LR; |
||
60 | subgraph cluster_RAN { |
||
61 | OsmoBTS; |
||
62 | OsmoBTS1 [label="OsmoBTS"]; |
||
63 | OsmoBTS2 [label="OsmoBTS"]; |
||
64 | OsmoBSC [color=red]; |
||
65 | OsmoMGW [label="OsmoMGW\n(for BSC)"]; |
||
66 | |||
67 | OsmoBTS -> OsmoBSC [label="Abis/IP"]; |
||
68 | OsmoBTS1 -> OsmoBSC [label="Abis/IP"]; |
||
69 | OsmoBTS2 -> OsmoBSC [label="Abis/IP"]; |
||
70 | OsmoBSC -> OsmoMGW [label="MGCP"]; |
||
71 | { rank = same; OsmoBSC; OsmoMGW } |
||
72 | |||
73 | OsmoBTS -> OsmoMGW [label="RTP"]; |
||
74 | OsmoBTS1 -> OsmoMGW [label="RTP"]; |
||
75 | OsmoBTS2 -> OsmoMGW [label="RTP"]; |
||
76 | |||
77 | label = "RAN"; |
||
78 | } |
||
79 | subgraph cluster_CN { |
||
80 | OsmoMGW1 [label="OsmoMGW\n(for MSC)"]; |
||
81 | OsmoMSC [label="MSC\ne.g. OsmoMSC"]; |
||
82 | Core [label="Other CN Elements"]; |
||
83 | OsmoMSC -> Core [label="MAP/ISUP/SIP/GSUP"]; |
||
84 | OsmoMSC -> OsmoMGW1 [label="MGCP"]; |
||
85 | { rank = same; OsmoMSC; OsmoMGW1 } |
||
86 | OsmoMGW -> OsmoMGW1 [label="RTP"]; |
||
87 | OsmoMGW1 -> Core [label="RTP"]; |
||
88 | label = "CN"; |
||
89 | } |
||
90 | |||
91 | OsmoBSC -> OsmoMSC [label="3GPP AoIP\nvia SIGTRAN/STP"]; |
||
92 | |||
93 | } |
||
94 | }} |
||
95 | 10 | laforge | |
96 | 2 | laforge | |
97 | 4 | laforge | h2. BTS Support |
98 | |||
99 | 13 | laforge | OsmoBSC supports currently all BTSs running the [[OsmoBTS:]] software (such as sysmoBTS), as well as ip.access nanoBTS devices. Other Abis/IP devices may be supported. |
100 | |||
101 | Support for legacy E1/T1 TDM based BTSs (like those supported by [[OsmoNITB:]] is on the roadmap. |
||
102 | |||
103 | 4 | laforge | {{graphviz_link() |
104 | graph G { |
||
105 | |||
106 | 7 | neels | MSC [label="MSC\n(e.g. OsmoMSC)"]; |
107 | 9 | neels | STP [label="STP\n(e.g. OsmoSTP)"]; |
108 | 4 | laforge | nanoBTS [label="ip.access\nnanoBTS", shape=box]; |
109 | OsmoBTS; |
||
110 | sysmoBTS [label="sysmocom sysmoBTS\n(many models)", shape=box]; |
||
111 | LC15 [label="Nuran\nLitecell 1.5", shape=box]; |
||
112 | OCT [label="Octasic\nOCTBTS", shape=box]; |
||
113 | TRX [label="OsmoTRX"]; |
||
114 | OtherSDR [label="Other SDR HW", shape=box, style=dashed]; |
||
115 | OtherPHY [label="Other GSM PHY", shape=box, style=dashed]; |
||
116 | UmTRX [label="Fairwaves\nUmTRX", shape=box]; |
||
117 | USRP [label="Ettus USRP\nFamily", shape=box]; |
||
118 | 1 | laforge | |
119 | 9 | neels | MSC -- STP [label="A/IP"]; |
120 | STP -- BSC [label="A/IP"]; |
||
121 | 4 | laforge | |
122 | BSC -- nanoBTS [label="Abis/IP"]; |
||
123 | BSC -- OsmoBTS [label="Abis/IP"]; |
||
124 | |||
125 | BSC -- BS11 [label="Siemens\nAbis/E1"]; |
||
126 | BSC -- RBS2K [label="Ericsson\nAbis/E1"]; |
||
127 | BSC -- Nokia [label="Nokia\nAbis/E1"]; |
||
128 | |||
129 | subgraph cluster_2 { |
||
130 | 6 | neels | BSC [label="BSC\n(OsmoBSC, 3rd party)" color=red]; |
131 | 4 | laforge | color=white |
132 | } |
||
133 | |||
134 | subgraph cluster_0 { |
||
135 | BS11 [label="Siemens BS-11", shape=box]; |
||
136 | SIU [label="Ericsson SIU"]; |
||
137 | RBS2K [label="Ericsson RBS 2000\n(many models)", shape=box]; |
||
138 | Nokia [label="Nokia InSite, MetroSite", shape=box]; |
||
139 | |||
140 | BSC -- L2TPD [label="Unix Socket"]; |
||
141 | L2TPD -- SIU [label="Ericsson\nL2TP/IP"]; |
||
142 | SIU -- RBS2K [label="Ericsson\nAbis/E1"]; |
||
143 | |||
144 | { rank=same; BS11 RBS2K Nokia } |
||
145 | |||
146 | label = "Classic E1/T1"; |
||
147 | } |
||
148 | |||
149 | subgraph cluster_1 { |
||
150 | |||
151 | OsmoBTS -- sysmoBTS [label="osmo-bts-sysmo"]; |
||
152 | OsmoBTS -- LC15 [label="osmo-bts-lc15"]; |
||
153 | OsmoBTS -- OCT [label="osmo-bts-octphy"]; |
||
154 | OsmoBTS -- TRX [label="osmo-bts-trx"]; |
||
155 | OsmoBTS -- OtherPHY [style=dashed]; |
||
156 | |||
157 | TRX -- USRP; |
||
158 | TRX -- UmTRX; |
||
159 | TRX -- OtherSDR [style=dashed]; |
||
160 | |||
161 | { rank=same; nanoBTS sysmoBTS LC15 OCT UmTRX } |
||
162 | |||
163 | label = "IP/Ethernet based"; |
||
164 | } |
||
165 | |||
166 | } |
||
167 | }} |
||
168 | 2 | laforge | |
169 | 11 | laforge | {{include(cellular-infrastructure:MacroBinaryPackages)}} |
170 | |||
171 | 2 | laforge | h2. User Manuals |
172 | 1 | laforge | |
173 | * osmo-bsc User Manual: http://ftp.osmocom.org/docs/latest/osmobsc-usermanual.pdf |
||
174 | * osmo-bsc VTY Reference: http://ftp.osmocom.org/docs/latest/osmobsc-vty-reference.pdf |
||
175 | |||
176 | h2. Source code |
||
177 | 15 | laforge | |
178 | 21 | laforge | The source code is available from @gitea.osmocom.org@ (module @osmo-bsc@). |
179 | 15 | laforge | |
180 | Public read-only access is available via |
||
181 | <pre> |
||
182 | 22 | laforge | git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc |
183 | 15 | laforge | </pre> |
184 | |||
185 | 21 | laforge | You can browse it via gitea: https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc |
186 | 15 | laforge | |
187 | 18 | laforge | Contributions are welcome via [[Cellular-Infrastructure:Gerrit]]. |
188 | 15 | laforge | |
189 | 17 | laforge | h2. Test Suite |
190 | |||
191 | We have a TTCN-3 test suite as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]] |
||
192 | 21 | laforge | * source code: https://gitea.osmocom.org/ttcn3/osmo-ttcn3-hacks/src/branch/master/bsc |
193 | 17 | laforge | * results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bsc-test/ |
194 | |||
195 | 15 | laforge | h2. Contact / Getting Help |
196 | |||
197 | 18 | laforge | Contact us via the openbsc@ mailing list, see [[Cellular-Infrastructure:Mailing Lists]]. |
198 | 15 | laforge | |
199 | You can file issues (bugs / feature requests) using the redmine project you're currently viewing. |
||
200 | 1 | laforge | |
201 | h2. Authors / Credit |
||
202 | |||
203 | The old OsmoBSC-SCCPlite was created by Holger Freyther based on the earler OpenBSC/OsmoNITB code by Dieter Spaar, Harald Welte, Holger Freyther and contributors. |
||
204 | 14 | laforge | |
205 | 3GPP AoIP support was developed by sysmocom. Today, OsmoBSC is maintained by Harald Welte and his team at sysmocom. |
||
206 | 23 | laforge | |
207 | h2. History / Naming / SCCPlite |
||
208 | |||
209 | Until 2017, we used to have an @osmo-bsc@ part of the old @openbsc.git@ repository which implemented a smaller sub-set of the BSC functionality with an [[cellular-infrastructure:SCCPLite]] based A interface. This legacy program is now called @osmo-bsc-sccplite@ and continues to be available for legacy users. However, it is not actively developed anymore. SCCPlite protocol support has been re-introduced in the new @osmo-bsc@ from @osmo-bsc.git@. Users should not use the obsolete and unmaintained @osmo-bsc-sccplite@ anymore. |
||
210 | 20 | laforge | |
211 | {{include(cellular-infrastructure:MacroCommercialSupport)}} |