Fix: Only run pcscd with "--diable-polkit" if supported
For example, if bankd tests run on Debian Bookwork, pcscd does not have the "--disable-polkit" option. This option is not required, because it does not support Polit anyway.
Only add "--disable-polkit" to the command line if supported by pcscd.
Fix bankd connection at RemsimClient_Tests.TC_bank_disconnect_reconnect
After each connection (initial connection and reconnect), the test must wait for the bankd connection to be fully established. Previously the IPA/RSPRO emulation failed, because the socket was closed before sending the acknowledgemen, leading to a 'Broken pipe' error.
Access to pcscd was denied, so that bankd never conneced to the reader. This caused TC_createMapping_exchangeTPDU to fail, because it requires connection to virtual smart card for this test
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.
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.