Commit
e34d2407e64ef403e62acaa1436ba40442c07bac
by falcontrau2rtp 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