Project

General

Profile

OsmoBSC » History » Version 25

dexter, 03/28/2023 07:49 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 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 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
}}
166 2 laforge
167 11 laforge
{{include(cellular-infrastructure:MacroBinaryPackages)}}
168
169 2 laforge
h2. User Manuals
170 1 laforge
171
* osmo-bsc User Manual: http://ftp.osmocom.org/docs/latest/osmobsc-usermanual.pdf
172
* osmo-bsc VTY Reference: http://ftp.osmocom.org/docs/latest/osmobsc-vty-reference.pdf
173
174
h2. Source code
175 15 laforge
176 21 laforge
The source code is available from @gitea.osmocom.org@ (module @osmo-bsc@).
177 15 laforge
178
Public read-only access is available via
179
<pre>
180 22 laforge
git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc
181 15 laforge
</pre>
182
183 21 laforge
You can browse it via gitea: https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc
184 15 laforge
185 18 laforge
Contributions are welcome via [[Cellular-Infrastructure:Gerrit]].
186 15 laforge
187 17 laforge
h2. Test Suite
188
189
We have a TTCN-3 test suite as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]]
190 21 laforge
* source code: https://gitea.osmocom.org/ttcn3/osmo-ttcn3-hacks/src/branch/master/bsc
191 17 laforge
* results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bsc-test/
192
193 15 laforge
h2. Contact / Getting Help
194
195 18 laforge
Contact us via the openbsc@ mailing list, see [[Cellular-Infrastructure:Mailing Lists]].
196 15 laforge
197
You can file issues (bugs / feature requests) using the redmine project you're currently viewing.
198 1 laforge
199
h2. Authors / Credit
200
201
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.
202 14 laforge
203
3GPP AoIP support was developed by sysmocom.  Today, OsmoBSC is maintained by Harald Welte and his team at sysmocom.
204 23 laforge
205
h2. History / Naming / SCCPlite
206
207
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.
208 20 laforge
209
{{include(cellular-infrastructure:MacroCommercialSupport)}}
Add picture from clipboard (Maximum size: 48.8 MB)