Commit Graph

357 Commits

Author SHA1 Message Date
Eric Wild b926039772 bts: add first a5/4 tests
Not much to do here, bts just passes the key.

Related: SYS#5324
Change-Id: I38e8a1cf15eb41a621b457b39024283a767c94be
2021-05-17 20:28:26 +00:00
Vadim Yanitskiy 7dad608cdc BTS_Tests: as_l1_sacch(): make MEAS_VALID flag configurable
Change-Id: I25ce3332671c42014a3dfd5de7ed1df16e73fbf8
Related: SYS#4918
2021-04-16 23:04:44 +00:00
Vadim Yanitskiy cb57c1b137 BTS_Tests: as_l1_sacch(): use values from ConnL1Pars
This would allow a test case to change the indicated values.

Change-Id: If56bf516bc64e695fb58fd42beda01101cdaa954
Related: SYS#4918
2021-04-16 23:04:30 +00:00
Vadim Yanitskiy 94bbe99796 BTS_Tests: refactor and fix TC_pcu_socket_connect_multi
The expectations of this test case were wrong.  The IUT would first
accept() an additional connection and then close() it immediately.
Since there may be other messages, like TIME.ind and DATA.ind, the
'alt' statement would not match successful connection result, and
instead would unblock the flow due to timeout.

The titan.TestPorts.UNIX_DOMAIN_SOCKETasp had to be changed [1] to
send UD_connect_result with ERROR if recv() returns zero or a negative.

[1] https://github.com/eclipse/titan.TestPorts.UNIX_DOMAIN_SOCKETasp/pull/4

Change-Id: I898b8b14515d79766b12d652ebb1ddf834e2863c
2021-04-01 15:34:39 +00:00
Vadim Yanitskiy 216021a35e BTS_Tests: fix IPv4 matching in TC_pcu_socket_{nsvc_ipv4,two_nsvc}
This commit fixes a regression introduced in [1]

Change-Id: I107039f1ff44ae8c41d690f5f293ed136c17586b
Fixes: [1] Ia9f366ca1fdad700a90ca3367e43523f7bac39a1
2021-03-24 15:51:40 +01:00
Vadim Yanitskiy ec9e981c74 BTS_Tests: do not connect to PCUIF socket if not used
The PCUIF connection involves a lot of frequent messages, such as
the TIME.ind and since recently DATA.ind with len=0.  As a result,
the test suite logs are getting unreadable due to lots of coding
warnings and port queueing notifications.

This change is aimed to improve the situation a bit, by establishing
the PCUIF connection only for those test cases which actually use it.

Side effects:

  * TC_pcu_socket_verify_info_ind becomes reliable, because the
    PCUIF establishment is done after the RSL bootstrapping;

  * TC_pcu_socket_connect_multi starts to fail, because it used
    to pass due to timeout, since not all messages are handled
    in the 'alt' statement.

Change-Id: I09ccb65ce94a41ffdad4e93da650c3f32d422af4
Related: OS#5083
2021-03-23 13:41:09 +00:00
Vadim Yanitskiy c1981b7a5b BTS_Tests: cosmetic: s/f_init_pcu_test/f_init_with_pcuif/
Change-Id: Ic95c46426ed3ac9ead645037059190fead181b31
2021-03-23 13:41:09 +00:00
Vadim Yanitskiy e2a50a88ac BTS_Tests: add a test case verifying coding of two NSVCs in INFO.ind
Change-Id: Id11094774d737a545a2cce389059d7e527219573
2021-03-23 13:41:09 +00:00
Vadim Yanitskiy 1da1fefb73 library/PCUIF_Types: get rid of version 9 compatibility glue
Change-Id: Ia9f366ca1fdad700a90ca3367e43523f7bac39a1
Related: OS#5083
2021-03-23 13:41:09 +00:00
Vadim Yanitskiy 1317faa7fc bts/osmo-bts.cfg: enable GSMTAP Um frame logging
Change-Id: Icc5ffed6cda47c15ac703ef336ef502d2047cc2c
2021-03-19 13:09:52 +01:00
Vadim Yanitskiy 7c0ba54e41 bts/osmo-bts.cfg: use 'gsmtap-sapi enable-all'
Keep PDTCH/PTCCH disabled, it will blow up PCAPs otherwise.

Change-Id: Id1b523faf0d0ab6df00e46a40917c703b26d0e96
2021-03-19 13:09:52 +01:00
Vadim Yanitskiy 03f38ae080 bts/osmo-bts.cfg: remove deprecated 'uplink-power-target'
Change-Id: Ida5b1357d199e222b9ebd64e833ca21e6506a36c
2021-03-19 07:19:19 +00:00
Vadim Yanitskiy 4ffa56380e {bsc,bts}/osmo-bsc.cfg: remove deprecated parameters
Change-Id: I39fe349a9c1011c8ba3160d4f5f3744d30e9fe24
2021-03-19 07:19:19 +00:00
Philipp Maier 94c0848113 BTS_Tests: test forwarding of SI1, SI3 and SI13 via PCUIF
Whenever the BSC is updating SI1, SI3 or SI13 via RSL, the PCU should be
informed about the change via PCUIF as well. For SI13 this is already
the case and a testcase exists. The PCUIF protocol is
now capable to update SI1 and SI3 as well.

 - Update BTS_Tests.TC_pcu_ver_si13 so that it works with the current
   protocol version
 - Add BTS_Tests.TC_pcu_ver_si3 and BTS_Tests.TC_pcu_ver_si1 that test
   SI1 and SI3 as well.

Depends: osmo-bts Ib7aeb41e634ad6fcab3766a4667b0267c749436a
Change-Id: I5138ab183793e7eee4dc494318d984e9f1f56932
Related: SYS#5103
2021-02-03 08:27:16 +00:00
Alexander Couzens c796da8711 remove unused NS_CodecPort.ttcn/NS_CodecPort_CtrlFunct
Change-Id: If885353ec8947309fc7d3ad780448cfc7402e1a4
2021-01-17 15:59:26 +00:00
Pau Espin 9a5b8ffc5b CTRL: Introduce support to run osmocom CTRL server
Change-Id: I37db9962f51baf2c63bd58ec47ec89f773d7a255
2021-01-07 15:06:39 +01:00
Vadim Yanitskiy f105a5b846 BTS_Tests: as_l1_sacch(): fix Measurement Report padding
According to 3GPP TS 44.018, section 10.5.2.20, we should pad with zeroes.

Change-Id: I912027fd53b12ff118254e941d6e5e696e1dd410
2020-12-13 12:08:29 +00:00
Vadim Yanitskiy b9a7bbf537 BTS_Tests_OML: add new test case TC_ipa_rsl_connect_nack
Currently osmo-bts seems to be sending IPA RSL Connect ACK
unconditionally, even if the remote peer is not reachable.

Change-Id: Ibfa58f670401907801f610578dd9b4ebf155a83a
2020-12-08 19:28:06 +01:00
Vadim Yanitskiy 62b1e4812a bts/expected-results.xml: TC_sacch_chan_act_ho_sync should pass now
Change-Id: I872111dae761bda038d2e881ab5f4e6b7f52ec90
2020-12-08 17:10:45 +01:00
Vadim Yanitskiy d020249f17 bts/expected-results.xml: add missing SMSCB-over-SDCCH8 expectations
Change-Id: I903ede1c78e103d24a93f2e6b0e1acd136405099
2020-12-08 15:58:15 +01:00
Vadim Yanitskiy 5351ccf85e BTS_Tests: make ts_LapdmAddr / ts_LAPDm_AB more friendly
Change-Id: I35f84ebd6cb884f3ab63d1c2b77d8ed61acd5c74
2020-12-03 13:40:12 +00:00
Neels Hofmeyr c897cfb6e6 cosmetic: drop redundant assignment in f_TC_rach_content
Change-Id: I3b0f3df6c01642a84610f213f4682e330e12c068
2020-11-26 01:03:54 +00:00
Neels Hofmeyr d55a3ac5bf bts: TC_sacch_chan_act_ho_sync: expect SACCH with MS Power IE
According to 3GPP TS 48.058 4.1.4, SACCH may be transmitted also for only MS
Power present, and no Access Delay.

Change-Id: I2e1c0ecc9de65a019aaa9f08bb051bf051156172
2020-11-26 00:41:09 +00:00
Vadim Yanitskiy 3191d73f6c BTS_Tests: make Training Sequence Code configurable
Change-Id: Ifc09d4192584048d39ebfa22824eda69320fa2c5
2020-11-24 12:05:27 +01:00
Vadim Yanitskiy 7e70709689 BTS_Tests: generate g_AllChannels from module parameters
Change-Id: I600aa49768328b89707b4da13d61f6a8089ac351
2020-11-24 11:58:49 +01:00
Vadim Yanitskiy 42d8bd5012 BTS_Tests: re-organize configuration of TRX/TS params
Change-Id: I9b225249d135399f63d3c7e4c567121dfea63f75
2020-11-24 11:58:49 +01:00
Vadim Yanitskiy bc8ebce10e library/GSM_RR_Types: make ts_MEAS_REP more user-friendly
Change-Id: Ica1ea41ebba5c518d515a211e77ca6651c4173d6
2020-11-24 11:58:49 +01:00
Vadim Yanitskiy 1acc7bb184 library: move Osmocom_Types.Arfcn to GSM_Types.GsmBandArfcn
In some cases GsmArfcn itself is not enough.  It case of L1CTL
and GSMTAP, it needs to be equipped with a band discriminator:

  - DCS / PCS (as the numbers may overlap),
  - Downlink / Uplink (not yet there).

Let's rename this record and move it to GSM_Types.  Also, add
send / receive tamplates, so we can add new fields later.

Change-Id: I7a63f03bbd15a06caafb786122dc12991d115771
2020-11-24 11:58:49 +01:00
Vadim Yanitskiy d4e95e8cfc BTS_Tests_SMSCB: use proper templates for RSL channel number
Change-Id: Ib2a8cd4b76f308b318772d1572b6169baff13012
2020-11-14 21:38:15 +00:00
Vadim Yanitskiy 2b991b6469 BTS_Tests: turn 'l1ctl_ma_def' into 'c_arfcn_list'
It will be easier to use this list / array in non-L1CTL specific
records and templates, e.g. in (RR) Immediate Assignment.

Change-Id: I392299eea9a82168f893a72d06872c280b6fbdce
2020-11-14 21:38:15 +00:00
Vadim Yanitskiy ab5769cd74 BTS_Tests: introduce and use as_l1_sacch_l1h()
The new altstep reduces code duplication and simplifies access
to the L1 SACCH Header.  It uses dec_SacchL1Header() to decode
the header, and would apply the received TA / MS Power level
values by default (see 'do_apply' parameter).

Change-Id: Ie593d9b06aea694fb0903a6d26ee387d8da4c82d
Related: SYS#4918
2020-11-14 21:38:15 +00:00
Vadim Yanitskiy 09294d9052 bts: update some expectations in expected-results.xml
Change-Id: I32fecb538a7724b35340fbfbe6b3878ca363bf8f
2020-11-14 21:38:15 +00:00
Neels Hofmeyr 76d1d1a815 bts: TC_sacch_chan_act_ho_*: test that SACCH appears after HO RACH
Change-Id: I33bb56c5f51dcc79adc1fe39926cf152aac1e213
2020-11-09 10:52:52 +00:00
Neels Hofmeyr dd59741dbe bts: fix TC_sacch_chan_act_ho_*: missing send SACCH FILL
The test sets random bits for SI5 and expects to see those in dl SACCH. That
can only possibly work when that SI5 was actually sent to the BTS.

Change-Id: I0d3a96f5ae932734e986637ca2cb23805eba6829
2020-11-09 10:52:52 +00:00
Neels Hofmeyr d34681bc6b bts: fix TC_sacch_chan_act_ho_*: missing Handover Reference IE
The tests still fail, but at least not as prematurely as before.

Change-Id: I3f58ed30f7f2e92d2d1694769a4214a6d257f8a9
2020-11-09 10:52:52 +00:00
Vadim Yanitskiy 28a03efa3f BTS_Tests/DTX: eliminate redundant f_TC functions
Change-Id: I4db97d3bea152668c14ce1fb85700364dfdaa575
Related: OS#4801
2020-11-02 09:31:46 +00:00
Vadim Yanitskiy babf1ce4cb BTS_Tests/DTX: remove redundant RSL channel number check
We never launch this test case in DTX mode on anything else than
TCH/F, so it does not make sense to check this all the time.

Change-Id: I6e971d87f26253f4283c47b7f8826d14a2567a9b
Related: OS#4801
2020-11-02 09:31:46 +00:00
Vadim Yanitskiy 76dc4d0073 BTS_Tests/DTX: provide more details in failed verdict message
Change-Id: I15f9303e79750c2864b97697b4378f748a1c7246
Related: OS#4801
2020-11-02 09:31:46 +00:00
Vadim Yanitskiy 080a17d24b BTS_Tests/DTX: SACCH has nothing to do with fill frames
There is no such thing like a fill frame on SACCH:

  - on Downlink, it's always System Information messages;
  - on Uplink, it's always the Measurement Reports.

Yes, osmo-bts-trx does send dummy LAPDm func=UI frames on SACCH,
but this happens because the test suite never feds it with the
associated System Information messages (i.e. Type 5, 5ter, 6).

In the 'alt' statement, restrict matching of L1CTL DATA.ind, so
only DCCH/FACCH blocks are counted.  Ignore DL SACCH blocks.

This change reveals that TC_tch_sign_l2_fill_frame_dtxd actually
fails because no fill frames are received at all from the IUT.

Change-Id: I6c68dd0a7dfa18ae4573a037399b6650feb22f11
Related: OS#4801
2020-11-02 09:31:46 +00:00
Vadim Yanitskiy 2a9accef09 library/PCUIF_Types: f_PCUIF_ver_INFO_PDCHMask_get() returns BIT8
Change-Id: Ib8e497b596370d0b48e76e6e86c01f0c1d9c5df5
2020-10-31 20:25:15 +07:00
Vadim Yanitskiy 2f8ee5a0c7 library/PCUIF_Types: add '_get' prefix to f_PCUIF_ver_INFO_PDCHMask()
Change-Id: I0ce8f3fe8cfd47c61199fbbdf0d80d19e6f105e9
2020-10-31 20:25:15 +07:00
Vadim Yanitskiy 34ed228b0f BTS_Tests/DTX: get rid of f_g_chan_is_{tchf,tchh,sdcch4,sdcch8}
TTCN-3 offers templates and pattern matching, so no need to match
against all possible variants of the RSL channel number.

Change-Id: I104595c4a96617f8000f803d19a890cff0b02744
Related: OS#4801
2020-10-24 23:41:40 +07:00
Vadim Yanitskiy 3bb3b602d0 BTS_Tests: fix both TC_si_sched[_13_2bis_2ter]_2quater
The current definition of the SI2quater Rest Octets is incomplete.
In particular, the missing part is Repeated UTRAN FDD/TDD Neighbour
Cells structure, for which 3GPP came up with a very tricky encoding.

Given that both test cases checking scheduling of the SI messages
and not their content, let's simply use different SI2quater samples
containing E-UTRAN Parameters Description instead.

Change-Id: I3556be33eda17dd6fce347b390a3662d43064897
Fixes: OS#4662, OS#4800
2020-10-24 21:46:35 +07:00
Philipp Maier 149c392f25 BTS_Tests: add FAACH to TC_meas_res_speech_tchX
The current TC_meas_res_speech_tchX tests only test a pure voice
transmission. A voice transmission can be occasionally interrupted by
FACCH transmissions. This should also be tested. Lets ad a _facch
variant for the two speech test variants we already that injects a FACCH
from time to time.

Related: OS#4799
Change-Id: Ie9cd39739d4b972f4e533a7bc90f79e914888aab
2020-10-22 17:33:57 +02:00
Pau Espin d6d69b50fc bts-lapdm: Early termination on f_lapdm_transceive_mo() failure
Change-Id: Ib0db631bc4c203cc1aeaad2640656e3f6942516f
2020-10-21 11:52:23 +00:00
Pau Espin faf97060a5 bts-lapdm: Introduce test TC_normal_reestablishment_state_unacked
Related: OS#4819
Change-Id: I551beaa29b9a1d3af0b1517e06ae1badf7e1bd3f
2020-10-21 11:52:23 +00:00
Pau Espin 820b4746eb bts-lapdm: Introduce test TC_normal_reestablishment
Related: OS#4819
Change-Id: I5eb07a6abf5a260e2f62c177f8c100305d44155a
2020-10-21 11:52:23 +00:00
Vadim Yanitskiy 5fa8561b99 BTS_Tests: introduce TC_speech_no_rtp_{tchf,tchh}
The purpose of these new test cases is to demonstrate a problem
described in OS#4823: the IUT sends *dummy bursts* in absence of
MT RTP frames, so on the MS side it looks like RF failures.

It's not yet clear what needs to be sent by the BTS in this kind
of situation, but at least we can verify that whatever is sent
can be decoded on the MS side without CRC errors.

Change-Id: I620ea84ae92c976a62c1f8334ec14a2a7685aa21
Related: OS#4823
2020-10-21 11:51:18 +00:00
Harald Welte 5ebf798131 bts: Run everything over 127.0.0.1
When the test is executed outside of docker, having to manage all
those different IP addresses while manually starting programs can be
quite cumbersome.  Let's just run everything over localhost, like
we always do with other tests.

Now the only cumbersome command to start is trxcon, as it defaults to
only one TRX and adding additional TRX is rather complicated:

./fake_trx.py --trx TRX1@127.0.0.1:5700/1 --trx TRX2@127.0.0.1:5700/2 --trx TRX3@127.0.0.1:5700/3

Change-Id: Iea8519685da7d73696ce9cc2541e93c45c099828
2020-10-20 18:04:57 +02:00
Harald Welte 629fb2ab68 bts/osmo-bts.cfg: Enable GSMTAP for FACCH on TCH/F and TCH/H
Change-Id: I8aa118b733ea36e9ba591de7b935a31bdbe07129
2020-10-20 18:04:57 +02:00