2 .\" * OpenGGSN - Gateway GPRS Support Node
3 .\" * Copyright (C) 2002, 2003 Mondru AB.
5 .\" * The contents of this file may be used under the terms of the GNU
6 .\" * General Public License Version 2, provided that the above copyright
7 .\" * notice and this permission notice is included in all copies or
8 .\" * substantial portions of the software.
10 .\" * The initial developer of the original code is
11 .\" * Jens Jakobsen <jj@openggsn.org>
15 .\" Manual page for ggsn
16 .\" SH section heading
17 .\" SS subsection heading
19 .\" IP indented paragraph
22 .TH sgsnemu 8 "May 2004"
24 sgsnemu \- Serving GPRS Support Node Emulator
38 .BI \-\-pidfile " file"
40 .BI \-\-statedir " file"
44 .BI \-\-listen " host"
46 .BI \-\-remote " host"
48 .BI \-\-contexts " num"
50 .BI \-\-timelimit " seconds"
52 .BI \-\-gtpversion " version"
56 .BI \-\-selmode " selmode"
60 .BI \-\-nsapi " nsapi"
62 .BI \-\-msisdn " msisdn"
66 .BI \-\-charging " charging"
78 .BI \-\-ipup " script"
80 .BI \-\-ipdown " script"
82 .BI \-\-pinghost " host"
84 .BI \-\-pingrate " num"
86 .BI \-\-pingsize " num"
88 .BI \-\-pingcount " num"
94 project, and implements a Serving GPRS Support Node (SGSN)
95 emulator. It can be used for testing Gateway GPRS Support Nodes
96 (GGSNs), GPRS core networks as well as GPRS roaming connections.
98 The GPRS functionality and protocols has been standardised by the
99 Third Generation Partnership Project (3GPP). According to the 3GPP
100 specifications an SGSN has several interfaces.
102 implements the Gn/Gp interface which is used towards GGSNs.
104 The Gn/Gp interface can be seen as the uplink interface of the
105 SGSN. It is used for communicating with a GGSN which is typically
106 connected to the Internet. The Gn/Gp interface uses the GPRS tunneling
107 protocol (GTP). User data packets (typically IP packets) are tunneled
108 over GTP, which again uses UDP over IP.
112 will establish a number of connections to the GGSN. An internal ping
113 facility will transmit ping requests through the established
114 connections. Alternatively a local network interface can be
115 created. In this case
117 will forward packets between the local network interface and the
118 established connections on the Gn/Gp interface.
123 for the local interface. A tun network interface is established for
124 each connection established to the GGSN.
126 Runtime errors are reported using the Osmocom logging framework.
136 Print version and exit.
140 Run in debug mode (default = off)
146 where each line corresponds to one command line option, but with the
147 leading '--' removed. Command line options override the options given
148 in the configuration file.
151 .BI --pidfile " file"
152 Filename of process id
154 (default = ./sgsnemu.pid)
157 .BI --statedir " path"
159 to directory of nonvolatile data (default = ./)
163 DNS server to use for APN lookups. If omitted the default system DNS
164 configuration will be used.
168 Local interface IP address to use for the Gn/Gp interface. If omitted
170 will listen to any IP address.
176 to connect to. If DNS is setup correctly it should be possible to
177 specify the access point name (APN) as the remote host.
180 .BI --contexts " num"
181 Number of contexts to establish. (default = 1). For multiple contexts
182 the the first context is established using imsi + 0 and msisdn +
183 0. The second context is established using imsi + 1 and msisdn +
187 .BI --timelimit " seconds"
192 When using the ping facility
196 packets has been transmitted.
199 .BI --gtpversion " version"
201 of GTP to use when establishing a context (default = 1). If not able
202 to establish a GTPv1 context sgsnemu will fall back to using GTPv0.
207 to use when connecting to the GGSN (default = internet). APN is an
208 abbreviation of Access Point Name.
211 .BI --selmode " selmode"
212 Selection mode to use when connecting to the GGSN (default =
213 0x01). The encoding of the selection mode is as follows: 0: MS or
214 network provided APN, subscribed verified, 1: MS provided APN,
215 subscription not verified, 2: Network provided APN, subscription not
222 to use when connecting to the GGSN (default = 240010123456789). IMSI
223 is an abbreviation of International Mobile Subscriber Identity. Must
224 be exactly 15 digits. See the
226 option for the the use of the
228 option with multiple contexts.
233 to use when connecting to the GGSN (default = 0). Must be between 0
237 .BI --msisdn " msisdn"
239 to use when connecting to the GGSN (default = 46702123456). MSISDN is
240 an abbreviation of International Mobile Integrated Services Digital
241 Network. Effectly a phone number in international format without the
242 leading 00 or 011. See the
244 option for the the use of the
246 option with multiple contexts.
251 to use when connecting to the GGSN (default = 0x0b921f). QoS is an
252 abbreviation of Quality of Service. See 3GPP specification 09.60 for
253 the format of this string.
256 .BI --charging " charging"
257 Charging characteristics to use when connecting to the GGSN (default =
258 0x0800). 0x0800 = Normal, 0x0400 = Prepaid, 0x0200 = Flat rate, 0x0100
259 = Hot billing. See 3GPP specification 32.015 for the format of this
264 User ID to send to GGSN as protocol configuration option.
268 Password to send to GGSN as protocol configuration option.
272 Create a local tun interface. This interface will be used for
273 forwarding packets to and from the Gn/Gp interface. Use with caution
274 as the Gn/Gp interface is normally be routed to the Internet by the
275 GGSN. Only one interface will be created, even if several contexts are
276 established. The interface will be given an IP address for each
277 established context, or the address can be specified with the
283 Network address of the local interface. The
285 option is only valid when the
289 option is given in cidr format (net/mask bits). If the
291 option omitted an IP address is allocated for each context established.
295 Create a defaultroute to the local tun interface.
299 Script executed after the tun network interface has been brought up.
300 Executed with the following parameters: <devicename> <ip address>
303 .BI --ipdown " script"
304 Script executed after the tun network interface has been taken down.
305 Executed with the following parameters: <devicename> <ip address>
308 .BI --pinghost " host"
311 through the Gn/GP interface. Ping statistics are reported much like
312 done by the original ping program. Use this facility for performance
316 .BI --pingrate " num"
317 Number of ping requests per second (default = 1)
320 .BI --pingsize " num"
321 The size of each ping requests in octets (default = 56)
325 .BI --pingcount " num"
326 Number of ping requests to send (default = 0). A value of 0 (zero)
331 Do not print information for each packet received (default = off). Is
332 quite usefull for high pingrates.
338 The configuration file for
347 Directory holding nonvolatile data.
351 Report all bugs to the OpenGGSN bug tracking list at
352 .I http://sourceforge.net/projects/sgsnemu/
361 Besides the long options documented in this man page
363 also accepts a number of short options with the same functionality. Use
365 for a full list of all the available options.
367 The TUN/TAP driver is required for proper operation of
369 For linux kernels later than 2.4.7 the TUN/TAP driver is included in
370 the kernel, but typically needs to be loaded manually with
372 For automatic loading the line
373 .B alias char-major-10-200 tun
375 .B /etc/modules.conf.
376 For other platforms see
377 .I http://vtun.sourceforge.net/tun/
378 for information on how to install and configure the tun driver.
381 uses the GPRS Tunneling Protocol (GTP) as specified by the Third
382 Generation Partnership Project (3GPP). 3GPP protocols specifications
384 .I http://www.3gpp.org
388 Copyright (C) 2002, 2003, 2004 by Mondru AB.
390 The contents of this file may be used under the terms of the GNU
391 General Public License Version 2, provided that the above copyright
392 notice and this permission notice is included in all copies or
393 substantial portions of the software.
396 Jens Jakobsen <jj@openggsn.org>