aboutsummaryrefslogtreecommitdiffstats
path: root/OsmoMSC/chapters/overview.adoc
diff options
context:
space:
mode:
Diffstat (limited to 'OsmoMSC/chapters/overview.adoc')
-rw-r--r--OsmoMSC/chapters/overview.adoc123
1 files changed, 123 insertions, 0 deletions
diff --git a/OsmoMSC/chapters/overview.adoc b/OsmoMSC/chapters/overview.adoc
new file mode 100644
index 0000000..4aa25df
--- /dev/null
+++ b/OsmoMSC/chapters/overview.adoc
@@ -0,0 +1,123 @@
+[[overview]]
+== Overview
+
+This manual should help you getting started with OsmoMSC. It will cover
+aspects of configuring and running the OsmoMSC.
+
+[[intro_overview]]
+=== About OsmoMSC
+
+OsmoMSC is the Osmocom implementation of a Mobile Switching Center (MSC) for 2G
+and 3G GSM and UMTS mobile networks. Its interfaces are:
+
+- GSUP towards OsmoHLR (or a MAP proxy);
+- A over IP towards a BSC (e.g. OsmoBSC);
+- IuCS towards an RNC or HNB-GW (e.g. OsmoHNBGW) for 3G voice;
+- MNCC (Mobile Network Call Control derived from GSM TS 04.07);
+- SMPP 3.4 (Short Message Peer-to-Peer);
+- The Osmocom typical telnet VTY and CTRL interfaces.
+
+OsmoMSC originated from the OpenBSC project, which started as a minimalistic
+all-in-one implementation of the GSM Network. In 2017, OpenBSC had reached
+maturity and diversity (including M3UA SIGTRAN and 3G support in the form of
+IuCS and IuPS interfaces) that naturally lead to a separation of the all-in-one
+approach to fully independent separate programs as in typical GSM networks.
+OsmoMSC was one of the parts split off from the old openbsc.git. Before, it was
+the libmsc part of the old OsmoNITB. Since a true __A__ interface and IuCS for
+3G support is available, OsmoMSC exists only as a separate standalone entity.
+
+Key differences of the new OsmoMSC compared to the old OsmoNITB are:
+
+- The complete VLR implementation that communicates with the separate HLR
+ (OsmoHLR) for subscriber management. In contrast to the OsmoNITB, this is now
+ fully asynchronous and allows using centralized subscriber management for
+ both circuit-switched and packet-switched domains (i.e. one OsmoHLR for both
+ OsmoMSC and OsmoSGSN), as well as full UMTS AKA (Authentication and Key
+ Agreement), i.e. Milenage authentication.
+
+- Addition of a true __A__ interface for 2G voice services. Previously, OsmoBSC
+ had an SCCPlite based __A__ interface towards 3rd party MSC implementations.
+ OsmoMSC features a true M3UA/SCCP __A__ interface, which allows running a now
+ separate OsmoBSC against an Osmocom based MSC implementation. The new
+ M3UA/SCCP SIGTRAN is implemented in libosmo-sccp, which is used by OsmoMSC
+ and OsmoBSC, among other projects, to establish a link via an STP (e.g.
+ OsmoSTP).
+
+- Addition of an __IuCS__ interface to allow operating 3G voice services.
+
+Find OsmoMSC issue tracker and wiki online at
+
+- https://osmocom.org/projects/osmomsc
+- https://osmocom.org/projects/osmomsc/wiki
+
+
+[[fig-gsm]]
+.Typical GSM network architecture used with OsmoMSC
+[graphviz]
+----
+digraph G {
+ rankdir=LR;
+ MS0 [label="MS"]
+ MS1 [label="MS"]
+ MS2 [label="MS"]
+ MS3 [label="MS"]
+ UE0 [label="UE"]
+ UE1 [label="UE"]
+ BTS0 [label="BTS"]
+ BTS1 [label="BTS"]
+ STP [label="STP\n(SCCP routing)"]
+ HLR [label="HLR+AUC+EIR"]
+ HNB [label="RNC or hNodeB"]
+ MGW
+ MS0->BTS0 [label="Um"]
+ MS1->BTS0 [label="Um"]
+ MS2->BTS1 [label="Um"]
+ MS3->BTS1 [label="Um"]
+ UE0->HNB
+ UE1->HNB
+ BTS0->BSC [label="Abis"]
+ BTS1->BSC [label="Abis"]
+ BSC->STP [label="A/M3UA"]
+ STP->MSC [label="A/M3UA"]
+ STP->MSC [label="IuCS/M3UA"]
+ VLR->HLR [label="GSUP"]
+ HNB->HNBGW [label="Iuh"]
+ HNBGW->STP [label="IuCS/M3UA"]
+ MSC->MGW [label="MGCP"]
+ BTS0->MGW [label="RTP"]
+ BTS1->MGW [label="RTP"]
+ subgraph cluster_msc {
+ label = "OsmoMSC";
+ MSC->SMSC;
+ MSC->VLR
+ }
+}
+----
+
+
+=== Software Components
+
+This is a brief description of OsmoMSC's internal software components.
+
+==== SMSC
+
+A minimal store-and-forward server for SMS, supporting both MO and MT
+SMS service, as well as multi-part messages.
+
+The built-in SMSC also supports an external SMSC interface. For more
+information, see <<smpp>>.
+
+==== MSC
+
+The MSC component implements the mobility management (MM) functions of the TS
+04.08 and delegates to SMSC for SMS message handling and the VLR for subscriber
+management.
+
+Furthermore, it can handle TS 04.08 Call Control (CC), either by use of
+an internal MNCC handler, or by use of an external MNCC agent. For more
+information see <<mncc>>.
+
+==== VLR
+
+A fully featured Visitor Location Register handles the subscriber management
+and authentication, and interfaces via GSUP to the external HLR.