Skip to content
Success

Changes

Summary

  1. trau2rtp TW-TS-001: handle corner case of BFI with stale SID bits (details)
Commit e34d2407e64ef403e62acaa1436ba40442c07bac by falcon
trau2rtp TW-TS-001: handle corner case of BFI with stale SID bits

Many BTS models will emit the previous content of their internal
buffer, perhaps corrupted in some peculiar way, when they need to
emit "BFI with no data" because they received FACCH, or because
they received nothing at all and no channel decoding attempt was
made.  This situation is described in detail here:

https://osmocom.org/projects/retro-gsm/wiki/No-data_output

However, when these TRAU-UL BFIs (from Abis or from incoming TFO)
are to be converted to TW-TS-001 with osmo_trau2rtp(), a corner case
arises: if the BTS indicated SID=0 by way of C13 & C14 bits but the
stale payload bit content indicates SID != 0, the full decoder or
TFO transform on the receiving end of the RTP stream will get an
erroneous "invalid SID" indication (instead of "plain" BFI) if the
marked-bad payload is passed through without alteration.

Handle this corner case by modifying marked-bad (BFI=1) payloads
to make them non-SID in the special case when the BTS indicated SID=0,
but the bit pattern says otherwise.

Change-Id: I2800301f7ac25537c4d7fb14acefd73a80590d7c
The file was modifiedsrc/trau/trau_rtp_conv.c
The file was modifiedtests/trau_conv/trau16_fr_twts001.ok
The file was modifiedtests/trau_conv/trau16_efr_twts001.ok