[MERGED] osmo-gsm-manuals[master]: OsmoBSC: update overview to explain both SCCPlite and SCCP/M3UA

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

Harald Welte gerrit-no-reply at lists.osmocom.org
Thu Dec 7 22:30:44 UTC 2017


Harald Welte has submitted this change and it was merged.

Change subject: OsmoBSC: update overview to explain both SCCPlite and SCCP/M3UA
......................................................................


OsmoBSC: update overview to explain both SCCPlite and SCCP/M3UA

Change-Id: I1f105b3febd4f99f4491e217ff1b1d0b28912980
---
M OsmoBSC/chapters/overview.adoc
1 file changed, 100 insertions(+), 86 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/OsmoBSC/chapters/overview.adoc b/OsmoBSC/chapters/overview.adoc
index 3bb22cc..9b619fb 100644
--- a/OsmoBSC/chapters/overview.adoc
+++ b/OsmoBSC/chapters/overview.adoc
@@ -7,111 +7,125 @@
 [[intro_overview]]
 === About OsmoBSC
 
-OsmoBSC is one particular version of the OpenBSC software suite.
+OsmoBSC is the Osmocom implementation of a Base Station Controller. It
+implements:
 
-Unlike the highly integrated OmsoNITB, OsmoBSC implements a more classic
-GSM Base Station Controller with A-bis interface towards BTSs and A
-interface towards a MSC.
-
-The difference between classic GSM network architecture and
-the OsmoNITB based GSM network architecture is illustrated in
-<<fig-gsm-classic>> and <<fig-gsm-nitb>>.
-
-[[fig-gsm-classic]]
-.Classic GSM network architecture (simplified)
-[graphviz]
-----
-digraph G {
-        rankdir=LR;
-        MS0 [label="MS"];
-        MS1 [label="MS"];
-        MS2 [label="MS"];
-        MS3 [label="MS"];
-        BTS0 [label="BTS"];
-        BTS1 [label="BTS"];
-        BSC;
-        MSC [label="MSC/VLR"];
-        HLR [label="HLR/AUC"];
-        EIR;
-        SMSC;
-        MS0->BTS0 [label="Um"];
-        MS1->BTS0 [label="Um"];
-        MS2->BTS1 [label="Um"];
-        MS3->BTS1 [label="Um"];
-        BTS0->BSC [label="Abis"];
-        BTS1->BSC [label="Abis"];
-        BSC->MSC [label="A"];
-        MSC->HLR [label="C"];
-        MSC->EIR [label="F"];
-        MSC->SMSC;
-}
-----
-
-[[fig-gsm-nitb]]
-.GSM system architecture using OsmoNITB
-[graphviz]
-----
-digraph G {
-        rankdir=LR;
-        MS0 [label="MS"];
-        MS1 [label="MS"];
-        MS2 [label="MS"];
-        MS3 [label="MS"];
-        BTS0 [label="BTS"];
-        BTS1 [label="BTS"];
-        EXTMNCC [label="Linux Call Router / SoftSwitch / PBX\n(optional)"];
-        MS0->BTS0 [label="Um"];
-        MS1->BTS0 [label="Um"];
-        MS2->BTS1 [label="Um"];
-        MS3->BTS1 [label="Um"];
-        BTS0->BSC [label="Abis"];
-        BTS1->BSC [label="Abis"];
-        subgraph cluster_nitb {
-        label = "OsmoNITB";
-                BSC;
-                MSC [label="MSC/VLR"];
-                SMSC;
-                EIR;
-                HLR [label="HLR/AUC"];
-                BSC->MSC;
-                MSC->HLR;
-                MSC->EIR;
-                MSC->SMSC;
-        }
-        MSC -> EXTMNCC [label="external MNCC"];
-}
-----
-
+- an 'A-bis' interface towards BTSs and
+- an 'A' interface towards an MSC. It is important to be aware that there are
+  two variants of the 'A' interface, see <<a-interface>>.
 
 === Software Components
 
 OsmoBSC contains a variety of different software components, which
-we'll quickly describe in this section.
+we'll briefly describe in this section.
 
 ==== A-bis Implementation
 
-OsmoBSC implements the ETSI/3GPP specified A-bis interface, including
-TS 08.56 (LAPD), TS 08.58 (RSL) and TS 12.21 (OML). In addition, it
-supports a variety of vendor-specific extensions and dialects in order
-to communicate with BTSs from Siemens, Nokia, Ericsson, ip.access and
-sysmocom.
+OsmoBSC implements the ETSI/3GPP specified A-bis interface, including TS 08.56
+(LAPD), TS 08.58 (RSL) and TS 12.21 (OML). In addition, it supports a variety
+of vendor-specific extensions and dialects in order to communicate with BTSs
+from Siemens, Nokia, Ericsson, ip.access, Octasic and sysmocom, as well as
+various USRP based BTS implementations, using OsmoBTS and OsmoTRX (like the
+Ettus B200 series, the Fairwaves XTRX or the LimeSDR, to name a few).
 
 For more information, see <<bts>> and <<bts-examples>>.
 
+[[a-interface]]
 ==== A Implementation
 
-OsmoBSC implements a minimal sub-set of the GSM A interface as specified
-in TS 08.08.
+OsmoBSC implements a sub-set of the GSM A interface as specified in TS 08.08
+(BSSAP) and TS 04.08 (DTAP).
 
-Unlike classic A interface implementations for E1 interfacs, OsmoBSC
-implements a variant of encapsulating the A interface over IP.  To do
-so, the SCCP messages are wrapped in an IPA multiplex and then
+Osmocom offers two variants of the 'A' interface's protocol stacking:
+
+- 'A/SCCPlite'
+- 'A/SCCP/M3UA'
+
+Traditionally, OsmoBSC only implemented the A/SCCPlite protocol, but since a
+proper M3UA implementation is available from 'libosmo-sigtran'
+('libosmo-sccp.git'), the stock OsmoBSC now supports only A/SCCP/M3UA. (The
+idea is that SCCPlite support may be added to libosmo-sigtran at some point
+in the future, after which the new `osmo-bsc` would support both variants of
+the A interface.)
+
+The difference between an A/SCCPlite and A/SCCP/M3UA is illustrated in
+<<fig-sccplite>> and <<fig-sccp-m3ua>>.
+
+===== A/SCCPlite
+
+Unlike classic A interface implementations for E1 interfacs,
+`osmo-bsc-sccplite` implements a variant of encapsulating the A interface over
+IP.  To do so, the SCCP messages are wrapped in an IPA multiplex and then
 communicated over TCP.  The audio channels are mapped to RTP streams.
 
 This protocol stacking is sometimes called "SCCPlite".
 
-For more information, see <<alink>>.
+At the time of writing, if you would like to use the old A/SCCPlite protocol,
+look for binary packages named `osmo-bsc-sccplite`, or compile `osmo-bsc` from
+the 'openbsc.git' repository.
 
+[[fig-sccplite]]
+.`osmo-bsc-sccplite` operation using 'A/SCCPlite'
+[graphviz]
+----
+digraph G {
+        rankdir=LR;
+        MS0 [label="MS"];
+        MS1 [label="MS"];
+        MS2 [label="MS"];
+        MS3 [label="MS"];
+        BTS0 [label="BTS"];
+        BTS1 [label="BTS"];
+        BSC [label="OsmoBSC-SCCPlite"];
+        MSC [label="3rd party MSC"];
+        {MS0,MS1}->BTS0 [label="Um"];
+        {MS2,MS3}->BTS1 [label="Um"];
+        {BTS0,BTS1}->BSC [label="Abis\nTCP\nIP"];
+        BSC->MSC [label="A\nSCCP\nTCP\nIP"];
+}
+----
+
+===== A/SCCP/M3UA
+
+The default OsmoBSC's A interface uses the M3UA variant of SIGTRAN protocol
+stacking:
+
+|=====
+|A
+|SCCP
+|M3UA
+|SCTP
+|IP
+|=====
+
+To use the now-default A/SCCP/M3UA protocol, look for binary packages named
+`osmo-bsc`, or compile `osmo-bsc` from the 'osmo-bsc.git' repository. It is
+recommended to use the M3UA variant, which is required to operate with OsmoMSC.
+
+To route SCCP/M3UA messages between OsmoBSC and and MSC, an STP instance like
+OsmoSTP is required.
+
+[[fig-sccp-m3ua]]
+.`osmo-bsc` operation using 'A/SCCP/M3UA'
+[graphviz]
+----
+digraph G {
+        rankdir=LR;
+        MS0 [label="MS"];
+        MS1 [label="MS"];
+        MS2 [label="MS"];
+        MS3 [label="MS"];
+        BTS0 [label="BTS"];
+        BTS1 [label="BTS"];
+        BSC [label="OsmoBSC"];
+        STP [label="OsmoSTP"];
+        MSC [label="OsmoMSC\n(or 3rd-party MSC)"];
+        {MS0,MS1}->BTS0 [label="Um"];
+        {MS2,MS3}->BTS1 [label="Um"];
+        {BTS0,BTS1}->BSC [label="Abis\nTCP\nIP"];
+        BSC->STP->MSC [label="A\nSCCP\nM3UA\nSCTP\nIP"];
+}
+----
 
 ==== BSC Implementation
 

-- 
To view, visit https://gerrit.osmocom.org/5226
To unsubscribe, visit https://gerrit.osmocom.org/settings

Gerrit-MessageType: merged
Gerrit-Change-Id: I1f105b3febd4f99f4491e217ff1b1d0b28912980
Gerrit-PatchSet: 2
Gerrit-Project: osmo-gsm-manuals
Gerrit-Branch: master
Gerrit-Owner: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder



More information about the gerrit-log mailing list