From e3af7a7d96e13d7c04ad7ccc4ed34710010f8643 Mon Sep 17 00:00:00 2001 From: jjako Date: Wed, 22 Oct 2003 09:48:38 +0000 Subject: GTP1 functionality and documentation update --- ChangeLog | 20 ++++++++++++++++++++ NEWS | 9 +++++++++ README | 27 ++++++++++++++++----------- configure | 20 ++++++++++---------- configure.in | 2 +- doc/Makefile | 2 +- 6 files changed, 57 insertions(+), 23 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6953a7d..846d598 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,23 @@ +2003-10-22: Jens Jakobsen + Support for GTP1. Currently without support for the secondary pdp + context activation procedure. + + sgsnemu will first attempt to use GTP1. If that fails it will + proceed with GTP0. + + Various gtplib API changes to allow support for GTP1. + + gtplib now listens to 3 separate UDP ports: GTP0, GTP1 control + plane and GTP1 user plane. A socket for each port has to be + included in the application select loop. + + gtplib now verifies that messages are valid for the particular + type of support node. As an example a received Create PDP Context + Request message is not allowed for an SGSN. + + Standards compliance document. + + 2003-07-07: Jens Jakobsen Added spec.in file for building binary RPM packages. Now openggsn will install binaries, man pages as well as scripts. diff --git a/NEWS b/NEWS index 2a0aee1..547c6a4 100644 --- a/NEWS +++ b/NEWS @@ -4,6 +4,15 @@ OPENGGSN NEWS OpenGGSN - Gateway GPRS Support Node Copyright (C) 2002, 2003 Mondru AB. +Version 0.7 +=========== + + * Support for GTP1. Currently without support for the secondary pdp + context activation procedure. + * sgsnemu will first attempt to use GTP1. If that fails it will + fallback to using GTP0. + * Standards compliance document. + Version 0.6 =========== diff --git a/README b/README index f633cbc..6a4f576 100644 --- a/README +++ b/README @@ -58,9 +58,10 @@ 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. -sgsnemu -h will show a list of available options. "-c sgsnemu.conf" -use sgsnemu.conf as a configuration file. A sample file is provided in -examples/sgsnemu.conf. +sgsnemu -h will show a list of available options. + +sgsnemu -c sgsnemu.conf will use sgsnemu.conf as a configuration +file. A sample file is provided in examples/sgsnemu.conf. *ggsn* Edit the configuration file ggsn.conf found under openggsn/examples. @@ -83,7 +84,8 @@ Features ======== OpenGGSN is an open source implementation of GPRS Support Nodes -(GSNs). It implements the GPRS tunneling protocol (GTP) version 0. +(GSNs). It implements the GPRS tunneling protocol (GTP) version 0 and +version 1. OpenGGSN provides 3 components: * gtplib @@ -93,8 +95,9 @@ OpenGGSN provides 3 components: *gtplib* This library contains all functionality relating to the GTP protocol. Use this library if you want to implement your own -GSN. Currently gtplib supports GTPv0. At the moment no interface -documentation is available for download. +GSN. gtplib supports both GTPv0 (GSM 09.60) and GTPv1 (3GPP +29.060). At the moment no interface documentation is available for +download. *ggsn* The ggsn implements a Gateway GPRS Support Node. The GGSN is a small @@ -108,7 +111,9 @@ with your own fancy VPN, management and charging functionality. This application emulates a Serving GPRS Support Node (SGSN). sgsnemu enables 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. +the testing of roaming connectivity through a GPRS roaming +exchange. sgsnemu will first attempt to use GTPv1. If unsuccessful it +will fallback to GTPv0. Performance @@ -182,7 +187,7 @@ the package: 2. Copy the latest config.guess and config.sub from ftp://ftp.gnu.org/gnu/config 3. Run autoscan and copy configure.scan to configure.in 4. Add/edit the following lines in configure.in: - - AC_INIT(openggsn, 0.52, jj@openggsn.org) + - AC_INIT(openggsn, 0.70, jj@openggsn.org) - AC_CONFIG_SRCDIR([gtp/gtp.c]) - AM_CONFIG_HEADER([config.h]) - AC_PROG_LIBTOOL @@ -247,7 +252,7 @@ examples/ggsn.conf for the format of this file. Start the ggsn as root using the command: - ggsn -c examples/ggsn.conf --fg -l 10.0.0.40 --net 192.168.0.0/24 --dynip 192.168.0.0/24 +ggsn -c examples/ggsn.conf --fg -l 10.0.0.40 --net 192.168.0.0/24 --dynip 192.168.0.0/24 First a tun network interface will be created. In the above example the network interface address is 192.168.0.0 and the mask is @@ -300,7 +305,7 @@ subnet mask and default route. See the Linux Networking HOWTO for details. 4. Launch sgsnemu with something like: - sgsnemu --listen 10.0.0.50 --remote 10.0.0.40 --dns 10.20.38.51 --timelimit 10 --contexts 0 +sgsnemu --listen 10.0.0.50 --remote 10.0.0.40 --dns 10.20.38.51 --timelimit 10 --contexts 0 sgsnemu will print something like the following on the screen: @@ -340,7 +345,7 @@ testing. Also note that you are establishing a connection to the Gi network, so please be carefull not to route internet traffic onto the GPRS core network! Assuming you know what you are doing: - sgsnemu --listen 10.0.0.50 --remote 10.0.0.40 --dns 10.20.38.51 --timelimit 10 --contexts 1 --apn internet --imsi 240011234567890 --msisdn 46702123456 --createif --defaultroute +sgsnemu --listen 10.0.0.50 --remote 10.0.0.40 --dns 10.20.38.51 --timelimit 10 --contexts 1 --apn internet --imsi 240011234567890 --msisdn 46702123456 --createif --defaultroute sgsnemu will print something like the following on the screen: diff --git a/configure b/configure index 847ffa1..4c33a59 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.57 for openggsn 0.61b. +# Generated by GNU Autoconf 2.57 for openggsn 0.70. # # Report bugs to . # @@ -427,8 +427,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='openggsn' PACKAGE_TARNAME='openggsn' -PACKAGE_VERSION='0.61b' -PACKAGE_STRING='openggsn 0.61b' +PACKAGE_VERSION='0.70' +PACKAGE_STRING='openggsn 0.70' PACKAGE_BUGREPORT='jj@openggsn.org' ac_unique_file="gtp/gtp.c" @@ -946,7 +946,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures openggsn 0.61b to adapt to many kinds of systems. +\`configure' configures openggsn 0.70 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1012,7 +1012,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of openggsn 0.61b:";; + short | recursive ) echo "Configuration of openggsn 0.70:";; esac cat <<\_ACEOF @@ -1110,7 +1110,7 @@ fi test -n "$ac_init_help" && exit 0 if $ac_init_version; then cat <<\_ACEOF -openggsn configure 0.61b +openggsn configure 0.70 generated by GNU Autoconf 2.57 Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, 2002 @@ -1125,7 +1125,7 @@ cat >&5 <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by openggsn $as_me 0.61b, which was +It was created by openggsn $as_me 0.70, which was generated by GNU Autoconf 2.57. Invocation command line was $ $0 $@ @@ -9085,7 +9085,7 @@ fi # Define the identity of the package. PACKAGE=openggsn - VERSION=0.61b + VERSION=0.70 cat >>confdefs.h <<_ACEOF @@ -9719,7 +9719,7 @@ _ASBOX } >&5 cat >&5 <<_CSEOF -This file was extended by openggsn $as_me 0.61b, which was +This file was extended by openggsn $as_me 0.70, which was generated by GNU Autoconf 2.57. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -9782,7 +9782,7 @@ _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -openggsn config.status 0.61b +openggsn config.status 0.70 configured by $0, generated by GNU Autoconf 2.57, with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.in b/configure.in index c52d86f..69533d7 100644 --- a/configure.in +++ b/configure.in @@ -1,5 +1,5 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(openggsn, 0.61b, jj@openggsn.org) +AC_INIT(openggsn, 0.70, jj@openggsn.org) AC_CONFIG_SRCDIR([gtp/gtp.c]) AM_CONFIG_HEADER([config.h]) #AC_CONFIG_HEADER([config.h]) diff --git a/doc/Makefile b/doc/Makefile index 71d2214..35928c3 100644 --- a/doc/Makefile +++ b/doc/Makefile @@ -82,7 +82,7 @@ OBJDUMP = @OBJDUMP@ PACKAGE = openggsn RANLIB = ranlib STRIP = strip -VERSION = 0.61b +VERSION = 0.70 am__include = include am__quote = install_sh = /home/jj/openggsn/install-sh -- cgit v1.2.3