Some initial investigation on GPRS support

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/.

Nordin bouchtaoui at gmail.com
Fri Jun 26 08:41:06 UTC 2009


Hi Harald,

I would love to contribute as much as I can, but as a father of two kids 
and as a husband it's really hard to have some time free. So my 
contribution is very minimal, sorry for that.
All I can do is doing some tests, try to modify parameters in the source 
and give feedback about the result. And ofcourse learn as much as 
possible :) Anyway, I'll do everything I can to help you.

Offtopic: Today I'm a bit sad, because Michael Jackson died.

Thank you.


Harald Welte schreef:
> Hi!
>
> I've started to analyze GPRS and was actually even starting to write some code
> for it, but then have given up for the time being - it's much more work than
> anticipated.
>
> Given the long todo list of OpenBSC right now, I think I'll have put aside GPRS
> for some time :(
>
> Based on looking at protocol traces, I have figured out the nanoBTS GPRS/EDGE
> implementation roughly looks as follows:
>
> * make sure we allow the BTS to activate the GPRS software components
>   in abis_nm / OML activation!
> * BTS will use a UDP connection on port 23000 for the GPRS related frames.
>   The GSM specs will consider this type of connection between the PCU (part
>   of the nanoBTS) and the SGSN.  The establishment/configuration of the
>   UDP port number and SGSN ip address has not yet been identified.  Probably
>   similar to how the RSL link is activated via OML.
>
>   The protocol stack looks like:
>
>   IP : UDP : NSIP : BSSGP : LLC : higher-layer
>
>   IP and UDP you should know and/or not care about ;)
>   NSIP is a IP-enabled version of NS as specified in TS 08.16
>   BSSGP is specified in TS 08.18
>   LLC is as specified in TS 04.64
>
>   the higher-layer depends on the SAPI value of the LLC and can be
>   * GMM (GPRS Mobility Management as specified in 04.08)
>   * User Data (actual IP packets, e.g.)
>   * SMS
>
> So what is weird about this is that the GPRS MM is actually part of 04.08, but
> it is not terminated at the BSC but rather at the SGSN.  Also, the deep stack
> comprised of many headers is really weird.  Furthermore, it seems that a lot
> of the packet scheduling and timeslot allocation is happening inside the
> nanoBTS - very unlike the GSM side of things.
>
> I have not yet managed to figure out how to allocate/dedicate resources to
> GPRS.. after all, the BTS needs to know how many timeslots it can use for it,
> etc.
>
> If anyone wants to dig deeper, you're most welcome to do so.  A list of
> relevant specs:
>
> 01.61 GPRS cipher algorithm requirements
> 03.60 Overall GRPS logical architecture (above RL and MAC)
> 03.64 GPRS radio interface
> 04.60 RLC/MAC on PDCH
> 04.64 MS-SGSN LLC spec (on top of RLC/MAC)
> 04.65 SGSN SNDCP
> 08.14 BSS SGSN Gb Layer 1
> 08.16 BSS SGSN Gb Layer 2
> 08.18 BSS SGSN BSS GPRS protocol
> 09.95 Interworking between modified PLMN supporting legacy GPRS and GPRS mobiles
> 22.060 GPRS Service Spec
> 23.060 GPRS Radio Service Spec
> 29.016 SGSN - VLR Interface Gs network interface spec
> 29.018 SGSN - VLR Interface Gs layer3 interface spec
> 29.060 GPRS Tunneling (GTP) over Gn and Gp
>
> Happy hacking,
>   





More information about the OpenBSC mailing list