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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.