OsmoBSC » History » Version 19
laforge, 09/03/2019 08:47 PM
clarify sccplite support
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 | The source code is available from @git.osmocom.org@ (module @osmo-bsc@). |
||
168 | |||
169 | Public read-only access is available via |
||
170 | <pre> |
||
171 | git clone git://git.osmocom.org/osmo-bsc.git |
||
172 | </pre> |
||
173 | |||
174 | You can browse it via cgit: https://git.osmocom.org/osmo-bsc |
||
175 | |||
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 | * source code: http://git.osmocom.org/osmo-ttcn3-hacks/tree/bsc |
||
182 | * 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. |