blob: 0bb47d72d33f11e85c605ace6764d97c2dbeb855 [file] [log] [blame]
Neels Hofmeyr8c8ebb12017-09-18 16:19:30 +02001[[overview]]
2== Overview
3
4This manual should help you getting started with OsmoMSC. It will cover
5aspects of configuring and running the OsmoMSC.
6
7[[intro_overview]]
8=== About OsmoMSC
9
10OsmoMSC is the Osmocom implementation of a Mobile Switching Center (MSC) for 2G
11and 3G GSM and UMTS mobile networks. Its interfaces are:
12
13- GSUP towards OsmoHLR (or a MAP proxy);
14- A over IP towards a BSC (e.g. OsmoBSC);
15- IuCS towards an RNC or HNB-GW (e.g. OsmoHNBGW) for 3G voice;
16- MNCC (Mobile Network Call Control derived from GSM TS 04.07);
17- SMPP 3.4 (Short Message Peer-to-Peer);
18- The Osmocom typical telnet VTY and CTRL interfaces.
19
20OsmoMSC originated from the OpenBSC project, which started as a minimalistic
21all-in-one implementation of the GSM Network. In 2017, OpenBSC had reached
22maturity and diversity (including M3UA SIGTRAN and 3G support in the form of
23IuCS and IuPS interfaces) that naturally lead to a separation of the all-in-one
24approach to fully independent separate programs as in typical GSM networks.
25Before it was split off, OsmoMSC originated from libmsc of the old openbsc.git.
26Since a true _A_ interface and IuCS for 3G support is available, OsmoMSC
27exists only as a separate standalone entity.
28
29Key differences of the new OsmoMSC compared to the old OsmoNITB are:
30
31- The complete VLR implementation that communicates with the separate HLR
32 (OsmoHLR) for subscriber management. In contrast to the OsmoNITB, HLR queries
33 are fully asynchronous, and the separate HLR allows using centralized
34 subscriber management for both circuit-switched and packet-switched domains
35 (i.e. one OsmoHLR for both OsmoMSC and OsmoSGSN).
36
37- VLR and HLR brought full UMTS AKA (Authentication and Key Agreement) support,
38 i.e. Milenage authentication in both the full 3G variant as well as the
39 backwards compatible 2G variant.
40
41- Addition of a true _A_ interface for 2G voice services. Previously, OsmoBSC
42 had an SCCPlite based _A_ interface towards 3rd party MSC implementations.
43 OsmoMSC features a true SCCP/M3UA _A_ interface, which allows running OsmoBSC
44 against this Osmocom based MSC implementation. The new SCCP/M3UA SIGTRAN for
45 the _A_ interface is implemented in libosmo-sccp, which is used by OsmoMSC
46 and OsmoBSC (and others), to establish a link via an STP (e.g. OsmoSTP).
47
48- Addition of an _IuCS_ interface to allow operating 3G voice services, also
49 via SCCP/M3UA SIGTRAN, for example connecting via OsmoHNBGW to a 3G small
50 cell device.
51
52Find the OsmoMSC issue tracker and wiki online at
53
54- https://osmocom.org/projects/osmomsc
55- https://osmocom.org/projects/osmomsc/wiki
56
57
58[[fig-gsm]]
59.Typical GSM network architecture used with OsmoMSC
60[graphviz]
61----
62digraph G {
63 rankdir=LR;
64 MS0 [label="MS"]
65 MS1 [label="MS"]
66 MS2 [label="MS"]
67 MS3 [label="MS"]
68 UE0 [label="UE"]
69 UE1 [label="UE"]
70 BTS0 [label="BTS"]
71 BTS1 [label="BTS"]
72 STP [label="STP\n(SCCP routing)"]
73 HLR [label="HLR+AUC+EIR"]
74 HNB [label="RNC or hNodeB"]
75 MGW
76 MS0->BTS0 [label="Um"]
77 MS1->BTS0 [label="Um"]
78 MS2->BTS1 [label="Um"]
79 MS3->BTS1 [label="Um"]
80 UE0->HNB
81 UE1->HNB
82 BTS0->BSC [label="Abis"]
83 BTS1->BSC [label="Abis"]
84 BSC->STP [label="A/SCCP/M3UA"]
85 STP->MSC [label="A/SCCP/M3UA"]
86 STP->MSC [label="IuCS/SCCP/M3UA"]
87 VLR->HLR [label="GSUP"]
88 HNB->HNBGW [label="Iuh"]
89 HNBGW->STP [label="IuCS/SCCP/M3UA"]
90 MSC->MGW [label="MGCP"]
91 BTS0->MGW [label="RTP"]
92 BTS1->MGW [label="RTP"]
93 subgraph cluster_msc {
94 label = "OsmoMSC";
95 MSC->SMSC;
96 MSC->VLR
97 }
98}
99----
100
101
102=== Software Components
103
104This is a brief description of OsmoMSC's internal software components.
105
106==== SMSC
107
108A minimal store-and-forward server for SMS, supporting both MO and MT
109SMS service, as well as multi-part messages.
110
111The built-in SMSC also supports an external SMSC interface. For more
112information, see <<smpp>>.
113
114==== MSC
115
116The MSC component implements the mobility management (MM) functions of the TS
11704.08 and delegates to SMSC for SMS message handling and the VLR for subscriber
118management.
119
120Furthermore, it can handle TS 04.08 Call Control (CC), either by use of
121an internal MNCC handler, or by use of an external MNCC agent. For more
122information see <<mncc>>.
123
124==== VLR
125
126A fully featured Visitor Location Register handles the subscriber management
127and authentication, and interfaces via GSUP to the external HLR.