Hi Max and others,
It seems, I faced similar problem while working on the libosmocoding.
Despite the bursts_test in OsmoBTS always pass without any errors,
when I merely moved some parts of GSM 05.03 code into a separate
library, this test sometimes passes and fails on different machines...
Thanks to tnt, who suggested me to use valgrind. Using this great tool
and some tricks with memset(), I found, that the gsm0503_tch_burst_map()
uses one uninitialized bit from the iB within the tch_hr_encode(). The same
things happens in the tch_hr_decode().
I don't know, is it gsm0503_tch_hr_(de)interleave's bug
or gsm0503_tch_burst_(un)map's one, we need to check GSM 05.03 specifications.