Project

General

Profile

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)}}
Add picture from clipboard (Maximum size: 48.8 MB)