Attention is currently required from: laforge, pespin. fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bts/+/27836 )
Change subject: osmo-bts-trx: check if scheduling of [dummy] FACCH/H is allowed ......................................................................
Patch Set 2:
(1 comment)
File src/osmo-bts-trx/sched_lchan_tchh.c:
https://gerrit.osmocom.org/c/osmo-bts/+/27836/comment/1c1ccc9b_3eaf849b PS1, Line 414: if (!sched_tchh_dl_facch_map[br->fn % 26])
How will that random garbage not also be detected as BER, too?
Right, sending garbage will of course result in decoding errors on the MS side. So this patch does not guard against sporadic gaps in the Downlink TCH queue. However when tch_dl_dequeue() constantly yields nothing, e.g. when we end up with a codec mismatch, then this additional check saves us from starting misaligned FACCH/H transmission. If we start at a wrong TDMA offset, then all subsequent FACCH frames will be scheduled at wrong offsets and thus none of them will be decoded by the MS.
We can of course improve this further by sending a cached SID frame instead of dummy FACCH, or sending a BFI if no SID was cached. But this is a topic for a separate patch. As I said, this is the best we can do for now. Better than sending a constant stream of misaligned FACCH.