Osmocom Packet control Unit (PCU): Network-side GPRS (RLC/MAC); BTS- or BSC-colocated https://osmocom.org/projects/osmopcu
Go to file
Philipp Maier 1275a3f91a BTS: Convert relative frame numbers to absolute frame numbers
The implementation of the method rcv_rach() in class BTS, restores
the absolute frame number of the incoming RACH-Request by using
the relative frame number (RFn = Fn mod 42432) from the rach
request and the already known internal absolute frame number
m_cur_fn, which is continusly updated by the CCU interface.

In some rare cases, a RACH request might be received by the BTS,
a very short time before the frame number wraps in its 42432.
Depending on the PCU location, RACH request might be received
by the BSC, which forwards it to the PCU. It is then likely
that, while the RACH request is being forwarded to the PCU, the
PCU internal absolute frame number wraps before the RACH
can be processed. The relative frame number from the rach
request would then be interpreted as if it were received after
the wrapping of the internal frame number modulos.

This commit adds logic to detect and resolve this race condition.
Also a unit test is added to check some cornercases.

Change-Id: I74f00c11e5739d49f370ce6c357149e81d9aa759
2017-03-05 12:23:56 +00:00
contrib jenkins.sh: use osmo-build-dep.sh, output testlogs 2016-10-20 11:42:03 +00:00
debian debian: fix: add pcuif_proto.h to osmo-pcu.install 2016-11-30 00:37:32 +01:00
examples Revert "pcu: Improve default config" 2015-11-30 12:11:48 +01:00
include Install the pcuif_proto.h header file 2016-11-17 21:09:55 +01:00
src BTS: Convert relative frame numbers to absolute frame numbers 2017-03-05 12:23:56 +00:00
tests BTS: Convert relative frame numbers to absolute frame numbers 2017-03-05 12:23:56 +00:00
.gitignore Cleanup build leftovers 2016-04-22 14:41:16 +02: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 Install the pcuif_proto.h header file 2016-11-17 21:09:55 +01:00
README Cleanup readme 2016-07-23 19:24:41 +00:00
TODO TODO: Update the todolist with some musings... 2014-01-16 10:11:57 +01:00
configure.ac Install the pcuif_proto.h header file 2016-11-17 21:09:55 +01:00
git-version-gen Add auto-foo (partial cleanup, master makefile/configure.ac 2012-06-14 21:05:44 +08:00
osmoappdesc.py Added conditional python-based tests for VTY/config handling 2013-04-06 11:00:20 +02:00

README

This is an implementation of Packet Control Unit (PCU) according to TS 04.60

The PCU is part of BSS, so it connects directly to SGSN.


== Current limitations ==

 * No PFC support
 * No fixed allocation support
 * 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 handover support
 * No measurement support
 * No TA loop
 * No power loop
 * No CS loop
 * No EGPRS