Skip to content

Loading builds...

Changes

#4046 (Apr 6, 2026, 2:43:33 PM)

bsc: add TC_chan_act_nack_not_borken

Test that when the BTS NACKs a CHANnel ACTIVation with
RSL_ERR_SERV_OPT_UNAVAIL or RSL_ERR_SERV_OPT_UNIMPL, the BSC:
does NOT mark the lchan as BORKEN.

Change-Id: I000b7b44749380c5af4da42abe37b4ada6e06ee4
Related: osmo-bsc.git Ide3830a697501a0c245a41451302f1e68d553b3c
Related: OS#6324
Vadim Yanitskiy at

#4045 (Apr 6, 2026, 2:43:32 PM)

bsc: verify Cell ID in BSSMAP HandoverPerformed

As per 3GPP TS 48.008 §3.2.1.25, HANDOVER PERFORMED must report the
target cell.  Add an optional cell_id parameter to the template
(defaulting to '?' for backward compatibility) and update the two
intra-BSC handover test helpers to assert that the Cell Identifier
IE carries the target BTS (BTS 1: MCC=001 MNC=01 LAC=1 CI=1).

Also remove the unnecessary interleave wrapper in
f_tc_ho_during_lcs_loc_req(): the two receives arrive on separate
ports (RAN_CONN vs BSSAP_LE) so sequential receive is sufficient.

Change-Id: I82aadcc3a80c183cb93522b829071294b156a218
Related: osmo-bsc.git I4111351dc38fc2dbe844c2bd07b3ecfaaadd864e
Vadim Yanitskiy at

#4044 (Apr 6, 2026, 2:43:32 PM)

library/RSL_Types: improve CHAN_ACTIV templates

Change-Id: I80af30fe9b24b93908876fd8059f45b6e3105406
Vadim Yanitskiy at

#4043 (Apr 2, 2026, 4:32:04 PM)

msc: ASCI: Fix race condition in TC_assign_fail

The f_sleep(0.5) to delay the registration of the PC for the 2nd SCCP
connection sometimes fired too late and we received the VGCS/VBS
Assignment Request before the channel ConnHdlr was registered in
RAN_Emulation.
Then in turn we need to delay call establishment until the channel is
ready.
Implement proper synchronization points to make sure the order of
registers is accomplished while making sure the 2 ConnHdlrs are
registered before they need it.

Change-Id: Id80982b6b968bbe462aeac2b9be646ab50eace83
Pau Espin Pedrol at

#4042 (Apr 2, 2026, 9:02:24 AM)

msc: Fix race condition in TC_reset_two(_1iu)

The test failed sporadically with:
"RAN_Emulation.ttcnpp:600 Dynamic test case error: Sending data on the
connection of port BSSAP to 659:SCCP_SP_PORT failed. (Broken pipe)"

That's because it was simply waiting for a fixed amount of time while
letting the underlaying RAN_Emulation do the RESET procedure.
Sometimes it started tearing down the test before the procedure was
fully completed, and RAN_Emulation failed passing the Reset (ACK) up the
stack because the component was already unmapped.

Fix the issue by making sure the RAN_Emulation finished the RESET
procedure before stopping the testThe test.

Change-Id: I27afd7a47e6c6cf0f70e1ecc9e26dd2c220e72ab
Pau Espin Pedrol at

#4041 (Apr 2, 2026, 8:33:49 AM)

msc: Fix race condition in TC_reset_two(_1iu)

The test failed sporadically with:
"RAN_Emulation.ttcnpp:600 Dynamic test case error: Sending data on the
connection of port BSSAP to 659:SCCP_SP_PORT failed. (Broken pipe)"

That's because it was simply waiting for a fixed amount of time while
letting the underlaying RAN_Emulation do the RESET procedure.
Sometimes it started tearing down the test before the procedure was
fully completed, and RAN_Emulation failed passing the Reset (ACK) up the
stack because the component was already unmapped.

Fix the issue by making sure the RAN_Emulation finished the RESET
procedure before stopping the testThe test.

Change-Id: I27afd7a47e6c6cf0f70e1ecc9e26dd2c220e72ab
Pau Espin Pedrol at

#4040 (Apr 2, 2026, 7:49:14 AM)

msc: ASCI: Fix race condition in TC_assign_fail

The f_sleep(0.5) to delay the registration of the PC for the 2nd SCCP
connection sometimes fired too late and we received the VGCS/VBS
Assignment Request before the channel ConnHdlr was registered in
RAN_Emulation.
Implement proper synchronization points to make sure the order of
registers is accomplished while making sure the 2 ConnHdlrs are
registered before they need it.

Change-Id: Id80982b6b968bbe462aeac2b9be646ab50eace83
Pau Espin Pedrol at

#4039 (Apr 1, 2026, 2:30:42 PM)

stp: m3ua: Expect unsolicited ASPIA ACK after unblocking ASP

Since libosmo-sigtran.git Change-Id
If32902575e874d2acc9a5fc12509af42ed151739, osmo-stp will send an
unsolicited ASPIA ACK to the peer whenever the ASP becomes unblock, in
order to somehow give a chance to the peer to notice something changed
and for instance possibly attempt re-activation of the ASP.

Related: OS#6752
Change-Id: I4b70e576beae3c386d68f17a60d6f23d1a54293a
Pau Espin Pedrol at

#4038 (Apr 1, 2026, 12:03:10 PM)

stp: m3ua: Introduce test TC_adm_block_after_act

Related: libosmo-sigtran.git Change-Id If8e34cfb05b8b63173b8bb01a520c058daf1fe39
Related: OS#6752
Change-Id: I18672d228c1d15ef99039bccbb972e0b2496b545
Pau Espin Pedrol at

#4037 (Mar 30, 2026, 3:31:05 PM)

stp: m3ua: Introduce test TC_adm_block_after_act

Related: OS#6752
Change-Id: I18672d228c1d15ef99039bccbb972e0b2496b545
Pau Espin Pedrol at

#4036 (Mar 30, 2026, 2:46:33 PM)

stp: m3ua: Introduce test TC_adm_block_act_err

Related: OS#6752
Related: libosmo-sigtran.git Change-Id I23851fe05c06b6bf59b902632029a2382231427e
Change-Id: I9869ec2b71a3f6814340e181d67bab4c9266a2f4
Pau Espin Pedrol at

#4035 (Mar 30, 2026, 2:42:32 PM)

stp: m3ua: Introduce test TC_adm_block_act_err

Related: OS#6752
Related: libosmo-sigtran.git Change-Id I23851fe05c06b6bf59b902632029a2382231427e
Change-Id: I9869ec2b71a3f6814340e181d67bab4c9266a2f4
Pau Espin Pedrol at

#4034 (Mar 30, 2026, 2:31:22 PM)

stp: Move NTFY expect to up & act step helper functions

Change-Id: Ia835a5dd54cc37f529ca1c4ff9892d44fe239241
Pau Espin Pedrol at

#4033 (Mar 30, 2026, 10:47:47 AM)

stp: m3ua: Fix incorrect RCTX being sent in TC_combinedlset_loadshare

An ASPAC was being sent containing an RCTX of an unrelated AS to the
sending ASP.
Newer libosmo-sigtran properly validates AS/RCTX is associated to the
ASP in the local config, and hence now returns an error properly making
the test fail.

Change-Id: Id8381a028a919a265ca330ef4f61c76637c168f6
Pau Espin Pedrol at

#4032 (Mar 30, 2026, 8:00:50 AM)

stp: STP_Tests_M3UA_TCP: Introduce tests TC_m3ua_tcp_{cli,srv}_adm_shutdown

Related tests already existed for STP_Tests_M3UA, but we want to
explicitly test against M3UA_TCP since these tests involve the transport
layer directly.

Related: OS#6752
Change-Id: Ia37a0e244895fbb447ef8e71a0980538cc9fd7f8
Pau Espin Pedrol at

#4031 (Mar 30, 2026, 8:00:50 AM)

stp: STP_Tests_IPA: Introduce tests TC_ipa_tcp_{cli,srv}_adm_shutdown

Related tests already exist for M3UA and M3UA_TCP, but were missing for
IPA ASPs.

Change-Id: Ie30de6caa3e2b680aff9e50898e63f615b526500
Related: OS#6752
Pau Espin Pedrol at

#4030 (Mar 27, 2026, 4:55:20 PM)

stp: STP_Tests_M3UA_TCP: Introduce tests TC_m3ua_tcp_{cli,srv}_adm_shutdown

Related tests already existed for STP_Tests_M3UA, but we want to
explicitly test against M3UA_TCP since these tests involve the transport
layer directly.

Related: OS#6752
Change-Id: Ia37a0e244895fbb447ef8e71a0980538cc9fd7f8
Pau Espin Pedrol at

#4029 (Mar 27, 2026, 4:55:20 PM)

stp: STP_Tests_IPA: Introduce tests TC_ipa_tcp_{cli,srv}_adm_shutdown

Related tests already exist for M3UA and M3UA_TCP, but were missing for
IPA ASPs.

Change-Id: Ie30de6caa3e2b680aff9e50898e63f615b526500
Related: OS#6752
Pau Espin Pedrol at

#4028 (Mar 26, 2026, 10:01:48 AM)

pgw: Test v6 and v4v6 PDU session userplane

Change-Id: Idf009b9118db8117c547a1bb0f27afdfa3f03924
Pau Espin Pedrol at

#4027 (Mar 25, 2026, 4:34:36 PM)

GTPv2_Templates: Add enum for PDN Type and use it in pgw testsuite

Change-Id: I9833e998522a09a15b93c8fed0e18a5e8159d760
Pau Espin Pedrol at

#4026 (Mar 25, 2026, 4:34:35 PM)

5gc: Introduce test TC_pdu_sess_est_pco_pcscf

Our deps/nas fork is modified to fix multiple incorrect definitions
around ProtocolContainer record.

Change-Id: Ic7b22ad647bcac944551ac1c29080f895ca72cf8
Pau Espin Pedrol at

#4025 (Mar 25, 2026, 4:34:35 PM)

pgw: Test v6 and v4v6 PDU session userplane

Change-Id: Idf009b9118db8117c547a1bb0f27afdfa3f03924
Pau Espin Pedrol at

#4024 (Mar 25, 2026, 4:34:34 PM)

GTPv1U_Emulation: Rename s/f_gtp1u_ping4/f_gtp1u_ping/

The function can also be (and is) used to ping IPv6 hosts.

Change-Id: I195cb048176aefddcb477083ddc949b86ec592fa
Pau Espin Pedrol at

#4023 (Mar 25, 2026, 12:21:38 PM)

GTPv1U_Emulation: Rename s/f_gtp1u_ping4/f_gtp1u_ping/

The function can also be (and is) used to ping IPv6 hosts.

Change-Id: I195cb048176aefddcb477083ddc949b86ec592fa
Pau Espin Pedrol at

#4022 (Mar 25, 2026, 12:11:23 PM)

GTPv2_Templates: Add enum for PDN Type and use it in pgw testsuite

Change-Id: I9833e998522a09a15b93c8fed0e18a5e8159d760
Pau Espin Pedrol at

#4021 (Mar 24, 2026, 10:05:02 PM)

s1gw: generalize f_TC_e_rab_setup_failure() for N E-RABs

The existing TC only tested PFCP Session Establishment failure with a
single E-RAB.  Generalize f_TC_e_rab_setup_failure() to use g_pars.erabs
throughout, so it works for any num_erabs: E-RAB 0 still triggers the
only PFCP Session Establishment Request (S1GW processes sequentially),
while all E-RABs in the request are expected to appear in the failure
response.

Add TC_e_rab_setup3_failure() which re-uses the same body with
num_erabs := 3, verifying that the S1GW lists all three E-RABs as
failed rather than just the first one.  Also make f_tr_E_RABList()
non-private so it is accessible from S1GW_Tests.ttcn.

Change-Id: I8a5dc338d28013dc85e1ce4b3bdac92cb3b35304
Related: osmo-s1gw.git I7933fceb0edcdfdc95ace35416297b11c83f0bc9
Vadim Yanitskiy at

#4020 (Mar 24, 2026, 10:04:41 PM)

s1gw: generalize f_TC_e_rab_setup_failure() for N E-RABs

The existing TC only tested PFCP Session Establishment failure with a
single E-RAB.  Generalize f_TC_e_rab_setup_failure() to use g_pars.erabs
throughout, so it works for any num_erabs: E-RAB 0 still triggers the
only PFCP Session Establishment Request (S1GW processes sequentially),
while all E-RABs in the request are expected to appear in the failure
response.

Add TC_e_rab_setup3_failure() which re-uses the same body with
num_erabs := 3, verifying that the S1GW lists all three E-RABs as
failed rather than just the first one.  Also make f_tr_E_RABList()
non-private so it is accessible from S1GW_Tests.ttcn.

Change-Id: I8a5dc338d28013dc85e1ce4b3bdac92cb3b35304
Related: osmo-s1gw.git I7933fceb0edcdfdc95ace35416297b11c83f0bc9
Vadim Yanitskiy at

#4019 (Mar 24, 2026, 9:20:35 PM)

s1gw/rest: PfcpAssocInfo: field 'lrts' is mandatory

Change-Id: I332e95a32935e0c8da99e600e8d30af14bd36b16
Related: osmo-s1gw.git Ic766ebc56ce1810fc27cb49ddcac50bc94e539d9
Vadim Yanitskiy at

#4018 (Mar 24, 2026, 9:20:31 PM)

library/PFCP_Emulation: add f_PFCPEM_set_recovery_timestamp()

Companion setter for the existing f_PFCPEM_get_recovery_timestamp().
A follow-up patch uses this to inject a specific Recovery Timestamp
value into the emulation, so the IUT does not detect a spurious PFCP
peer restart between test cases.

Change-Id: If47e06d26b42081a28aacb6e06b5aeabf945362c
Vadim Yanitskiy at

#4017 (Mar 24, 2026, 9:20:30 PM)

s1gw: add more PFCP Heartbeat test cases

TC_pfcp_heartbeat_periodic: verify that the IUT sends periodic PFCP
Heartbeat Requests and that the heartbeat timer re-arms correctly after
each successful response (at least 2 periodic HBs must be observed).

TC_pfcp_heartbeat_miss_threshold: verify that the IUT resets the PFCP
association after mp_pfcp_heartbeat_miss_count consecutive unanswered
Heartbeat Requests (a new Association Setup Request is expected).

TC_pfcp_heartbeat_miss_reset: verify that a successful Heartbeat
Response resets the miss counter; run 2 cycles of missing
(miss_count - 1) HBs then responding to one, expecting no association
reset throughout.

TC_pfcp_heartbeat_rts_mismatch: verify that the IUT detects a UPF
restart when a Heartbeat Response carries a different Recovery Timestamp
than the one observed during Association Setup, and that it promptly
resets and re-establishes the PFCP association.

Also add module parameters for the heartbeat configuration
(mp_pfcp_heartbeat_interval, mp_pfcp_heartbeat_req_timeout,
mp_pfcp_heartbeat_miss_count) and update osmo-s1gw.config accordingly.

Change-Id: Ie5ac25b1ca4bb11e61bff220449397c271b11464
Related: osmo-s1gw.git Iba954746fe20e6b9eeaec3196e1f83e3fc3e7fc2
Related: osmo-s1gw.git I306324f8eca325202a3fa23125854db9d5eaab38
Related: osmo-s1gw.git I00a8384db1ea9c38d0ad9ff90b3d45ad86c3a020
Vadim Yanitskiy at

#4016 (Mar 24, 2026, 9:20:23 PM)

s1gw: f_ConnHdlr_pfcp_assoc_handler(): handle already-connected case

Previously, f_pfcp_assoc() would skip spawning a connection handler
entirely if the IUT was already PFCP-associated.  This was fine for
tests that only need an association to be present, but upcoming PFCP
Heartbeat test cases need the emulation's Recovery Timestamp to be
synced with what the IUT has stored, even when re-using an existing
association.

Move the state check into f_ConnHdlr_pfcp_assoc_handler(): if the
IUT is already connected, sync PFCPEM's Recovery Timestamp to the
value the IUT remembers (rrts); otherwise perform the full Association
Setup as before.  Remove the now-redundant g_pfcp_assoc component
variable from test_CT - it's not accessible by ConnHdlr(s) anyway.

Change-Id: Id9d2ebb1ddb3d3896dd24e2a37e9d21335441d52
Vadim Yanitskiy at

#4015 (Mar 24, 2026, 9:20:18 PM)

s1gw: TC_pfcp_heartbeat: validate RTS in Heartbeat Response

The test case had a TODO noting that the Recovery Timestamp in the
Heartbeat Response was not yet validated.  Let's get this resolved:
query the IUT's PFCP association state via REST to obtain its local
Recovery Timestamp (lrts), and verify that the IUT echoes back that
same value in the Heartbeat Response.

Change-Id: I000cc82e7582baded96a33cb0da2103906972ff9
Vadim Yanitskiy at

#4014 (Mar 24, 2026, 4:49:23 PM)

5gc: Introduce test TC_pdu_sess_est_pco_pcscf

Our deps/nas fork is modified to fix multiple incorrect definitions
around ProtocolContainer record.

Change-Id: Ic7b22ad647bcac944551ac1c29080f895ca72cf8
Pau Espin Pedrol at

#4013 (Mar 24, 2026, 4:49:23 PM)

5gc: Introduce test TC_pdu_sess_est_always_on

This feature is right now not implemented in open5gs and hence the test
is expected to fail, since it returns no AlwaysOn Indication in PDU
Session Establishment Accept.

Change-Id: I282e0c8072172fa633bf82ed6b9492b0bb4362cc
Pau Espin Pedrol at

#4012 (Mar 24, 2026, 4:49:23 PM)

5gc: Remove arleady tested TODO

PDU Sess Est Req with emeregency services is already tested in test
TC_normal_reg_emergency_services.

Change-Id: I5e2d202ffd019b22a006637534922e0ba1d09ca0
Pau Espin Pedrol at

#4011 (Mar 24, 2026, 11:54:34 AM)

5gc: Remove arleady tested TODO

PDU Sess Est Req with emeregency services is already tested in test
TC_normal_reg_emergency_services.

Change-Id: I5e2d202ffd019b22a006637534922e0ba1d09ca0
Pau Espin Pedrol at

#4010 (Mar 24, 2026, 11:53:33 AM)

5gc: Introduce test TC_pdu_sess_est_always_on

This feature is right now not implemented in open5gs and hence the test
is expected to fail, since it returns no AlwaysOn Indication in PDU
Session Establishment Accept.

Change-Id: I282e0c8072172fa633bf82ed6b9492b0bb4362cc
Pau Espin Pedrol at

#4009 (Mar 24, 2026, 11:32:08 AM)

5gc: Introduce tests TC_ng_register_ping46(_256)

Depends: osmo-uecups.git Change-Id Ic2da7a761a8df7e006fc02ca6557a48f371e4151
Change-Id: I9cb250f07ac356b7345a570ed71590f041168ed2
Pau Espin Pedrol at

#4008 (Mar 24, 2026, 11:32:08 AM)

5gc: Introduce tests TC_ng_register_ping6(_256)

Change-Id: Iedf3697265b91bdda85e8d32402345ea8d58dc9f
Pau Espin Pedrol at

#4007 (Mar 24, 2026, 11:32:05 AM)

GTPv1U_Emulation: Clear entries from PidTable upon rx CUPS program_term_ind

Otherwise it will evnetually run out of entries if enough commands are
called sequentially.

Change-Id: I7be2639761726c09e4ea6f75c57d8414c5dbf128
Pau Espin Pedrol at

#4005 (Mar 24, 2026, 10:20:37 AM)

5gc: Introduce tests TC_ng_register_ping46(_256)

Depends: osmo-uecups.git Change-Id Ic2da7a761a8df7e006fc02ca6557a48f371e4151
Change-Id: I9cb250f07ac356b7345a570ed71590f041168ed2
Pau Espin Pedrol at

#4004 (Mar 24, 2026, 9:48:25 AM)

5gc: Introduce tests TC_ng_register_ping46(_256)

Depends: osmo-uecups.git Change-Id Ic2da7a761a8df7e006fc02ca6557a48f371e4151
Change-Id: I9cb250f07ac356b7345a570ed71590f041168ed2
Pau Espin Pedrol at

#4003 (Mar 24, 2026, 9:48:24 AM)

5gc: Introduce tests TC_ng_register_ping6(_256)

Change-Id: Iedf3697265b91bdda85e8d32402345ea8d58dc9f
Pau Espin Pedrol at

#4002 (Mar 24, 2026, 9:48:24 AM)

GTPv1U_Emulation: Clear entries from PidTable upon rx CUPS program_term_ind

Otherwise it will evnetually run out of entries if enough commands are
called sequentially.

Change-Id: I7be2639761726c09e4ea6f75c57d8414c5dbf128
Pau Espin Pedrol at

#4001 (Mar 24, 2026, 9:26:45 AM)

5gc: Introduce tests TC_ng_register_ping46(_256)

Depends: osmo-uecups.git Change-Id Ic2da7a761a8df7e006fc02ca6557a48f371e4151
Change-Id: I9cb250f07ac356b7345a570ed71590f041168ed2
Pau Espin Pedrol at

#4000 (Mar 24, 2026, 9:26:33 AM)

5gc: Introduce tests TC_ng_register_ping6(_256)

Change-Id: Iedf3697265b91bdda85e8d32402345ea8d58dc9f
Pau Espin Pedrol at

#3999 (Mar 24, 2026, 9:26:15 AM)

GTPv1U_Emulation: Clear entries from PidTable upon rx CUPS program_term_ind

Otherwise it will evnetually run out of entries if enough commands are
called sequentially.

Change-Id: I7be2639761726c09e4ea6f75c57d8414c5dbf128
Pau Espin Pedrol at

#3998 (Mar 24, 2026, 9:24:35 AM)

GTPv1U_Emulation: Support IPv6 SLAAC with osmo-uecups

Depends: osmo-uecups.git Change-Id I917b5c70f143d48b55b4e270e24594d1a36f71aa
Change-Id: Ic368383ea65161297e57a298a12c7b4adc927142
Pau Espin Pedrol at

#3997 (Mar 23, 2026, 4:52:07 PM)

General_types.ttcn: Introduce type OCT4_20n

This is useful to store EUAs of type v4,v6 or v4v6.

Change-Id: I00a35c444e3fb498712fbb4b9c310375c527052f
Pau Espin Pedrol at

#3996 (Mar 23, 2026, 4:52:06 PM)

5gc: Introduce tests TC_ng_register_ping46(_256)

Depends: osmo-uecups.git Change-Id Ic2da7a761a8df7e006fc02ca6557a48f371e4151
Change-Id: I9cb250f07ac356b7345a570ed71590f041168ed2
Pau Espin Pedrol at

#3995 (Mar 23, 2026, 4:52:06 PM)

5gc: Introduce tests TC_ng_register_ping6(_256)

Change-Id: Iedf3697265b91bdda85e8d32402345ea8d58dc9f
Pau Espin Pedrol at

#3994 (Mar 23, 2026, 4:52:06 PM)

GTPv1U_Emulation: Clear entries from PidTable upon rx CUPS program_term_ind

Otherwise it will evnetually run out of entries if enough commands are
called sequentially.

Change-Id: I7be2639761726c09e4ea6f75c57d8414c5dbf128
Pau Espin Pedrol at

#3993 (Mar 23, 2026, 4:52:06 PM)

GTPv1U_Emulation: Support IPv6 SLAAC with osmo-uecups

Depends: osmo-uecups.git Change-Id I917b5c70f143d48b55b4e270e24594d1a36f71aa
Change-Id: Ic368383ea65161297e57a298a12c7b4adc927142
Pau Espin Pedrol at

#3992 (Mar 20, 2026, 3:43:28 PM)

5gc: Introduce tests TC_ng_register_ping6(_256)

Change-Id: Iedf3697265b91bdda85e8d32402345ea8d58dc9f
Pau Espin Pedrol at

#3991 (Mar 20, 2026, 3:42:52 PM)

5gc: Introduce tests TC_ng_register_ping6(_256)

Change-Id: Iedf3697265b91bdda85e8d32402345ea8d58dc9f
Pau Espin Pedrol at

#3990 (Mar 20, 2026, 3:42:52 PM)

GTPv1U_Emulation: Support IPv6 SLAAC with osmo-uecups

Depends: osmo-uecups.git Change-Id I917b5c70f143d48b55b4e270e24594d1a36f71aa
Change-Id: Ic368383ea65161297e57a298a12c7b4adc927142
Pau Espin Pedrol at

#3989 (Mar 18, 2026, 11:24:21 PM)

library/HTTP_Adapter: clarify response template restriction

Change-Id: I1a5ee842c30de9ec22d9e375f6b1b24b3eaee1e0
Vadim Yanitskiy at

#3988 (Mar 18, 2026, 11:24:21 PM)

library/HTTP_Adapter: bail out early on failure

Replace `self.stop` with `Misc_Helpers.f_shutdown()`, and add it after
existing `setverdict(fail, ...)` calls that previously fell through.

In all these cases there is no meaningful way to continue: the caller
of these functions usually expects a valid value to be returned, and
continuing (not stopping) oftentimes results in confusing DTEs.

Change-Id: I229028d551d5cf9651e6e65314cd40f414bfe235
Vadim Yanitskiy at

#3987 (Mar 18, 2026, 11:24:16 PM)

s1gw: f_REST_*(): use tr_HTTP_RespBody(decmatch T:?)

Pass `exp := tr_HTTP_RespBody(decmatch T:?)` to f_http_transact() in
every REST helper that decodes the response body.  This ensures both
a 2xx status code and a decodable body are required before any decode
attempt is made, producing an informative "Unexpected HTTP response"
verdict (rather than a confusing DTE) when e.g. an older osmo-s1gw
returns HTTP 404 with an empty body for an unsupported endpoint.

Change-Id: I6997dae5314d4a4588386183832426ab5b8d0843
Vadim Yanitskiy at

#3986 (Mar 18, 2026, 3:14:19 PM)

eIM_Tests: align RSP version number in HTTP header

The RSP version number in the x-admin-protocol header string should
be set to v.2.1.0 (gsma/rsp/v2.1.0), even though the ASN.1 spec we
currently use is at version 2.5.

This is to maintain compatibility with older IPAd versions and also
stated explicitly in GSMA SGP.32 V2.1, section 6.1.

Change-Id: I125c3b13697c71d35788e54b7d88a9f943bb7a71
Related: SYS#7945
pmaier@sysmocom.de at

#3985 (Mar 18, 2026, 9:58:46 AM)

SCCP_Adapter: Fix typo in setverdict string

Change-Id: I8924bf646b5c45e71746d3e76cf6aa3aa3fb674c
Pau Espin Pedrol at

#3984 (Mar 18, 2026, 9:58:46 AM)

5gc: Update mobility procedure status

There's no procedure to do direct mobility between GERAN/UTRAN and 5GS
according to spec, and IP preservation is not supported either through
indirect mobility GERAN/UTRAN<->EUTRAN<->5GS.

Regarding 3GPP TS 23.502 Annex G, open5gs-smfd supports Gn interface but
only when working against a 4G MME, not through 5GS (PCF and AMF).

Related specs:
*3GPP TS 23.501:
** 5.17.2.4 Mobility between 5GS and GERAN/UTRAN
** Annex L (normative): Support of GERAN/UTRAN access
* 3GPP TS 23.502 4.11.5 Impacts to 5GC Procedures
* 3GPP TS 23.632 5.3 5GC-EPC Mobility Scenarios

Change-Id: I6bb8672fbd553a1a2a51b97a8360658afa0fddff
Pau Espin Pedrol at

#3983 (Mar 18, 2026, 9:58:46 AM)

5gc: f_pdu_sess_establish(): Pass pdu sess type as param

Change-Id: I86680b0a2f5ddb27ecbebd5639199d2f77d397f6
Pau Espin Pedrol at

#3982 (Mar 17, 2026, 4:21:02 PM)

5gc: f_pdu_sess_establish(): Pass pdu sess type as param

Change-Id: I86680b0a2f5ddb27ecbebd5639199d2f77d397f6
Pau Espin Pedrol at

#3981 (Mar 17, 2026, 12:31:33 PM)

5gc: Update mobility procedure status

There's no procedure to do direct mobility between GERAN/UTRAN and 5GS
according to spec, and IP preservation is not supported either through
indirect mobility GERAN/UTRAN<->EUTRAN<->5GS.

Regarding 3GPP TS 23.502 Annex G, open5gs-smfd supports Gn interface but
only when working against a 4G MME, not through 5GS (PCF and AMF).

Related specs:
*3GPP TS 23.501:
** 5.17.2.4 Mobility between 5GS and GERAN/UTRAN
** Annex L (normative): Support of GERAN/UTRAN access
* 3GPP TS 23.502 4.11.5 Impacts to 5GC Procedures
* 3GPP TS 23.632 5.3 5GC-EPC Mobility Scenarios

Change-Id: I6bb8672fbd553a1a2a51b97a8360658afa0fddff
Pau Espin Pedrol at