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.
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.
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.
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.
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.
msc: CC SETUP MT speech: verify bearer capabilities
Verify that the MSC sends the bearer capability IE from 3GPP TS 24.008 § D.1.2 for speech in the network to MS direction, instead of allowing e.g. what osmo-msc master and latest release currently do:
- Filling out radio channel requirement the same way as the MS to Network direction, which is wrong for the Network to MS direction: "Bits 6 and 7 are spare bits. The sending side (i.e. the network) shall set bit 7 to value 0 and bit 6 to value 1." (3GPP TS 24.008 Table 10.5.102)
- Sending a speech list in the Network to MS direction, which seems to be allowed in theory and MS are supposed to ignore it (end of Table 10.5.103) but causes bugs in some MS in practice. Therefore it is better to ensure that osmo-msc does not send it (OS#6656).
Implement this in f_mt_call_complete(), which gets used e.g. by TC_lu_and_mt_call.