Skip to content

Loading builds...

Changes

#148 (Apr 9, 2026, 1:00:00 PM)

library/RSL_Types: improve CHAN_ACTIV templates

Change-Id: I80af30fe9b24b93908876fd8059f45b6e3105406
Vadim Yanitskiy at
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
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

#143 (Apr 4, 2026, 1:00:00 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

#141 (Apr 2, 2026, 1:00:00 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
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

#140 (Apr 1, 2026, 1:00:00 PM)

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

Change-Id: Ia835a5dd54cc37f529ca1c4ff9892d44fe239241
Pau Espin Pedrol at
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
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

#138 (Mar 30, 2026, 1:00:00 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
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
pgw: Test v6 and v4v6 PDU session userplane

Change-Id: Idf009b9118db8117c547a1bb0f27afdfa3f03924
Pau Espin Pedrol at
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

#134 (Mar 26, 2026, 1:00:00 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
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
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
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
GTPv2_Templates: Add enum for PDN Type and use it in pgw testsuite

Change-Id: I9833e998522a09a15b93c8fed0e18a5e8159d760
Pau Espin Pedrol at
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

#132 (Mar 24, 2026, 1:00:00 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
GTPv1U_Emulation: Support IPv6 SLAAC with osmo-uecups

Depends: osmo-uecups.git Change-Id I917b5c70f143d48b55b4e270e24594d1a36f71aa
Change-Id: Ic368383ea65161297e57a298a12c7b4adc927142
Pau Espin Pedrol at
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
5gc: Introduce tests TC_ng_register_ping6(_256)

Change-Id: Iedf3697265b91bdda85e8d32402345ea8d58dc9f
Pau Espin Pedrol at
5gc: Introduce tests TC_ng_register_ping46(_256)

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

#129 (Mar 21, 2026, 1:00:00 PM)

library/HTTP_Adapter: clarify response template restriction

Change-Id: I1a5ee842c30de9ec22d9e375f6b1b24b3eaee1e0
Vadim Yanitskiy at
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
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
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
laforge at