Hi Max,
I am reluctant to post my actual config files. However, your config files seem nearly identical to mine. Below, I will describe the differences:
In your ggsn.conf file, your listen parameter is set to 127.0.0.1. What I did was make an alias, eth0:1, to a different IP address (192.168.10.60) and used it for this parameter. (Actually, my main IP address used for OpenBSC is also an alias since I was trying to match the subnet that the BTS came from which is different from the machine I am using. We didn't want to reconfigure the BTS from its settings just so I could play with it. So, I made an alias, eth0:0, which on your machine would be treated as eth0 - 192.168.10.53. In your case, you would probably not need to make the eth0:0 alias, but if your BTS is configured to a different subnet from 192.168.10.X, then you might have to.) Anyway, you might want to make an alias to 192,168.10.60 (or whatever address is available on your network) and use that address for your listen parameter.
Also, in ggsn.conf, I used the IP address of my DNS server for both of the pcodns parameters. Also, I set the apn parameter to epc.tmobile.com which is the access point for T-Mobile (which is the kind of SIMs I am using). I don't know if there is an apn that could be used for the 001 01 test network. Perhaps that has been discussed on the list previously. In any event, the apn parameter is experimental, so you may have different results.
Finally in ggsn.conf, I set the net and dynip parameters to 192.168.100.0/24, and then made a tunnel to it after starting the ggsn executable (but before starting osmo-sgsn) with the following command:
sudo route add -net 192.168.100.0 netmask 255.255.255.0 gw 192.168.100.1
How did we come up with 192.168.100.1 for the gateway address? Well, after starting ggsn, the ifconfig command will show the IP address of the tunnel endpoint (tun0) that is created by the ggsn. In our case (and probably all cases), this was 192.168.100.1.
Make sure you have followed the instructions on the OpenBSC_GPRS page about setting the iptables
In the osmo_sgsn.cfg, I set the gtp local-ip to the eth0:0 alias or 192.168.10.53 (which you probably have correct in your file - assuming your BTS is configured for the same subnet of your machine), and the ggsn 0 remote-ip parameter to the eth0:1 alias (192.168.10.60).
In the openbsc.cfg file, the only difference I see is the NCC and MNC (because I am using T-Mobile SIMs) and I made timeslot 7 a PDCH channel instead of a TCH/F.
A critical issue is setting up the tunnel between osmo_sgsn and ggsn, before starting osmo_sgsn. I also start the osmo-nitb executable last, after the other two executables are up and running.
Finally, at the suggestion of one of the list members, I tried a different phone that doesn't use the original Nokia baseband. I tried a Nokia Lumia phone (which uses the Microsoft Mobile OS) and it works *much* better.
I hope that this information helps. Good Luck!
John
Hello.
I have similar setup although in my case it doesn't work at all.
Could you share your configs so I can check that I hadn't missed something obvious.
Here are mine. Note that I run everything on a single machine 192.168.10.53
nanoBTS is configured and successfully connected to openbsc (green light on bts).
/etc/ggsn.conf:
listen 127.0.0.1
dynip 10.0.0.0/24
pcodns1 8.8.8.8
pcodns2 208.67.220.220
/etc/osmo_sgsn.cfg:
!
line vty
no login
!
sgsn
gtp local-ip 192.168.10.53
ggsn 0 remote-ip 127.0.0.1
ggsn 0 gtp-version 1
!
ns
timer tns-block 3
timer tns-block-retries 3
timer tns-reset 3
timer tns-reset-retries 3
timer tns-test 30
timer tns-alive 3
timer tns-alive-retries 10
encapsulation udp local-ip 192.168.10.53
encapsulation udp local-port 23000
encapsulation framerelay-gre enabled 0
!
bssgp
!
/etc/openbsc.cfg:
! !
password foo
!
line vty
no login
!
e1_input
e1_line 0 driver ipa
network
network country code 1
mobile network code 1
short name OpenBSC
long name OpenBSC
auth policy accept-all
location updating reject cause 13
encryption a5 0
neci 1
rrlp mode none
mm info 1
handover 0
handover window rxlev averaging 10
handover window rxqual averaging 1
handover window rxlev neighbor averaging 10
handover power budget interval 6
handover power budget hysteresis 3
handover maximum distance 9999
timer t3101 10
timer t3103 0
timer t3105 0
timer t3107 0
timer t3109 0
timer t3111 0
timer t3113 60
timer t3115 0
timer t3117 0
timer t3119 0
timer t3141 0
bts 0
type nanobts
band DCS1800
cell_identity 0
location_area_code 1
training_sequence_code 7
base_station_id_code 63
ms max power 15
cell reselection hysteresis 4
rxlev access min 0
channel allocator ascending
rach tx integer 9
rach max transmission 7
ip.access unit_id 1801 0
oml ip.access stream_id 255 line 0
gprs mode gprs
gprs routing area 0
gprs cell bvci 2
gprs nsei 101
gprs nsvc 0 nsvci 101
gprs nsvc 0 local udp port 23000
gprs nsvc 0 remote udp port 23000
gprs nsvc 0 remote ip 192.168.10.53
trx 0
rf_locked 0
arfcn 514
nominal power 23
max_power_red 20
rsl e1 tei 0
timeslot 0
phys_chan_config CCCH+SDCCH4
timeslot 1
phys_chan_config SDCCH8
timeslot 2
phys_chan_config TCH/F
timeslot 3
phys_chan_config TCH/F
timeslot 4
phys_chan_config TCH/F
timeslot 5
phys_chan_config PDCH
timeslot 6
phys_chan_config PDCH
timeslot 7
phys_chan_config TCH/F
--
best regards,
Max, http://fairwaves.ru