Sgsnemu » History » Version 1

laforge, 02/24/2017 04:40 PM

1 1 laforge
h1. sgsnemu
2 1 laforge
3 1 laforge
@sgsnemu@ is part of the [[OpenGGSN:]] project and implements a Serving GPRS Support Node (SGSN) emulator. It can be used for testing Gateway GPRS Support Nodes (GGSNs), GPRS core networks as well as GPRS roaming connections.
4 1 laforge
5 1 laforge
For more information abou the role of SGSNs and GGSNs, see
6 1 laforge
7 1 laforge
The GPRS functionality and protocols has been standardized by the Third Generation Partnership Project (3GPP).  According to the 3GPP specificaitons, an SGSN has several interfaces. @sgsnemu@ emulates the GN/Gp interface which is used towards GGSNs.
8 1 laforge
9 1 laforge
The Gn/Gp inteface can be seen as the uplink interface of the SGSN. It is used for communicating with a GGSN which is typically connceted to the Internet (or any other private IP network).  The Gn/Gp interface uses the GPRS tunneling protocol (GTP).  User data packets (typically IP packets) are tunneled over GTP, which again uses UDP over IP as underlaying transport.
10 1 laforge
11 1 laforge
@sgsnemu@ will establish a number of tunnels (aka _PDP Contexts_) to the GGSN.  An internal ping facility will transmit ping requests through the established tunnels.  Alternatively, a local network interface can be created. In this case, @sgsnemu@ will forward packets between the local network interface and the established tunnels on the Gn/Gp interface.
12 1 laforge
13 1 laforge
@sgsnemu@ uses the TUN/TAP driver for the local interface. A tun network interface is established for each tunnel established to the GGSN.
14 1 laforge
15 1 laforge
@sgsnemu@ errors are reported using the Osmocom logging framework.
16 1 laforge
17 1 laforge
For detailed syntax, please see the sgsnemu man page included in the [[OpenGGSN:]] diestribution.  You can also access the man page at
Add picture from clipboard (Maximum size: 48.8 MB)