[[chapter_introduction]] == Overview [[intro_overview]] === About OsmoGGSN OsmoGGSN is a Free / Open Source Software implementation of the GPRS GGSN (Gateway GPRS support node) element in side the packet switched core network of 2G and 3G cellular networks. The GGSN function is the tunnel endpoint on the core network side, from where the external (IP) packet data network === Software Components ==== GTP Implementation (libgtp) The OsmoGGSN source code includes a shared library implementation of the GTP protocol used on the GGSN-SGSN interface. This library and associated header files are installed system-wide and are available to other programs/applications. In fact, libgtp is what the OsmoSGSN also uses for its use of GTP. ==== sgsnemu In order to test OsmoGGSN without running a SGSN and other elements of a cellular network, there is a small command-line utility called *sgsnemu* which is able to simulate the customary operations of a SGSN towards the GGSN, such as a PDP Context Activation. *sgsnemu* can even be used for testing against other GGSNs, as the GTP protocol is standardized across implementations. ==== osmo-ggsn *osmo-ggsn* is the actual name of the OsmoGGSN executable program. It implements the GGSN functionality. All parameters are set using the configuration file, by default located in *./osmo-ggsn.cfg* ==== systemd service file In *contrib/osmo-ggsn.service* you can find a sample service file for OsmoGGSN which can be used with systemd. ==== init script In *contrib/osmo-ggsn.init* you can find a sample init script to be used on systems with classic init process. === Limitations OsmoGGSN supports both GTP0 (GSM 09.60) and GTP1 (3GPP 29.060). In the following tables the support of each individual message type is detailed. The numbers before each feature indicates the relevant section in the standard. ==== GSM 09.60 (GTPv0) [options="header",cols="50%,15%,15%,15%,5%"] |=== | Feature | gtplib | osmo-ggsn | sgsnemu | notes 5+<|*7.4 Path Management Messages* |7.4.1 Echo Request |Supported |Supported |Supported | |7.4.2 Echo Response |Supported |Supported |Supported | |7.4.3 Version Not Supported |Supported |Supported |Supported | 5+<| *7.5 Tunnel Management Messages* |7.5.1 Create PDP Context Request|Supported |Supported |Supported | |7.5.2 Create PDP Context Response|Supported |Supported |Supported | |7.5.3 Update PDP Context Request|Supported |Supported |Not | |7.5.4 Update PDP Context Response|Supported |Supported |Not | |7.5.5 Delete PDP Context Request|Supported |Supported |Supported | |7.5.6 Delete PDP Context Response|Supported |Supported |Supported | |7.5.7 Create AA PDP Context Request|Unsupported |Unsupported |Unsupported | |7.5.8 Create AA PDP Response|Unsupported |Unsupported |Unsupported | |7.5.9 Delete AA PDP Context Request|Unsupported |Unsupported |Unsupported | |7.5.10 Delete AA PDP Context Response|Unsupported |Unsupported |Unsupported | |7.5.11 Error Indication |Supported |Supported |Supported | |7.5.12 PDU Notification Request|Unsupported |Unsupported |Unsupported | |7.5.13 PDU Notification Response|Unsupported |Unsupported |Unsupported | |7.5.14 PDU Notification Reject Request|Unsupported |Unsupported |Unsupported | |7.5.15 PDU Notification Reject Response|Unsupported |Unsupported |Unsupported | 5+<| *7.6 Location Management Messages* |7.6.1 Send Routeing Information for GPRS Request|Unsupported |Unsupported |Not applicable | |7.6.2 Send Routeing Information for GPRS Response|Unsupported |Unsupported |Not applicable | |7.6.3 Failure Report Request|Unsupported |Unsupported |Not applicable | |7.6.3 Failure Report Response|Unsupported |Unsupported |Not applicable | |7.6.5 Note MS GPRS Present Request|Unsupported |Unsupported |Not applicable| |7.6.6 Note MS GPRS Present Response|Unsupported |Unsupported |Not applicable| 5+<| *7.5 Mobility Management Messages* |7.5.1 Identification Request|Unsupported |Not applicable|Not applicable| |7.5.2 Identification Response|Unsupported |Not applicable|Not applicable | |7.5.3 SGSN Context Request|Unsupported |Not applicable|Not applicable| |7.5.4 SGSN Context Response|Unsupported |Not applicable|Not applicable| |7.5.5 SGSN Context Acknowledge|Unsupported |Not applicable|Not applicable| |=== ==== 3GPP 29.060 (GTPv1) [options="header",cols="50%,15%,15%,15%,5%"] |=== |Feature |gtplib |osmo-ggsn |sgsnemu |notes 5+<|*7.2 Path Management Messages* |7.2.1 Echo Request |Supported |Supported |Supported | |7.2.2 Echo Response |Supported |Supported |Supported | |7.2.3 Version Not Supported|Supported |Supported |Supported | |7.2.4 Extension Headers Notification|Supported |Supported |Supported | 5+<|*7.3 Tunnel Management Messages* |7.3.1 Create PDP Context Request|Supported |Supported |Supported |1 |7.3.2 Create PDP Context Response|Supported |Supported |Supported | |7.3.3 Update PDP Context Request|Supported |Supported |Not applicable|1 |7.3.4 Update PDP Context Response|Supported |Supported |Not applicable| |7.3.5 Delete PDP Context Request|Supported |Supported |Supported | |7.3.6 Delete PDP Context Response|Supported |Supported |Supported | |7.3.7 Error Indication |Supported |Supported |Supported | |7.3.8 PDU Notification Request|Unsupported |Unsupported |Unsupported | |7.3.9 PDU Notification Response|Unsupported |Unsupported |Unsupported | |7.3.10 PDU Notification Reject Request|Unsupported |Unsupported |Unsupported | |7.3.10 PDU Notification Reject Response|Unsupported |Unsupported |Unsupported | 5+<|*7.4 Location Management Messages* |7.4.1 Send Routeing Information for GPRS Request|Unsupported |Unsupported |Not applicable | |7.4.2 Send Routeing Information for GPRS Response|Unsupported |Unsupported |Not applicable | |7.4.3 Failure Report Request|Unsupported |Unsupported |Not applicable| |7.4.3 Failure Report Response|Unsupported |Unsupported |Not applicable| |7.4.5 Note MS GPRS Present Request|Unsupported |Unsupported |Not applicable| |7.4.6 Note MS GPRS Present Response|Unsupported |Unsupported |Not applicable| 5+<|*7.5 Mobility Management Messages* |7.5.1 Identification Request|Unsupported |Not applicable|Not applicable| |7.5.2 Identification Response|Unsupported |Not applicable |Not applicable| |7.5.3 SGSN Context Request|Unsupported |Not applicable|Not applicable| |7.5.4 SGSN Context Response|Unsupported |Not applicable |Not applicable| |7.5.5 SGSN Context Acknowledge|Unsupported |Not applicable|Not applicable| |7.5.6 Forward Relocation Request|Unsupported |Not applicable|Not applicable| |7.5.7 Forward Relocation Response|Unsupported |Not applicable|Not applicable| |7.5.8 Forward Relocation Complete|Unsupported |Not applicable|Not applicable| |7.5.9 Relocation Cancel Request|Unsupported |Not applicable|Not applicable| |7.5.10 Relocation Cancel Response|Unsupported |Not applicable|Not applicable| |7.5.11 Forward Relocation Complete |Unsupported |Not applicable |Not applicable | |7.5.12 Forward SRNS Context Acknowledge|Unsupported |Not applicable|Not applicable| |7.5.13 Forward SRNS Context|Unsupported |Not applicable|Not applicable| |=== Notes 1) The "Secondary PDP Context Activation Procedure" is not supported.