blob: abc7496b27d58e73f358cd5095ad46a2235351d4 [file] [log] [blame]
Harald Welte9f1331b2016-02-20 10:56:10 +01001[[chapter_introduction]]
2== Overview
3
4[[intro_overview]]
5=== About OsmoSGSN
6
7OsmoSGSN is the Osmocom implementation of the GPRS SGSN (Serving Gprs
8Support Node) element inside the GPRS network. The SGSN plays a similar
9central function to the GPRS network as the MSC plays in the GSM
10network.
11
12The SGSN is connected on the downlink side to Gb interfaces of the BSS,
13specifically the PCU inside the BSS. The SGSN is further connected by
14the GTP protocol to the GGSN which terminates the tunnels towards the
15external packet data network (e.g. IPv4).
16
17OsmoSGSN supports both a PCU that is co-located with(in) the BTS, as
18well as a PCU that is co-located with(in) the BSC. In combination with
19OsmoNITB/OsmoBSC/OsmoBTS, the PCU is co-located within the BTS.
20
21[[fig-gprs-pcubts]]
22.GPRS network architecture with PCU in BTS
23[graphviz]
24----
25digraph G {
ikostovaa6629f2017-01-06 14:34:45 +010026 rankdir=LR;
27 MS0 [label="MS"];
28 MS1 [label="MS"];
29 MS0->BTS [label="Um"];
30 MS1->BTS [label="Um"];
31 BTS->BSC [label="Abis"];
32 BSC->MSC [label="A"];
33 BTS->PCU [label="pcu_sock"];
34 PCU->SGSN [label="Gb"];
35 SGSN->GGSN [label="GTP"];
Harald Welte9f1331b2016-02-20 10:56:10 +010036}
37----
38
39=== Software Components
40
Pau Espin Pedrol0b81a2f2018-03-06 14:46:19 +010041OsmoSGSN contains a variety of different software components, which
Harald Welte9f1331b2016-02-20 10:56:10 +010042we'll quickly describe in this section.
43
44==== Gb Implementation
45
46OsmoSGSN implements the ETSI/3GPP specified Gb interface, including TS
4708.16 (NS), TS 08.18 (BSSGP) and TS 08.64 (LLC) protocols. As transport
48layers for NS, it supports NS/IP (NS encapsulated in UDP/IP), as well as
49NS/FR/GRE/IP. The latter is provided in order to use a Router with
50Ethernet and Frame Relay interface to convert to actual physical Frame
51Relay medium, which is not directly supported by OsmoSGSN.
52
53The actual Gb Implementation is part of the libosmogb library, which is
54in turn part of the libosmocore software package. This allows the same
55Gb implementation to be used from osmo-pcu, osmo-gbproxy as well as
56OsmoSGSN.
57
58
59==== GTP Implementation
60
Pau Espin Pedrol0b81a2f2018-03-06 14:46:19 +010061OsmoSGSN uses the libgtp implementation originating from OsmoGGSN. It
Harald Welte9f1331b2016-02-20 10:56:10 +010062supports both GTPv0 and GTPv1.
63
64
65==== GMM Implementation
66
67The GPRS Mobility Management implementation is quite simplistic at this
68point. It supports the GPRS ATTACH and GPRS ROUTING AREA UPDATE
69procedures, as well as GPRS ATTACH and GPRS DETACH.
70
Harald Welte9f1331b2016-02-20 10:56:10 +010071==== LLC Implementation
72
73The LLC (Logical Link Control) implementation of OsmoSGSN only supports
74non-acknowledged mode, as this is the most common use case in real-world
75GPRS networks.
76
77Furthermore, it does not support IP header nor payload compression at
78this point. Addition of those features is subject to customer demand or
79user/customer contributions.
80
81The LLC implementation does support LLC encryption. However, as no HLR
82access is implemented yet, there is no way to enable/configure
83per-subscriber specific keys.
84
85
86==== Session Management Implementation
87
88The session management procedures ACTIVATE PDP CONTEXT and DEACTIVATE
89PDP CONTEXT are supported. However, no MODIFY PDP CONTEXT and no
90Network-initiated PDP context activation is possible. This is again
91covering the predominant use cases and configurations in GPRS real-world
92networks while skipping the more esoteric features.
93
94Multiple PDP contexts can be attached by a single MS.
95
96Currently, all PDP contexts are routed to the same GGSN, irrespective of
97the APN used/configured in the MS. This is sufficient (and actually
98desirable) for small autonomous networks, but of course not suitable for
99real networks in roaming scenarios. Please contact sysmocom in case you
100require additional features such as DNS-based APN resolving.
101
102=== Limitations
103
104At the time of writing, OsmoSGSN still has a number of limitations,
105which are a result of the demand-driven Open Source development model.
106If you require any of those features, please consider implementing and
107contributing them, or contracting the existing OsmoSGSN developers for
108performing that work.
109
110Known Limitations include:
111
112* No LLC encryption support
113* No interface to the OsmoNITB HLR
114* No paging coordination between SGSN and MSC
115* No SMS over Ps support
116* No IuPS interface for 3G (in progress)
117* No IP header compression
118* No payload compression