add OsmoMSC manual

Add OsmoMSC and OsmoHLR to bibliography (even though the OsmoHLR manual does
not yet exist, a reference to it has been added in OsmoMSC's manual).

Change-Id: I9ecff2837fbf5fdc19675a726f6d70c21eb178ee
diff --git a/doc/manuals/chapters/overview.adoc b/doc/manuals/chapters/overview.adoc
new file mode 100644
index 0000000..0bb47d7
--- /dev/null
+++ b/doc/manuals/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.