OsmoPCU » History » Version 14

« Previous - Version 14/24 (diff) - Next » - Current version
jerlbeck, 02/19/2016 10:48 PM
update information about the PCU

PageOutline = 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 [wiki:OsmoBTS] (specifically its
[ sysmoBTS] back-end), and also with

Towards the SGSN, the BSSGP and NS protocols are implemented over UDP/IP, sometimes called "NS over IP".
It has been tested with [wiki:osmo-sgsn] as well as an Ericsson SGSN so far.

osmo-pcu is now considered stable and already performing useful service for a number of users, but as one
of the more recent additions to the Osmocom family, there still is plenty of area for improvement.

Source Code

The source code is available from git://

You can browse it online via

Mailing List

There is a mailing list for (development) discussion regarding the PCU:
You can subscribe to it (or manage your subscription) at

Information about testing is available here: [wiki:GPRS-testing]

=== Supported === * GPRS CS1 to CS4 with dynamic link/rate adaption * Single-slot and multi-slot operation on downlink * Single-slot operation on uplink * Independent TFI/USF per PDCH in single-slot allocation mode * Automatic or fixed PDCH allocation algorithm selection * Delayed release of downlink TBF * Active queue management for downlink TBF (!CoDel) * Initial setting of timing advance based on RACH * BSSGP BVC flow control support

=== Shortcomings / Limitations / Restrictions ===

  • Pure GPRS PCU, no EGPRS (EDGE) functionality (yet)
  • 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. radial movement is limited
  • No support for power control
  • No Packet Access Reject message on congestion, access is just ignored
  • No PCCCH support
  • Only "Dynamic allocation RLC data block transfer" is supported
  • No network controlled measurement/cell reselection order supported
  • No PTCCH support
  • No support for Packet Flow Contexts (PFC)
  • No support for MS or PFC flow control
  • No support for RLC unacknowledged mode operation
  • No support for MBMS
Authors / Credits

osmo-pcu was originally developed by Ivan Kluchnikov and Andreas Everberg.

Today it is maintaned by Holger Freyther and Jacob Erlbeck at sysmocom.

osmo-pcu-0.1.tar.bz2 - release version 0.1 of osmo-pcu (350 KB) laforge, 01/17/2013 11:37 AM

pcu-edge-osmocom-org.pcap.bz2 - First internet access through osmo-pcu using EDGE (243 KB) zecke2, 02/04/2016 05:30 PM

egprs-gsmtap-dissector.patch Magnifier - WIP patch to add EDGE decoding for RLC frames contained in GSMTAP. (6.48 KB) zecke2, 02/04/2016 05:50 PM