Commit Graph

3156 Commits

Author SHA1 Message Date
Pau Espin 14b5fea25f GSM_SystemInformation: Fix trailing whitespace
Change-Id: Ie910d376c472f23bde7c357baca004a25053f5ce
2021-06-21 15:42:48 +00:00
Neels Hofmeyr 04d6e6acb6 bsc: replace TC_assignment_fr_a5_4 with TC_assignment_fr_a5_not_sup
reasons:

* TC_assignment_fr_a5_4() runs an unusual sequence of messages: it first
  fully assigns an lchan, and after that sends a Cipher Mode Command.
  Usually, the ciphering happens as part of attaching (Compl L3).
  The new test TC_assignment_fr_a5_not_sup() does the ciphering in the
  usual sequence, and properly expects a Cipher Mode Reject.

* TC_assignment_fr_a5_4 means to ask for an *unsupported* encryption
  algo. Since we are going to introduce A5/4 support shortly, we'll need
  to free up this name, for a successful A5/4 encryption test.

New test TC_assignment_fr_a5_not_sup() asks for A5/5 encryption, which
is not supported.

Related: SYS#5324
Change-Id: I83eca18d1b3d8d58177aa3750935ec5a3a985ca4
2021-06-21 12:41:21 +00:00
Vadim Yanitskiy 40bc162398 PCU: remove deprecated 'alpha 0' from osmo-pcu.cfg
Change-Id: I38d2d141a0743cc4bb61f62a98d7cc5c1384cff5
2021-06-21 09:36:13 +00:00
Vadim Yanitskiy 6b4404a717 BTS: release the channel in TC_ms_pwr_ctrl_{constant,pf_ewma}
Since recently, we do have NOPE indications in the virtual Um
environment.  Somehow this broke test cases for the MS power
control.  Releasing the channel makes everything work again.

Change-Id: I6a204bbecfe116aa302eae28ff24d6bb899fa8b7
Related: SYS#5313, OS#1569, OS#1866
2021-06-18 16:00:55 +00:00
Pau Espin 81a55e686d OML: Add types/templates for GetAttributesResponse
Change-Id: Iec7198cc164b6e33e708d59c3f214efb3e1ac33b
2021-06-18 12:29:19 +02:00
Pau Espin 211a714661 bsc: Validate new SRVCC counters
Change-Id: Icf2cd00f4024533a1bd8ba52816750a836bc0cb2
2021-06-17 14:05:09 +00:00
Pau Espin 9ae36d5e8c bsc: Validate new 'srvcc fast-return' VTY command
Related: SYS#5337
Change-Id: I227abc3793255e3916eba0dbc1460f46ec9926fe
2021-06-17 14:05:09 +00:00
Eric Wild c555be597f sgsn a54 tests
This adds a few tests that ensure that the encryption algorithm dynamically chosen is
1) one actually supported by both the sgsn and the UE
2) the strongest one available both have in common

Change-Id: Iad65cbf9840aa883cb34e53554b94a4142c82638
Related: SYS#5324
2021-06-16 06:32:53 +00:00
Alexander Couzens bd6e9a1da9 RAW_NS/NS_Provider_IPL4: allow to use the new NSVC interface
RAW_NS used previous a single TTCN3 port for a single UDP port
(source/listen side).
This has the limitation that only a single NSVC could be tested for a
local UDP port. However SNS tests require multiple NSVCs over a single UDP port.
NS_Provider_IPL4 already supports multiple NSVCs for the NS_Emulation.
Extend the support in NS_Provider_IPL4 to also allow RAW_NS to use
multiple NSVCs.

Related: OS#5036
Change-Id: Iafd9310e04066958914201da0cbdcd563bd5c976
2021-06-15 20:20:44 +00:00
Pau Espin 0619995974 bsc: Fix race condition exiting f_ho_out_of_this_bsc
The function didn't wait to receive the 2 messages from the BSC. As a
result, they may have arrived while tearing down the test components
shortly after exiting the function and provoke a Dynamic Test Error
while pushing the messages up the stack since some of the stack layers
may already be unavailable.

Test TC_ho_out_of_this_bsc() workarounded this by using a f_sleep(1),
but TC_srvcc_eutran_to_geran_ho_out() didn't, making it fail sometimes.

Change-Id: I590b09353900dfe6c4f648812ab675fed1908589
2021-06-15 16:43:03 +00:00
Alexander Couzens 1650b165ea ns: test if SNS fails when all signalling NSVCs failes
As 3GPP TS 48.016 § 7.4b.1.1 specifies this behaviour.
1. do success SNS configuration
2. change sig weight of the seconds inactive bind
3. add second bind to SNS
4. stop reacting to NS_ALIVE on first NSVC (only NSVC with sig weight)
5. expect SNS SIZE

Related: OS#5039
Change-Id: Id06e34e7235d94a06152a0015487a507d6492a97
2021-06-13 04:08:51 +02:00
Alexander Couzens e23387a188 NS_Tests: add test case TC_sns_bss_add_change_del
1. do SNS configuration
2. add a bind
3. receive the SNS_ADD
4. before answering the SNS_ADD, change the weight via vty and remove the bind

Related: OS#5036
Change-Id: Ibc565bba4c7e0a0b4dd28a48847dbdb998c8528d
2021-06-10 12:47:41 +00:00
Vadim Yanitskiy 2372db6aee BTS: ignore other RSL messages in function f_TC_paging()
Recent changes [1] to osmo-bts make it periodically send the
RF RESource INDication messages for each transceiver over the
A-bis/RSL.  These messages block the queue of 'RSL_CCHAN' port
and make the paging related test cases fail.  Ignore them.

Change-Id: I18b879235c6eefb2dd89a3f4502b0830efeac6bb
Related: [1] Id80fdbef087de625149755165c025c0a9563dc85
Related: SYS#5313, OS#1569
2021-06-09 01:11:28 +02:00
Alexander Couzens 7a62502721 NS_Tests: reset the weights of all udp binds
Some test cases change the weight of the binds. Ensure all test cases
starts with the same configuration.

Related: OS#5036
Change-Id: Iae2ba130b2f7d29ec8b417f07d0bef87f74ce5a4
2021-06-07 01:11:17 +02:00
Alexander Couzens 2d10ee65e4 RAW_NS: f_incoming_sns_chg_weight() allow to receive/send the chg_weight over a different
The SGSN/PCU will use a different NSVC as the NSVC which will be changed weight'ed.

Related: OS#5036
Change-Id: I5766afaa74db30d94318312ab775e7933b9df783
2021-06-07 01:11:13 +02:00
Alexander Couzens 6f17ecc877 NS_Tests: add testcases for incoming SNS_ADD/DEL procedures
Allow to test add and remove a bind via vty.

Related: OS#5036
Change-Id: I98c04c083521ab38b58e8df9f1aee89445ab536d
2021-06-07 01:11:05 +02:00
Neels Hofmeyr 9041c3b8b2 bsc-VAMOS: add cfg files to run BSC_Tests_VAMOS locally
A local tccn3 test run for VAMOS looks like:

  while sleep 1; do osmo-bts-omldummy -f vamos 127.0.0.1 1234; done

  osmo-stp

  osmo-bsc -c osmo-bsc-vamos.cfg

  make compile
  make -j 5
  ../start-testsuite.sh BSC_Tests BSC_Tests_VAMOS.cfg
  ../log_merge.sh BSC_Tests --rm

Change-Id: Iabda4c864b02e6ddbf03386c75d67a37f92992f4
2021-06-05 20:24:35 +00:00
Neels Hofmeyr 2336ba5f6b gitignore
Change-Id: Iedd6aeb17b1c774a5d96b28e69827796ff769bc1
2021-06-05 20:24:35 +00:00
Neels Hofmeyr 1470fc668a allow ASP_RSL_UD on MSC_ConnHdlr RSL
In BSC_Tests_VAMOS.ttcn, in f_est_and_reassign_to_secondary_lchan()
there is a missing channel release ack. By allowing ASP_RSL_UD, this rel
ack can be sent trivially.

Change-Id: Icd04184ed87c359349d86c5e0893c2ce9de2f7f1
2021-06-05 20:24:35 +00:00
Neels Hofmeyr 9f3e6ac649 add bsc/BSC_Tests_VAMOS.ttcn
BSC_Tests_VAMOS.ttcn is separate from BSC_Tests.ttcn in order to
instruct osmo-bts-omldummy to pass BTS_FEAT_VAMOS == true in the OML BTS
attributes.

Add tests:
TC_chan_act_to_vamos()
TC_mode_modify_to_vamos_fr()
TC_mode_modify_to_vamos_hr()
TC_assign_to_secondary_lchan_fr()
TC_assign_to_secondary_lchan_hr()
TC_vamos_multiplex_tch_f_tch_f()
TC_vamos_multiplex_tch_h_tch_h_tch_h_tch_h()

Change-Id: I2c504099163a30ea102cbd26d3615ca2e5ce1e64
2021-06-05 20:24:35 +00:00
Neels Hofmeyr 8746b0d9fe bsc: adjust to changed 'vamos modify' vty command syntax
Related: SYS#5315 OS#4940 Ibf53f4797d7491b17a33946fd7d920f038362b4c
Change-Id: I94988ee64edbecbe19c41d8cac5b055360f76547
2021-06-05 20:24:35 +00:00
Neels Hofmeyr b5b7a6ea27 bsc: test TSC in various messages
In a recent osmo-bsc patch:

"allow explixit TSC Set and TSC on chan activ / modif / assignment"
c33eb8d56943b8981523754b081967e6ff5f245d
Ic665125255d7354f5499d10dda1dd866ab243d24

I accidentally changed the default behavior of the Training Sequence
Code sent to BTS and MS. So now, make sure that we verify the expected
Training Sequence Code in BSC_Tests, in:

RSL Channel Activate
RR Immediate Assignment
RR Assignment Command
RR Channel Mode Modify
RSL Mode Modify

Related: OS#5172 SYS#5315
Change-Id: Id67a949e0f61ec8123976eb8d336f04510c55c01
2021-06-05 22:14:46 +02:00
Neels Hofmeyr c9d321eb9c bsc: fix osmo-stp.cfg: missing smlc routing
Without the SMLC routing in place, virtually all BSC_Tests fail with:

VirtSMLC-BSSAP_LE(8)@x42: setverdict(fail): none -> fail reason: "BSSMAP-LE: Timeout waiting for RESET-ACK after sending RESET"

Copy the SMLC part of osmo-stp.cfg from
docker-playground/ttcn3-bsc-test/osmo-stp.cfg and localhost-ize it.

Change-Id: I274515e7e9205c895cd250abed7361aef5a33f56
2021-06-05 22:11:29 +02:00
Neels Hofmeyr d601f9c0d6 MSC_ConnectionHandler: fix race in f_create_chan_and_exp()
During f_create_chan_and_exp() (part of f_establish_fully()), announce
the BSSAP L3 expectation before activating the lchan.

In RSL_Emulation f_chan_est(), we go through Chan Request, Channel Act
and Immediate Assignment followed by EST IND. Right after that, osmo-bsc
sends a Complete Layer 3 on BSSAP. But in f_create_chan_and_exp(), we
only create the expectation of the BSSAP right after the call to
f_chan_est(), i.e. only after sending the EST IND. So far it was always
juuust in time to work, but when I added a little check to the end of
f_chan_est(), or alternatively an f_sleep(0.2), then BSC tests always
fail with:

Test case TC_reassignment_fr finished. Verdict: fail reason: Couldn't find Expect for incoming connection { [...] pdu := { bssmap := { completeLayer3Information... }

With the BSSAP expectation done first, this error is avoided.

Change-Id: I1d4af737dcc0f9c9fa6cdaff3a92813d532e730c
2021-06-05 22:11:20 +02:00
Alexander Couzens 54ebb4a27a RAW_NS: add support for an incoming SNS DELETE procedure
Change-Id: Ia682522fe583a82e16a9c8008972f660f03243f7
2021-06-05 15:49:44 +00:00
Alexander Couzens c56a3b2f12 RAW_NS: add support for an incoming SNS ADD procedure
Change-Id: I937b654d377e189ee811145474683b638153179e
2021-06-05 15:49:44 +00:00
Alexander Couzens 3f1d661551 RAW_NS: add missing idx to as_rx_alive_tx_ack
Without the index the message got send and received
via the wrong NSVC.

Change-Id: Ic5d1f4aa5e8a2373a4f46feef44e71b9688035c9
2021-06-05 15:49:44 +00:00
Alexander Couzens 6576b00565 ns: add test configuration for SNS
Change-Id: Idda139c7adda3fb1fec0643a98cd6cf8b436a89e
2021-06-05 15:49:44 +00:00
Vadim Yanitskiy 866f870b7a PCU_Tests: new test case TC_ta_ul_ack_nack_first_block()
In a busy network, there can be a significant delay between resource
allocation (Packet Uplink Assignment above) and the actual time when
the MS is allowed to transmit the first Uplink data block.

Verify Timing Advance value indicated in Packet Uplink ACK/NACK message
sent in response to the first Uplink block after resource allocation.

Change-Id: I30f82c51b3e9a167af4dbce3e74697dd79ff15bf
2021-06-04 21:05:01 +00:00
Vadim Yanitskiy 0d4e3cb070 BTS_Tests.cfg: also execute LAPDm related test cases
Change-Id: If632fdd740634e4e115e4aea56940033b18f5736
2021-06-04 20:05:32 +00:00
Vadim Yanitskiy 474ec92c7f f_ms_tx_data_ind(): indicate actual Timing Advance in DATA.ind
Change-Id: Id89a5ed1ea82a81f0ce4e75204117afb322f5264
2021-06-04 19:57:35 +00:00
Vadim Yanitskiy 45749a85de library/PCUIF_Types: fix wrong parameter type in ts_PCUIF_DATA_IND
The 'lqual_cb' represents the link quality in centiBels, which
can be negative.  Use 'int16_t' instead of 'uint16_t'.

Change-Id: I038eec22928d831ddbc0a2704830d5e2eab2cb6b
2021-06-04 19:57:17 +00:00
Vadim Yanitskiy 9f69953a37 library/RSL_Types: complete definition of RF RESOURCE INDICATION
Change-Id: If3eedfaea6de252b8dc3ca238f6ffd45448065d1
Related: SYS#5313, OS#1569, OS#1866
2021-06-03 17:29:44 +02:00
Philipp Maier 37965088d5 MGCP_Test: avoid crash in latest (TC_one_crcx_loopback_rtp_implicit)
The testcase TC_one_crcx_loopback_rtp_implicit triggers a bug in older
osmo-mgw version that eventually leads into a crash of osmo-mgw. This
also means that all tests after TC_one_crcx_loopback_rtp_implicit will
also fail. Lets move TC_one_crcx_loopback_rtp_implicit to the end of the
control section to postpone the crash to the very end of the testrun.

Change-Id: I25abf30f8c49e580c46e7a61e887bd0add9a4cd4
Related: OS#5123
2021-06-02 18:54:26 +00:00
Vadim Yanitskiy 4c58c6a377 [VAMOS] BTS: add MODE MODIFY test cases
Change-Id: If4202287902442629bab716e41d3e6b2d05d09fb
Related: SYS#4895, OS#4941
2021-06-01 04:24:39 +02:00
Vadim Yanitskiy 7387813db0 [VAMOS] BTS: add CHANnel ACTIVation test cases
Change-Id: I79817b3504b0d956e9fa52b8640d3a4d0fd2c4ba
Related: SYS#4895, OS#4941
2021-06-01 04:22:11 +02:00
Vadim Yanitskiy 918e2b2834 HACK: allow running parallel BTS_Tests.ConnHdlr components
Unfortunately, trxcon does not support handling more than one
connection in parallel.  If there is already one connection
established, it would reject all other connection attempts.

This causes an error in f_handler_init().  As a quick hack,
let's allow running BTS_Tests.ConnHdlr components without
establishing L1CTL connections at all.

Change-Id: I72bcaed6c3803a0e18c9b787036a441e30c220cc
Related: SYS#4895, OS#4941
2021-06-01 04:16:52 +02:00
Vadim Yanitskiy 1b9a7f663a BTS_Tests: accept templates as parameters in t_EITC()
Change-Id: I56cd32a6ba91c078608d64c95538b9a43e2fada9
Related: SYS#4895, OS#4941
2021-06-01 04:16:49 +02:00
Vadim Yanitskiy 7368a10460 BTS_Tests: make it less private and more friendly
These definitions will be also used in 'BTS_Tests_VAMOS' module.

Change-Id: Ia4eae7f14228e72cd63bd8f84e27606ac972006c
Related: SYS#4895, OS#4941
2021-06-01 04:16:44 +02:00
Vadim Yanitskiy 0310f63d81 BTS_Tests: use as_l1_exp_lapdm() in f_TC_rll_est_req()
Change-Id: Ic0ecef07385621e0f0fbdae67daad95ef628cdd5
Related: SYS#4895, OS#4941
2021-06-01 04:16:42 +02:00
Vadim Yanitskiy e6c175575a BTS_Tests: accept optional TestSpecUnion in t_Pars
Change-Id: I75462c3d30544bb87b578f2627b304cce57393e5
Related: SYS#4895, OS#4941
2021-06-01 04:16:18 +02:00
Neels Hofmeyr 9c3b82f5dc GSM_Types, bsc: add VAMOS cbits
Change-Id: I2d98495b8c4c9a8466f2154af9bb29124c2cb0b5
2021-05-29 21:50:11 +02:00
Alexander Couzens 99b837ad09 NS_Provider_IPL4: fix typos in comments
Change-Id: I05ccbf2eb7387bc8c1277a53591efbf503d46051
2021-05-28 16:14:28 +00:00
Daniel Willmann 8d9fcf4461 gbproxy: Test routing if an SGSN in a pool is down
If an SGSN in a pool is down we expect the messages to instead be sent
to a different SGSN in the pool. That SGSN will not necessarily know
what to do with those messages, but it should )implicitly) detach that
UE so that it can reattach at the new SGSN. Otherwise UEs on a failed
SGSN would simply stop working as the messages would never be forwarded
anywhere.

This test also adjusts the NS timers so the failed NSVCs are detected
faster.

Change-Id: I46a6b8082441843f428a7681566228e5de375bcb
Related: OS#4952
2021-05-28 15:16:08 +02:00
Neels Hofmeyr 48483ce335 bsc: fixup for f_TC_refuse_mode_modif_to_vamos
The VTY command changed in the course of development, forgot to update
the test case.

Change-Id: I761b186c19b1307cc15d0bcf6f632b4bb967e254
2021-05-27 02:01:54 +00:00
Neels Hofmeyr 2bef0ddb12 RSL_Types: add VAMOS chan rates and OSMO_TRAINING_SEQUENCE IE
Prepare for upcoming VAMOS tests in BSC_Tests_VAMOS.ttcn.

Change-Id: Idbe9014754eff9c8b2bff19828581bae5b36fadf
2021-05-25 23:10:58 +02:00
Neels Hofmeyr d2d9f3350f bsc: add TC_reassignment_fr()
osmo-bsc does now support intra-cell re-Assignment of lchans with active
voice. Test re-Assignment of TCH/F, triggered by VTY command.

Change-Id: I05fecefb9d6f9f23a0362f133170bca4da92e308
2021-05-25 22:42:44 +02:00
Neels Hofmeyr 87857ecf37 bsc: refuse VAMOS mode without BTS_FEAT_VAMOS
Change-Id: I73b8eb5e6073ae46b83bed9fddd4762861029a84
2021-05-25 22:42:01 +02:00
Neels Hofmeyr 9d68630a74 bsc: f_establish_fully: verify lchan ESTABLISHED state
Change-Id: I341e2fa1e8946e7516705fa079e6e54fce9e58b0
2021-05-25 22:27:08 +02:00
Harald Welte 65b3ca781a TITAN project migration to eclipse gitlab
As announced in https://www.eclipse.org/forums/index.php/t/1107586/
TITAN is migrating both their github and git.eclipse.org repositories to
eclipse gitlab.

Let's adjust our Makefile accordingly

Change-Id: I6a501d50891c4fda78d33d3efd6030244a4aaf50
2021-05-21 20:54:32 +02:00