9
0
Fork 0
DEPRECATED OpenGGSN repository (predecessor of OsmoGGSN, use the latter instead)
This repository has been archived on 2022-06-17. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
jjako 4ca20034bc Initial upload 2002-12-16 13:33:51 +00:00
doc Initial revision 2002-12-16 13:33:51 +00:00
examples Initial revision 2002-12-16 13:33:51 +00:00
ggsn Initial revision 2002-12-16 13:33:51 +00:00
gtp Initial revision 2002-12-16 13:33:51 +00:00
intl Initial revision 2002-12-16 13:33:51 +00:00
po Initial revision 2002-12-16 13:33:51 +00:00
sgsnemu Initial revision 2002-12-16 13:33:51 +00:00
src Initial revision 2002-12-16 13:33:51 +00:00
tests Initial revision 2002-12-16 13:33:51 +00:00
AUTHORS Initial revision 2002-12-16 13:33:51 +00:00
COPYING Initial revision 2002-12-16 13:33:51 +00:00
ChangeLog Initial revision 2002-12-16 13:33:51 +00:00
Makefile Initial revision 2002-12-16 13:33:51 +00:00
Makefile.am Initial revision 2002-12-16 13:33:51 +00:00
Makefile.in Initial revision 2002-12-16 13:33:51 +00:00
NEWS Initial revision 2002-12-16 13:33:51 +00:00
README Initial revision 2002-12-16 13:33:51 +00:00
aclocal.m4 Initial revision 2002-12-16 13:33:51 +00:00
config.cache Initial revision 2002-12-16 13:33:51 +00:00
config.h.in Initial revision 2002-12-16 13:33:51 +00:00
config.log Initial revision 2002-12-16 13:33:51 +00:00
config.status Initial revision 2002-12-16 13:33:51 +00:00
configure Initial revision 2002-12-16 13:33:51 +00:00
configure.in Initial revision 2002-12-16 13:33:51 +00:00
configure.scan Initial revision 2002-12-16 13:33:51 +00:00
libtool Initial revision 2002-12-16 13:33:51 +00:00
version Initial upload 2002-12-16 13:33:51 +00:00

README

*** QuickStart ***

REQUIREMENTS

Linux 
OpenGGSN was developed and tested using Redhat 7.1 and Redhat
7.2. It should run also on other Linux distributions as well as
FreeBSD and Solaris, but this is untested. Please tell me of any
testing results.

Tun
Both ggsn and sgsnemu uses the tun package. You need at least tun
version 1.1. See http://vtun.sourceforge.net/tun/ for instructions on
installation. Tun should be included from linux kernel version 2.4, so
you might not need to manually install tun.

COMPILATION
./configure
make clean
make

INSTALLATION
Need to be root to do this
make install
Add /usr/local/lib to /etc/ld.so.conf
Run ldconfig

RUNNING

sgsnemu
Edit the configuration file sgsnemu.conf found under
openggsn/examples.
Start the emulator using the command:

  sgsnemu -c examples/sgsnemu.conf -l 10.20.30.50 -r 10.20.30.40 --apn internet

This will cause the sgsn emulator to bind to local address 10.20.30.50
and connect to the ggsn found at 10.20.30.40. It will first send off
an ECHO_REQUEST message. After this it will attemt to establish a pdp
context. If successful it will create a local interface and set up
routing. Now you should be able to ping through the connection. Use a
network analysator such as ethereal to monitor the traffic.

ggsn
Edit the configuration file ggsn.conf found under openggsn/examples.
Start the ggsn using the command:
  ggsn --fg -c examples/ggsn.conf -l 10.20.30.40 
This will run the ggsn in foreground using the local interface
10.20.30.40


*** Features ***

OpenGGSN is an open source implementation of GPRS Support Nodes
(GSNs). It implements the GPRS tunneling protocol (GTP) version 0.

OpenGGSN provides 3 components:
* gtplib
* ggsn
* sgsnemu

gtplib
This library contain all functionality retating to the GTP
protocol. Use this libraty if you want to implement your own
GSN. Currently gtplib supports GTPv0.

ggsn
The ggsn implements a Gateway GPRS Support Node. The GGSN is a
small application which is provided in order to test and demonstrate
the use of gtplib. It is fully compliant to the 3GPP standards, but
lack important functionality such as charging and management. Use this
application as a starting point if you want to build your own GGSN
with your own fancy VPN, management and charging functionality.

sgsnemu This application emulates a Serving GPRS Support Node. sgsnemu
enable you to test your 3GPP core network without the need to invest
in a 3G radio access network. An important application of sgsnemu is
the testing of roaming connectivity through a GPRS roaming exchange.

*** Required software ***

TUN 
http://vtun.sourceforge.net/tun/ 

Both ggsn and sgsnemu uses the tun package. You need at least tun
version 1.1. See the above web page for instructions on installation.

GENGETOPT
http://www.gnu.org/software/gengetopt/gengetopt.html

Gengetopt is required if you want to change the options defined in the
cmdline.ggo source file. You need at least gengetopt version 2.8 (Not
released yet 2002-12-12).

If you are just going to compile the programs you don't need
gengetopt.

To use gengetopt do the following:
cd ggsn
../../gengetopt-2.8rc/src/gengetopt < cmdline.ggo --conf-parser
insert #define _GNU_SOURCE in the top of cmdline.c to get rid of warnings.

To use gengetopt do the following:
cd sgsnemu
../../gengetopt-2.8rc/src/gengetopt < cmdline.ggo --conf-parser
insert #define _GNU_SOURCE in the top of cmdline.c to get rid of warnings.

libPropList-0.10.1 (??? I can't remember if I use this???)
ftp://ftp.windowmaker.org/pub/libs

*** Compilation and Installation ***

To generate everything:
See http://sources.redhat.com/autobook/autobook/autobook_25.html#SEC25
 1 edit configure.in
 2 run aclocal
 3 run autoheader
   (run automake --add-missing)
 4 run automake
 5 run autoconf
 6 run ./configure
 7 rin make clean
 8 run make
 9 run make install
10 Add /usr/local/lib to /etc/ld.so.conf
11 run ldconfig


*** Installation of libraries

cd gtp
make install
Add /usr/local/lib to /etc/ld.so.conf
run ldconfig

On RedHat add /usr/local/lib to /etc/ld.so.conf
http://www.dwheeler.com/program-library/Program-Library-HOWTO/shared-libraries.html

*** Running ggsn ***
Use ggsn -h for a list of available options.

*** Running sgsnemu ***
Use sgsnemu -h for a list of available options.