This is merely a historical archive of years 2008-2021, before the migration to mailman3.
A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/OpenBSC@lists.osmocom.org/.
Harald Welte laforge at gnumonks.orgHi all! Thanks to the support from On-waves, I've been able to focus on my GPRS work during recent weeks. Today, I have managed to actually perform successful PDP context activation / deactivation using a nanoBTS, OpenBSC, OsmoSGSN and OpenGGSN. This is a big step forward, as it means that the GTP interface between our SGSN and OpenGGSN is up and running. The IP addresses allocated are from a pool defined on the GGSN side, and OpenGGSN opens a tun-device for it. Also, the GGSN implementation is much less proof-of-concept now, as it actually maintains propper MM context, PDP context and other state information. However, for reasons that I couldn't figure out (despite many hours of debugging): There are no user/data plane packets anymore. This was already working before I began the GTP / OpenGGSN intergration work 1-2 weeks ago. The PDP context is established successfully on the LLC-GMM SAPI, the phone shows that GPRS is up, but then it doesn't actually even send a single packet (SNDCP, XID exchange, ...) over any of the user data SAPIs. The SAPI and NSAPI have been assigned properly, and I could not find any differece looking at packet traces for both the cases. If you look at the NS-IP / Gb interface of the nanoBTS, not a single gprs protocol message arrives after the PDP context is activated. After a minute or two, the phone then simply disconnects with "Regular Disconnect" cause, as if nothing had happened. Putting the phone in front of an audio amplifier also doesn't reveal any noticable bursts being generated by the phone. For now I'm feeling a bit lost and will work on some other stuff before returning with renewed energy to the SGSN at some later point. In case you want to try it, the following steps are needed: 1) check out OpenGGSN from git://openbsc.gnumonks.org/openggsn.git (master branch), run the usual autoreconf -1 && ./configure && make install 2) check out current OpenBSC master branch and build it. Only if libgtp (installed by OpenGGSN) is found, it will build src/gprs/osmo-sgsn 3) the IP address where 4) Run OpenBSC like usual, however make sure that the followign settings are configured in the openbsc.cfg config file: 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 123.192.152.236 Where the last ip address is the address of the machine where you will run OsmoSGSN. 5) Configure /etc/ggsn.cfg of your GGSN machine. Check /etc/ggsn.conf (example attached) Run $ sudo ./ggsn -l 192.168.100.239 -d where that address is the local _listening_ address of the GGSN 6) Then simply fire up osmo-sgsn. The only relevant config setting in osmo_sgsn.cfg is: sgsn nsip local port 23000 7) start your favorite mobile phone and register it to your network You can telnet to osmo-sgsn on port 4245, and type the followign commands for some interesting information: logging enable logging filter all 1 logging level ns info logging level bssgp debug logging level llc debug logging level gprs debug logging level mm debug show ns show bssgp show llc show mm-context all show pdp-context all Oh, and last, but not least: Wireshark can debug the Gb interface packets between BTS and SGSN, you simply have to select 'Decode as .... NSIP' on port 23000 packets. It also decodes the GTP between SGSN and GGSN without any extra setting. Have fun! -- - Harald Welte <laforge at gnumonks.org> http://laforge.gnumonks.org/ ============================================================================ "Privacy in residential applications is a desirable marketing option." (ETSI EN 300 175-7 Ch. A6)