- Table of contents
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.
The interface between OsmoPCU and OsmoBTS runs over UNIX socket of SOCK_SEQPACKET type. One of the ways to debug it would be via socat:
socat -t30 -x -v UNIX-LISTEN:/tmp/pcu_bts.socat,mode=755,type=5 UNIX-CONNECT:/tmp/pcu_bts,type=5
One might even forward it over network:
socat -t30 -x -v UDP-LISTEN:1666,reuseaddr,fork UNIX-CONNECT:/tmp/pcu_bts,type=5 socat -t30 -x -v UNIX-LISTEN:/tmp/pcu_bts.socat,mode=755,type=5 UDP-CONNECT:127.0.0.1:1666
Note: in the examples above OsmoBTS (listening side) uses default
/tmp/pcu_btssocket while OsmoPCU (connecting side) is configured to use
pcu-socket /tmp/pcu_bts.socatconfig option. It's not recommeded to use outside of TTCN-3 test environment due to amount of traffic over the socket.
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 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.
Position in a typical Osmocom network¶
- User Manual: http://ftp.osmocom.org/docs/latest/osmopcu-usermanual.pdf
- VTY Reference: http://ftp.osmocom.org/docs/latest/osmopcu-vty-reference.pdf
- Gb/IP Manual: http://ftp.osmocom.org/docs/latest/osmopcu-gb.pdf
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/
Test Suite¶We have a TTCN-3 test suite as part of our Titan_TTCN3_Testsuites
- source code: http://git.osmocom.org/osmo-ttcn3-hacks/tree/pcu
- results: https://jenkins.osmocom.org/jenkins/view/TTCN3/job/ttcn3-pcu-test/
There is a mailing list for (development) discussion regarding the PCU: firstname.lastname@example.org
You can subscribe to it (or manage your subscription) at http://lists.osmocom.org/cgi-bin/mailman/listinfo/osmocom-net-gprs
Please make sure to read our MailingListRules before posting.
- GPRS CS1 to CS4 with dynamic link/rate adaption
- EDGE MCS1-MCS9 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
- Using pchan types of
TCH/F_PDCH, OsmoBTS supports
dynamic PDCH/TCH switching (implemented entirely in osmo-bts)
Shortcomings / Limitations / Restrictions¶
Note: this list may be outdated
- No GPRS/EGPRS mixed mode (yet)
- 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 Sysmocom.