Attention is currently required from: pespin.
fixeria has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmo-bts/+/38301?usp=email )
Change subject: csd_v110: properly set bit E2 for TCH/F4.8 NT
......................................................................
Patch Set 2:
(2 comments)
File src/common/csd_v110.c:
https://gerrit.osmocom.org/c/osmo-bts/+/38301/comment/a1c1e802_cb2ca365?usp… :
PS1, Line 113: if ((i & 1) == 0) { /* executed for Q1/Q3 */
> we usually use hex notation to do bitmask. […]
I prefer using hex-notation when dealing with values sent/received over the wire/radio. Here I am just checking for odd values, does `0x0` prefix really improve readability? A quick grep across all osmo-projects shows we're doing `i & 1` in many places...
https://gerrit.osmocom.org/c/osmo-bts/+/38301/comment/538b90cd_298770f6?usp… :
PS1, Line 125: * Q4 | =1 | =1
Yes, we do not execute this code for `i == 3` (i.e. block Q4) and use the value that was set during the previous iteration (i.e. block Q3), which should be 1 according to the table above.
> so you use "e2_bit = 0" at the start of the function ...
I am just setting it to a random value (0 looks sane) to make gcc happy and not complain about using uninitialized values (even despite it's not possible here). We have seen this in some cases when it's logically impossible, but gcc is not smart/careful enough...
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/38301?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: If8307a9ce0fdc6da45157149ccef7b840ff9d9b3
Gerrit-Change-Number: 38301
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 26 Sep 2024 19:44:25 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: fixeria.
pespin has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmo-bts/+/38302?usp=email )
Change subject: tests/csd: add NT variants for TCH/F4.8 and TCH/F9.6
......................................................................
Patch Set 1: Code-Review+1
(1 comment)
Commit Message:
https://gerrit.osmocom.org/c/osmo-bts/+/38302/comment/1e8ffa2d_6d9f5c6b?usp… :
PS1, Line 9: The existing tests were are for T (transparent mode).
were are
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/38302?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: Ie335bc0623dd7e887a0b3b1c40d61153b84924b2
Gerrit-Change-Number: 38302
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 26 Sep 2024 19:40:11 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Attention is currently required from: fixeria.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-bts/+/38301?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: csd_v110: properly set bit E2 for TCH/F4.8 NT
......................................................................
csd_v110: properly set bit E2 for TCH/F4.8 NT
As was reported by Mychaela Falconia in:
https://www.freecalypso.org/pipermail/community/2024-September/000941.html
contrary to 3GPP TS 48.020 Table 7, bit E2 is currently always 0
in the RTP output for TCH/F4.8 channels in non-transparent CSD mode.
The problem is that `desc->num_blocks` is 2 for TCH/F4.8 NT, so the
for-loop in csd_v110_rtp_encode() will iterate only 2 (not 4) times,
and thus `(i >> 1) & 0x01` never evaluates to 1 in this mode.
According to 3GPP TS 44.021, Figure 1, bit E7 is set to 0 in every
4-th frame (Q1), so use it to calculate the value of bit E2 properly.
Change-Id: If8307a9ce0fdc6da45157149ccef7b840ff9d9b3
Fixes: 183c08886 "csd_v110: properly set E1/E2/E3 for non-transparent data"
Related: OS#1572
---
M src/common/csd_v110.c
M tests/csd/csd_test.err
2 files changed, 22 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/01/38301/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/38301?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: If8307a9ce0fdc6da45157149ccef7b840ff9d9b3
Gerrit-Change-Number: 38301
Gerrit-PatchSet: 2
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Attention is currently required from: fixeria.
pespin has posted comments on this change by fixeria. ( https://gerrit.osmocom.org/c/osmo-bts/+/38301?usp=email )
Change subject: csd_v110: properly set bit E2 for TCH/F4.8 NT
......................................................................
Patch Set 1:
(2 comments)
File src/common/csd_v110.c:
https://gerrit.osmocom.org/c/osmo-bts/+/38301/comment/fa9aeeda_589d3438?usp… :
PS1, Line 113: if ((i & 1) == 0) { /* executed for Q1/Q3 */
we usually use hex notation to do bitmask.
(i & 0x01) == 0x00
https://gerrit.osmocom.org/c/osmo-bts/+/38301/comment/4b6b2e6b_3f9c79cd?usp… :
PS1, Line 125: * Q4 | =1 | =1
for i=3 (0x03, 0b00000011), AFAIU you don't enter here, so you use "e2_bit = 0" at the start of the function which seems to not match Q4 in the table above?
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/38301?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: If8307a9ce0fdc6da45157149ccef7b840ff9d9b3
Gerrit-Change-Number: 38301
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 26 Sep 2024 19:11:59 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-bts/+/38301?usp=email )
Change subject: csd_v110: properly set bit E2 for TCH/F4.8 NT
......................................................................
csd_v110: properly set bit E2 for TCH/F4.8 NT
As was reported by Mychaela Falconia in:
https://www.freecalypso.org/pipermail/community/2024-September/000941.html
contrary to 3GPP TS 48.020 Table 7, bit E2 is currently always 0
in the RTP output for TCH/F4.8 channels in non-transparent CSD mode.
The problem is that `desc->num_blocks` is 2 for TCH/F4.8 NT, so the
for-loop in csd_v110_rtp_encode() will iterate only 2 (not 4) times,
and thus `(i >> 1) & 0x01` never evaluates to 1 in this mode.
According to 3GPP TS 44.021, Figure 1, bit E7 is set to 0 in every
4-th frame (Q1), so use it to calculate the value of bit E2 properly.
Change-Id: If8307a9ce0fdc6da45157149ccef7b840ff9d9b3
Fixes: 183c08886 "csd_v110: properly set E1/E2/E3 for non-transparent data"
Related: OS#1572
---
M src/common/csd_v110.c
1 file changed, 18 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-bts refs/changes/01/38301/1
diff --git a/src/common/csd_v110.c b/src/common/csd_v110.c
index d6c00b0..5fb86b7 100644
--- a/src/common/csd_v110.c
+++ b/src/common/csd_v110.c
@@ -78,6 +78,7 @@
{
const struct csd_v110_frame_desc *desc;
ubit_t ra_bits[80 * 4];
+ ubit_t e2_bit = 0;
OSMO_ASSERT(lchan->tch_mode < ARRAY_SIZE(csd_v110_lchan_desc));
if (lchan->type == GSM_LCHAN_TCH_F)
@@ -109,8 +110,24 @@
/* E1 .. E3 must set by out-of-band knowledge */
if (lchan->csd_mode == LCHAN_CSD_M_NT) {
/* non-transparent: as per 3GPP TS 48.020, Table 7 */
+ if ((i & 1) == 0) { /* executed for Q1/Q3 */
+ /* E7: 0 for Q1, 1 for Q2/Q3/Q4 (3GPP TS 44.021, Figure 1).
+ * We use this bit to set E2 bit properly (see below):
+ *
+ * | E2 | E7
+ * ----+----+----
+ * Q1 | =0 | =0 <-- e2_bit=E7
+ * ----+----+----
+ * Q2 | =0 | =1
+ * ----+----+----
+ * Q3 | =1 | =1 <-- e2_bit=E7
+ * ----+----+----
+ * Q4 | =1 | =1
+ */
+ e2_bit = df.e_bits[6];
+ }
df.e_bits[0] = 0; /* E1: as per 15.1.2, shall be set to 0 (for BSS-MSC) */
- df.e_bits[1] = (i >> 1) & 0x01; /* E2: 0 for Q1/Q2, 1 for Q3/Q4 */
+ df.e_bits[1] = e2_bit; /* E2: 0 for Q1/Q2, 1 for Q3/Q4 */
df.e_bits[2] = (i >> 0) & 0x01; /* E3: 0 for Q1/Q3, 1 for Q2/Q4 */
} else {
/* transparent: as per 3GPP TS 44.021, Figure 4 */
--
To view, visit https://gerrit.osmocom.org/c/osmo-bts/+/38301?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-bts
Gerrit-Branch: master
Gerrit-Change-Id: If8307a9ce0fdc6da45157149ccef7b840ff9d9b3
Gerrit-Change-Number: 38301
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Attention is currently required from: falconia.
pespin has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/libosmo-abis/+/38291?usp=email )
Change subject: trau_rtp_conv: use new RA2 functions for CSD
......................................................................
Patch Set 2: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/38291?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: Ia157989579ced866b1e7abfc789d69ae489224e9
Gerrit-Change-Number: 38291
Gerrit-PatchSet: 2
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: falconia <falcon(a)freecalypso.org>
Gerrit-Comment-Date: Thu, 26 Sep 2024 15:33:33 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Attention is currently required from: pespin.
falconia has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/libosmo-abis/+/38291?usp=email )
Change subject: trau_rtp_conv: use new RA2 functions for CSD
......................................................................
Patch Set 2:
(1 comment)
File src/trau/trau_rtp_conv.c:
https://gerrit.osmocom.org/c/libosmo-abis/+/38291/comment/82737d3f_8bcb80de… :
PS1, Line 1099: osmo_csd_ra2_8k_pack(out, ra_bits, 80);
> I think it may be useful leaving the comment explaining the mangling (the one you are removing in t […]
I put those comments back in place in the new patch revision.
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/38291?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: Ia157989579ced866b1e7abfc789d69ae489224e9
Gerrit-Change-Number: 38291
Gerrit-PatchSet: 2
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 26 Sep 2024 15:29:05 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: pespin <pespin(a)sysmocom.de>
Attention is currently required from: falconia.
Hello Jenkins Builder,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmo-abis/+/38291?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Verified+1 by Jenkins Builder
Change subject: trau_rtp_conv: use new RA2 functions for CSD
......................................................................
trau_rtp_conv: use new RA2 functions for CSD
osmo_trau2rtp() and osmo_rtp2trau() include CSD support; the RTP
format in CSD modes is RFC 4040 clearmode like the interface that
exists on the 64 kbit/s side of a traditional TRAU. RA2 packing
and unpacking constitute required steps in these conversions -
use newly factored-out functions.
Change-Id: Ia157989579ced866b1e7abfc789d69ae489224e9
---
M src/trau/trau_rtp_conv.c
1 file changed, 5 insertions(+), 23 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/91/38291/2
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/38291?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newpatchset
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: Ia157989579ced866b1e7abfc789d69ae489224e9
Gerrit-Change-Number: 38291
Gerrit-PatchSet: 2
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-CC: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: falconia <falcon(a)freecalypso.org>