Attention is currently required from: falconia, fixeria, pespin.
Hello Jenkins Builder, fixeria, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bts/+/38553?usp=email
to look at the new patch set (#4).
The following approvals got outdated and were removed: Code-Review+1 by fixeria, Code-Review+1 by pespin, Verified+1 by Jenkins Builder
Change subject: CSD: implement half-rate modes correctly ......................................................................
CSD: implement half-rate modes correctly
TCH/H4.8 and TCH/H2.4 modes are different from all other TCH in that the channel coder runs (statistically) every 40 ms instead of the usual 20 ms. However, the standard RTP interface of TS 48.103 still requires 20 ms packets for all CSD modes; furtherfore, this requirement is not just a matter of 3GPP spec being obstinent, but is highly useful for interoperability, both between FR and HR and between OsmoBTS and E1 BTS.
The handling of CSD HR was totally broken in this regard: wrong RA2 packing mode, RTP clock model was violated, and even an internal mismatch with l1sap sending TCH.req prims at twice the rate at which the PHY expects them.
With this patch CSD HR handling becomes correct for TCH/H2.4 and for TCH/H4.8 transparent; fully correct handling for TCH/H4.8 NT will appear in a follow-up patch.
The packet/frame rate mismatch (40 ms Rx/Tx times while each RTP packet carries 20 ms worth of data) is reconciled by emitting two RTP packets directly back-to-back for UL, and pulling two RTP packets at a time from the Rx jitter buffer at the needed times for DL.
Note: due to bug OS#6604, TTCN3 tests for CSD half-rate transparent modes will start failing once this patch is merged; to make them pass again, TTCN3 test code will need to be reworked to fix that bug.
Related: OS#6577 Change-Id: Ib35e910df263743cd243f51fb0bd6551ddfcf4c5 --- M include/osmo-bts/csd_v110.h M src/common/csd_v110.c M src/common/l1sap.c M src/osmo-bts-trx/sched_lchan_tchh.c M tests/csd/csd_test.c M tests/csd/csd_test.err 6 files changed, 248 insertions(+), 112 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/53/38553/4