Harald Welte | 8a1e7b8 | 2017-09-06 12:35:04 +0200 | [diff] [blame] | 1 | [[chapter_introduction]] |
| 2 | == Overview |
| 3 | |
| 4 | [[intro_overview]] |
| 5 | === About OsmoGGSN |
| 6 | |
| 7 | OsmoGGSN is a Free / Open Source Software implementation of the GPRS |
| 8 | GGSN (Gateway GPRS support node) element in side the packet switched |
| 9 | core network of 2G and 3G cellular networks. |
| 10 | |
| 11 | The GGSN function is the tunnel endpoint on the core network side, |
| 12 | from where the external (IP) packet data network |
| 13 | |
| 14 | === Software Components |
| 15 | |
| 16 | ==== GTP Implementation (libgtp) |
| 17 | |
| 18 | The OsmoGGSN source code includes a shared library implementation of |
| 19 | the GTP protocol used on the GGSN-SGSN interface. This library |
| 20 | and associated header files are installed system-wide and are |
| 21 | available to other programs/applications. |
| 22 | |
| 23 | In fact, libgtp is what the OsmoSGSN also uses for its use of GTP. |
| 24 | |
| 25 | ==== sgsnemu |
| 26 | |
| 27 | In order to test OsmoGGSN without running a SGSN and other elements |
| 28 | of a cellular network, there is a small command-line utility called |
| 29 | *sgsnemu* which is able to simulate the customary operations of a SGSN |
| 30 | towards the GGSN, such as a PDP Context Activation. |
| 31 | |
| 32 | *sgsnemu* can even be used for testing against other GGSNs, as the GTP |
| 33 | protocol is standardized across implementations. |
| 34 | |
| 35 | ==== osmo-ggsn |
| 36 | |
| 37 | *osmo-ggsn* is the actual name of the OsmoGGSN executable program. It |
| 38 | implements the GGSN functionality. All parameters are set using the |
| 39 | configuration file, by default located in *./osmo-ggsn.cfg* |
| 40 | |
| 41 | ==== systemd service file |
| 42 | |
| 43 | In *contrib/osmo-ggsn.service* you can find a sample service file for |
| 44 | OsmoGGSN which can be used with systemd. |
| 45 | |
| 46 | ==== init script |
| 47 | |
| 48 | In *contrib/osmo-ggsn.init* you can find a sample init script to be used |
| 49 | on systems with classic init process. |
| 50 | |
| 51 | === Limitations |
| 52 | |
| 53 | OsmoGGSN supports both GTP0 (GSM 09.60) and GTP1 (3GPP 29.060). In the |
| 54 | following tables the support of each individual message type is |
| 55 | detailed. The numbers before each feature indicates the relevant |
| 56 | section in the standard. |
| 57 | |
| 58 | ==== GSM 09.60 (GTPv0) |
| 59 | |
| 60 | [options="header",cols="50%,15%,15%,15%,5%"] |
| 61 | |=== |
| 62 | | Feature | gtplib | osmo-ggsn | sgsnemu | notes |
| 63 | 5+<|*7.4 Path Management Messages* |
| 64 | |7.4.1 Echo Request |Supported |Supported |Supported | |
| 65 | |7.4.2 Echo Response |Supported |Supported |Supported | |
| 66 | |7.4.3 Version Not Supported |Supported |Supported |Supported | |
| 67 | 5+<| *7.5 Tunnel Management Messages* |
| 68 | |7.5.1 Create PDP Context Request|Supported |Supported |Supported | |
| 69 | |7.5.2 Create PDP Context Response|Supported |Supported |Supported | |
| 70 | |7.5.3 Update PDP Context Request|Supported |Supported |Not | |
| 71 | |7.5.4 Update PDP Context Response|Supported |Supported |Not | |
| 72 | |7.5.5 Delete PDP Context Request|Supported |Supported |Supported | |
| 73 | |7.5.6 Delete PDP Context Response|Supported |Supported |Supported | |
| 74 | |7.5.7 Create AA PDP Context Request|Unsupported |Unsupported |Unsupported | |
| 75 | |7.5.8 Create AA PDP Response|Unsupported |Unsupported |Unsupported | |
| 76 | |7.5.9 Delete AA PDP Context Request|Unsupported |Unsupported |Unsupported | |
| 77 | |7.5.10 Delete AA PDP Context Response|Unsupported |Unsupported |Unsupported | |
| 78 | |7.5.11 Error Indication |Supported |Supported |Supported | |
| 79 | |7.5.12 PDU Notification Request|Unsupported |Unsupported |Unsupported | |
| 80 | |7.5.13 PDU Notification Response|Unsupported |Unsupported |Unsupported | |
| 81 | |7.5.14 PDU Notification Reject Request|Unsupported |Unsupported |Unsupported | |
| 82 | |7.5.15 PDU Notification Reject Response|Unsupported |Unsupported |Unsupported | |
| 83 | 5+<| *7.6 Location Management Messages* |
| 84 | |7.6.1 Send Routeing Information for GPRS Request|Unsupported |Unsupported |Not applicable | |
| 85 | |7.6.2 Send Routeing Information for GPRS Response|Unsupported |Unsupported |Not applicable | |
| 86 | |7.6.3 Failure Report Request|Unsupported |Unsupported |Not applicable | |
| 87 | |7.6.3 Failure Report Response|Unsupported |Unsupported |Not applicable | |
| 88 | |7.6.5 Note MS GPRS Present Request|Unsupported |Unsupported |Not applicable| |
| 89 | |7.6.6 Note MS GPRS Present Response|Unsupported |Unsupported |Not applicable| |
| 90 | 5+<| *7.5 Mobility Management Messages* |
| 91 | |7.5.1 Identification Request|Unsupported |Not applicable|Not applicable| |
| 92 | |7.5.2 Identification Response|Unsupported |Not applicable|Not applicable | |
| 93 | |7.5.3 SGSN Context Request|Unsupported |Not applicable|Not applicable| |
| 94 | |7.5.4 SGSN Context Response|Unsupported |Not applicable|Not applicable| |
| 95 | |7.5.5 SGSN Context Acknowledge|Unsupported |Not applicable|Not applicable| |
| 96 | |=== |
| 97 | |
| 98 | ==== 3GPP 29.060 (GTPv1) |
| 99 | |
| 100 | [options="header",cols="50%,15%,15%,15%,5%"] |
| 101 | |=== |
| 102 | |Feature |gtplib |osmo-ggsn |sgsnemu |notes |
| 103 | 5+<|*7.2 Path Management Messages* |
| 104 | |7.2.1 Echo Request |Supported |Supported |Supported | |
| 105 | |7.2.2 Echo Response |Supported |Supported |Supported | |
| 106 | |7.2.3 Version Not Supported|Supported |Supported |Supported | |
| 107 | |7.2.4 Extension Headers Notification|Supported |Supported |Supported | |
| 108 | 5+<|*7.3 Tunnel Management Messages* |
| 109 | |7.3.1 Create PDP Context Request|Supported |Supported |Supported |1 |
| 110 | |7.3.2 Create PDP Context Response|Supported |Supported |Supported | |
| 111 | |7.3.3 Update PDP Context Request|Supported |Supported |Not applicable|1 |
| 112 | |7.3.4 Update PDP Context Response|Supported |Supported |Not applicable| |
| 113 | |7.3.5 Delete PDP Context Request|Supported |Supported |Supported | |
| 114 | |7.3.6 Delete PDP Context Response|Supported |Supported |Supported | |
| 115 | |7.3.7 Error Indication |Supported |Supported |Supported | |
| 116 | |7.3.8 PDU Notification Request|Unsupported |Unsupported |Unsupported | |
| 117 | |7.3.9 PDU Notification Response|Unsupported |Unsupported |Unsupported | |
| 118 | |7.3.10 PDU Notification Reject Request|Unsupported |Unsupported |Unsupported | |
| 119 | |7.3.10 PDU Notification Reject Response|Unsupported |Unsupported |Unsupported | |
| 120 | 5+<|*7.4 Location Management Messages* |
| 121 | |7.4.1 Send Routeing Information for GPRS Request|Unsupported |Unsupported |Not applicable | |
| 122 | |7.4.2 Send Routeing Information for GPRS Response|Unsupported |Unsupported |Not applicable | |
| 123 | |7.4.3 Failure Report Request|Unsupported |Unsupported |Not applicable| |
| 124 | |7.4.3 Failure Report Response|Unsupported |Unsupported |Not applicable| |
| 125 | |7.4.5 Note MS GPRS Present Request|Unsupported |Unsupported |Not applicable| |
| 126 | |7.4.6 Note MS GPRS Present Response|Unsupported |Unsupported |Not applicable| |
| 127 | 5+<|*7.5 Mobility Management Messages* |
| 128 | |7.5.1 Identification Request|Unsupported |Not applicable|Not applicable| |
| 129 | |7.5.2 Identification Response|Unsupported |Not applicable |Not applicable| |
| 130 | |7.5.3 SGSN Context Request|Unsupported |Not applicable|Not applicable| |
| 131 | |7.5.4 SGSN Context Response|Unsupported |Not applicable |Not applicable| |
| 132 | |7.5.5 SGSN Context Acknowledge|Unsupported |Not applicable|Not applicable| |
| 133 | |7.5.6 Forward Relocation Request|Unsupported |Not applicable|Not applicable| |
| 134 | |7.5.7 Forward Relocation Response|Unsupported |Not applicable|Not applicable| |
| 135 | |7.5.8 Forward Relocation Complete|Unsupported |Not applicable|Not applicable| |
| 136 | |7.5.9 Relocation Cancel Request|Unsupported |Not applicable|Not applicable| |
| 137 | |7.5.10 Relocation Cancel Response|Unsupported |Not applicable|Not applicable| |
| 138 | |7.5.11 Forward Relocation Complete |Unsupported |Not applicable |Not applicable | |
| 139 | |7.5.12 Forward SRNS Context Acknowledge|Unsupported |Not applicable|Not applicable| |
| 140 | |7.5.13 Forward SRNS Context|Unsupported |Not applicable|Not applicable| |
| 141 | |=== |
| 142 | |
| 143 | Notes |
| 144 | |
| 145 | 1) The "Secondary PDP Context Activation Procedure" is not supported. |