GPRS branch status updates

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.org
Sat Oct 31 18:05:49 UTC 2009


Hi all!

I've pushed the current state of GPRS support into the 'gprs' branch.  All the
'core' changes related to GPRS are already in master, so it mainly really adds
the GPRS protocols (gprs_{ns,bssgp,llc}.[ch]) as well as the handling of the 
most importnat 04.08 GMM messages (gsm_04_08_gprs.[ch]) as well as the state
management for the SGSN MM context (gprs_sgsn.[ch]).

The status of the code is as follows:
* NS link and BSSGP link are established between OpenBSC and the nanoBTS
* LLC frames from the MS get delivered to the OpenBSC LLC code
* GMM messages sent over LLC are delivered to the GMM code
* The GMM code tries to respond with useful answers, permitting
  GPRS attach as well as routing area update

What's missing:
* any kind of GGSN functionality, i.e. gatewaying to PPP daemon for actual
  user payloads
* persistant storage of SGSN MM context information, especially the
  attach/detach status, routing area and P-TMSI of a subscriber
* PDP context activation/deactivation
* flow control for the BTS as well as for each MS (BSSGP level)
* retransmissions and things like acknowledged mode of LLC
* support for multiple BTS

There's really only one extremely ugly hack in the code right now,
and that is that the IP address of the BTS is hard-coded in the 
ipac_gprs_send() function.  You will have to enter the IP address
of your BTS there to make packets in the SGSN->BTS direction delivered.

Apart from that, I think the code is at a state where other interested
developers can start playing with it.  I am leaving to Korea on a customer
assingment tomorrow and will unlikely have time to work on any GPRS code
throughout the next two weeks.

To get the code going, you should do the following things:
* chceck out the gprs branch
* hard-code your ip address into ipac_gprs_send() as indicated above
* change your openbsc.cfg to use the last timeslot (TS 7) as "TCH/F_PDCH"
  instead of just "TCH/F"

Patches / Bug reports / ... welcome

Regards,
	Harald
-- 
- 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)




More information about the OpenBSC mailing list