Commit Graph

704 Commits

Author SHA1 Message Date
Harald Welte 370527372d L1CTL: Add f_L1CTL_PARAM for timing advance + tx power control
Change-Id: I30051804ae9cc62b5ad8c8a11a53d96489b8a52f
2018-03-12 14:29:14 +00:00
Harald Welte 3778acc5d5 BTS_Tests: Fix SI L2 pseudo-length and rest octets
Now the cell is actually recognized by phones

Change-Id: I76b5b178b6884241cfa9b86550aac4865419ef76
2018-03-12 14:28:55 +00:00
Harald Welte f8e7f135d6 L1CTL: Fix passing 'combined' and 'offset' from f_L1CTL_RACH()
The function didn't pass its arguments down into the actual L1CTL
port and instead provided '0' into t_L1CTL_RACH_REQ

Change-Id: I5af9654e1fd903420b0dfe7f2db0a6572803d9ef
2018-03-12 14:28:49 +00:00
Harald Welte 8fe9eba3eb L1CTL: Try FBSB up to 10 times in f_L1CTL_FBSB()
For some reason, even with a perfectly valid/strong signal, the FBSB
task sometimes fails in the firmware.  Let's wrap a loop around
it and try up to 10 times before failing the test.

Change-Id: I2262278dcd7e2f0cf4d293e0549527866522bece
2018-03-12 14:28:41 +00:00
Harald Welte 344c0cf6cf L1CTL_Types: Fix bit-ordering in FBSB_REQ
Change-Id: Idbfdf1e855489c37a7212573ef51bd7fc63f24f7
2018-03-12 14:26:54 +00:00
Harald Welte 439e546539 RLCMAC_EncDec: Fix handling of optional LlcBlockHdr
Whenever the OPTIONAL<> construct is used for a member of a record,
we have to add an extra set of parenthsis in order to avoid bogus
"has no RAW decode method" error messages.

It seems the OPTIONAL inherits from Base_Type which will print
"which has no RAW decoding method" from its RAW_decode().

Change-Id: Idfaa11db0e2db4be144800b5bccc44d0515220d7
2018-03-12 14:23:57 +00:00
Harald Welte a35a9ca4d4 pcu: Adapt TC_paging to new code structure
OsmoPCU still doesn't support PAGING-PS, so this test is moot.

Change-Id: I94258c386073b1c11792949df56d643b92eeaefd
2018-03-12 14:23:57 +00:00
Harald Welte a0895f96a9 pcu: Rename 'gprs_gb/Test' tp 'pcu/PCU_Tests' to align with other suites
Change-Id: Ia3350e7e1a9d6715ab81f4a5f413b7e4d728ff60
2018-03-12 14:23:57 +00:00
Harald Welte 54242db850 WIP: pcu testing
Change-Id: Iee66d4a2eab520dfc115ffeb16ab6413e4057973
2018-03-12 14:23:57 +00:00
Harald Welte 060e27a476 gprs_gb: working UL TBF with segmentation
Change-Id: I0f93246f02e1bee2e1e9db62af5e1e3559c415e9
2018-03-12 14:23:57 +00:00
Harald Welte 7024baa66c gprs_gb: working Uplink PACKET_CONTROL_ACK against OsmoPCU
Change-Id: I2c7d0eb9371911e28f328caeaed63cb8ec311ac1
2018-03-12 14:23:57 +00:00
Neels Hofmeyr fd445c34fe bsc: add TC_ms_rel_ind_does_not_cause_bssmap_reset
bsc: add TC_bssmap_clear_does_not_cause_bssmap_reset(), but the same triggered
by an MS Rel Ind and a BSSMAP Clear Request sent to the MSC first.

This test will only succeed once TC_chan_rel_rll_rel_ind() succeeds, i.e. with
below osmo-bsc fix.

Related: OS#3041
Depends: I0f8c9c4e6b6850b15c70250fd3f88bdf75f9accf (osmo-bsc)
Change-Id: Ie4aa2f01c83b40303fa40ed64dbfce372b7cd96c
2018-03-12 04:43:16 +01:00
Neels Hofmeyr 27f643639e bsc: TC_chan_rel_rll_rel_ind: expect full MSC Clear Request
This test sends a REL IND from the MS and immediately expects an lchan release.
Instead, osmo-bsc patch I0f8c9c4e6b6850b15c70250fd3f88bdf75f9accf decides to
signal full BSSMAP Clear Request to the MSC first, so expect that first.

Note that this test currently fails, and said osmo-bsc.git patch will make this
test pass.

Change-Id: I737be141b69a250eb6eb38007f8042981c1a31cf
2018-03-12 04:43:16 +01:00
Neels Hofmeyr 4ff9328beb bsc: add TC_bssmap_clear_does_not_cause_bssmap_reset()
Same as TC_bssmap_rlsd_does_not_cause_bssmap_reset(), but with a proper BSSMAP
Clear from the MSC first.

Related: OS#3041
Change-Id: If6ca85d7b80a727cbfdabbf07529ced22602734e
2018-03-12 04:43:16 +01:00
Neels Hofmeyr cdc2d7690d bsc: add TC_bssap_rlsd_does_not_cause_bssmap_reset
A test with BSSMAP Clear involved would also be a nice addition, but this so
far tests a direct RLSD from the MSC.

(One way to invoke a typical release situation would be a scenario like in
TC_chan_rel_rll_rel_ind(), but that test currently fails; another would be to
directly invoke a BSSMAP Clear from the MSC first.)

Related: OS#3041
Change-Id: I168cf240383485a5ffbbde377b4f89c5d1f5ab93
2018-03-12 04:43:12 +01:00
Neels Hofmeyr cc3f76adb2 bsc: cosmetic: T_guard timeout: add 'self.stop'
If the T_guard runs out, unless we self.stop, we might run into this
potentially confusing follow-up error:

00:23:04.206712 mtc BSC_Tests.ttcn:322 Dynamic test case error: Copying an unbound value of type @RSL_Types.RSL_Message.
00:23:04.206778 mtc BSC_Tests.ttcn:322 setverdict(error): fail -> error

Change-Id: I1d373159483bdd9f74e8944e430913e73c289e03
2018-03-12 04:43:12 +01:00
Philipp Maier 328d166dbb MSC_Tests: Add testcase TC_cr_before_reset
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
2018-03-07 18:40:44 +01:00
Vadim Yanitskiy c81d6e4483 bts/BTS_Tests.ttcn: update TC_rach_max_ta test case
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
2018-03-05 22:42:45 +07:00
Harald Welte edcdd90c49 BSSGP_Emulation: Fix automatic BVC flow control ACK in SGSN role
This code had been intended to be used, but commented out, and
never really been completed or tested.

Change-Id: Iaa573219548f2a6a2eb13408fec65c55f9e88ddb
2018-03-03 22:40:01 +01:00
Harald Welte 1cd673dd01 rlcmac: Fix name of RRBP_Nplus21_or_22_mod_2715648
It's RRBP_Nplus12_or_22_mod_2715648 not RRBP_Nplus22_or_22_mod_2715648

Change-Id: Idb2ab447611a0571292b8cb31e9f279d0e98966f
2018-03-03 22:40:01 +01:00
Harald Welte c27f684998 Gb: avoid warnings about not-running timers
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
2018-03-03 22:40:01 +01:00
Harald Welte acc93ab873 GSM_Types: Switch TLLI from uint32_t to OCT4
The TLLI is not really a number, but an opaque 4-byte value.

Change-Id: I0901340a2211eeeb899f312bcc60573fec11f220
2018-03-03 22:39:56 +01:00
Harald Welte 3a40ec7acb l1ctl: Add L1CTL_DATA_ABS_REQ for PACKET UPLINK ACK
Change-Id: If2109ea87b15a0ed21b39ab7502813acb1d5dd1e
2018-03-02 20:45:04 +01:00
Harald Welte a74776bace gprs_gb: Update config files
Change-Id: I647c2d99fe83a892a0bda89db1808066e2eb1d46
2018-03-02 17:00:40 +01:00
Harald Welte 9d83dd068d gprs_gb: Add more comments to code
Change-Id: I89ab4d8be112ca44a64fecbadc60ca8ac3e6bbea
2018-03-02 17:00:22 +01:00
Harald Welte bacca28a71 gb: Fix IEI of t_BSSGP_CAUSE()
Change-Id: I04b1744ad3e826592182de38e724191b8abd5a50
2018-03-02 16:03:59 +01:00
Harald Welte 3f66276bd4 hlr: Distinguish "invalid IMSI" from "unknown IMSI" cases
Change-Id: I6ded77b3029aae6bc3fe022190819b6a86189f5a
2018-03-02 10:48:20 +01:00
Harald Welte 544565ae36 bts: f_validate_si_scheduling(): Print correct TC value
We always claimed "No SI messages for TC=0" even in cases where
TC is actually a different value.

Change-Id: I53e357c21b3f1090e4e396e292fcd193581d5bb8
2018-03-02 10:35:05 +01:00
Harald Welte b3e3094884 f_rach_toffs: Print toffs256 value in verdict when failing
Change-Id: I82a8f7c8dd3ce3327aa43bfb9f03795531718320
2018-03-02 10:35:05 +01:00
Harald Welte 958f8b4fa4 hlr: Add testcases for PURGE_MS procedure
Change-Id: I9d54d5e4b6fe24d3ee710b57e0c69a30b89d3450
2018-03-02 08:56:59 +00:00
Harald Welte 8f0c933c2b hlr: Fix test of UL+ISD state machine
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
2018-03-02 08:56:59 +00:00
Neels Hofmeyr faa379fc8d Makefile: use -j8, allow manual PARALLEL_MAKE val
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
2018-03-02 08:56:23 +00:00
Neels Hofmeyr 6338247395 msc: cosmetic: ts_CM1 template: parameterize esind (Early classmark Sending)
Change-Id: If841fc2c9996bef5b962519a325e18f1c13d2b0f
2018-03-02 00:35:26 +01:00
Neels Hofmeyr 1b3c6e3cc7 msc: add TC_lu_imsi_auth_tmsi_encr_3_1_log_msc_debug (OS#2947)
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
2018-03-02 00:35:25 +01:00
Neels Hofmeyr 29b8da0011 msc: add TC_lu_imsi_auth_tmsi_encr_3_1_no_cm
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
2018-03-02 00:35:25 +01:00
Neels Hofmeyr 9adaa70e78 msc: cosmetic: pass BSC_ConnHdlrPars to f_start_handler() as argument
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
2018-03-02 00:35:24 +01:00
Neels Hofmeyr c1f105acb8 msc: cosmetic: f_perform_lu() / pars: move send_early_cm to BSC_ConnHdlrPars
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
2018-03-02 00:35:23 +01:00
Neels Hofmeyr e9b8eebfc3 msc: cosmetic: f_start_handler(): drop the id arg, use testcasename()
Change-Id: Id4efe8cd00f44ea744996efe04802c5107f2a191
2018-03-02 00:35:20 +01:00
Harald Welte 8f6ac16a92 gsup: Make tr_GSUP_ISD_REQ more tolerant
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
2018-03-01 22:43:28 +01:00
Harald Welte 09b3c50e85 hlr: Add TC_vty_msisdn_isd
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
2018-03-01 22:42:22 +01:00
Harald Welte 7029606aa3 hlr: Reduce code duplication by using template
Change-Id: I7dcf0d27144e5dcf29babcb679ca9ef04b1f46a3
2018-03-01 22:42:03 +01:00
Harald Welte c2c52554ee hlr: More test coverage
Change-Id: Ic93a2e7498343abcb709d7018c4d49811252342c
2018-03-01 21:20:39 +01:00
Harald Welte b2db68eddb hlr: Add hlr sub-directory to master Makefile (for 'make compile' checks)
Change-Id: Idbd8241fc7d217885f65f84e11f9f1ea13adb82e
2018-03-01 17:10:12 +01:00
Harald Welte 79420ccab2 hlr: Make test run again using current OsmoHLR / TTCN-3 library
Change-Id: I4304d6f69a349845d74a9dbe5e366525d5d8956f
2018-03-01 16:49:29 +01:00
Harald Welte d3a88a684c bts: ensure fake_trx BB CTRL IP is used from main component
.. not just from the ConnHdlr component, as in previous patch

Change-Id: I3db2884d2519dfd4ae08ff1a4dae5b488677da4c
2018-03-01 16:04:52 +01:00
Harald Welte a4d8f35c20 bts: Make IP address of fake_trx BB CTRL port configurable
Change-Id: Idbfe9e0327ed6acefd87afc8596485a488fc44d9
2018-03-01 15:47:58 +01:00
Philipp Maier ffe5f0e546 MSC_ConnectionHandler: make sure altstep exists
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
2018-03-01 14:32:59 +00:00
Philipp Maier 88f4ae890f BSC_Tests: use isvalue() instead of isbound()
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
2018-03-01 14:32:59 +00:00
Harald Welte 39b82d344a hlr: Integrate VTY and CTRL support
Change-Id: I3fbc26a98d31df6d4753848bba655a517801d686
2018-03-01 10:21:56 +01:00
Harald Welte 78cae923fa hlr: Rename module + file from GSUP_Test to HLR_Tests
Change-Id: I906c0046a4cf6ae95e5a0aca918f4375fedfea55
2018-03-01 10:12:56 +01:00