aboutsummaryrefslogtreecommitdiffstats
path: root/openbsc/doc/examples/osmo-gtphub/gtphub-example.txt
blob: ab835a6a181ba90ddbf65b598758a8bd27c0944b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Here is a simple setup to test GTPHub operations. The IP addresses picked will
work well only on a system that creates local addresses (127.0.0.123) on the
fly (like linux) -- you may pick of course different IP addresses.

Overview of the example setup:

    sgsnemu               gtphub             ggsn
    127.0.0.1 <--> 127.0.0.3  127.0.0.4 <--> 127.0.0.2

Prerequisites: openggsn.

Have a local directory where you store config files and from which you launch
the GSNs and the hub (they will store restart counter files in that dir).
In it, have these config files:

ggsn.conf:

    # GGSN local address
    listen 127.0.0.2

    # End User Addresses are picked from this range
    net 10.23.42.0/24

    pcodns1 8.8.8.8

    logfile /tmp/foo

gtphub.conf:

    gtphub
     bind-to-sgsns 127.0.0.3
     bind-to-ggsns 127.0.0.4
     ggsn-proxy 127.0.0.2
    end


(
You may omit the ggsn-proxy if GRX ares is working, or if you add the GRX
address and GGSN IP address to /etc/hosts something like:

    127.0.0.2 internet.mnc070.mcc901.gprs

)


Once the config files are in place, start the programs, in separate terminals.
GGSN and SGSN need to be started with root priviliges to be able to create tun
interfaces. GTPHub may run as unprivileged user.

The LD_LIBRARY_PATH below may be needed if OpenGGSN installed to /usr/local.


1. GGSN:

    sudo -s
    cd <your-test-dir>
    LD_LIBRARY_PATH=/usr/local/lib /usr/local/bin/ggsn -f -c ./ggsn.conf

2. GTPHub:

    cd <your-test-dir>
    path/to/openbsc/openbsc/src/gprs/osmo-gtphub -c gtphub.conf #-e 1 #for DEBUG level

3. SGSN test:

    sudo -s
    cd <your-test-dir>
    /usr/local/bin/sgsnemu --createif -l 127.0.0.1 -r 127.0.0.3 --contexts=3

This shows the basic setup of GTPHub. Testing internet traffic via sgsnemu
still needs some effort to announce a mobile subscriber or the like (I have
used a real BTS, osmo-sgsn and a testing SIM in a web phone, instead).

I hope this helps to get you going.
Any suggestions/patches are welcome!

~Neels