Commit Graph

2890 Commits

Author SHA1 Message Date
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
Eric Wild 26f4a62642 msc: add first a5/4 tests
All msc tests involving classmarks suffer from the same problem: if a
existing subscriber is reused the old classmarks will stick, since the
msc only overwrites updated parts of the cm when receiving a new cm, so
"downgrading" the existing classmark information is not possible.

This is circumvented here here by using different imsi suffixes,
the last param passed to f_start_handler.

Additionally the handler will now properly respond to cm requests
by the msc, i.e. in case the early cm is not sufficient for a5/4
because it lacks cm3, so the msc attempts once to query the cm,
hoping to get a cm3.

Related: SYS#5324
Change-Id: Idc055a006b325f58a5eafa88bc4415181b3500a2
2021-05-19 17:49:52 +00:00
Pau Espin 1451f9f860 pcu: Introduce test TC_t3141
Change-Id: I5f30e93de4a109d60577394da4e00a15ab23d1d6
Related: OS#1940
2021-05-18 19:04:09 +00:00
Pau Espin 6b3124ec73 ggsn: Fix build broken since recent commit
Fixes: 8c74cbbf5a
Change-Id: Id6238a3b79a4439ab3b17909c7b1c65028efbec3
2021-05-18 11:37:08 +02:00
Pau Espin 436e2bdb4c pcu: Introduce test TC_rim_ran_info_req_single_rep_eutran
Related: SYS#5314
Change-Id: I87f3daba1521d2dc8eed78ffdc6de5744484ba7a
2021-05-17 20:33:00 +00:00
Pau Espin 8c74cbbf5a sgsn: Introduce test TC_rim_eutran_to_geran
GTP_Templates.ttcn new templates use BssgpCellId, hence it depends on Osmocom_Gb_Types.ttcn.

Related: SYS#5314
Change-Id: I9dcf6ee2dc55bc6aba178eca30080233254f025e
2021-05-17 20:33:00 +00:00
Philipp Maier c0ca42d119 MGCP_Test: add testcase TC_one_crcx_loopback_rtp_ipv6
There is an TC_one_crcx_loopback_rtp, an ipv6 variant can be added with
minimal effort.

Change-Id: If16ee5186fa697caa9cc404b7159be054cac5196
2021-05-17 20:32:09 +00:00
Philipp Maier eba70db649 MGCP_Test: fix TC_one_crcx_loopback_rtp_implicit
The testcase TC_one_crcx_loopback_rtp_implicit uses
f_TC_one_crcx_loopback_rtp, which creates the RTP flow with IPv4
addresses but since we do not send a local RTP IP address with the CRCX
to the MGW, the MGW will prefer IPv6, which means that we get an IPv6
address back while the RTP strem is IPv4 on the TTCN3 side.

Related: OS#5123
Change-Id: I80498737d5b32f28b62e0c17cce1969b54af948c
2021-05-17 20:32:09 +00:00
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
Harald Welte aed9f94db4 sccp: Add TC_callingparty_ssn_only()
This test verifies that libosmo-sccp will properly respond to SCCP
traffic that only has a SSN in the CallingPartyAddress.  That situation
poses the unique challenge of how to route a response, as we lack
a GT and a PC to do the routing.

In order to support this, libosm-sccp now adds the PC into the
CallingPartyAddr when passing such messages from M3UA to SCCP. This
way the recipient can simply respond back to that address and it will
be routed on PC.

Change-Id: Ided599a922fb7f6dbbfe90f817c5419ab793f293
Related: OS#5146
2021-05-13 21:58:33 +02:00
Harald Welte 2eb30d4eb7 SCCP_Templates: Allow templates as Called/CallingPartyAddress in UDT
Change-Id: I8d9f782ed3f4e6363f5370deb73bd2694b4c5d6a
2021-05-13 21:58:33 +02:00
Harald Welte 261aea72a6 stp: Add tests for snm_inactive quirk
Change-Id: Ic2a41e450a44794c8cf1c5a29871655f2cca4f6b
Related: OS#5148
2021-05-13 21:30:04 +02:00
Harald Welte 5ef25533cf stp: Add tests for "daud_in_asp" quirk.
Change-Id: Ie7e817dc92da4b9103fa50bd3a8240fbe20ddc68
Related: OS#5147
2021-05-13 21:30:04 +02:00
Harald Welte 30cb40037d stp: Add TC_clnt_no_notify_asp_act() for testing the no_notify quirk
Related: OS#5145
Change-Id: Id74972f2ca0b0101fb4666549ce14ba6fa472daf
2021-05-13 21:30:04 +02:00
Pau Espin 9fc065a3c3 pcu: Fix block_nr in tx PCUIF
Change-Id: Ic816862d8bdca1ea9b8c34b49129beb7e055258c
2021-05-13 18:03:24 +00:00
Pau Espin 93ae4527bf pcu: TC_n3103_max_t3169: Send TLLI in UL blocks
Otherwise MS is not behaving correctly and newer versions of PCU (more
strict checking TLLI and behaving better) may not accept it and make the
test fail.

Related: OS#1940
Change-Id: I2efa5ce97bf2c82727efcbdebdc0a0b686664e12
2021-05-13 18:03:24 +00:00
Philipp Maier 1ac1398d9f MGCP_Test: test LOOPBACK with implicit destination addr
Test what happens when the MGW gets a CRCX that creates a connection in
LOOPBACK mode but does not specify an RTP destination address. The MGW
is expected to deduct the destination address from the first incoming
RTP packet and loop it back to its originating address.

Change-Id: I7baf827fb0c3f33e13ccbaffd37ba0eb4e20c304
Related: OS#5123
2021-05-13 18:01:25 +00:00