146 lines
4.5 KiB
Plaintext
146 lines
4.5 KiB
Plaintext
[[overview]]
|
|
== Overview
|
|
|
|
This manual should help you getting started with OsmoBSC. It will cover
|
|
aspects of configuring and running the OsmoBSC.
|
|
|
|
[[intro_overview]]
|
|
=== About OsmoBSC
|
|
|
|
OsmoBSC is the Osmocom implementation of a Base Station Controller. It
|
|
implements:
|
|
|
|
- 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 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, 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 sub-set of the GSM A interface as specified in TS 08.08
|
|
(BSSAP) and TS 04.08 (DTAP).
|
|
|
|
Osmocom offers two variants of the 'A' interface's protocol stacking:
|
|
|
|
- 'BSSAP/SCCPlite'
|
|
- 'BSSAP/SCCP/M3UA' (called AoIP)
|
|
|
|
Traditionally, OsmoBSC only implemented the BSSAP/SCCPlite protocol, but since a
|
|
proper M3UA implementation became available in 2017 as part of 'libosmo-sigtran'
|
|
('libosmo-sccp.git'), the stock OsmoBSC now supports BSSAP/SCCP/M3UA. SCCPlite
|
|
support has been subsequently added to libosmo-sigtran in 2018, and now both
|
|
variants of the 'A' interface are supported by `osmo-bsc`.
|
|
|
|
The difference between an BSSAP/SCCPlite and BSSAP/SCCP/M3UA is illustrated in
|
|
<<fig-sccplite>> and <<fig-sccp-m3ua>>.
|
|
|
|
===== BSSAP/SCCPlite
|
|
|
|
Unlike classic A interface implementations for E1 interfacs,
|
|
`osmo-bsc` 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".
|
|
|
|
[[fig-sccplite]]
|
|
.`osmo-bsc-sccplite` operation using 'BSSAP/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="BSSAP\nSCCP\nTCP\nIP"];
|
|
}
|
|
----
|
|
|
|
===== BSSAP/SCCP/M3UA
|
|
|
|
The default OsmoBSC's A interface uses the M3UA variant of SIGTRAN protocol
|
|
stacking:
|
|
|
|
|=====
|
|
|BSSAP
|
|
|SCCP
|
|
|M3UA
|
|
|SCTP
|
|
|IP
|
|
|=====
|
|
|
|
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 'BSSAP/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="BSSAP\nSCCP\nM3UA\nSCTP\nIP"];
|
|
}
|
|
----
|
|
|
|
==== BSC Implementation
|
|
|
|
The BSC implementation covers the classic functionality of a GSM Base
|
|
Station Controller, i.e.
|
|
|
|
* configuring and bringing up BTSs with their TRXs and TSs
|
|
* implementing the A-bis interface / protocols for signalling and actual
|
|
voice data (TRAU frames).
|
|
* processing measurement results from the mobile stations in dedicated
|
|
mode, performing hand-over decision and execution.
|
|
* Terminating the TS 04.08 RR (Radio Resource) sub-layer from the MS.
|
|
|
|
For more information, see <<net>>, <<bts>> and <<bts-examples>>.
|
|
|
|
|
|
==== TRAU mapper / E1 sub-channel muxer
|
|
|
|
Unlike classic GSM networks, OsmoBSC does not perform any transcoding.
|
|
Rather, a compatible codec is selected for both legs of a call, and
|
|
codec frames are passed through transparently. In order to achieve this
|
|
with E1 based BTS, OsmoBSC contains a E1 sub-channel de- and
|
|
re-multiplexer as well as a TRAU mapper that can map uplink to downlink
|
|
frames and vice versa.
|