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.orgHarald 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