Project

General

Profile

Osmocom Network In The Box » History » Version 7

neels, 10/19/2017 11:11 PM

1 1 neels
h1. Osmocom Network In The Box
2
3 2 neels
h2. OsmoNITB R.I.P., long live the Network In The Box
4 1 neels
5 2 neels
Historically, Osmocom offered the [[OsmoNITB:]] "Network-In-The-Box" as an actual single program. It was a useful simplification at the time, but in 2017, Osmocom have decided to split OsmoNITB into programs more closely resembling traditional network architecture. It is recommended to use the new separate components instead of the OsmoNITB, since active development focus has moved there.
6 1 neels
7 4 neels
It is still very much possible to run a complete Osmocom core network in one "box". For example, a sysmoBTS can run the entire core network on the same hardware that drives the TRX, making it a complete network in actually one single box. At the same time, having separate components also allows scaling to large deployments, with properly distributed load and a central subscriber database.
8 1 neels
9 2 neels
To migrate from OsmoNITB to the new separate programs, see the [[OsmoNITB Migration Guide]].
10
11
h2. Part of this Complete Network
12
13
Assuming that you have your radio hardware ready (a BTS, a femto cell or an SDR driven by osmo-trx), the core network consists of separate programs providing voice/SMS/USSD ("circuit-switched") and data ("packet-switched") services.
14
15
h3. Circuit-Switched Components
16
17
To run a circuit-switched core network, you need:
18
19
* [[OsmoHLR:]] -- Home Location Register, stores subscriber IMSI, phone number and auth tokens.
20
* [[OsmoMSC:]] -- Mobile Switching Center, handles signalling, i.e. attach/detach of subscribers, call establishment, messaging (SMS and USSD).
21
* [[OsmoSTP:]] -- Signal Transfer Point, routes SCCP messages between MSC, BSC, HNBGW and for 3G also the SGSN.
22
* [[OsmoMGW:]] -- Media Gateway, is instructed by the MSC and/or the BSC to direct RTP streams for active voice calls.
23
* [[OsmoBSC:]] -- 2G Base Station Controller, manages logical channels and other lower level aspects for one or more 2G BTS; it is technically part of the BSS and not the "core network".
24
* [[OsmoHNBGW:]] -- 3G HomeNodeB Gateway, receives the Iuh protocol from a 3G femto cell and forwards to MSC and SGSN by SCCP/M3UA via OsmoSTP.
25
26
h3. Packet-Switched Components
27
28 3 neels
* [[OpenGGSN:|OsmoGGSN]] -- Gateway GPRS Support Node, "opens" GTP tunnels received from SGSNs to internet uplink.
29 2 neels
* [[OsmoSGSN:]] -- Serving GPRS Support Node, handles signalling, i.e. attach/detach of subscribers and PDP contexts.
30
* [[OsmoHLR:]] -- same as for circuit switched, see above.
31
* [[OsmoHNBGW:]] -- for 3G packet switched networks, same as for 3G circuit switched, see above.
32
* ([[OsmoPCU:]] -- for 2G networks, a component closely tied to the BTS, drives the TRX and ties to the SGSN via Gb-interface.)
33 5 neels
34
h1. Configuration Example
35
36
h2. Have to Know
37
38
Each program features a detailed [[Osmocom Manuals|user manual]].
39
Osmocom offers [[Nightly Builds|compiled packages for various distributions]].
40
If you're up to it, you may also [[Build from Source]].
41
42
Each Osmocom program typically has
43
44
* a distinct configuration file;
45
* a VTY telnet console for live interaction;
46
* a CTRL interface for live interaction with 3rd party programs.
47
48
h2. OsmoHLR
49 6 neels
50
See the [[Osmocom Manuals|manual]] on creating a subscriber database, and add one or more subscribers.
51
52
While you do need one, your configuration file may actually remain empty. This will serve GSUP on localhost (127.0.0.1), sufficient for a Network In The Box.
53
54
h2. OsmoMSC
55
56
The VLR component of OsmoMSC needs to connect to the OsmoHLR's GSUP server to know which subscribers are authorized. By default, it will connect to OsmoHLR on localhost, no explicit config needed.
57
58
To be reachable by OsmoBSC and OsmoHNBGW, it needs an SCCP point code, and it needs to connect to OsmoSTP to make itself known to SCCP routing.
59
60 7 neels
* There is a default point code, currently 0.23.1 (in 8.8.3 point code format).
61 6 neels
* OsmoMSC will by default look for OsmoSTP on localhost's M3UA port, 2905.
62
63 7 neels
To direct RTP streams, OsmoMSC needs an OsmoMGW instance. By default, it will look for an MGW on localhost and the default MGCP port, 4222.
64 6 neels
65
Again, your config file may remain empty.
Add picture from clipboard (Maximum size: 48.8 MB)