blob: 566124a3a68d656c586d4d6ace4fa571ae2170f1 [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 {
26 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"]
36}
37----
38
39=== Software Components
40
41OsmoNITB contains a variety of different software components, which
42we'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
61OsmoSGSN uses the libgtp implementation originating from OpenGGSN. It
62supports 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
71However, as the SGSN currently does not implement any type of HLR
72access, it is not able to authenticate a subscriber or even check if the
73subscriber exists at all. As such, all non-roaming subscribes are
74allowed to attach to OsmoSGSN. Non-roaming means that the first 5
75digits of the IMSI must match the MCC and MNC of the cell that the
76subscriber is registering to.
77
78
79==== LLC Implementation
80
81The LLC (Logical Link Control) implementation of OsmoSGSN only supports
82non-acknowledged mode, as this is the most common use case in real-world
83GPRS networks.
84
85Furthermore, it does not support IP header nor payload compression at
86this point. Addition of those features is subject to customer demand or
87user/customer contributions.
88
89The LLC implementation does support LLC encryption. However, as no HLR
90access is implemented yet, there is no way to enable/configure
91per-subscriber specific keys.
92
93
94==== Session Management Implementation
95
96The session management procedures ACTIVATE PDP CONTEXT and DEACTIVATE
97PDP CONTEXT are supported. However, no MODIFY PDP CONTEXT and no
98Network-initiated PDP context activation is possible. This is again
99covering the predominant use cases and configurations in GPRS real-world
100networks while skipping the more esoteric features.
101
102Multiple PDP contexts can be attached by a single MS.
103
104Currently, all PDP contexts are routed to the same GGSN, irrespective of
105the APN used/configured in the MS. This is sufficient (and actually
106desirable) for small autonomous networks, but of course not suitable for
107real networks in roaming scenarios. Please contact sysmocom in case you
108require additional features such as DNS-based APN resolving.
109
110=== Limitations
111
112At the time of writing, OsmoSGSN still has a number of limitations,
113which are a result of the demand-driven Open Source development model.
114If you require any of those features, please consider implementing and
115contributing them, or contracting the existing OsmoSGSN developers for
116performing that work.
117
118Known Limitations include:
119
120* No LLC encryption support
121* No interface to the OsmoNITB HLR
122* No paging coordination between SGSN and MSC
123* No SMS over Ps support
124* No IuPS interface for 3G (in progress)
125* No IP header compression
126* No payload compression