197 lines
4.9 KiB
Plaintext
197 lines
4.9 KiB
Plaintext
[[overview]]
|
|
== Overview
|
|
|
|
This manual should help you getting started with OsmoNITB. It will cover
|
|
aspects of configuring and running the OsmoNITB.
|
|
|
|
[[intro_overview]]
|
|
=== About OsmoNITB
|
|
|
|
OsmoNITB is one particular version of the OpenBSC software suite.
|
|
Unlike classic, distributed, hierarchical GSM networks, OsmoNITB
|
|
implements all parts of a GSM Network (BSC, MSC, VLR, HLR, AUC, SMSC)
|
|
__in the box__, i.e. in one element.
|
|
|
|
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"]
|
|
MSC [label="MSC/VLR"]
|
|
HLR [label="HLR/AUC"]
|
|
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"]
|
|
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"]
|
|
HLR [label="HLR/AUC"]
|
|
BSC->MSC [label="A"]
|
|
MSC->HLR [label="C"]
|
|
MSC->EIR [label="F"]
|
|
MSC->SMSC;
|
|
}
|
|
}
|
|
----
|
|
|
|
|
|
=== Software Components
|
|
|
|
OsmoNITB contains a variety of different software components, which
|
|
we'll quickly describe in this section.
|
|
|
|
==== A-bis Implementation
|
|
|
|
OsmoNITB implements the ETSI/3GPP specified A-bis interface, including
|
|
_3GPP TS 48.056_ <<3gpp-ts-48-056>> (LAPD), _3GPP TS 48.058_
|
|
<<3gpp-ts-48-058>> (RSL) and 3GPP TS 52.021 <<3gpp-ts-52-021>> (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.
|
|
|
|
For more information, see <<bts>> and <<bts-examples>>.
|
|
|
|
|
|
==== 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 _3GPP TS 24.008_ <<3gpp-ts-24-008>> RR (Radio Resource)
|
|
sub-layer from the MS.
|
|
|
|
For more information, see <<net>>, <<bts>> and <<bts-examples>>.
|
|
|
|
|
|
==== HLR/AUC
|
|
|
|
A minimalistic implementation of the subscriber database (HLR) and
|
|
subscriber secret key storage (AUC).
|
|
|
|
For more information, see <<hlr>>.
|
|
|
|
|
|
==== 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 of OsmoNITB implements the mobility management (MM)
|
|
functions of the TS 04.08, as well as the optional security related
|
|
procedures for cryptographic authentication and encryption.
|
|
|
|
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>>.
|
|
|
|
|
|
==== TRAU mapper / E1 sub-channel muxer
|
|
|
|
Unlike classic GSM networks, OsmoNITB 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, OsmoNITB 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.
|
|
|
|
|
|
==== RTP proxy
|
|
|
|
BTS models implementing A-bis over IP don't use classic TRAU frames but
|
|
typically transport the voice codec frames as RTP/UDP/IP protocol.
|
|
OsmoNITB can either instruct the BTSs to send those voice streams
|
|
directly to each other (BTS to BTS without any intermediary), or it can
|
|
run an internal RTP proxy for passing frames from one BTS to another.
|
|
|
|
.RTP flow without RTP proxy mode (default)
|
|
[graphviz]
|
|
----
|
|
digraph G {
|
|
rankdir=LR;
|
|
|
|
MS0 [label="MS A"];
|
|
MS1 [label="MS B"];
|
|
BTS0 [label="BTS A"];
|
|
BTS1 [label="BTS B"];
|
|
NITB;
|
|
|
|
MS0 -> BTS0;
|
|
MS1 -> BTS1;
|
|
BTS0 -> NITB [label="Abis OML+RSL",dir=both];
|
|
BTS1 -> NITB [label="Abis OML+RSL",dir=both];
|
|
BTS0 -> BTS1 [label="RTP",dir=both]
|
|
}
|
|
----
|
|
|
|
.RTP flow with RTP proxy mode
|
|
[graphviz]
|
|
----
|
|
digraph G {
|
|
rankdir=LR;
|
|
|
|
MS0 [label="MS A"];
|
|
MS1 [label="MS B"];
|
|
BTS0 [label="BTS A"];
|
|
BTS1 [label="BTS B"];
|
|
NITB;
|
|
|
|
MS0 -> BTS0;
|
|
MS1 -> BTS1;
|
|
BTS0 -> NITB [label="Abis OML+RSL",dir=both];
|
|
BTS1 -> NITB [label="Abis OML+RSL",dir=both];
|
|
BTS0 -> NITB [label="RTP",dir=both]
|
|
BTS1 -> NITB [label="RTP",dir=both]
|
|
}
|
|
----
|