Attention is currently required from: falconia.
pespin has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/libosmo-abis/+/38325?usp=email )
Change subject: trau2rtp: add support for EDATA
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/38325?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: If5344eb4718ac95b996e20caf969de35a9c8a35d
Gerrit-Change-Number: 38325
Gerrit-PatchSet: 1
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: Fri, 04 Oct 2024 10:09:20 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Attention is currently required from: falconia.
pespin has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/libosmo-abis/+/38324?usp=email )
Change subject: trau_frame: D145_SYNC does not follow EDATA format
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/38324?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: I7c743996fc620227438225ffda419217881034d1
Gerrit-Change-Number: 38324
Gerrit-PatchSet: 1
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: Fri, 04 Oct 2024 10:07:30 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
Attention is currently required from: falconia.
pespin has posted comments on this change by falconia. ( https://gerrit.osmocom.org/c/libosmo-abis/+/38323?usp=email )
Change subject: TRAU frame output EDATA: set sync pattern bits
......................................................................
Patch Set 1:
(2 comments)
File src/trau/trau_frame.c:
https://gerrit.osmocom.org/c/libosmo-abis/+/38323/comment/d29628fa_bcb0013d… :
PS1, Line 680: memset(trau_bits, 0, 16);
did you check if it makes sense that this function expects the trau_bits to be 0 initialized? Eg existing callers of the function.
https://gerrit.osmocom.org/c/libosmo-abis/+/38323/comment/e82619f0_c39670b2… :
PS1, Line 681: trau_bits[17] = 1;
isn't this overwritten by the memcpy below?
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/38323?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: Iacd391cb6d389d8320c8ed767878eed144ee9d69
Gerrit-Change-Number: 38323
Gerrit-PatchSet: 1
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>
Gerrit-Comment-Date: Fri, 04 Oct 2024 10:05:28 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
osmith has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ci/+/38319?usp=email )
Change subject: jobs/master-builds: add param BRANCH
......................................................................
jobs/master-builds: add param BRANCH
Sometimes it is desirable to run master jobs from a different branch:
* As discussed with Philipp: running pysim CI on a branch with many
patches once before submitting to gerrit (it takes much longer in
gerrit to run on each individual patch)
* When adding/modifying master jobs to test if they still work as
expected with additional patches in a branch.
It is undesirable to have mail notifications if not running on master,
the next patch will make it easy to disable those.
Change-Id: I5fb64024dc4ad70cb3dd019bd505aacc58d14380
---
M jobs/master-builds.yml
1 file changed, 10 insertions(+), 5 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
pespin: Looks good to me, but someone else must approve
diff --git a/jobs/master-builds.yml b/jobs/master-builds.yml
index 730c68c..ee6947f 100644
--- a/jobs/master-builds.yml
+++ b/jobs/master-builds.yml
@@ -74,16 +74,14 @@
gerrit_url: 'https://gerrit.osmocom.org'
gitea_url: 'https://gitea.osmocom.org'
repos_url: '{gerrit_url}/{repos}'
- branches:
- - master
+ branch: master
ssh:
- docs_ftp.osmocom.org
# in alphabetical order
repos:
- asn1c:
- branches:
- - osmo-iuh/master
+ branch: osmo-iuh/master
- libasn1c:
# Full triggers would be:
@@ -632,10 +630,17 @@
name: '{obj:a4_name}'
values: '{obj:a4}'
+ parameters:
+ - string:
+ name: BRANCH
+ description: git branch
+ default: '{obj:branch}'
+
scm:
- git:
url: '{obj:repos_url}'
- branches: '{obj:branches}'
+ branches:
+ - '$BRANCH'
refspec:
name:
wipe-workspace: false
--
To view, visit https://gerrit.osmocom.org/c/osmo-ci/+/38319?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ci
Gerrit-Branch: master
Gerrit-Change-Id: I5fb64024dc4ad70cb3dd019bd505aacc58d14380
Gerrit-Change-Number: 38319
Gerrit-PatchSet: 1
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
falconia has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/38326?usp=email )
Change subject: rtp2trau: add support for EDATA
......................................................................
rtp2trau: add support for EDATA
Change-Id: I538567ac208c89b3fc8f4dc408dc15a813a1272a
---
M src/trau/trau_rtp_conv.c
1 file changed, 49 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/26/38326/1
diff --git a/src/trau/trau_rtp_conv.c b/src/trau/trau_rtp_conv.c
index b0bde7d..9bee640 100644
--- a/src/trau/trau_rtp_conv.c
+++ b/src/trau/trau_rtp_conv.c
@@ -1393,6 +1393,53 @@
return 0;
}
+/*
+ * For 14.4 kbit/s data, we do _not_ forward A-TRAU bit C5 to E-TRAU bit C6
+ * like TS 48.020 section 11.1 Note 1 suggests. That spec note says:
+ * "Bit C5 corresponds to bit C6 of the E-TRAU frame as defined in 3GPP
+ * TS 48.060." However, while the note says (effectively) that the two
+ * bits are logically equivalent, it does not prescribe specific forwarding
+ * rules for implementations. When the BTS looks at bit C6 in TRAU-DL,
+ * it will want to know whether its TRAU-UL frames were received correctly
+ * by the TRAU, hence the TRAU-emulating Abis MGW will need to set this bit
+ * based on UL reception status - but it has nothing to do with the incoming
+ * RTP stream. Hence we don't forward this "logically equivalent" bit.
+ */
+
+static int rtp2trau_edata(struct osmo_trau_frame *tf, const uint8_t *data,
+ size_t data_len)
+{
+ ubit_t atrau_c4;
+
+ tf->type = OSMO_TRAU16_FT_EDATA;
+
+ /* set all C bits to 1s: covers frame type, initial C6 & C7,
+ * and the remaining unused bits. */
+ memset(tf->c_bits, 1, 13);
+ /* set C6=0: indicate good reception of TRAU-UL frames */
+ tf->c_bits[5] = 0;
+
+ if (data_len == RFC4040_RTP_PLEN &&
+ osmo_csd144_from_atrau_ra2(tf->m_bits, tf->d_bits, &atrau_c4, NULL,
+ data) >= 0) {
+ /* We got good A-TRAU input. 3GPP specs define the following
+ * mapping for DL direction only:
+ *
+ * E-TRAU bit C7 is set if idle, inverse of A-TRAU bit C4.
+ * Spec references: TS 48.020 section 11.1, TS 48.060
+ * section 6.5.1. */
+ tf->c_bits[6] = !atrau_c4;
+ } else {
+ /* We did not get good A-TRAU input: generate idle fill. */
+ memset(tf->m_bits, 1, 2);
+ memset(tf->d_bits, 1, 288);
+ /* C7=1 means idle */
+ tf->c_bits[6] = 1;
+ }
+
+ return 0;
+}
+
static inline bool check_twts001(struct osmo_trau2rtp_state *st)
{
if (st->rtp_extensions & OSMO_RTP_EXT_TWTS001)
@@ -1448,6 +1495,8 @@
return rtp2trau_data_fr(tf, rtp, rtp_len, st->interm_rate_16k);
case OSMO_TRAU16_FT_DATA_HR:
return rtp2trau_data_hr16(tf, rtp, rtp_len);
+ case OSMO_TRAU16_FT_EDATA:
+ return rtp2trau_edata(tf, rtp, rtp_len);
case OSMO_TRAU8_SPEECH:
return rtp2trau_hr8(tf, rtp, rtp_len);
case OSMO_TRAU8_DATA:
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/38326?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: I538567ac208c89b3fc8f4dc408dc15a813a1272a
Gerrit-Change-Number: 38326
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>
Attention is currently required from: dexter, fixeria, laforge.
osmith has posted comments on this change by dexter. ( https://gerrit.osmocom.org/c/pysim/+/38254?usp=email )
Change subject: tests: sanitize all cards before running tests
......................................................................
Patch Set 4:
(1 comment)
Commit Message:
https://gerrit.osmocom.org/c/pysim/+/38254/comment/cff01c75_faa2b96e?usp=em… :
PS4, Line 14: let's reset the cards to a defined state before
: running the actual tests
> I don't think this patch actually executes anything "before running the test"? It seems to merely […]
right, this commit message made sense in the first version of the patch. instead of running it in jenkins.sh, it now runs with a separate, nightly jenkins job.
--
To view, visit https://gerrit.osmocom.org/c/pysim/+/38254?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: pysim
Gerrit-Branch: master
Gerrit-Change-Id: I42eaf61280968518164f2280245136fd30a603ce
Gerrit-Change-Number: 38254
Gerrit-PatchSet: 4
Gerrit-Owner: dexter <pmaier(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-CC: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-CC: laforge <laforge(a)osmocom.org>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Attention: dexter <pmaier(a)sysmocom.de>
Gerrit-Comment-Date: Fri, 04 Oct 2024 08:13:39 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: laforge <laforge(a)osmocom.org>
falconia has uploaded this change for review. ( https://gerrit.osmocom.org/c/libosmo-abis/+/38324?usp=email )
Change subject: trau_frame: D145_SYNC does not follow EDATA format
......................................................................
trau_frame: D145_SYNC does not follow EDATA format
14.5 kbit/s data service uses a special protocol: the CCU and the
TRAU exchange D145_SYNC frames first, conveying only alignment of
320-bit TRAU frames, then switch to EDATA frames that can carry
payload. (EDATA frames don't have enough sync pattern bits to be
reliable against false alignment.)
Per TS 48.060 section 5.5.3, D145_SYNC frames are structured like
"regular" (lower rates) data frames with all payload bits set to 1,
_not_ like EDATA frames. Therefore:
* osmo_trau_frame_decode_16k() should decode D145_SYNC frames like
regular data frames, not like EDATA;
* osmo_trau_frame_encode() given OSMO_TRAU16_FT_D145_SYNC should
produce a frame with correct sync pattern and all-1 payload bits,
but with control bits up to C15 per TS 48.060 section 5.5.3.
Change-Id: I7c743996fc620227438225ffda419217881034d1
---
M src/trau/trau_frame.c
1 file changed, 18 insertions(+), 1 deletion(-)
git pull ssh://gerrit.osmocom.org:29418/libosmo-abis refs/changes/24/38324/1
diff --git a/src/trau/trau_frame.c b/src/trau/trau_frame.c
index 4719bd0..a8668b3 100644
--- a/src/trau/trau_frame.c
+++ b/src/trau/trau_frame.c
@@ -650,6 +650,22 @@
return 40 * 8;
}
+/* TS 48.060 section 5.5.3 */
+static int encode16_d145_sync(ubit_t *trau_bits, const struct osmo_trau_frame *fr)
+{
+ encode_sync16(trau_bits);
+
+ /* C1 .. C5 */
+ memcpy(trau_bits + 17, ft_d145s_bits, 5);
+ /* C6 .. C15 */
+ memcpy(trau_bits + 17 + 5, fr->c_bits + 5, 15 - 5);
+
+ /* This frame is for sync only, all data bits filled with 1s */
+ memset(trau_bits + 4 * 8, 1, (40 - 4) * 8);
+
+ return 40 * 8;
+}
+
/* TS 08.60 3.3.2 */
static int decode16_edata(struct osmo_trau_frame *fr, const ubit_t *trau_bits,
enum osmo_trau_frame_direction dir)
@@ -1285,6 +1301,7 @@
case OSMO_TRAU16_FT_DATA:
return encode16_data(bits, fr);
case OSMO_TRAU16_FT_D145_SYNC:
+ return encode16_d145_sync(bits, fr);
case OSMO_TRAU16_FT_EDATA:
return encode16_edata(bits, fr);
case OSMO_TRAU8_SPEECH:
@@ -1355,7 +1372,7 @@
return decode16_edata(fr, bits, dir);
case TRAU_FT_D145_SYNC:
fr->type = OSMO_TRAU16_FT_D145_SYNC;
- return decode16_edata(fr, bits, dir);
+ return decode16_data(fr, bits, dir);
default:
return -EINVAL;
--
To view, visit https://gerrit.osmocom.org/c/libosmo-abis/+/38324?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: libosmo-abis
Gerrit-Branch: master
Gerrit-Change-Id: I7c743996fc620227438225ffda419217881034d1
Gerrit-Change-Number: 38324
Gerrit-PatchSet: 1
Gerrit-Owner: falconia <falcon(a)freecalypso.org>