Commit Graph

503 Commits

Author SHA1 Message Date
Oliver Smith 59a843cac1 Cosmetic: bsc: remove outdated comment
The mentioned bug was fixed 3 years ago, and there are already lots of
tests below so remove the comment.

Related: OS#3182
Change-Id: I3df4dbd1647dae78eccd31c49c3aec3cf9e12a6f
2021-08-27 08:26:21 +00:00
Oliver Smith af03bef6a2 bsc: add TC_stats_conn_fail
Verify that stat bts.N.chan.rf_fail_sdcch works correctly.

Related: SYS#4878
Change-Id: I310ea1609168bc26790875767943e0545ed05177
2021-08-27 08:24:23 +00:00
Neels Hofmeyr c8b95c1b04 bsc: add TC_imm_ass_pre_ts_ack_dyn_ts
Test the experimental 'immediate-assignment pre-ts-ack' implemented in
I19e6a3d614aa5ae24d64eed96caf53e6f0e8bb74

Related: SYS#5559
Change-Id: I2ae28cd92910d4bc341a88571599347a64a18fe5
2021-08-17 22:06:57 +00:00
Neels Hofmeyr 7a6d0607b2 bsc: add TC_imm_ass_pre_chan_ack_dyn_ts
Related: SYS#5559
Change-Id: Ic5a3b930c57a5c61514137986eb4f8f8c1f2a1ba
2021-08-17 22:06:57 +00:00
Neels Hofmeyr b07b295bb0 bsc: add TC_imm_ass_pre_chan_ack
Add tests for the new early IMM ASS feature in osmo-bsc:
  'immediate-assignment (post-chan-ack|pre-chan-ack)'

Related: 0b44493d3de03d2750527e224df67b473fe39f93 (osmo-bsc)
Related: SYS#5559
Change-Id: If71f4562d532b6c5faf55f5fd073449a8a137ebf
2021-08-17 22:06:57 +00:00
Neels Hofmeyr c7b1f6dd3f bsc: TC_cm_reestablishment(): do second lchan on bts 1
So far the test ran both lchans on bts 0, which is not really a
realistic scenario for a CM Re-Establishment Request. Move the second
channel to bts 1, using various RSL port args added recently.

Change-Id: Ia930f7b8986ba27c5f507478dbff0a2942f207d8
2021-08-06 14:03:28 +00:00
Neels Hofmeyr feda88e51d bsc: add TC_cm_reestablishment
Related: SYS#5130
Change-Id: I1e7d446644f46b8a0a94688e618ffb4f23a8900e
2021-08-06 14:03:28 +00:00
Neels Hofmeyr da4367875a bsc: split f_start_handler() in two, ..._create() and ..._run()
This is used by upcoming BSC_Tests.TC_cm_reestablishment().

Related: SYS#5130
Change-Id: I96954a6895a65718d943aa5e73b783a75a9f7256
2021-08-06 14:03:28 +00:00
Neels Hofmeyr d36a82fd8a bsc: add Coord_PT to communicate between components
This is used by upcoming BSC_Tests.TC_cm_reestablishment().

Related: SYS#5130
Change-Id: I093ca7f66a3106a75e409ad8ea03e7db3c3cb165
2021-08-06 14:03:28 +00:00
Neels Hofmeyr 3c5127edeb bsc: expect proper chan_nr for various RSL_MT_RF_CHAN_REL
So far we were often just expecting the message type. Instead expect a
release on the proper channel number.

While hunting a test error, this confused me for a while, because a
missing handler resulted in the release message handled in the wrong
place, even though the chan_nr mismatched.

Related: SYS#5130
Change-Id: I002c9273a387104bea062dec8879b4e19a72008d
2021-07-27 07:28:26 +00:00
Neels Hofmeyr 85bcd27bf0 bsc: add RSL, RSL_PROC port args in various places
To be able to run tests on a cell other than bts 0, there needs to be a
way to select the RSL_DCHAN_PT and RSLEM_PROC_PT in various places.

Upcoming BSC_Tests.TC_cm_reestablishment depends on this, to be able to
run through an Assignment on bts 1.

Related: SYS#5130
Change-Id: Ia14f46d4e5e8d4722224b97c346c0cb7973fff97
2021-07-27 07:28:26 +00:00
Neels Hofmeyr 3222e0eee8 bsc: add RSL port args in MSC_ConnHdlr, RSLEM
Add explicit RSL_DCHAN_PT and RSLEM_PROC_PT args to functions and
altsteps related to channel establishment and assignment. This allows
establishing and assigning a channel on cells other than bts 0.

This is required for upcoming BSC_Tests.TC_cm_reestablishment().

Related: SYS#5130
Change-Id: Ic3206b7125ee22bf98330080d9b136cefe7da03f
2021-07-27 07:28:26 +00:00
Neels Hofmeyr 8fcd8774cd bsc: f_expect_dlcx_conns(): do not rx Clear Complete
The function f_expect_dlcx_conns() is clearly related to MGCP, and
semantically should not interfere with BSSAP by also receiving the Clear
Complete.

For some tests, this incidentally makes sense, but an upcoming test
failed in a non-obvious way because of this.

Related: SYS#5130
Change-Id: I637414f4db8ea7c4b59aaee205d65926574b5ccd
2021-07-27 07:28:26 +00:00
Neels Hofmeyr e680b01650 bsc: properly f_rslem_unregister() released channels
After the RSL RF Release has happened, by definition the RSL_Emulation
should no longer direct RSL messages on that chan_nr to the test
component that used to own the chan_nr in the ConnectionTable.

Before this patch, re-using e.g. an already freed SDCCH would result in
non-obvious test failure. This is most relevant for generic functions
called from various tests, but fixing all occurences anyway.

Related: SYS#5130
Change-Id: I764ea2ed9af9358adeb42d7ed46b84f30f1e224c
2021-07-27 07:28:26 +00:00
Pau Espin 1447535a07 bsc: Test tch allocation if sdcch exhausted
Related: SYS#5548
Change-Id: I0c958de10a3643f8b94479d676dd1ac1b9140802
2021-07-23 16:45:27 +02:00
Pau Espin 2ebbe7c09f bsc: Fix TC_dyn_ts_sdcch8_tch_call_act_deact
Related: SYS#5309
Change-Id: Ibdbeefef7fd9f4c2d0dedb45f2075e776e8026b9
2021-07-23 16:27:31 +02:00
Pau Espin 23510fb721 bsc: Drop mp_enable_osmux_test
This module parameter is not needed anymore, since latest already
supports this feature for a while.

Change-Id: I3a2a4f984443a40285440a7fc54b1797a943e4b0
2021-07-20 17:00:41 +02:00
Pau Espin e076b3ff86 bsc: Allow disabling dyn TS SDCCH8 tests
With this we'll avoid running the test in latest. This way we'll not
fail after changing the TS for the test and hence other tests won't be
affected.

Related: SYS#5309
Change-Id: Ib956401030e6a97db218823c997c61c335fbd581
2021-07-20 16:45:59 +02:00
Vadim Yanitskiy 343c9eba51 BSC: fix channel combinatiron for TS5 in phys_chan_config
In the configuration file, that we use for ttcn3-bsc-test, TS5 is
configured to TCH/H.  However, f_ts_reset_chcomb() would reset
it to TCH/F.  This makes some other test cases fail.

Change-Id: I4c2c70381274949ed75d58723136e2f54eb3a7af
Fixes: [1] I6110fe0bf56f4dbf67265f0d4c97cdea0b410af4
Related: SYS#24876
2021-07-16 18:36:30 +06:00
Pau Espin 0953bf82ba bsc: Introduce test TC_dyn_ts_sdcch8_tch_call_act_deact
Related: SYS#24876
Change-Id: I6110fe0bf56f4dbf67265f0d4c97cdea0b410af4
2021-07-14 15:38:41 +00:00
Oliver Smith 7eabd31aa6 bsc: fix encryption a5/4 missing in TC_*_a5_4
After removing a5/4 from the default config, it also needs to be
explicitly enabled for these two tests.

Fixes: 26a3db ("bsc: change encryption a5 via VTY where needed")
Change-Id: Ibe00edb096f94b500869c46a39a694a73133c716
2021-07-12 14:19:05 +02:00
Oliver Smith 50b9812e45 bsc: add TC_ciph_mode_a5_2_0
Verify that A5/2 is preferred over A5/0.

Related: OS#4975
Change-Id: Ia02e9be52ccbe4b24a0bce56305be9f875e7adb1
2021-07-11 17:41:59 +00:00
Oliver Smith 1dff88d369 bsc: add TC_ciph_mode_a5_2_1
Verify that A5/1 is preferred over A5/2. Add encr_exp_enc_alg to
MSC_ConnectionHandler:TestHdlrEncrParams, so the expected encryption
algorithm can be different from what the MSC tells the BSC about the
capabilities of MS.

Related: OS#4975
Change-Id: I688d056bcfe73f7846f908a28f4621f944cf2178
2021-07-11 17:41:59 +00:00
Oliver Smith 26a3db7d70 bsc: change encryption a5 via VTY where needed
Do not assume that osmo-bsc.cfg contains "0 1 3 4" for master and "0 1 3"
for latest anymore. An upcoming test will need to change the value as
the test runs and needs a defined value to reset to.

Assume that osmo-bsc.cfg contains "0 1 3" and change it to "0 1 3 4"
only for TC_ciph_mode_a5_4.

Related: OS#4975
Related: docker-playground I55135ca00ef51de5cf6eaec75cfc20c21beef665
Change-Id: I3cf36c6ef86a0db050507f3737f4b0c10dcd52ed
2021-07-11 17:41:59 +00:00
Oliver Smith 598e1edf89 bsc/MSC_ConnectionHandler: fix typo
f_chipher_mode_bssmap_to_rsl => f_cipher_mode_bssmap_to_rsl

Change-Id: If874a3fa6f42de4f5f484e597de028715cd08043
2021-07-11 17:41:59 +00:00
Vadim Yanitskiy fc63164bac library/RSL_Types: use OCT4 for local/remote address fields
This way functions like f_inet_addr() and f_inet6_addr() can be
used directly without converting between bytes and integers.

Change-Id: I389a8cb95c025c9dddc751789223621c15d9b48f
2021-07-05 12:09:07 +00:00
Neels Hofmeyr cb8d9894af update expected-results.xml files
Change-Id: Idcf764cd2d251210bb123d2a5ea782cda0d670b7
2021-07-05 13:11:14 +02:00
Vadim Yanitskiy 4b2330474d BSC: add a test case for BCCH carrier power reduction mode
Change-Id: I084f7736cd7d09b68ed49f8ba52a14de928d4c01
Depends: I765d5e38cb0746e0458773abf3717ee9bf1cb7d1
Related: SYS#4919
2021-07-02 13:01:28 +00:00
Pau Espin cdf2614314 bsc: Introduce test TC_dyn_ts_sdcch8_act_nack
Change-Id: I388677c90203853fae584ca60d0e6645bb4ad675
Related: SYS#5309
2021-07-02 11:48:50 +00:00
Pau Espin 5b38108d71 bsc: Introduce test TC_dyn_ts_sdcch8_act_deact
Related: SYS#5309
Change-Id: I1c53c5d280ca07b000b1e951cfe1e9e5f47a2d86
2021-07-02 11:48:50 +00:00
Pau Espin 64adf3791f cosmetic: bsc: Fix wrong dyn ts type mentioned in comment
Change-Id: I020c1ee909a12540774d665f914f1115870bea7e
2021-06-28 16:25:47 +02:00
Neels Hofmeyr 8ebf19cfdf bsc: add tests for inter-BSC HO with encryption A5/{0,1,3,4}
Only ho-into-this-bsc tests are required, since the out-of-this-bsc
message (Handover Required) does not involve any encryption information.

Related: SYS#5324
Change-Id: I8de65eb9a5bd9a58add55e821f2a559c9a81edc1
2021-06-21 20:18:35 +00:00
Neels Hofmeyr af88d9dbf3 bsc: add intra-BSC handover tests with encryption
In f_tc_ho_int(), verify encryption information for the handover
target's chan act.

Add test cases calling f_tc_ho_int() with various A5/n encryption modes.

Related: SYS#5324
Change-Id: Iaab26c708c106a61b762234d42ed9a52cdc2998c
2021-06-21 20:18:35 +00:00
Neels Hofmeyr 58ffceb4ec bsc: split f_verify_encr_info() from f_cipher_mode()
The verification of correct encryption information so far is part of
f_cipher_mode(); put it in a separate new function f_verify_encr_info()
so that it can be re-used for handover channel activation.

Related: SYS#5324
Change-Id: I11602d23670f436a22b891fc744fe07e470f2b79
2021-06-21 20:18:35 +00:00
Neels Hofmeyr 3fe8460494 bsc: also allow empty key for A5/0
Change-Id: Id54abc09dd62d7247a970a03ed8c2209b641f511
2021-06-21 20:18:35 +00:00
Neels Hofmeyr 5f7a9dfcf4 bsc: f_tc_ho_int: do not override TestHdlrParams
Related: SYS#5324
Change-Id: Ibd1a887b197100bf7ffe1e37c6567690bc4c8f8c
2021-06-21 16:26:26 +00:00
Neels Hofmeyr 2bb1f0e09a bsc: drop unused kc variables
Change-Id: I08323cbe079d357dfdd44ecddacd1c772941abaa
2021-06-21 16:26:08 +00:00
Neels Hofmeyr 0faeb7afc9 bsc: add BSC_Tests.TC_assignment_fr_a5_4_fail
Allow only A5/4, but omit the Kc128 IE from MSC's msg. Expect Cipher
Mode Reject.

Related: SYS#5324
Change-Id: I7734a4a59797a9b21523c33f48815a8094f4e6ec
2021-06-21 16:26:08 +00:00
Neels Hofmeyr 0d8ec5366d bsc: add TC_assignment_fr_a5_4
Establish a TCH/F with A5/4 encryption.

Related: SYS#5324
Change-Id: I9ad899bd15a1f7ba0a44764f7d2a94f5b627053f
2021-06-21 16:26:08 +00:00
Neels Hofmeyr 81ad27fca9 bsc: add TC_ciph_mode_a5_4
Establish a Signalling channel with A5/4 encryption.

Related: SYS#5324
Change-Id: I2428c21663dfa7d67e769da0127f74e8c01dfb97
2021-06-21 16:26:08 +00:00
Neels Hofmeyr 5e31cfc63d bsc: f_cipher_mode(): verify enc alg in Cipher Mode Complete msg
Related: SYS#5324
Change-Id: I88b386c55e23cc180131e95a005d08cbc3ec102b
2021-06-21 16:26:08 +00:00
Neels Hofmeyr 7274934057 bsc: f_cipher_mode(): fail quicker on key mismatch
Related: SYS#5324
Change-Id: Ia79779f4229da4a5af271235a5e82c6fd59ea3a2
2021-06-21 16:26:08 +00:00
Neels Hofmeyr 0588cadcfd bsc: implement ttcn API and cfg for A5/4
Implement tools for OsmoBSC a5/4 support testing:

- in f_cipher_mode() and f_check_chan_act(), expect Kc128 key as
  appropriate, using recently added g_pars.encr.enc_kc128
- osmo-bsc.cfg: allow a5/4

Related: SYS#5324
Change-Id: Ifa48a8498dde7d04fb29f497013bdb5a1e5f3597
2021-06-21 16:26:08 +00:00
Neels Hofmeyr 6c388f209d bsc: reduce args to f_cipher_mode()
Instead of passing each part individually, simply pass the entire
TestHdlrEncrParams to f_cipher_mode().

Preparation for A5/4.

Add the kc128 to TestHdlrEncrParams instead of a function arg. kc128 is
so far unused, but will be used in an upcoming patch adding A5/4.

Related: SYS#5324
Change-Id: I2cb8282e55436da5ae64ab569df87d5d5a0dd2f0
2021-06-21 16:26:08 +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
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
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
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 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