Osmocom Packet control Unit (PCU): Network-side GPRS (RLC/MAC); BTS- or BSC-colocated https://osmocom.org/projects/osmopcu
Go to file
Minh-Quang Nguyen 503ac18745 OC-2G: Properly handle initial TA for data transfer initiated from network
Problem:
    1. The network can not initiate data transfer when the MS is in idle mode (after T3314 in MS expired and ms-idle-timer in PCU expired).
    This is because the PCU does not know valid location of the MS in servicing cell, i.e. valid TA at the initiation of downlink data transfer.

    Fixes:
    1. We use CONTROL_ACK_TYPE of 4 access bursts specified in SI13 in order to extract valid TA when the MS sends UPLINK PACKET CONTROL ACK message to the PCU.
    At the begining of data transfer initiated by network, the PCU sends a first PACKET DOWNLINK ASSIGNMENT message with an invalid TA and polling flag is set.
    After that PCU sends a second PACKET DOWNLINK ASSIGNMENT message with valid TA extracted from responsed UPLINK PACKET CONTROL ACK as 4 access bursts from MS
    to continue data transfer procedure. This fix works only for CONTROL_ACK_TYPE is configured as 4 access bursts in GPRS CELL OPTION of SI13.

Change-Id: I3c76e5e1b8339ddb20da23b85ba267026a0ebf34
2019-03-21 13:22:23 +01:00
contrib contrib: fix makedistcheck with disabled systemd 2018-12-06 13:54:54 +01:00
debian Debian: bump copyright year 2019-03-13 17:12:57 +01:00
doc build manuals moved here from osmo-gsm-manuals.git 2018-11-27 18:30:56 +01:00
include Don't install pcuif_proto.h header 2019-02-14 16:35:36 +01:00
src OC-2G: Properly handle initial TA for data transfer initiated from network 2019-03-21 13:22:23 +01:00
tests MS store: move test helper to unit test 2019-03-19 15:05:51 +00:00
.gitignore build manuals moved here from osmo-gsm-manuals.git 2018-11-27 18:30:56 +01:00
.gitreview add .gitreview 2016-05-19 06:39:45 +00:00
COPYING import GPLv2 license text to this project 2012-07-22 22:05:44 +02:00
Makefile.am Don't install pcuif_proto.h header 2019-02-14 16:35:36 +01:00
README.md README: Clarify that fixed allocations have been revmoved from 3GPP specs 2017-07-29 22:15:02 +02:00
TODO TODO: Update the todolist with some musings... 2014-01-16 10:11:57 +01:00
configure.ac Initial commit for OC-2G support. 2019-03-21 13:22:22 +01:00
git-version-gen Add auto-foo (partial cleanup, master makefile/configure.ac 2012-06-14 21:05:44 +08:00
osmoappdesc.py Move examples/ to doc/examples/ 2018-09-13 11:36:01 +02:00

README.md

osmo-pcu - Osmocom Packet Control Unit

This repository contains a C/C++-language implementation of a GPRS Packet Control Unit, as specified by ETSI/3GPP. It is part of the Osmocom Open Source Mobile Communications project.

The Packet Control Unit is terminating the Layer 2 (RLC/MAC) of the GPRS radio interface and adapting it to the Gb Interface (BSSGP+NS Protocol) towards the SGSN.

The PCU interfaces with the physical layer of the radio interface. OsmoPCU is typically used co-located with the BTS, specifically OsmoBTS. For legacy BTSs that run proprietary sotware without an interface to OsmoPCU, you may also co-locate it with the BSC, specifically OsmoBSC

Homepage

The official homepage of the project is https://osmocom.org/projects/osmopcu/wiki/OsmoPCU

GIT Repository

You can clone from the official osmo-pcu.git repository using

git clone git://git.osmocom.org/osmo-pcu.git

There is a cgit interface at http://git.osmocom.org/osmo-pcu/

Documentation

We provide a user manual as well as a vty reference manual

Please note that a lot of the PCU configuration actually happens inside the BSC, which passes this configuration via A-bis OML to the BTS, which then in turn passes it via the PCU socket into OsmoPCU.

Mailing List

Discussions related to osmo-pcu are happening on the osmocom-net-gprs@lists.osmocom.org mailing list, please see https://lists.osmocom.org/mailman/listinfo/osmocom-net-gprs for subscription options and the list archive.

Please observe the Osmocom Mailing List Rules when posting.

Contributing

Our coding standards are described at https://osmocom.org/projects/cellular-infrastructure/wiki/Coding_standards

We us a gerrit based patch submission/review process for managing contributions. Please see https://osmocom.org/projects/cellular-infrastructure/wiki/Gerrit for more details

The current patch queue for osmo-pcu can be seen at https://gerrit.osmocom.org/#/q/project:osmo-pcu+status:open

Current limitations

  • No PFC support
  • No fixed allocation support (was removed from 3GPP Rel >= 5 anyway)
  • No extended dynamic allocation support
  • No unacknowledged mode operation
  • Only single slot assignment on uplink direction
  • No half-duplex class support (only semi-duplex)
  • No TA loop
  • No power loop