119 lines
4.1 KiB
Plaintext
119 lines
4.1 KiB
Plaintext
[[chapter_introduction]]
|
|
== Overview
|
|
|
|
[[intro_overview]]
|
|
=== About OsmoSGSN
|
|
|
|
OsmoSGSN is the Osmocom implementation of the GPRS SGSN (Serving Gprs
|
|
Support Node) element inside the GPRS network. The SGSN plays a similar
|
|
central function to the GPRS network as the MSC plays in the GSM
|
|
network.
|
|
|
|
The SGSN is connected on the downlink side to Gb interfaces of the BSS,
|
|
specifically the PCU inside the BSS. The SGSN is further connected by
|
|
the GTP protocol to the GGSN which terminates the tunnels towards the
|
|
external packet data network (e.g. IPv4).
|
|
|
|
OsmoSGSN supports both a PCU that is co-located with(in) the BTS, as
|
|
well as a PCU that is co-located with(in) the BSC. In combination with
|
|
OsmoNITB/OsmoBSC/OsmoBTS, the PCU is co-located within the BTS.
|
|
|
|
[[fig-gprs-pcubts]]
|
|
.GPRS network architecture with PCU in BTS
|
|
[graphviz]
|
|
----
|
|
digraph G {
|
|
rankdir=LR;
|
|
MS0 [label="MS"];
|
|
MS1 [label="MS"];
|
|
MS0->BTS [label="Um"];
|
|
MS1->BTS [label="Um"];
|
|
BTS->BSC [label="Abis"];
|
|
BSC->MSC [label="A"];
|
|
BTS->PCU [label="pcu_sock"];
|
|
PCU->SGSN [label="Gb"];
|
|
SGSN->GGSN [label="GTP"];
|
|
}
|
|
----
|
|
|
|
=== Software Components
|
|
|
|
OsmoSGSN contains a variety of different software components, which
|
|
we'll quickly describe in this section.
|
|
|
|
==== Gb Implementation
|
|
|
|
OsmoSGSN implements the ETSI/3GPP specified Gb interface, including TS
|
|
08.16 (NS), TS 08.18 (BSSGP) and TS 08.64 (LLC) protocols. As transport
|
|
layers for NS, it supports NS/IP (NS encapsulated in UDP/IP), as well as
|
|
NS/FR/GRE/IP. The latter is provided in order to use a Router with
|
|
Ethernet and Frame Relay interface to convert to actual physical Frame
|
|
Relay medium, which is not directly supported by OsmoSGSN.
|
|
|
|
The actual Gb Implementation is part of the libosmogb library, which is
|
|
in turn part of the libosmocore software package. This allows the same
|
|
Gb implementation to be used from osmo-pcu, osmo-gbproxy as well as
|
|
OsmoSGSN.
|
|
|
|
|
|
==== GTP Implementation
|
|
|
|
OsmoSGSN uses the libgtp implementation originating from OsmoGGSN. It
|
|
supports both GTPv0 and GTPv1.
|
|
|
|
|
|
==== GMM Implementation
|
|
|
|
The GPRS Mobility Management implementation is quite simplistic at this
|
|
point. It supports the GPRS ATTACH and GPRS ROUTING AREA UPDATE
|
|
procedures, as well as GPRS ATTACH and GPRS DETACH.
|
|
|
|
==== LLC Implementation
|
|
|
|
The LLC (Logical Link Control) implementation of OsmoSGSN only supports
|
|
non-acknowledged mode, as this is the most common use case in real-world
|
|
GPRS networks.
|
|
|
|
Furthermore, it does not support IP header nor payload compression at
|
|
this point. Addition of those features is subject to customer demand or
|
|
user/customer contributions.
|
|
|
|
The LLC implementation does support LLC encryption. However, as no HLR
|
|
access is implemented yet, there is no way to enable/configure
|
|
per-subscriber specific keys.
|
|
|
|
|
|
==== Session Management Implementation
|
|
|
|
The session management procedures ACTIVATE PDP CONTEXT and DEACTIVATE
|
|
PDP CONTEXT are supported. However, no MODIFY PDP CONTEXT and no
|
|
Network-initiated PDP context activation is possible. This is again
|
|
covering the predominant use cases and configurations in GPRS real-world
|
|
networks while skipping the more esoteric features.
|
|
|
|
Multiple PDP contexts can be attached by a single MS.
|
|
|
|
Currently, all PDP contexts are routed to the same GGSN, irrespective of
|
|
the APN used/configured in the MS. This is sufficient (and actually
|
|
desirable) for small autonomous networks, but of course not suitable for
|
|
real networks in roaming scenarios. Please contact sysmocom in case you
|
|
require additional features such as DNS-based APN resolving.
|
|
|
|
=== Limitations
|
|
|
|
At the time of writing, OsmoSGSN still has a number of limitations,
|
|
which are a result of the demand-driven Open Source development model.
|
|
If you require any of those features, please consider implementing and
|
|
contributing them, or contracting the existing OsmoSGSN developers for
|
|
performing that work.
|
|
|
|
Known Limitations include:
|
|
|
|
* No LLC encryption support
|
|
* No interface to the OsmoNITB HLR
|
|
* No paging coordination between SGSN and MSC
|
|
* No SMS over Ps support
|
|
* No IuPS interface for 3G (in progress)
|
|
* No IP header compression
|
|
* No payload compression
|