Hi,
I tried the gprs yesterday, and in the end, it worked quite well
albeit slow (but that's GPRS I guess :p)
I had to fix a couple of crashes (both of SGSN and of the BTS, the
latter being due to malformed packets) and the fixes are in my
sylvain/pending branch.
Also, a couple of 'gotcha' I hit for future reference:
- Even if running on the same machine, the SGSN & GGSN GTP interfaces
need to have different IPs or they'll try to bind to the same ports
and fail.
- Using 'TCH/F_PDCH' channel config doesn't work (that's what I used
with the old gprs branch a long time ago). You need to use 'PDCH'
Finally a list of the IPs in the configuration and what they mean (I
stumbled a little when trying to setup all those :):
-----
In openbsc.cfg:
gprs nsvc 0 local udp port 23000
gprs nsvc 0 remote udp port 23000
gprs nsvc 0 remote ip A.B.C.D
A.B.C.D -> This is the IPs of the SGSN that will be sent to the
BTS (and the BTS will try to connect to it obviously ...)
In osmo_sgsn.cfg:
gtp local-ip A.B.C.D
ggsn 0 remote-ip W.X.Y.Z
A.B.C.D -> This is the local ip of the SGSN where the GTP link
(between GGSN & SGSN) will be bound to.
W.X.Y.Z -> This is the ip of the GGSN for the GTP link.
As I mentionned earlier, even if both SGSN & GGSN are running on
the same machine, they need to be different (using ip aliases or
whatever)
encapsulation udp local-ip A.B.C.D
encapsulation udp local-port 23000
A.B.C.D -> This is the ip/port the BTS will connect to. Must
obviously match the 'gprs nsvc 0 remote' config in openbsc.cfg
In ggsn.conf:
listen A.B.C.D
A.B.C.D -> This is the local IP for the GTP link of the GGSN. Must
match the 'ggsn 0 remote-ip' of osmo_sgsn.cfg
-----
Sylvain