Skip to content
Success

Changes

Summary

  1. trau: add TFO frame insert/extract functions (details)
Commit 83f49b78a0185ad67a5d398d174e84c986461bc5 by falcon
trau: add TFO frame insert/extract functions

In 2025-02 functions were added for encoding and decoding TFO frames,
which are slightly modified TRAU-UL frames.  Those functions are
slightly modified versions of regular TRAU frame encoding and
decoding functions, implemented in trau_frame layer.  However,
a more useful API for TFO applications (TFO-equipped transcoder
implementations) is one level up: inserting a TFO frame into a block
of 160 G.711 PCM samples or extracting a frame from such sample
block.  This slightly higher level is also more amenable to unit
testing: unit tests can perform decoding of TFO frames captured
from historical E1-based TRAU equipment, providing a cross-check
against actual reality and not just our own reading of the specs.

The present patch adds the desired next-level-up TFO frame insertion
and extraction functions, as well as unit tests that exercise both
the present new addition and the underlying functions added in
2025-02.

Unit testing is done in two stages:

1) TFO frame extraction and decoding direction is tested by decoding
   from E1 timeslot captures that were taken from Nokia TCSM2.

2) TFO frame encoding and insertion direction is tested via round
   trip conversion.  Since the decoding direction is verified against
   TCSM2, correct round trip conversion implies correct logic in
   the encoding direction.

Credit goes to fixeria (Vadim Yanitskiy) for integrating the second
part of the unit test into testsuite.at framework.

Change-Id: Idf149ec682e4064f0e63d67ac757d92402f22dca
The file was modifiedtests/testsuite.at
The file was addedtests/tfo/nokia_tcsm2/tfo-hr.hex
The file was addedtests/tfo/extract_test_hr.ok
The file was modified.gitignore
The file was addedinclude/osmocom/trau/tfo_frame.h
The file was addedtests/tfo/enc_test_efr.in
The file was addedtests/tfo/enc_test_fr.in
The file was modifiedinclude/Makefile.am
The file was addedsrc/trau/tfo_frame.c
The file was modifiedsrc/Makefile.am
The file was addedtests/tfo/nokia_tcsm2/tfo-fr.hex
The file was addedtests/tfo/enc_test_hr.in
The file was addedtests/tfo/extract_test_efr.ok
The file was addedtests/tfo/extract_test_fr.ok
The file was addedtests/tfo/rtp2tfo.c
The file was addedtests/tfo/nokia_tcsm2/tfo-efr.hex
The file was addedtests/tfo/tfo_extr_test.c
The file was modifiedtests/Makefile.am
The file was addedtests/tfo/nokia_tcsm2/README