blob: 4718992e7200a354e672c3a247003711afbc8279 [file] [log] [blame]
jjako33258ef2003-07-06 21:30:54 +00001
2.\" * OpenGGSN - Gateway GPRS Support Node
3.\" * Copyright (C) 2002, 2003 Mondru AB.
4.\" *
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.
9.\" *
10.\" * The initial developer of the original code is
11.\" * Jens Jakobsen <jj@openggsn.org>
12.\" *
13.\" * Contributor(s):
14.\" *
15.\" Manual page for ggsn
16.\" SH section heading
17.\" SS subsection heading
18.\" LP paragraph
19.\" IP indented paragraph
20.\" TP hanging label
21
22.TH sgsnemu 8 "July 2003"
23.SH NAME
24sgsnemu \- Serving GPRS Support Node Emulator
25.SH SYNOPSIS
26.B sgsnemu
27\-\-help
28
29.B sgsnemu
30\-\-version
31
32.B sgsnemu
33[
34.BI \-\-debug
35] [
36.BI \-\-conf " file"
37] [
38.BI \-\-pidfile " file"
39] [
40.BI \-\-statedir " file"
41] [
42.BI \-\-dns " host"
43] [
44.BI \-\-listen " host"
45] [
46.BI \-\-remote " host"
47] [
48.BI \-\-contexts " num"
49] [
50.BI \-\-timelimit " seconds"
51] [
jjako193e8b12003-11-10 12:31:41 +000052.BI \-\-gtpversion " version"
53] [
jjako33258ef2003-07-06 21:30:54 +000054.BI \-\-apn " apn"
55] [
56.BI \-\-imsi " imsi"
57] [
jjako193e8b12003-11-10 12:31:41 +000058.BI \-\-nsapi " nsapi"
59] [
jjako33258ef2003-07-06 21:30:54 +000060.BI \-\-msisdn " msisdn"
61] [
62.BI \-\-qos " qos"
63] [
64.BI \-\-uid " uid"
65] [
66.BI \-\-pwd " pwd"
67] [
68.BI \-\-createif
69] [
jjako193e8b12003-11-10 12:31:41 +000070.BI \-\-net " net"
71] [
jjako33258ef2003-07-06 21:30:54 +000072.BI \-\-defaultroute
73] [
74.BI \-\-ipup " script"
75] [
76.BI \-\-ipdown " script"
77] [
78.BI \-\-pinghost " host"
79] [
80.BI \-\-pingrate " num"
81] [
82.BI \-\-pingsize " num"
83] [
84.BI \-\-pingcount " num"
85]
86.SH DESCRIPTION
87.B sgsnemu
88is part of the
89.B OpenGGSN
90project, and implements a Serving GPRS Support Node (SGSN)
91emulator. It can be used for testing Gateway GPRS Support Nodes
92(GGSNs), GPRS core networks as well as GPRS roaming connections.
93
94The GPRS functionality and protocols has been standardised by the
95Third Generation Partnership Project (3GPP). According to the 3GPP
96specifications an SGSN has several interfaces.
97.B sgsnemu
98implements the Gn/Gp interface which is used towards GGSNs.
99
100The Gn/Gp interface can be seen as the uplink interface of the
101SGSN. It is used for communicating with a GGSN which is typically
102connected to the Internet. The Gn/Gp interface uses the GPRS tunneling
103protocol (GTP). User data packets (typically IP packets) are tunneled
104over GTP, which again uses UDP over IP.
105
106
107.B sgsnemu
108will establish a number of connections to the GGSN. An internal ping
109facility will transmit ping requests through the established
110connections. Alternatively a local network interface can be
111created. In this case
112.B sgsnemu
113will forward packets between the local network interface and the
114established connections on the Gn/Gp interface.
115
116.B sgsnemu
117uses the
118.B TUN/TAP driver
119for the local interface. A tun network interface is established for
120each connection established to the GGSN.
121
122Runtime errors are reported using the
123.B syslogd (8)
124facility.
125
126
127.SH OPTIONS
128.TP
129.BI --help
130Print help and exit.
131
132.TP
133.BI --version
134Print version and exit.
135
136.TP
137.BI --debug
138Run in debug mode (default = off)
139
140.TP
141.BI --conf " file"
142Read configuration
143.I file
144where each line corresponds to one command line option, but with the
145leading '--' removed. Command line options override the options given
146in the configuration file.
147
148.TP
149.BI --pidfile " file"
150Filename of process id
151.I file
152(default = ./sgsnemu.pid)
153
154.TP
155.BI --statedir " path"
156.I path
157to directory of nonvolatile data (default = ./)
158
159.TP
160.BI --dns " host"
161DNS server to use for APN lookups. If omitted the default system DNS
162configuration will be used.
163
164.TP
165.BI --listen " host"
166Local interface IP address to use for the Gn/Gp interface. If omitted
167.B sgsnemu
168will listen to any IP address.
169
170.TP
171.BI --remote " host"
172GGSN
173.I host
174to connect to. If DNS is setup correctly it should be possible to
175specify the access point name (APN) as the remote host.
176
177.TP
178.BI --contexts " num"
jjako193e8b12003-11-10 12:31:41 +0000179Number of contexts to establish. (default = 1). For multiple contexts
180the the first context is established using imsi + 0 and msisdn +
1810. The second context is established using imsi + 1 and msisdn +
1821. The third....
jjako33258ef2003-07-06 21:30:54 +0000183
184.TP
185.BI --timelimit " seconds"
186Exit
jjako7b8fad42003-07-07 14:37:42 +0000187.B sgsnemu
jjako33258ef2003-07-06 21:30:54 +0000188after
jjako7b8fad42003-07-07 14:37:42 +0000189.I seconds.
190When using the ping facility
191.B sgsnemu
192will also exit after
193.B --pingcount
194packets has been transmitted.
jjako33258ef2003-07-06 21:30:54 +0000195
196.TP
jjako193e8b12003-11-10 12:31:41 +0000197.BI --gtpversion " version"
198.I version
199of GTP to use when establishing a context (default = 1). If not able
200to establish a GTPv1 context sgsnemu will fall back to using GTPv0.
201
202.TP
jjako33258ef2003-07-06 21:30:54 +0000203.BI --apn " apn"
204.I apn
205to use when connecting to the GGSN (default = internet). APN is an
206abbreviation of Access Point Name.
207
208.TP
209.BI --imsi " imsi"
210.I imsi
211to use when connecting to the GGSN (default = 240010123456789). IMSI
212is an abbreviation of International Mobile Subscriber Identity. Must
jjako193e8b12003-11-10 12:31:41 +0000213be exactly 15 digits. See the
214.I contexts
215option for the the use of the
216.I imsi
217option with multiple contexts.
218
219.TP
220.BI --nsapi " nsapi"
221.I nsapi
222to use when connecting to the GGSN (default = 0). Must be between 0
223and 15.
jjako33258ef2003-07-06 21:30:54 +0000224
225.TP
226.BI --msisdn " msisdn"
227.I msisdn
228to use when connecting to the GGSN (default = 46702123456). MSISDN is
229an abbreviation of International Mobile Integrated Services Digital
230Network. Effectly a phone number in international format without the
jjako193e8b12003-11-10 12:31:41 +0000231leading 00 or 011. See the
232.I contexts
233option for the the use of the
234.I msisdn
235option with multiple contexts.
jjako33258ef2003-07-06 21:30:54 +0000236
237.TP
238.BI --qos " qos"
239.I qos
240to use when connecting to the GGSN (default = 0x0b921f). QoS is an
241abbreviation of Quality of Service. See 3GPP specification 09.60 for
242the format of this string.
243
244.TP
245.BI --uid " uid"
246User ID to send to GGSN as protocol configuration option.
247
248.TP
249.BI --pwd " pws"
250Password to send to GGSN as protocol configuration option.
251
252.TP
253.BI --createif
254Create a local tun interface. This interface will be used for
255forwarding packets to and from the Gn/Gp interface. Use with caution
256as the Gn/Gp interface is normally be routed to the Internet by the
jjako193e8b12003-11-10 12:31:41 +0000257GGSN. Only one interface will be created, even if several contexts are
258established. The interface will be given an IP address for each
259established context, or the address can be specified with the
260.I net
261option.
262
263.TP
264.BI --net " net"
265Network address of the local interface. The
266.I net
267option is only valid when the
268.I createif
269option is used. The
270.I net
271option is given in cidr format (net/mask bits). If the
272.I net
273option omitted an IP address is allocated for each context established.
jjako33258ef2003-07-06 21:30:54 +0000274
275.TP
276.BI --defaultroute
277Create a defaultroute to the local tun interface.
278
279.TP
280.BI --ipup " script"
281Script executed after the tun network interface has been brought up.
282Executed with the following parameters: <devicename> <ip address>
283
284.TP
285.BI --ipdown " script"
286Script executed after the tun network interface has been taken down.
287Executed with the following parameters: <devicename> <ip address>
288
289.TP
290.BI --pinghost " host"
291Ping
292.I host
293through the Gn/GP interface. Ping statistics are reported much like
294done by the original ping program. Use this facility for performance
295test of GGSNs.
296
297.TP
298.BI --pingrate " num"
299Number of ping requests per second (default = 1)
300
301.TP
302.BI --pingsize " num"
303The size of each ping requests in octets (default = 56)
304
305
306.TP
307.BI --pingcount " num"
308Number of ping requests to send (default = 0). A value of 0 (zero)
309indicates infinite.
310
311.TP
312.BI --pingquiet
313Do not print information for each packet received (default = off). Is
314quite usefull for high pingrates.
315
316
317.SH FILES
318.I sgsnemu.conf
319.RS
320The configuration file for
321.B sgsnemu.
322.RE
323.I .sgsnemu.pid
324.RS
325Process ID file.
326.RE
327.I ./
328.RS
329Directory holding nonvolatile data.
330.RE
331
332.SH BUGS
333Report all bugs to the OpenGGSN bug tracking list at
334.I http://sourceforge.net/projects/sgsnemu/
335
336
337.SH "SEE ALSO"
338.BR ggsn (8),
339.BR syslog (8)
340
341.SH NOTES
342.LP
343
344Besides the long options documented in this man page
345.B sgsnemu
346also accepts a number of short options with the same functionality. Use
347.B sgsnemu --help
348for a full list of all the available options.
349
350The TUN/TAP driver is required for proper operation of
351.B sgsnemu.
352For linux kernels later than 2.4.7 the TUN/TAP driver is included in
353the kernel, but typically needs to be loaded manually with
354.B modprobe tun.
355For automatic loading the line
356.B alias char-major-10-200 tun
357can be added to
358.B /etc/modules.conf.
359For other platforms see
360.I http://vtun.sourceforge.net/tun/
361for information on how to install and configure the tun driver.
362
363.B sgsnemu
364uses the GPRS Tunneling Protocol (GTP) as specified by the Third
365Generation Partnership Project (3GPP). 3GPP protocols specifications
366can be found at
367.I http://www.3gpp.org
368
369.SH COPYRIGHT
370
371Copyright (C) 2002, 2003 by Mondru AB.
372
373The contents of this file may be used under the terms of the GNU
374General Public License Version 2, provided that the above copyright
375notice and this permission notice is included in all copies or
376substantial portions of the software.
377
378.SH AUTHORS
379Jens Jakobsen <jj@openggsn.org>