110 lines
3.8 KiB
Plaintext
110 lines
3.8 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.
|
|
|
|
It does support both TCP/IP header compression according to RFC1144 and
|
|
payload compression according to V.42bis
|
|
|
|
The LLC implementation does support LLC encryption with ciphers GEA3 and GEA4.
|
|
For encryption to work the auth policy needs to be set to remote and the SGSN
|
|
connected to an HLR containing the subscriber data including key material.
|
|
Other auth policys will not work with encryption.
|
|
|
|
==== 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.
|
|
|
|
Multiple GGSNs can be configured and routing to a GGSN can be configured based
|
|
on APN. Dynamic lookup of GGSNs though DNS-based APN resolving is also possible.
|
|
|
|
=== 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 paging coordination between SGSN and MSC
|
|
* No SMS over Ps support
|