Osmocom Packet control Unit (PCU): Network-side GPRS (RLC/MAC); BTS- or BSC-colocated https://osmocom.org/projects/osmopcu
Go to file
Pau Espin 710e0e9ad8 pdch: tbf_by_tfi(): Allow returning TBFs in state RELEASING
During RELEASING state the TFI, USFs, etc. are still reserved and
assigned to the TBF, and hence the TBF may still use it.
If callers of this function rely on not taking TBFs under RELEASING
state, they should check that explicitly.

It still makes sense being to operate on RELEASING TBFs, since under
some circumstances the TBF may go under a previous state. See for
instance 3GPP TS 44.060 sec 8.1.1.3a.2:

"""
If N3101 reaches the value N3101max, the network shall stop sending
PACKET UPLINK ACK/NACK messages to the mobile station for that TBF
and shall start timer T3169 for the TBF. If an RLC/MAC block is received
from the TBF when timer T3169 is running, the network shall stop timer
T3169 and resume sending PACKET UPLINK ACK/NACK messages to the TBF.
When T3169 expires, the network may consider the TBF as released and
reuse the TFI value.
"""

Change-Id: Ibb471e727388512d42794d3faa26597e2545b852
2021-04-22 21:07:06 +02:00
contrib Bump version: 0.8.0.396-fe8d-dirty → 0.9.0 2021-02-23 14:41:01 +01:00
debian Bump version: 0.8.0.396-fe8d-dirty → 0.9.0 2021-02-23 14:41:01 +01:00
doc Use ALPHA value received in SI13 from PCUIF 2021-02-22 12:29:12 +00:00
include Rework NS configuration over the info indication 2020-10-13 08:45:30 +00:00
src pdch: tbf_by_tfi(): Allow returning TBFs in state RELEASING 2021-04-22 21:07:06 +02:00
tests pdch: rcv_resource_request: Improve robustness 2021-04-22 20:28:40 +02:00
.gitignore .gitignore: ignore files ending with ~ 2021-01-05 11:34:45 +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 Makefile.am: EXTRA_DIST: debian, contrib/*.spec.in 2020-05-22 13:43:32 +02:00
README.md Allow multiple bts objects in PCU 2021-01-20 12:36:21 +01:00
TODO TODO: remove those that have obviously been implemented 5+ years ago 2020-04-17 16:02:26 +00:00
TODO-RELEASE TODO-RELEASE: document requirement of master libosmocore 2021-03-04 11:24:50 +00:00
configure.ac Bump version: 0.8.0.396-fe8d-dirty → 0.9.0 2021-02-23 14:41:01 +01:00
git-version-gen Add auto-foo (partial cleanup, master makefile/configure.ac 2012-06-14 21:05:44 +08:00
osmoappdesc.py Remove dash from name used in VTY cmd prompt 2019-12-02 11:14:26 +00: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
  • Multi-BTS support not tested