laforge has submitted this change. ( https://gerrit.osmocom.org/c/gapk/+/42134?usp=email )
Change subject: libgsmhr/fetch_sources: fix download from 3gpp.org
......................................................................
libgsmhr/fetch_sources: fix download from 3gpp.org
Fix that the script gets a 403 forbidden error since 2026-01-26. Set a
user-agent string and switch the protocol to https while at it.
Change-Id: I5679bc519e7891e3342d8e78c11bf5eb6b44a217
---
M libgsmhr/fetch_sources.py
1 file changed, 4 insertions(+), 2 deletions(-)
Approvals:
Jenkins Builder: Verified
laforge: Looks good to me, approved
fixeria: Looks good to me, but someone else must approve
diff --git a/libgsmhr/fetch_sources.py b/libgsmhr/fetch_sources.py
index 178125c..a7b185a 100755
--- a/libgsmhr/fetch_sources.py
+++ b/libgsmhr/fetch_sources.py
@@ -8,7 +8,8 @@
import zipfile
-URL = "http://www.3gpp.org/ftp/Specs/archive/06_series/06.06/0606-421.zip"
+URL = "https://www.3gpp.org/ftp/Specs/archive/06_series/06.06/0606-421.zip"
+USER_AGENT = "fetch_sources.py"
def get_zipfile(data: bytes) -> zipfile.ZipFile:
@@ -45,7 +46,8 @@
# Get the original data
log.info('Requesting file: %s', URL)
- with urllib.request.urlopen(URL) as response:
+ request = urllib.request.Request(URL, headers={"User-Agent": USER_AGENT})
+ with urllib.request.urlopen(request) as response:
log.debug('Response code: %d', response.code)
assert response.code == 200
--
To view, visit https://gerrit.osmocom.org/c/gapk/+/42134?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: gapk
Gerrit-Branch: master
Gerrit-Change-Id: I5679bc519e7891e3342d8e78c11bf5eb6b44a217
Gerrit-Change-Number: 42134
Gerrit-PatchSet: 2
Gerrit-Owner: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: laforge <laforge(a)osmocom.org>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>
daniel has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42135?usp=email )
Change subject: Fix/change TC_tcap_loadshare_ipa_tcap_udts()
......................................................................
Fix/change TC_tcap_loadshare_ipa_tcap_udts()
The behaviour changed to not reject tcap messages outside of any valid
route. Change the test expectation that these messages are indeed
forwarded.
Change-Id: Ibffa98702fd6eb276410630ab525d986fa0f36e0
---
M stp/STP_Tests_TCAP.ttcn
1 file changed, 11 insertions(+), 21 deletions(-)
git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/35/42135/1
diff --git a/stp/STP_Tests_TCAP.ttcn b/stp/STP_Tests_TCAP.ttcn
index fe29950..8efc1c8 100644
--- a/stp/STP_Tests_TCAP.ttcn
+++ b/stp/STP_Tests_TCAP.ttcn
@@ -636,12 +636,12 @@
setverdict(pass);
}
-/* Test if UDTS is sent back when sending a TCAP messages with a OTID not valid
+/* Test if TCAP message is routed with an OTID not in any tcap range
*
* node a: 0..99
* node b: 100..199
*/
-testcase TC_tcap_loadshare_ipa_tcap_udts() runs on TCAP_CT {
+testcase TC_tcap_loadshare_ipa_tcap_norange() runs on TCAP_CT {
var template (value) IPA_EXT_TCAP_ROUTING_Message tcap_rt_msg;
var Misc_Helpers.ro_charstring tcap_asps := { "asp-m3ua-loadshare-0-0",
"asp-m3ua-loadshare-0-1",
@@ -649,6 +649,7 @@
"asp-ipa-loadshare-0-1" };
var TCAP_CT_Configurations tcap_configs := tcap_build_configs(tcap_asps);
var template (value) TCMessage tcap_msg;
+ var OCT4 otid := int2oct(250, 4);
timer T := 5.0;
f_init_tcap(tcap_configs);
@@ -657,26 +658,15 @@
/* send a TCAP message with oTID 250 (no range available) */
-
/* TCAP Being: O -> T */
- tcap_msg := ts_TCAP_Begin(int2oct(250, 4));
- f_asp_tx_tcap(tcap_msg, 0);
+ tcap_msg := ts_TCAP_Begin(otid);
+ /* TODO: Get the asp_idx of the received message to verify related
+ * messages are routed to the same ASP */
+ f_asp_tx_tcap_exp_any(tcap_msg, 0);
- var template (present) TCAP_N_NOTICE_ind exp_sccp_notice_ind :=
- tr_TCAP_N_NOTICE_ind(g_tcap[0].sccp_addr_own,
- g_tcap[0].sccp_addr_peer,
- *,
- tcap_msg);
- T.start;
- alt {
- [] any from SCCP_TCAP.receive(exp_sccp_notice_ind) {
- setverdict(pass);
- }
- [] T.timeout {
- setverdict(fail, __SCOPE__, "(): Timeout waiting for UDTS");
- Misc_Helpers.f_shutdown(__BFILE__, __LINE__);
- }
- }
+ /* The next message should be routed to the same ASP */
+ tcap_msg := ts_TCAP_Continue(otid, int2oct(1234, 4));
+ f_asp_tx_tcap_exp_any(tcap_msg, 0);
setverdict(pass);
}
@@ -700,7 +690,7 @@
execute( TC_tcap_loadshare_ipa_tcap_range_success_pc_ssn() );
execute( TC_tcap_loadshare_ipa_tcap_range_success_pc_ssn2() );
execute( TC_tcap_loadshare_ipa_tcap_range_fail_pc_ssn_overlap() );
- execute( TC_tcap_loadshare_ipa_tcap_udts() );
+ execute( TC_tcap_loadshare_ipa_tcap_norange() );
}
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42135?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: newchange
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Ibffa98702fd6eb276410630ab525d986fa0f36e0
Gerrit-Change-Number: 42135
Gerrit-PatchSet: 1
Gerrit-Owner: daniel <dwillmann(a)sysmocom.de>
pespin has submitted this change. ( https://gerrit.osmocom.org/c/libosmo-pfcp/+/42125?usp=email )
Change subject: Move struct osmo_pfcp_endpoint to pfcp_endpoint_private.h
......................................................................
Move struct osmo_pfcp_endpoint to pfcp_endpoint_private.h
Similar to what we have with pfcp_cp_peer_private.h.
Change-Id: Id3dcd1c2e086d40bbc7060d5e89aed5ee18249e1
---
M include/osmocom/pfcp/Makefile.am
A include/osmocom/pfcp/pfcp_endpoint_private.h
M src/libosmo-pfcp/pfcp_cp_peer.c
M src/libosmo-pfcp/pfcp_endpoint.c
4 files changed, 60 insertions(+), 25 deletions(-)
Approvals:
Jenkins Builder: Verified
pespin: Looks good to me, approved
osmith: Looks good to me, but someone else must approve
laforge: Looks good to me, but someone else must approve
diff --git a/include/osmocom/pfcp/Makefile.am b/include/osmocom/pfcp/Makefile.am
index 21b3aeb..b4a2305 100644
--- a/include/osmocom/pfcp/Makefile.am
+++ b/include/osmocom/pfcp/Makefile.am
@@ -1,4 +1,5 @@
noinst_HEADERS = \
+ pfcp_endpoint_private.h \
pfcp_cp_peer_private.h \
$(NULL)
diff --git a/include/osmocom/pfcp/pfcp_endpoint_private.h b/include/osmocom/pfcp/pfcp_endpoint_private.h
new file mode 100644
index 0000000..2b1b52b
--- /dev/null
+++ b/include/osmocom/pfcp/pfcp_endpoint_private.h
@@ -0,0 +1,57 @@
+/*
+ * (C) 2021-2025 by sysmocom - s.f.m.c. GmbH <info(a)sysmocom.de>
+ * All Rights Reserved.
+ *
+ * Author: Neels Janosch Hofmeyr <nhofmeyr(a)sysmocom.de>
+ *
+ * SPDX-License-Identifier: GPL-2.0+
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 2 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ *
+ */
+
+#pragma once
+
+#include <stdint.h>
+
+#include <osmocom/core/hashtable.h>
+#include <osmocom/core/linuxlist.h>
+#include <osmocom/core/osmo_io.h>
+#include <osmocom/pfcp/pfcp_endpoint.h>
+
+
+/* Send/receive PFCP messages to/from remote PFCP endpoints. */
+struct osmo_pfcp_endpoint {
+ struct osmo_pfcp_endpoint_cfg cfg;
+
+ /* PFCP socket */
+ struct osmo_io_fd *iofd;
+
+ /* The time at which this endpoint last restarted, as seconds since unix epoch. */
+ uint32_t recovery_time_stamp;
+
+ /* State for determining the next sequence number for transmitting a request message */
+ uint32_t seq_nr_state;
+
+ /* All transmitted PFCP Request messages, list of osmo_pfcp_queue_entry.
+ * For a transmitted Request message, wait for a matching Response from a remote peer; if none arrives,
+ * retransmit (see n1 and t1_ms). */
+ struct llist_head sent_requests;
+ DECLARE_HASHTABLE(sent_requests_by_seq_nr, 12);
+ /* All transmitted PFCP Response messages, list of osmo_pfcp_queue_entry.
+ * For a transmitted Response message, keep it in the queue for a fixed amount of time. If the peer retransmits
+ * the original Request, do not dispatch the Request, but respond with the queued message directly. */
+ struct llist_head sent_responses;
+ DECLARE_HASHTABLE(sent_responses_by_seq_nr, 12);
+};
diff --git a/src/libosmo-pfcp/pfcp_cp_peer.c b/src/libosmo-pfcp/pfcp_cp_peer.c
index 403a474..0c29df7 100644
--- a/src/libosmo-pfcp/pfcp_cp_peer.c
+++ b/src/libosmo-pfcp/pfcp_cp_peer.c
@@ -27,7 +27,7 @@
#include <osmocom/core/fsm.h>
#include <osmocom/core/tdef.h>
-#include <osmocom/pfcp/pfcp_endpoint.h>
+#include <osmocom/pfcp/pfcp_endpoint_private.h>
#include <osmocom/pfcp/pfcp_cp_peer_private.h>
#define LOG_CP_PEER(CP_PEER, LOGLEVEL, FMT, ARGS...) \
diff --git a/src/libosmo-pfcp/pfcp_endpoint.c b/src/libosmo-pfcp/pfcp_endpoint.c
index 64ea347..bb7fbf3 100644
--- a/src/libosmo-pfcp/pfcp_endpoint.c
+++ b/src/libosmo-pfcp/pfcp_endpoint.c
@@ -33,32 +33,9 @@
#include <osmocom/core/osmo_io.h>
#include <osmocom/pfcp/pfcp_endpoint.h>
+#include <osmocom/pfcp/pfcp_endpoint_private.h>
#include <osmocom/pfcp/pfcp_msg.h>
-/* Send/receive PFCP messages to/from remote PFCP endpoints. */
-struct osmo_pfcp_endpoint {
- struct osmo_pfcp_endpoint_cfg cfg;
-
- /* PFCP socket */
- struct osmo_io_fd *iofd;
-
- /* The time at which this endpoint last restarted, as seconds since unix epoch. */
- uint32_t recovery_time_stamp;
-
- /* State for determining the next sequence number for transmitting a request message */
- uint32_t seq_nr_state;
-
- /* All transmitted PFCP Request messages, list of osmo_pfcp_queue_entry.
- * For a transmitted Request message, wait for a matching Response from a remote peer; if none arrives,
- * retransmit (see n1 and t1_ms). */
- struct llist_head sent_requests;
- DECLARE_HASHTABLE(sent_requests_by_seq_nr, 12);
- /* All transmitted PFCP Response messages, list of osmo_pfcp_queue_entry.
- * For a transmitted Response message, keep it in the queue for a fixed amount of time. If the peer retransmits
- * the original Request, do not dispatch the Request, but respond with the queued message directly. */
- struct llist_head sent_responses;
- DECLARE_HASHTABLE(sent_responses_by_seq_nr, 12);
-};
/*! Entry of pfcp_endpoint message queue of PFCP messages, for re-transsions. */
struct osmo_pfcp_queue_entry {
--
To view, visit https://gerrit.osmocom.org/c/libosmo-pfcp/+/42125?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: libosmo-pfcp
Gerrit-Branch: master
Gerrit-Change-Id: Id3dcd1c2e086d40bbc7060d5e89aed5ee18249e1
Gerrit-Change-Number: 42125
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(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>
Attention is currently required from: pespin.
osmith has posted comments on this change by pespin. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42132?usp=email )
Change subject: hnbgw: Introduce test TC_pfcp_heartbeat_recovery_timestamp
......................................................................
Patch Set 1: Code-Review+1
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42132?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: comment
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: I3f8098d7a34666961437fecc5100422a5e7436a4
Gerrit-Change-Number: 42132
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Attention: pespin <pespin(a)sysmocom.de>
Gerrit-Comment-Date: Tue, 17 Feb 2026 08:46:13 +0000
Gerrit-HasComments: No
Gerrit-Has-Labels: Yes
pespin has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42128?usp=email )
Change subject: hnbgw: TC_rab_assign_mgcp_to: Allow hnbgw to tear down CN conn at SCCP level
......................................................................
hnbgw: TC_rab_assign_mgcp_to: Allow hnbgw to tear down CN conn at SCCP level
Newer versions of osmo-hnbgw will be tearing down the CN conn at SCCP
level by transmitting an RLSD in this scenario, instead of sending a Iu
RANAP Release Request crafted by the osmo-hnbgw itself.
The HNBGW is expected to forward RANAP messages between UE/HNB and CN,
not to generate them.
Related: SYS#7294
Change-Id: Idb062a072c7403442ce981c6c9caeb7effb86554
---
M hnbgw/HNBGW_Tests.ttcn
1 file changed, 6 insertions(+), 3 deletions(-)
Approvals:
pespin: Looks good to me, approved
fixeria: Looks good to me, but someone else must approve
osmith: Looks good to me, but someone else must approve
Jenkins Builder: Verified
diff --git a/hnbgw/HNBGW_Tests.ttcn b/hnbgw/HNBGW_Tests.ttcn
index f679205..d27a26f 100644
--- a/hnbgw/HNBGW_Tests.ttcn
+++ b/hnbgw/HNBGW_Tests.ttcn
@@ -1230,13 +1230,16 @@
log("Ignoreing CRCX1", mgcp_cmd);
repeat;
}
- [] RAN_CONN.receive(tr_RANAP_IuReleaseRequest(?)) { }
+ [] RAN_CONN.receive(tr_RANAP_IuReleaseRequest(?)) {
+ f_cn_iu_release_procedure();
+ }
+ [] RAN_CONN.receive(tr_MSC_CONN_PRIM_DISC_IND) {
+ RUA.receive(RUA_Disc_Ind:?);
+ }
[] T.timeout {
setverdict(fail, "Timeout waiting for IuRelease");
}
}
-
- f_cn_iu_release_procedure();
}
testcase TC_rab_assign_mgcp_to() runs on test_CT {
--
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/42128?usp=email
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings?usp=email
Gerrit-MessageType: merged
Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-Change-Id: Idb062a072c7403442ce981c6c9caeb7effb86554
Gerrit-Change-Number: 42128
Gerrit-PatchSet: 2
Gerrit-Owner: pespin <pespin(a)sysmocom.de>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: fixeria <vyanitskiy(a)sysmocom.de>
Gerrit-Reviewer: osmith <osmith(a)sysmocom.de>
Gerrit-Reviewer: pespin <pespin(a)sysmocom.de>