This testcase triggers a bug in the BSSMAP reset logic that tricks
the MSC into a deadlock situation. The bug can only be triggered on
a freshly started MSC, otherwise the testcase will not have any
effect at all. That's why it its important that this is the first
testcase to be executed. If the IUT (MSC) is still affected by the
bug. It will enter the deadlog situation and all subsequent testcases
should fail until the IUT (MSC) is restarted. The matching real-life
scenario would be that the MSC restarts. The BSC is not informed by
the restart, so it continues to make connections (which fail) until
it notices that the MSC was down and the execution of a BSSMAP reset
procedure is required.
See also Gerrit Change Id:
I3fdcec5dbeaa0e21fd6a92568a623faa368239be
Closes: OS#4120
Change-Id: I1d7575e5bec9edabcc832c754d19dc5ba489861a
Since the I662294fe3136cf7a259be13816a3e63f7db9a948, OsmoBTS
should pass RACH requests with ToA > -2 symbol periods only.
We do allow early signal arrival up to 2 symbols, otherwise
it is most likely noise, interference or a ghost.
Change-Id: Icccc88545ed3aabd6da28a40599a8a77d1de477d
This code had been intended to be used, but commented out, and
never really been completed or tested.
Change-Id: Iaa573219548f2a6a2eb13408fec65c55f9e88ddb
If we have T.timeout clause in an alt/altstep, we should put
[T.running] as guard expression to avoid warnings about matching
on timers never started - at least for timers where this is a valid
situation.
Change-Id: I96db5c288e0b9c47539cccab8ae7a886d0b9fff3
Don't exit too early: After sending ISD.resp we still need to wait
for the UL.res from the HLR before continuing processing.
Change-Id: Iab42a397cbca83b86fc8a6b26ae2d66abb81c187
Set default -j to 8: even on a machine with less cores, using -j8 isn't really
going to slow down the build. On a machine with eight cores, -j8 is going to
speed up significantly.
By using '?=', allow passing a different -jN as PARALLEL_MAKE from the
enviroment.
Change-Id: Idf6a5505742b30d3cb8b80ae98b4e2ad4a4a38e7
To trigger the segfault described in OS#2947, run TC_lu_imsi_auth_tmsi_encr_3_1
with logging category for MSC to set to debug.
Change-Id: I72a1dbb30e0a39dbf4b81c7e378d5607b62e10d3
This is a variation on TC_lu_imsi_auth_tmsi_encr_3_1 that "indicates" inability
of A5/3 by completely omitting a Classmark2.
Add flag send_cm_update to f_tc_lu_imsi_auth_tmsi_encr_3_1() so that we can
easily omit the classmark update. Set this flag to true in existing
TC_lu_imsi_auth_tmsi_encr_3_1, and add pass false from the new test.
Change-Id: I903136d5acbd88f2e0e26fee22e3878258e04786
Previously, f_start_handler() would initialize the BSC_ConnHdlrPars instance,
making it impossible to change those parameters before the test function was
invoked.
Add separate f_init_pars() function that sets the default parameters.
Change f_start_handler() to take a BSC_ConnHdlrPars argument; i.e. that
f_init_pars() can be called first, the parameters can then be modified and
finally fed into f_start_handler().
Change-Id: I46de36a032c2473025d0eb01e5909dbcdaf394f7
By moving to the BSC_ConnHdlrPars, also the tests that expect a LU failure able
to indicate a send_cm_update flag.
All current callers of f_perform_lu() pass send_early_cm as 'true', all are
covered by a default of 'true'.
Change-Id: Ic882293f199a33133a171bff14ff433f99cc8576
We permit other subscriber data that's not the MSISDN, but we require
the MSISDN be somewhere within the IEs of the ISD_REQ
Change-Id: Ic63cd5c9a5e9ed46c70f7d7869b4ece281b97e44
This tests whether the HLR is sending an InsertSubscriberData to the VLR
of an active/registered subscriber after the MSISDN is updated in the
HLR.
Change-Id: I597a3c2d49aa6fa65007304105363a3e99fa4ae9
Related: OS#2785
The altstep as_handover does not exit as each of its branches is
equipped with a repeat statement on the end. This trapps us in
an endless loop.
- remove the repeat statement at the last logical step which is
at the RSL_REL_REQ.
Change-Id: I8cb57a9fef606f459542708206f5ea4de1def7a1
Currently we use isbound() in f_start_handler() to check if the BTS
which we want to connect is indeed populated. However. isbound()
seems never become true in this particular situation.
- Use isvalue() instead of isbound()
Change-Id: I25ddd55b7626087570311999b85ec7632b162c06
The existing BTS testing code was based on a ~1 week old version
of trxcon+fake_trx from osmocom-bb.git fixeria/trx branch, which
has meanwhile evolved:
* port number change for TRX protocol
* FAKE_TIMING -> FAKE_TOA
* we can now expect responses to our UDP control commands
Let's adapt the testsuite to those changes
Change-Id: I6d0122202e5d23308421e76b75e608d206aab56e
When the test component ends and the underlaying
components are shut down. Messages from the system
under test may still be picked up and forwared. When
a message is handed from one component to one that
is already shut down, the testcase is flagged as
errornous setverdict(error).
An idea to fix thisis to stop all test ports using
all port.stop. However, this does not solve the
problem entirely. We still observing errors.
- add f_shutdown_helper() and call it from the
end of each testcase
- perform an all port.stop; in f_shutdown_helper()
to freeze all communications between the ports
of the different components.
Change-Id: Id3bc840c0428d08dfbeedacc408b3dd1cd0fa7ec
this adds a new test that uses VTY to enable TOA256 support in
the uplink supplementary measurement and then tests TCH/H measurement
reports
Change-Id: Id39a71429596d46289a82e539796308816ad86f3
as fake_trx keeps running during the entire test suite run, and
the protocol being UDP based, it doesn't know when BTS_Test will
re-start and hence the old TA/FAKE_TIMING value will remain until
it is set.
Let's explicitly set a FAKE_TIMING of two bits at start-up of each
test case during f_init()
Change-Id: I9f07768346e0d68a4dbe36780e36b799d27a7f06
TITAN will print warnings if a still-running timer is res-started.
It will also warn if a not-started timer is stopped, so we need
a conditional stop + start if we want to avoid any warnings in a
convenient way.
Change-Id: Iee83b4905cce3a84eb007ffd189b55f4b54f7cb6
As L1CTL is using a stream socket, we need to give the UNIX_DOMAIN
port some clue as to where our L1CTL message boundaries are in the
stream.
This requires a patched UNIX_DOMAIN_SOCKETasp test port with the
following commit applied:
commit 655cb4ab2ac006b3a73d1b679c83081d9743410a
Author: Harald Welte <laforge@gnumonks.org>
Date: Sun Feb 25 23:25:46 2018 +0100
Add "getMsgLen" function similar to IPL4asp_PT
Change-Id: Iab33f57cb4311180e521a76307a552d16287b062
This imports those tests from ../sysinfo/Tests.ttcn which deal with
the scheduling of SI, not with the actual payload/correctness of their
contents. (the latter tests must move to the BSC test suite, as the BTS
is only concerned with scheduling the opaque SI blocks as received from
the BSC).
Change-Id: I65f4b91e81174717a0c484ba5c22bede68683ae1