fixeria has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/36467?usp=email )
Change subject: msc: fix f_tc_ho_inter_bsc0(): properly patch n_sd
......................................................................
msc: fix f_tc_ho_inter_bsc0(): properly patch n_sd
Assuming n_sd should be 3 is only valid for non-A5 testcases, in which
we are *not* doing ciphering and authentication. For the A5 testcases
(TC_ho_inter_bsc_a5_*), this assumption is incorrect and osmo-msc is
definitely not happy about that:
Duplicate DTAP: bin=0, expected n_sd == 0, got 3 (ran_msg.c:159)
Dropping duplicate message ... (msc_a.c:1363)
Why and how the A5 testcases passed so far? It was a pure luck, which
sailed away when we started executing ttcn3-msc-test with io_uring.
The A5 testcases were passing thanks to the as_optional_cc_rel() that
gets activate()d in background before calling f_call_hangup(). This
altstep does not have the 'repeat' statement, and as a side effect it
may cancel any normal alt-statements and even standalone receive()
statements.
In the successful scenario, it would cancel (unblock) the following
receive operation in f_call_hangup():
MNCC.receive(tr_MNCC_REL_ind(cpars.mncc_callref));
log("f_call_hangup 2: rx MNCC REL ind");
BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_REL_COMPL(cpars.transaction_id)));
// ^^^^^^^^^^ as_optional_cc_rel() triggers here and cancels this one
which is a pure luck because our CC RELEASE was sent with incorrect
sequence number and got dropped, so osmo-msc would never send us
CC RELEASE COMPLETE. It would instead send us CC RELEASE due to
expire of T306, and the as_optional_cc_rel() would kick in handling
this message and responding with CC RELEASE COMPLETE.
In the failing scenario though (when running with io_uring), that
same altstep running in backround may trigger *earlier* and unblock
another standalone receive() statement:
MNCC.receive(tr_MNCC_REL_ind(cpars.mncc_callref));
// ^^^^^^^^^ as_optional_cc_rel() triggers here and cancels this one
log("f_call_hangup 2: rx MNCC REL ind");
BSSAP.receive(tr_PDU_DTAP_MT(tr_ML3_MT_CC_REL_COMPL(cpars.transaction_id)));
so that we will be stuck waiting for CC RELEASE COMPLETE until the
Tguard expires.
This patch fixes n_sd patching, so that our CC RELEASE message is
handled properly and the call gets released as expected, without
requiring as_optional_cc_rel() to kick in. The missing 'repeat'
is to be added to as_optional_cc_rel() in a follow-up patch.
Change-Id: Iddde391eade716ca5c6c48cb631450ddb543e0d4
Related: OS#6414
---
M msc/MSC_Tests.ttcn
1 file changed, 65 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/67/36467/1
diff --git a/msc/MSC_Tests.ttcn b/msc/MSC_Tests.ttcn
index 9db18d3..f99f93c 100644
--- a/msc/MSC_Tests.ttcn
+++ b/msc/MSC_Tests.ttcn
@@ -5778,6 +5778,10 @@
f_perform_lu();
f_mo_call_establish(cpars);
+ /* Remember the last n_sd (sequence number),
+ * we will need it when the other BSS hands over back to us. */
+ var N_Sd_Array last_n_sd := f_bssmap_last_n_sd();
+
f_sleep(1.0);
var default ack_mdcx := activate(as_mgcp_ack_all_mdcx(cpars));
@@ -5854,13 +5858,11 @@
deactivate(ack_mdcx);
- var default ccrel := activate(as_optional_cc_rel(cpars, true));
-
- /* blatant cheating */
- var N_Sd_Array last_n_sd := f_bssmap_last_n_sd();
- last_n_sd[0] := 3;
+ /* Use the n_sd (sequence number) we stored before the first handover.
+ * Otherwise the MSC may treat our DTAP messages as duplicates and discard them. */
f_bssmap_continue_after_n_sd(last_n_sd);
+ var default ccrel := activate(as_optional_cc_rel(cpars, true));
f_call_hangup(cpars, true);
f_sleep(1.0);
deactivate(ccrel);
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/36467?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Iddde391eade716ca5c6c48cb631450ddb543e0d4
Gerrit-Change-Number: 36467
Gerrit-PatchSet: 1
Gerrit-Owner: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newchange
neels has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/36466?usp=email )
Change subject: fix MGCP_Test.TC_one_crcx_loopback_rtp_implicit expectations
......................................................................
Patch Set 1:
(1 comment)
Patchset:
PS1:
Note that this patch as it is will, accurately, cause the 'latest' run of MGCP_Test.TC_one_crcx_loopback_rtp_implicit to fail.
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/36466?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ibe2ee59d1ed2c25ffef7e8534c172ac190b4983d
Gerrit-Change-Number: 36466
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Comment-Date: Wed, 27 Mar 2024 01:02:54 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Gerrit-MessageType: comment
neels has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/36466?usp=email )
Change subject: fix MGCP_Test.TC_one_crcx_loopback_rtp_implicit expectations
......................................................................
fix MGCP_Test.TC_one_crcx_loopback_rtp_implicit expectations
osmo-mgw should not respond to unknown peers. The test expected the
wrong thing, because of an old hack for 3G voice. Fix that.
Related: OS#6424
Change-Id: Ibe2ee59d1ed2c25ffef7e8534c172ac190b4983d
---
M mgw/MGCP_Test.ttcn
1 file changed, 29 insertions(+), 5 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/66/36466/1
diff --git a/mgw/MGCP_Test.ttcn b/mgw/MGCP_Test.ttcn
index 3161079..7090b34 100644
--- a/mgw/MGCP_Test.ttcn
+++ b/mgw/MGCP_Test.ttcn
@@ -1931,11 +1931,22 @@
stats := f_rtpem_stats_get(RTPEM[0]);
- if (stats.num_pkts_tx != stats.num_pkts_rx) {
- setverdict(fail);
- }
- if (stats.bytes_payload_tx != stats.bytes_payload_rx) {
- setverdict(fail);
+ if (one_phase) {
+ /* osmo-mgw knows both local and remote RTP address. Expect all packets to be reflected. */
+ if (stats.num_pkts_tx != stats.num_pkts_rx) {
+ setverdict(fail);
+ }
+ if (stats.bytes_payload_tx != stats.bytes_payload_rx) {
+ setverdict(fail);
+ }
+ } else {
+ /* osmo-mgw knows only the local RTP address. Expect no packets to be reflected. */
+ if (stats.num_pkts_rx > 0) {
+ setverdict(fail, "stats.num_pkts_rx=", stats.num_pkts_rx, ": osmo-mgw should not send RTP packets to an arbitrary peer");
+ }
+ if (stats.bytes_payload_rx > 0) {
+ setverdict(fail);
+ }
}
f_rtpem_stats_err_check(stats);
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/36466?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ibe2ee59d1ed2c25ffef7e8534c172ac190b4983d
Gerrit-Change-Number: 36466
Gerrit-PatchSet: 1
Gerrit-Owner: neels <nhofmeyr(a)sysmocom.de>
Gerrit-MessageType: newchange
Attention is currently required from: Hoernchen, fixeria, laforge, osmith.
Hello Hoernchen, Jenkins Builder, fixeria, laforge, osmith,
I'd like you to reexamine a change. Please visit
https://gerrit.osmocom.org/c/osmo-trx/+/36465?usp=email
to look at the new patch set (#2).
The following approvals got outdated and were removed:
Code-Review+1 by fixeria, Code-Review+1 by laforge, Verified+1 by Jenkins Builder
Change subject: doc: Introduce documentation for osmo-trx-ipc and its IPC interface
......................................................................
doc: Introduce documentation for osmo-trx-ipc and its IPC interface
Related: SYS#6861
Change-Id: Id6863731f9398720030b16efaaf559e05f2444ed
---
M doc/manuals/chapters/code-architecture.adoc
A doc/manuals/chapters/ipc_if.adoc
M doc/manuals/chapters/trx-backends.adoc
M doc/manuals/osmotrx-usermanual.adoc
4 files changed, 413 insertions(+), 0 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-trx refs/changes/65/36465/2
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/36465?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: Id6863731f9398720030b16efaaf559e05f2444ed
Gerrit-Change-Number: 36465
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: laforge <laforge(a)osmocom.org>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: newpatchset
Attention is currently required from: Hoernchen, fixeria, osmith.
pespin has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/36465?usp=email )
Change subject: doc: Introduce documentation for osmo-trx-ipc and its IPC interface
......................................................................
Patch Set 1:
(4 comments)
File doc/manuals/chapters/ipc_if.adoc:
https://gerrit.osmocom.org/c/osmo-trx/+/36465/comment/ee2d1a91_f8030a4a
PS1, Line 16: different
> "various"?
Done
https://gerrit.osmocom.org/c/osmo-trx/+/36465/comment/8bd181d0_63014053
PS1, Line 28: * _Channel_ UD socket: One for
: each channel man
> is this going to be rendered as a single line?
Yes, but I fixed it anyway.
https://gerrit.osmocom.org/c/osmo-trx/+/36465/comment/45c4b313_8d16833a
PS1, Line 94: `!0` on error
> `!= 0`?
To me "!0" is more easily readable here, since it's not really a comparison operator, just negating it.
File doc/manuals/chapters/trx-backends.adoc:
https://gerrit.osmocom.org/c/osmo-trx/+/36465/comment/602bd805_a8ace44a
PS1, Line 126: and also
> line break
Done
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/36465?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: Id6863731f9398720030b16efaaf559e05f2444ed
Gerrit-Change-Number: 36465
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 26 Mar 2024 20:34:45 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: No
Comment-In-Reply-To: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-MessageType: comment
Attention is currently required from: Hoernchen, osmith, pespin.
fixeria has posted comments on this change. ( https://gerrit.osmocom.org/c/osmo-trx/+/36465?usp=email )
Change subject: doc: Introduce documentation for osmo-trx-ipc and its IPC interface
......................................................................
Patch Set 1: Code-Review+1
(4 comments)
File doc/manuals/chapters/ipc_if.adoc:
https://gerrit.osmocom.org/c/osmo-trx/+/36465/comment/9ae8b421_09830b67
PS1, Line 16: different
"various"?
https://gerrit.osmocom.org/c/osmo-trx/+/36465/comment/765a48cc_b98981cb
PS1, Line 28: * _Channel_ UD socket: One for
: each channel man
is this going to be rendered as a single line?
https://gerrit.osmocom.org/c/osmo-trx/+/36465/comment/bcefcc65_e2a089e9
PS1, Line 94: `!0` on error
`!= 0`?
File doc/manuals/chapters/trx-backends.adoc:
https://gerrit.osmocom.org/c/osmo-trx/+/36465/comment/aefb6b37_ae980b65
PS1, Line 126: and also
line break
--
To view, visit https://gerrit.osmocom.org/c/osmo-trx/+/36465?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings
Gerrit-Project: osmo-trx
Gerrit-Branch: master
Gerrit-Change-Id: Id6863731f9398720030b16efaaf559e05f2444ed
Gerrit-Change-Number: 36465
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: Hoernchen <ewild(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 26 Mar 2024 18:45:12 +0000
Gerrit-HasComments: Yes
Gerrit-Has-Labels: Yes
Gerrit-MessageType: comment