Hi again,
this is an incremental update to the one released two days ago.
I've now just established the first couple of HTTP connections from a Android G1 phone through a self-hosted combination of nanoBTS, OpenBSC, OsmoSGSN and OpenGGSN.
The setup is still very flaky and I'm hunting down some crashes of OsmoSGSN, we also still take shortcuts everywhere in the spec and e.g. only implement SNDCP fragmentation on the downlink and no fragment re-assembly on the uplink. But we're slowly getting there.
I hope this work will be completed and stabilize through the next couple of weeks.
Also, the performance is probably really bad, there are many linear list searches and lookups at the inter-layer transitions of the GPRS protocol stack. But I have lots of ideas how to simplify this by introducing direct pointer references (as opposed to lookup-by-identifier) between the various state structures of each respective layer.
Regards, Harald