OsmoPCU » History » Revision 3

« Previous | Revision 3/29 (diff) | Next »
laforge, 02/19/2016 10:48 PM

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: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 [wiki: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://

You can browse it online via

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

Mailing List

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


=== 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

Updated by laforge almost 7 years ago · 3 revisions

Add picture from clipboard (Maximum size: 48.8 MB)