osmo-pcu

A PCU (Packet Control Unit) is one of the two GPRS elements in the BSS. It implements the RLC and MAC layers of the GPRS Um (radio) interface on the MS-facing side, as well as the Gb Interface (NS,BSSGP) on the SGSN-facing side.

osmo-pcu is the Osmocom implementation of this PCU functionality.

It implements a custom L1 interface that can be used with osmo-bts (specifically its  sysmoBTS back-end), and also with an unofficial version of OpenBTS that is being created by Fairwaves.

Towards the SGSN, the BSSGP and NS protocols are implemented over UDP/IP, sometimes called "NS over IP". It has been tested with OsmoSGSN? as well as an Ericsson SGSN so far.

osmo-pcu is not fully stable yet, but already performing useful service for a number of users.

Source Code

The source code is available from  git://git.osmocom.org/osmo-pcu.git

You can browse it online via  http://cgit.osmocom.org/cgit/osmo-pcu/

The branch to be used with osmo-bts and sysmoBTS is the 'jolly_merge' branch.

Mailing List

There is a mailing list for (development) discussion regarding the PCU:  osmocom-pcu@lists.osmocom.org. You can subscribe to it (or manage your subscription) at  http://lists.osmocom.org/cgi-bin/mailman/listinfo/osmocom-pcu

Status

Supported

  • GPRS CS1 to CS4
  • single-slot and multi-slot operation on downlink
  • only single-slot operation on uplink

Shortcomings / Limitations / Restrictions

  • Pure GPRS PCU, no EGPRS (EDGE) functionality
  • Timeslots have to be assigned dedicated as a PDCH, no dynamic PDCH/TCH switching
  • No support for hand-over of any sort yet
  • No support of processing measurement reports
  • No timing advance loop, i.e. maximum cell radius 2-3 km
  • No dynamic link adaption for different coding schemes
  • No resource-dependent flow control

Attachments