Attention is currently required from: fixeria.
falconia has posted comments on this change by fixeria. (
https://gerrit.osmocom.org/c/osmo-bts/+/38751?usp=email )
Change subject: csd_v110: handle TCH/F14.4
......................................................................
Patch Set 3:
(2 comments)
Commit Message:
https://gerrit.osmocom.org/c/osmo-bts/+/38751/comment/745b4206_41594baa?usp… :
PS3, 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:
https://gerrit.osmocom.org/c/osmo-bts/+/38751/comment/d1524b0c_ca1bd39f?usp… :
PS3, 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
https://gerrit.osmocom.org/c/osmo-bts/+/38751?usp=email
To unsubscribe, or for help writing mail filters, visit
https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: I3c3bef0bd2f72b8381597b5699e2060165b702a0
Gerrit-Change-Number: 38751
Gerrit-PatchSet: 3
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: falconia <falcon(a)freecalypso.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Wed, 13 Nov 2024 20:21:20 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No