blob: 69edce3694fb06c23891324bf74b92f249209dbd [file] [log] [blame]
jjako52c24142002-12-16 13:33:51 +00001*** QuickStart ***
2
3REQUIREMENTS
4
5Linux
6OpenGGSN was developed and tested using Redhat 7.1 and Redhat
77.2. It should run also on other Linux distributions as well as
8FreeBSD and Solaris, but this is untested. Please tell me of any
9testing results.
10
11Tun
12Both ggsn and sgsnemu uses the tun package. You need at least tun
13version 1.1. See http://vtun.sourceforge.net/tun/ for instructions on
14installation. Tun should be included from linux kernel version 2.4, so
15you might not need to manually install tun.
16
17COMPILATION
18./configure
19make clean
20make
21
22INSTALLATION
23Need to be root to do this
24make install
25Add /usr/local/lib to /etc/ld.so.conf
26Run ldconfig
27
28RUNNING
29
30sgsnemu
31Edit the configuration file sgsnemu.conf found under
32openggsn/examples.
33Start the emulator using the command:
34
35 sgsnemu -c examples/sgsnemu.conf -l 10.20.30.50 -r 10.20.30.40 --apn internet
36
37This will cause the sgsn emulator to bind to local address 10.20.30.50
38and connect to the ggsn found at 10.20.30.40. It will first send off
39an ECHO_REQUEST message. After this it will attemt to establish a pdp
40context. If successful it will create a local interface and set up
41routing. Now you should be able to ping through the connection. Use a
42network analysator such as ethereal to monitor the traffic.
43
44ggsn
45Edit the configuration file ggsn.conf found under openggsn/examples.
46Start the ggsn using the command:
47 ggsn --fg -c examples/ggsn.conf -l 10.20.30.40
48This will run the ggsn in foreground using the local interface
4910.20.30.40
50
51
52*** Features ***
53
54OpenGGSN is an open source implementation of GPRS Support Nodes
55(GSNs). It implements the GPRS tunneling protocol (GTP) version 0.
56
57OpenGGSN provides 3 components:
58* gtplib
59* ggsn
60* sgsnemu
61
62gtplib
63This library contain all functionality retating to the GTP
64protocol. Use this libraty if you want to implement your own
65GSN. Currently gtplib supports GTPv0.
66
67ggsn
68The ggsn implements a Gateway GPRS Support Node. The GGSN is a
69small application which is provided in order to test and demonstrate
70the use of gtplib. It is fully compliant to the 3GPP standards, but
71lack important functionality such as charging and management. Use this
72application as a starting point if you want to build your own GGSN
73with your own fancy VPN, management and charging functionality.
74
75sgsnemu This application emulates a Serving GPRS Support Node. sgsnemu
76enable you to test your 3GPP core network without the need to invest
77in a 3G radio access network. An important application of sgsnemu is
78the testing of roaming connectivity through a GPRS roaming exchange.
79
80*** Required software ***
81
82TUN
83http://vtun.sourceforge.net/tun/
84
85Both ggsn and sgsnemu uses the tun package. You need at least tun
86version 1.1. See the above web page for instructions on installation.
87
88GENGETOPT
89http://www.gnu.org/software/gengetopt/gengetopt.html
90
91Gengetopt is required if you want to change the options defined in the
92cmdline.ggo source file. You need at least gengetopt version 2.8 (Not
93released yet 2002-12-12).
94
95If you are just going to compile the programs you don't need
96gengetopt.
97
98To use gengetopt do the following:
99cd ggsn
100../../gengetopt-2.8rc/src/gengetopt < cmdline.ggo --conf-parser
101insert #define _GNU_SOURCE in the top of cmdline.c to get rid of warnings.
102
103To use gengetopt do the following:
104cd sgsnemu
105../../gengetopt-2.8rc/src/gengetopt < cmdline.ggo --conf-parser
106insert #define _GNU_SOURCE in the top of cmdline.c to get rid of warnings.
107
108libPropList-0.10.1 (??? I can't remember if I use this???)
109ftp://ftp.windowmaker.org/pub/libs
110
111*** Compilation and Installation ***
112
113To generate everything:
114See http://sources.redhat.com/autobook/autobook/autobook_25.html#SEC25
115 1 edit configure.in
116 2 run aclocal
117 3 run autoheader
118 (run automake --add-missing)
119 4 run automake
120 5 run autoconf
121 6 run ./configure
122 7 rin make clean
123 8 run make
124 9 run make install
12510 Add /usr/local/lib to /etc/ld.so.conf
12611 run ldconfig
127
128
129*** Installation of libraries
130
131cd gtp
132make install
133Add /usr/local/lib to /etc/ld.so.conf
134run ldconfig
135
136On RedHat add /usr/local/lib to /etc/ld.so.conf
137http://www.dwheeler.com/program-library/Program-Library-HOWTO/shared-libraries.html
138
139*** Running ggsn ***
140Use ggsn -h for a list of available options.
141
142*** Running sgsnemu ***
143Use sgsnemu -h for a list of available options.
144