sgsnemu(8)
NAME
sgsnemu - Serving GPRS Support Node Emulator
SYNOPSIS
sgsnemu --help sgsnemu --version sgsnemu [ --debug ] [ --conf file ] [ --pidfile file ] [ --statedir file ] [ --dns host ] [ --listen host ] [ --remote host ] [ --contexts num ] [ --timelimit seconds ] [ --gtpversion version ] [ --apn apn ] [ --selmode selmode ] [ --imsi imsi ] [ --nsapi nsapi ] [ --msisdn msisdn ] [ --qos qos ] [ --charging charging ] [ --uid uid ] [ --pwd pwd ] [ --createif ] [ --net net ] [ --defaultroute ] [ --ipup script ] [ --ipdown script ] [ --pinghost host ] [ --pingrate num ] [ --pingsize num ] [ --pingcount num ]
DESCRIPTION
- 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.
- The GPRS functionality and protocols has been standardised
- by the Third Generation Partnership Project (3GPP). According to
- the 3GPP specifications an SGSN has several interfaces. sgsnemu
- implements the Gn/Gp interface which is used towards GGSNs.
- The Gn/Gp interface can be seen as the uplink interface of
- the SGSN. It is used for communicating with a GGSN which is typi
- cally connected to the Internet. 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.
- sgsnemu will establish a number of connections to the
- GGSN. An internal ping facility will transmit ping requests
- through the established connections. Alternatively a local net
- work interface can be created. In this case sgsnemu will forward
- packets between the local network interface and the established
- connections on the Gn/Gp interface.
- sgsnemu uses the TUN/TAP driver for the local interface. A
- tun network interface is established for each connection estab
- lished to the GGSN.
- Runtime errors are reported using the syslogd (8) facili
- ty.
OPTIONS
--help Print help and exit.
- --version
- Print version and exit.
- --debug
- Run in debug mode (default = off)
- --conf file
- Read configuration file where each line corresponds
- to one command line option, but with the leading '--' removed.
- Command line options override the options given in the configura
- tion file.
- --pidfile file
- Filename of process id file (default = ./sgsne
- mu.pid)
- --statedir path
- path to directory of nonvolatile data (default =
- ./)
- --dns host
- DNS server to use for APN lookups. If omitted the
- default system DNS configuration will be used.
- --listen host
- Local interface IP address to use for the Gn/Gp in
- terface. If omitted sgsnemu will listen to any IP address.
- --remote host
- GGSN host to connect to. If DNS is setup correctly
- it should be possible to specify the access point name (APN) as
- the remote host.
- --contexts num
- Number of contexts to establish. (default = 1). For
- multiple contexts the the first context is established using imsi
- + 0 and msisdn + 0. The second context is established using imsi
- + 1 and msisdn + 1. The third....
- --timelimit seconds
- Exit sgsnemu after seconds. When using the ping
- facility sgsnemu will also exit after --pingcount packets has
- been transmitted.
- --gtpversion version
- version of GTP to use when establishing a context
- (default = 1). If not able to establish a GTPv1 context sgsnemu
- will fall back to using GTPv0.
- --apn apn
- apn to use when connecting to the GGSN (default =
- internet). APN is an abbreviation of Access Point Name.
- --selmode selmode
- Selection mode to use when connecting to the GGSN
- (default = 0x01). The encoding of the selection mode is as fol
- lows: 0: MS or network provided APN, subscribed verified, 1: MS
- provided APN, subscription not verified, 2: Network provided APN,
- subscription not verified.
- --imsi imsi
- imsi to use when connecting to the GGSN (default =
- 240010123456789). IMSI is an abbreviation of International Mobile
- Subscriber Identity. Must be exactly 15 digits. See the contexts
- option for the the use of the imsi option with multiple contexts.
- --nsapi nsapi
- nsapi to use when connecting to the GGSN (default =
- 0). Must be between 0 and 15.
- --msisdn msisdn
- msisdn to use when connecting to the GGSN (default
- = 46702123456). MSISDN is an abbreviation of International Mobile
- Integrated Services Digital Network. Effectly a phone number in
- international format without the leading 00 or 011. See the
- contexts option for the the use of the msisdn option with multi
- ple contexts.
- --qos qos
- qos to use when connecting to the GGSN (default =
- 0x0b921f). QoS is an abbreviation of Quality of Service. See 3GPP
- specification 09.60 for the format of this string.
- --charging charging
- Charging characteristics to use when connecting to
- the GGSN (default = 0x0800). 0x0800 = Normal, 0x0400 = Prepaid,
- 0x0200 = Flat rate, 0x0100 = Hot billing. See 3GPP specification
- 32.015 for the format of this field.
- --uid uid
- User ID to send to GGSN as protocol configuration
- option.
- --pwd pws
- Password to send to GGSN as protocol configuration
- option.
- --createif
- Create a local tun interface. This interface will
- be used for forwarding packets to and from the Gn/Gp interface.
- Use with caution as the Gn/Gp interface is normally be routed to
- the Internet by the GGSN. Only one interface will be created,
- even if several contexts are established. The interface will be
- given an IP address for each established context, or the address
- can be specified with the net option.
- --net net
- Network address of the local interface. The net op
- tion is only valid when the createif option is used. The net op
- tion is given in cidr format (net/mask bits). If the net option
- omitted an IP address is allocated for each context established.
- --defaultroute
- Create a defaultroute to the local tun interface.
- --ipup script
- Script executed after the tun network interface has
- been brought up. Executed with the following parameters: <devi
- cename> <ip address>
- --ipdown script
- Script executed after the tun network interface has
- been taken down. Executed with the following parameters: <devi
- cename> <ip address>
- --pinghost host
- Ping host through the Gn/GP interface. Ping statis
- tics are reported much like done by the original ping program.
- Use this facility for performance test of GGSNs.
- --pingrate num
- Number of ping requests per second (default = 1)
- --pingsize num
- The size of each ping requests in octets (default =
- 56)
- --pingcount num
- Number of ping requests to send (default = 0). A
- value of 0 (zero) indicates infinite.
- --pingquiet
- Do not print information for each packet received
- (default = off). Is quite usefull for high pingrates.
FILES
- sgsnemu.conf
- The configuration file for sgsnemu.
- .sgsnemu.pid
- Process ID file.
- ./
- Directory holding nonvolatile data.
BUGS
- Report all bugs to the OpenGGSN bug tracking list at
- http://sourceforge.net/projects/sgsnemu/
SEE ALSO
NOTES
- Besides the long options documented in this man page
- sgsnemu also accepts a number of short options with the same
- functionality. Use sgsnemu --help for a full list of all the
- available options.
- The TUN/TAP driver is required for proper operation of
- sgsnemu. For linux kernels later than 2.4.7 the TUN/TAP driver
- is included in the kernel, but typically needs to be loaded manu
- ally with modprobe tun. For automatic loading the line alias
- char-major-10-200 tun can be added to /etc/modules.conf. For
- other platforms see http://vtun.sourceforge.net/tun/ for informa
- tion on how to install and configure the tun driver.
- sgsnemu uses the GPRS Tunneling Protocol (GTP) as speci
- fied by the Third Generation Partnership Project (3GPP). 3GPP
- protocols specifications can be found at http://www.3gpp.org
COPYRIGHT
Copyright (C) 2002, 2003, 2004 by Mondru AB.
- The contents of this file may be used under the terms of
- the GNU General Public License Version 2, provided that the above
- copyright notice and this permission notice is included in all
- copies or substantial portions of the software.
AUTHORS
- Jens Jakobsen <jj@openggsn.org>
- May 2004