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.adoc127
1 files changed, 127 insertions, 0 deletions
diff --git a/OsmoMSC/chapters/overview.adoc b/OsmoMSC/chapters/overview.adoc
new file mode 100644
index 0000000..0bb47d7
--- /dev/null
+++ b/OsmoMSC/chapters/overview.adoc
@@ -0,0 +1,127 @@
+[[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.
+Before it was split off, OsmoMSC originated from libmsc of the old openbsc.git.
+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, HLR queries
+ are fully asynchronous, and the separate HLR allows using centralized
+ subscriber management for both circuit-switched and packet-switched domains
+ (i.e. one OsmoHLR for both OsmoMSC and OsmoSGSN).
+
+- VLR and HLR brought full UMTS AKA (Authentication and Key Agreement) support,
+ i.e. Milenage authentication in both the full 3G variant as well as the
+ backwards compatible 2G variant.
+
+- 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 SCCP/M3UA _A_ interface, which allows running OsmoBSC
+ against this Osmocom based MSC implementation. The new SCCP/M3UA SIGTRAN for
+ the _A_ interface is implemented in libosmo-sccp, which is used by OsmoMSC
+ and OsmoBSC (and others), to establish a link via an STP (e.g. OsmoSTP).
+
+- Addition of an _IuCS_ interface to allow operating 3G voice services, also
+ via SCCP/M3UA SIGTRAN, for example connecting via OsmoHNBGW to a 3G small
+ cell device.
+
+Find the 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/SCCP/M3UA"]
+ STP->MSC [label="A/SCCP/M3UA"]
+ STP->MSC [label="IuCS/SCCP/M3UA"]
+ VLR->HLR [label="GSUP"]
+ HNB->HNBGW [label="Iuh"]
+ HNBGW->STP [label="IuCS/SCCP/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.