Attention is currently required from: fixeria.
2 comments:
Commit Message:
Patch Set #3, Line 15: E-TRAU frames (spoken over the air)
Nitpick: E-TRAU frames are not spoken over the air, they are spoken over E1 Abis. However, the block of 290 bits is exactly the same between E-TRAU and the air interface, which is why the same RAA' functions work here as well as trau2rtp and rtp2trau functions in libosmotrau, and can be unit-tested for exact match against a historical hardware TRAU.
Perhaps reword like this: "which converts between between 290-bit blocks used on Um and Abis-E1 interfaces (E-TRAU frames on the latter) and A-TRAU frames spoken over the A interface."
File src/common/csd_v110.c:
Patch Set #3, Line 113: memset(&ra_bits[0], 0x01, sizeof(ra_bits));
This code won't have the desired effect: `ra_bits[]` is the output buffer for `osmo_csd144_to_atrau_bits()`, not the input. Thus the memset itself will have no effect whatsoever (the buffer will be fully overwritten two lines later), while the A-TRAU encoding function will read from `&data[0]` and `&data[2]`, i.e., from non-existing memory, aka an out-of-bound read - obviously bad.
We'll need a separate on-stack temporary buffer to hold the needed 290 dummy bits - yes, I know, it's ugly. Alternatively, perhaps have a const array that hard-codes the fixed A-TRAU output from all-1s data and M bits, and C5=1 - whichever you feel more comfortable implementing.
To view, visit change 38751. To unsubscribe, or for help writing mail filters, visit settings.