Project

General

Profile

OsmoBSC » History » Version 22

laforge, 07/25/2022 08:52 AM

1 15 laforge
{{>toc}}
2
3 1 laforge
h1. OsmoBSC
4
5 12 laforge
[[OsmoBSC:]] is an implementation of a GSM BSC (Base Station Controller), i.e. it offers
6
* an A-bis interface towards the BTSs
7
* an A-over-IP (AoIP) interface towards an MSC (e.g. [[OsmoMSC:]]).
8 16 laforge
* an Media Gateway Control Protocol (MGCP) interface towards a MGW (e.g. [[OsmoMGW:]] for handling the RTP user plane (voice call codec frames)
9 12 laforge
10
h2. History / Naming / SCCPlite
11
12 19 laforge
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.
13 12 laforge
14
h2. OsmoBSC in the Osmocom architecture
15
16
h3. Signaling Plane only
17
18
{{graphviz_link()
19
digraph G {
20
    rankdir = LR;
21
    subgraph cluster_RAN {
22
        OsmoBTS;
23
        OsmoBTS1 [label="OsmoBTS"];
24
        OsmoBTS2 [label="OsmoBTS"];
25
        OsmoBSC [color=red];
26
        label = "RAN";
27
    }
28
    subgraph cluster_CN {
29
        OsmoMSC [label="MSC\ne.g. OsmoMSC"];
30
        Core [label="Other CN Elements"];
31
        label = "CN";
32
    }
33
    OsmoBTS -> OsmoBSC [label="Abis/IP"];
34
    OsmoBTS1 -> OsmoBSC [label="Abis/IP"];
35
    OsmoBTS2 -> OsmoBSC [label="Abis/IP"];
36
    OsmoBSC -> OsmoMSC [label="3GPP AoIP\nvia SIGTRAN/STP"];
37
    OsmoMSC -> Core [label="MAP/ISUP/SIP/GSUP"];
38
39
40
    }
41
}
42
}}
43
44
h3. Signaling + User (Media) Plane
45
46
{{graphviz_link()
47
digraph G {
48
    rankdir = LR;
49
    subgraph cluster_RAN {
50
        OsmoBTS;
51
        OsmoBTS1 [label="OsmoBTS"];
52
        OsmoBTS2 [label="OsmoBTS"];
53
        OsmoBSC [color=red];
54
        OsmoMGW [label="OsmoMGW\n(for BSC)"];
55
56
        OsmoBTS -> OsmoBSC [label="Abis/IP"];
57
        OsmoBTS1 -> OsmoBSC [label="Abis/IP"];
58
        OsmoBTS2 -> OsmoBSC [label="Abis/IP"];
59
        OsmoBSC -> OsmoMGW [label="MGCP"];
60
        { rank = same; OsmoBSC; OsmoMGW }
61
62
        OsmoBTS -> OsmoMGW [label="RTP"];
63
        OsmoBTS1 -> OsmoMGW [label="RTP"];
64
        OsmoBTS2 -> OsmoMGW [label="RTP"];
65
66
        label = "RAN";
67
    }
68
    subgraph cluster_CN {
69
        OsmoMGW1 [label="OsmoMGW\n(for MSC)"];
70
        OsmoMSC [label="MSC\ne.g. OsmoMSC"];
71
        Core [label="Other CN Elements"];
72
        OsmoMSC -> Core [label="MAP/ISUP/SIP/GSUP"];
73
        OsmoMSC -> OsmoMGW1 [label="MGCP"];
74
        { rank = same; OsmoMSC; OsmoMGW1 }
75
        OsmoMGW -> OsmoMGW1 [label="RTP"];
76
        OsmoMGW1 -> Core [label="RTP"];
77
        label = "CN";
78
    }
79
80
    OsmoBSC -> OsmoMSC [label="3GPP AoIP\nvia SIGTRAN/STP"];
81
82
}
83
}}
84 10 laforge
85 2 laforge
86 4 laforge
h2. BTS Support
87
88 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.
89
90
Support for legacy E1/T1 TDM based BTSs (like those supported by [[OsmoNITB:]] is on the roadmap.
91
92 4 laforge
{{graphviz_link()
93
graph G {
94
95 7 neels
        MSC [label="MSC\n(e.g. OsmoMSC)"];
96 9 neels
        STP [label="STP\n(e.g. OsmoSTP)"];
97 4 laforge
        nanoBTS [label="ip.access\nnanoBTS", shape=box];
98
        OsmoBTS;
99
        sysmoBTS [label="sysmocom sysmoBTS\n(many models)", shape=box];
100
        LC15 [label="Nuran\nLitecell 1.5", shape=box];
101
        OCT [label="Octasic\nOCTBTS", shape=box];
102
        TRX [label="OsmoTRX"];
103
        OtherSDR [label="Other SDR HW", shape=box, style=dashed];
104
        OtherPHY [label="Other GSM PHY", shape=box, style=dashed];
105
        UmTRX [label="Fairwaves\nUmTRX", shape=box];
106
        USRP [label="Ettus USRP\nFamily", shape=box];
107 1 laforge
108 9 neels
        MSC -- STP [label="A/IP"];
109
        STP -- BSC [label="A/IP"];
110 4 laforge
111
        BSC -- nanoBTS [label="Abis/IP"];
112
        BSC -- OsmoBTS [label="Abis/IP"];
113
114
        BSC -- BS11 [label="Siemens\nAbis/E1"];
115
        BSC -- RBS2K [label="Ericsson\nAbis/E1"];
116
        BSC -- Nokia [label="Nokia\nAbis/E1"];
117
118
        subgraph cluster_2 {
119 6 neels
                BSC [label="BSC\n(OsmoBSC, 3rd party)" color=red];
120 4 laforge
                color=white
121
        }
122
123
        subgraph cluster_0 {
124
                BS11 [label="Siemens BS-11", shape=box];
125
                SIU [label="Ericsson SIU"];
126
                RBS2K [label="Ericsson RBS 2000\n(many models)", shape=box];
127
                Nokia [label="Nokia InSite, MetroSite", shape=box];
128
129
                BSC -- L2TPD [label="Unix Socket"];
130
                L2TPD -- SIU [label="Ericsson\nL2TP/IP"];
131
                SIU -- RBS2K [label="Ericsson\nAbis/E1"];
132
133
                { rank=same; BS11 RBS2K Nokia }
134
135
                label = "Classic E1/T1";
136
        }
137
138
        subgraph cluster_1 {
139
140
                OsmoBTS -- sysmoBTS [label="osmo-bts-sysmo"];
141
                OsmoBTS -- LC15 [label="osmo-bts-lc15"];
142
                OsmoBTS -- OCT [label="osmo-bts-octphy"];
143
                OsmoBTS -- TRX [label="osmo-bts-trx"];
144
                OsmoBTS -- OtherPHY [style=dashed];
145
146
                TRX -- USRP;
147
                TRX -- UmTRX;
148
                TRX -- OtherSDR [style=dashed];
149
150
                { rank=same; nanoBTS sysmoBTS LC15 OCT UmTRX }
151
152
                label = "IP/Ethernet based";
153
        }
154
155
}
156
}}
157 2 laforge
158 11 laforge
{{include(cellular-infrastructure:MacroBinaryPackages)}}
159
160 2 laforge
h2. User Manuals
161 1 laforge
162
* osmo-bsc User Manual: http://ftp.osmocom.org/docs/latest/osmobsc-usermanual.pdf
163
* osmo-bsc VTY Reference: http://ftp.osmocom.org/docs/latest/osmobsc-vty-reference.pdf
164
165
h2. Source code
166 15 laforge
167 21 laforge
The source code is available from @gitea.osmocom.org@ (module @osmo-bsc@).
168 15 laforge
169
Public read-only access is available via
170
<pre>
171 22 laforge
git clone https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc
172 15 laforge
</pre>
173
174 21 laforge
You can browse it via gitea: https://gitea.osmocom.org/cellular-infrastructure/osmo-bsc
175 15 laforge
176 18 laforge
Contributions are welcome via [[Cellular-Infrastructure:Gerrit]].
177 15 laforge
178 17 laforge
h2. Test Suite
179
180
We have a TTCN-3 test suite as part of our [[cellular-infrastructure:Titan_TTCN3_Testsuites]]
181 21 laforge
* source code: https://gitea.osmocom.org/ttcn3/osmo-ttcn3-hacks/src/branch/master/bsc
182 17 laforge
* results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-bsc-test/
183
184 15 laforge
h2. Contact / Getting Help
185
186 18 laforge
Contact us via the openbsc@ mailing list, see [[Cellular-Infrastructure:Mailing Lists]].
187 15 laforge
188
You can file issues (bugs / feature requests) using the redmine project you're currently viewing.
189 14 laforge
190
h2. Authors / Credit
191
192
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.
193
194
3GPP AoIP support was developed by sysmocom.  Today, OsmoBSC is maintained by Harald Welte and his team at sysmocom.
195 20 laforge
196
{{include(cellular-infrastructure:MacroCommercialSupport)}}
Add picture from clipboard (Maximum size: 48.8 MB)