Attention is currently required from: keith.
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/28136 )
Change subject: smpp: Parse and use SMPP-provided validity period
......................................................................
Patch Set 6: Verified+1 Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/28136
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Iad9f2697f045ed3bc0eb74c3a9730861f82e6c48
Gerrit-Change-Number: 28136
Gerrit-PatchSet: 6
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: keith <keith(a)rhizomatica.org>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: keith <keith(a)rhizomatica.org>
Gerrit-Comment-Date: Thu, 19 May 2022 19:34:30 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/28135 )
Change subject: sms_queue: Make deletion of messages from DB VTY-configurable
......................................................................
Patch Set 2: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/28135
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Id6174875d5c01c40d987077651b27ae1acbcaa93
Gerrit-Change-Number: 28135
Gerrit-PatchSet: 2
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: keith <keith(a)rhizomatica.org>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 19 May 2022 19:34:22 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
laforge has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-msc/+/28133 )
Change subject: sms: Give smsc its own VTY config node
......................................................................
Patch Set 4: Code-Review+2
--
To view, visit https://gerrit.osmocom.org/c/osmo-msc/+/28133
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-msc
Gerrit-Branch: master
Gerrit-Change-Id: Ie8e0ab1a9f979337ff06544b9ab3820954d9804a
Gerrit-Change-Number: 28133
Gerrit-PatchSet: 4
Gerrit-Owner: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: keith <keith(a)rhizomatica.org>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 19 May 2022 19:34:16 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment
fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmocore/+/28166 )
Change subject: coding: fix decoding of AHS_SID_UPDATE frames (BER ~50%)
......................................................................
coding: fix decoding of AHS_SID_UPDATE frames (BER ~50%)
As was demonstrated in [1], there is a TCH/AHS specific problem in
libosmocoding causing unexpected BER ~50% in decoded AHS_SID_UPDATE
frames. The reason is that A[H]S_SID_UPDATE employs quite tricky
interleaving algorithm, which is different from the algorithm used
by normal TCH/AHS speech frames or A[F]S_SID_UPDATE frames.
+---------+--------------------+---------+--------------------+
| in-band | SID marker | in-band | coded data |
+---------+--------------------+---------+--------------------+
| 16 bits | 212 bits | 16 bits | 212 bits |
* AHS_SID_UPDATE is interleaved over 456 bits (4 Normal Bursts):
** both halves (228 bits each) contain coded in-band data (16 bits),
** the first half contains the identification marker (212 bits),
** the second half contains the encoded SID_UPDATE (212 bits).
The first half (containing the SID marker) is carried by even bits
of the first two bursts and odd bits of the last two bursts. The
marker allows us to detect that it's an AHS_SID_UPDATE.
The other half is carried by even bits of the last two bursts and
odd bits of the first two bursts. However, the current code does
not use odd bits of the first two bursts at all, so buffer cB[]
in gsm0503_tch_ahs_decode_dtx() contains only 114 out of 228 bits.
This patch changes the logic, so that gsm0503_tch_ahs_decode_dtx()
would not split AHS_SID_UPDATE onto two frames anymore like its
TCH/AFS equivalent does, but attempt to deinterleave the second
half and attempt to decode the payload immediately.
Change-Id: I8686d895e96fa0e606c1898b6574cc80a8f46983
Related: [1] I434157e2091a306c039123cea08d84bd8533c937
Related: SYS#5853
---
M src/coding/gsm0503_coding.c
M tests/dtx/dtx_gsm0503_test.ok
2 files changed, 17 insertions(+), 14 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/66/28166/1
diff --git a/src/coding/gsm0503_coding.c b/src/coding/gsm0503_coding.c
index e81bf02..26ca6c4 100644
--- a/src/coding/gsm0503_coding.c
+++ b/src/coding/gsm0503_coding.c
@@ -2676,20 +2676,24 @@
/* Determine the DTX frame type (SID_UPDATE, ONSET etc...) */
if (dtx) {
- const enum gsm0503_amr_dtx_frames dtx_prev = *dtx;
-
osmo_sbit2ubit(cBd, cB, 456);
*dtx = gsm0503_detect_ahs_dtx_frame(n_errors, n_bits_total, cBd);
+ /* TODO: detect and handle AHS_SID_UPDATE + AHS_SID_UPDATE_INH */
switch (*dtx) {
- case AMR_OTHER:
- /* NOTE: The AHS_SID_UPDATE frame is splitted into
- * two half rate frames. If the id marker frame
- * (AHS_SID_UPDATE) is detected the following frame
- * contains the actual comfort noised data part of
- * (AHS_SID_UPDATE_CN). */
- if (dtx_prev != AHS_SID_UPDATE)
- break;
+ case AHS_SID_UPDATE:
+ /* cB[] contains 16 bits of coded in-band data and 212 bits containing
+ * the identification marker. We need to unmap/deinterleave 114 odd
+ * bits from the last two blocks, 114 even bits from the first two
+ * blocks and combine them together. */
+ gsm0503_tch_burst_unmap(&iB[0 * 114], &bursts[2 * 116], NULL, 0);
+ gsm0503_tch_burst_unmap(&iB[1 * 114], &bursts[3 * 116], NULL, 0);
+ gsm0503_tch_burst_unmap(&iB[2 * 114], &bursts[0 * 116], NULL, 1);
+ gsm0503_tch_burst_unmap(&iB[3 * 114], &bursts[1 * 116], NULL, 1);
+ gsm0503_tch_hr_deinterleave(cB, iB);
+
+ /* cB[] is expected to contain 16 bits of coded in-band data and
+ * 212 bits containing the coded data (53 bits coded at 1/4 rate). */
*dtx = AHS_SID_UPDATE_CN;
osmo_conv_decode_ber(&gsm0503_tch_axs_sid_update,
@@ -2715,7 +2719,6 @@
tch_amr_reassemble(tch_data, sid_first_dummy, 39);
len = 5;
goto out;
- case AHS_SID_UPDATE:
case AHS_ONSET:
case AHS_SID_FIRST_INH:
case AHS_SID_UPDATE_INH:
diff --git a/tests/dtx/dtx_gsm0503_test.ok b/tests/dtx/dtx_gsm0503_test.ok
index 750b440..edf74ec 100644
--- a/tests/dtx/dtx_gsm0503_test.ok
+++ b/tests/dtx/dtx_gsm0503_test.ok
@@ -17,10 +17,10 @@
Running test_gsm0503_tch_afhs_decode_dtx(at offset=0): testing detection/decoding of AHS_SID_UPDATE
==> gsm0503_tch_ahs_decode_dtx() yields 'AMR_OTHER (audio)' (rc=-1, BER 109/212)
Running test_gsm0503_tch_afhs_decode_dtx(at offset=232): testing detection/decoding of AHS_SID_UPDATE
- ==> gsm0503_tch_ahs_decode_dtx() yields 'AHS_SID_UPDATE (marker)' (rc=0, BER 0/212)
-Running test_gsm0503_tch_afhs_decode_dtx(at offset=464): testing detection/decoding of AHS_SID_UPDATE
- ==> gsm0503_tch_ahs_decode_dtx() yields 'AHS_SID_UPDATE_CN (audio)' (rc=5, BER 106/212)
+ ==> gsm0503_tch_ahs_decode_dtx() yields 'AHS_SID_UPDATE_CN (audio)' (rc=5, BER 0/212)
====> tch_data[] = { 6003ccb270 }
+Running test_gsm0503_tch_afhs_decode_dtx(at offset=464): testing detection/decoding of AHS_SID_UPDATE
+ ==> gsm0503_tch_ahs_decode_dtx() yields 'AMR_OTHER (audio)' (rc=-1, BER 111/212)
Running test_gsm0503_tch_afhs_decode_dtx(at offset=0): testing tagging of FACCH/F
==> gsm0503_tch_afs_decode_dtx() yields 'AMR_OTHER (audio)' (rc=-1, BER 456/456)
Running test_gsm0503_tch_afhs_decode_dtx(at offset=0): testing tagging of FACCH/H
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/28166
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I8686d895e96fa0e606c1898b6574cc80a8f46983
Gerrit-Change-Number: 28166
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: fixeria.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/28146
to look at the new patch set (#2).
Change subject: tests/dtx: test detection/decoding of A[FH]S_SID_UPDATE
......................................................................
tests/dtx: test detection/decoding of A[FH]S_SID_UPDATE
This patch extends the existing unit test coverage for AMR's special
DTX frames. The new tests confirm that the problem with unexpected
BER in decoded AFS_SID_UPDATE frames has been actually fixed [1].
Additionally this patch demonstrates another TCH/AHS specific problem,
which negatively affects RxQual-SUB measurements in osmo-bts-trx: the
actual content of AHS_SID_UPDATE_CN is decoded with ~50% BER, because
the burst buffer contains only half of the burst bits.
Change-Id: I434157e2091a306c039123cea08d84bd8533c937
Related: [1] I813081a4c0865958eee2496fe251ae17235ac842
Related: SYS#5853
---
M tests/dtx/dtx_gsm0503_test.c
M tests/dtx/dtx_gsm0503_test.ok
2 files changed, 121 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/46/28146/2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/28146
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I434157e2091a306c039123cea08d84bd8533c937
Gerrit-Change-Number: 28146
Gerrit-PatchSet: 2
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-MessageType: newpatchset
Attention is currently required from: fixeria.
Hello Jenkins Builder, pespin,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/libosmocore/+/28147
to look at the new patch set (#2).
Change subject: tests/dtx: test tagging of FACCH/[FH] frames
......................................................................
tests/dtx: test tagging of FACCH/[FH] frames
This patch adds a new test confirming that [1] actually fixes the bug.
Change-Id: I3d295a15d4446b3e440fbf4c90a1688d6c7275ae
Related: [1] I2e6f4b748c6445725211e264ab5f3f5a2712087a
Related: SYS#5853
---
M tests/dtx/dtx_gsm0503_test.c
M tests/dtx/dtx_gsm0503_test.ok
2 files changed, 31 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmocore refs/changes/47/28147/2
--
To view, visit https://gerrit.osmocom.org/c/libosmocore/+/28147
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: libosmocore
Gerrit-Branch: master
Gerrit-Change-Id: I3d295a15d4446b3e440fbf4c90a1688d6c7275ae
Gerrit-Change-Number: 28147
Gerrit-PatchSet: 2
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-MessageType: newpatchset
Attention is currently required from: neels, pespin.
iedemam has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-bsc/+/28165 )
Change subject: stats: new trackers for lchan life duration (v2)
......................................................................
Patch Set 1:
(1 comment)
This change is ready for review.
Patchset:
PS1:
Hi all,
Here is my Mark II of the original CPU-hungry version (https://gerrit.osmocom.org/c/osmo-bsc/+/27081).
The changes being:
- measure milliseconds, not deciseconds
- store state every second, not every 100ms
- use one timer per BSC, not one timer per lchan
I originally proposed using one timer per BTS. However, after looking at the weight of the calculation, it seems to be lighter than other BSC-wide calculations, specifically: bts_update_t3122_chan_load(). I've tried to make this summation + storage operation as lightweight as possible. I'm still open to one timer per BTS but this structure matches other similar operations such as storing uptime and updating t3122.
Testing has shown this to behave functionally identical to the previous version. There is some accuracy lost when an lchan is closed and the remainder of unrecorded time is discarded. Some improvements are possible for sure but this seems like roughly the way to go.
Feedback very welcome.
Thanks as always for your time,
-Michael
--
To view, visit https://gerrit.osmocom.org/c/osmo-bsc/+/28165
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-bsc
Gerrit-Branch: master
Gerrit-Change-Id: Ie3771233ecbd4bc24a24fb22c1064a18e7b8b2b0
Gerrit-Change-Number: 28165
Gerrit-PatchSet: 1
Gerrit-Owner: iedemam <michael(a)kapsulate.com>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
Gerrit-Attention: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Thu, 19 May 2022 18:13:07 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment