Project

General

Profile

OsmoBSC » History » Version 26

dexter, 03/28/2023 08:00 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 24 dexter
* A-bis (IP and E1) interface towards the Base Transceiver Stations (BTSs)
7 23 laforge
* 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 1 laforge
        OsmoBTS1 [label="OsmoBTS"];
34 12 laforge
        OsmoBTS2 [label="OsmoBTS"];
35 24 dexter
        BTS [label="BTS"];
36 12 laforge
        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 1 laforge
    }
44 12 laforge
    OsmoBTS1 -> OsmoBSC [label="Abis/IP"];
45
    OsmoBTS2 -> OsmoBSC [label="Abis/IP"];
46 24 dexter
    BTS -> OsmoBSC [label="Abis/E1"];
47 12 laforge
    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 1 laforge
    rankdir = LR;
60 12 laforge
    subgraph cluster_RAN {
61
        OsmoBTS1 [label="OsmoBTS"];
62
        OsmoBTS2 [label="OsmoBTS"];
63 24 dexter
        BTS [label="BTS"];
64 1 laforge
        OsmoBSC [color=red];
65 12 laforge
        OsmoMGW [label="OsmoMGW\n(for BSC)"];
66
67
        OsmoBTS1 -> OsmoBSC [label="Abis/IP"];
68
        OsmoBTS2 -> OsmoBSC [label="Abis/IP"];
69 24 dexter
        BTS -> OsmoBSC [label="Abis/E1"];
70 12 laforge
        OsmoBSC -> OsmoMGW [label="MGCP"];
71
        { rank = same; OsmoBSC; OsmoMGW }
72
73
        OsmoBTS1 -> OsmoMGW [label="RTP"];
74
        OsmoBTS2 -> OsmoMGW [label="RTP"];
75 24 dexter
        BTS -> OsmoMGW [label="TRAU/E1"];
76 12 laforge
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 26 dexter
OsmoBSC supports currently all BTSs running the [[OsmoBTS:]] software (such as sysmoBTS), as well as ip.access nanoBTS devices and legacy E1/TDM based BTSs (such as Ericson RBS2000/RBS6000) Other Abis/IP or Abis/E1 devices may be supported.
100 13 laforge
101 4 laforge
{{graphviz_link()
102
graph G {
103
104 7 neels
        MSC [label="MSC\n(e.g. OsmoMSC)"];
105 9 neels
        STP [label="STP\n(e.g. OsmoSTP)"];
106 4 laforge
        nanoBTS [label="ip.access\nnanoBTS", shape=box];
107
        OsmoBTS;
108
        sysmoBTS [label="sysmocom sysmoBTS\n(many models)", shape=box];
109
        LC15 [label="Nuran\nLitecell 1.5", shape=box];
110
        OCT [label="Octasic\nOCTBTS", shape=box];
111
        TRX [label="OsmoTRX"];
112
        OtherSDR [label="Other SDR HW", shape=box, style=dashed];
113
        OtherPHY [label="Other GSM PHY", shape=box, style=dashed];
114
        UmTRX [label="Fairwaves\nUmTRX", shape=box];
115
        USRP [label="Ettus USRP\nFamily", shape=box];
116 1 laforge
117 9 neels
        MSC -- STP [label="A/IP"];
118
        STP -- BSC [label="A/IP"];
119 4 laforge
120
        BSC -- nanoBTS [label="Abis/IP"];
121
        BSC -- OsmoBTS [label="Abis/IP"];
122
123
        BSC -- BS11 [label="Siemens\nAbis/E1"];
124
        BSC -- RBS2K [label="Ericsson\nAbis/E1"];
125
        BSC -- Nokia [label="Nokia\nAbis/E1"];
126
127
        subgraph cluster_2 {
128 6 neels
                BSC [label="BSC\n(OsmoBSC, 3rd party)" color=red];
129 4 laforge
                color=white
130
        }
131
132
        subgraph cluster_0 {
133
                BS11 [label="Siemens BS-11", shape=box];
134
                SIU [label="Ericsson SIU"];
135
                RBS2K [label="Ericsson RBS 2000\n(many models)", shape=box];
136
                Nokia [label="Nokia InSite, MetroSite", shape=box];
137
138
                BSC -- L2TPD [label="Unix Socket"];
139
                L2TPD -- SIU [label="Ericsson\nL2TP/IP"];
140
                SIU -- RBS2K [label="Ericsson\nAbis/E1"];
141
142
                { rank=same; BS11 RBS2K Nokia }
143
144
                label = "Classic E1/T1";
145
        }
146
147
        subgraph cluster_1 {
148
149
                OsmoBTS -- sysmoBTS [label="osmo-bts-sysmo"];
150
                OsmoBTS -- LC15 [label="osmo-bts-lc15"];
151
                OsmoBTS -- OCT [label="osmo-bts-octphy"];
152
                OsmoBTS -- TRX [label="osmo-bts-trx"];
153
                OsmoBTS -- OtherPHY [style=dashed];
154
155
                TRX -- USRP;
156
                TRX -- UmTRX;
157
                TRX -- OtherSDR [style=dashed];
158
159
                { rank=same; nanoBTS sysmoBTS LC15 OCT UmTRX }
160
161
                label = "IP/Ethernet based";
162
        }
163
164
}
165 1 laforge
}}
166 26 dexter
167
Note: The L2TPD/Ericsson SIU path depicted above relates to an experimental setup, which is not actively supported since it has been superseded by a direct Abis/E1 + TRAU interface between OsmoBSC, [[OsmoMGW:]] and [[OsmoPCU:]]
168
169 2 laforge
170 11 laforge
{{include(cellular-infrastructure:MacroBinaryPackages)}}
171
172 2 laforge
h2. User Manuals
173 1 laforge
174
* osmo-bsc User Manual: http://ftp.osmocom.org/docs/latest/osmobsc-usermanual.pdf
175
* osmo-bsc VTY Reference: http://ftp.osmocom.org/docs/latest/osmobsc-vty-reference.pdf
176
177
h2. Source code
178 15 laforge
179 21 laforge
The source code is available from @gitea.osmocom.org@ (module @osmo-bsc@).
180 15 laforge
181
Public read-only access is available via
182
<pre>
183 22 laforge
git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc
184 15 laforge
</pre>
185
186 21 laforge
You can browse it via gitea: https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc
187 15 laforge
188 18 laforge
Contributions are welcome via [[Cellular-Infrastructure:Gerrit]].
189 15 laforge
190 17 laforge
h2. Test Suite
191
192
We have a TTCN-3 test suite as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]]
193 21 laforge
* source code: https://gitea.osmocom.org/ttcn3/osmo-ttcn3-hacks/src/branch/master/bsc
194 17 laforge
* results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bsc-test/
195
196 15 laforge
h2. Contact / Getting Help
197
198 18 laforge
Contact us via the openbsc@ mailing list, see [[Cellular-Infrastructure:Mailing Lists]].
199 15 laforge
200
You can file issues (bugs / feature requests) using the redmine project you're currently viewing.
201 1 laforge
202
h2. Authors / Credit
203
204
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.
205 14 laforge
206
3GPP AoIP support was developed by sysmocom.  Today, OsmoBSC is maintained by Harald Welte and his team at sysmocom.
207 23 laforge
208
h2. History / Naming / SCCPlite
209
210
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.
211 20 laforge
212
{{include(cellular-infrastructure:MacroCommercialSupport)}}
Add picture from clipboard (Maximum size: 48.8 MB)