Commit Graph

1280 Commits

Author SHA1 Message Date
Neels Hofmeyr b0f823422e msc: f_tc_sgsap_mt_sms_and_nothing: also do f_sgsap_bssmap_screening
The only reason to omit f_sgsap_bssmap_screening() in this was the still
pending SMS in the database. Since SMS are now removed,
f_sgsap_bssmap_screening() will succeed.

Change-Id: Ibea1e1fb33e0dde7e8bf51ff226d5e57c5a5d763
2019-03-19 13:30:32 +00:00
Philipp Maier d0e64b07dd BSC_Tests: add testcases to verify S15-S0 handling
The handling of the AMR rate configuration bits S15-S0 is currently only
superficially checked. Lets add more some more elaborated testcases to
check through varios different situations. Also make sure that the
resulting mr configuration IE is verified

Change-Id: Ica323deb9836deea72982e093c9cb31deb5a216b
Related: SYS#4470
2019-03-19 13:29:31 +00:00
Philipp Maier 806f8f1fb4 BSC_Tests: fix TC_assignment_codec_amr_f/h
The testcase TC_assignment_codec_amr_f uses a combination of S-Bits that
has S1 which configures a set of four rates at once. This is quite a
complex situation and since the BSC was upgraded with new features
affecting the behavior in this special case lets simplify this testcase
for now.

depends: osmo-bsc Ie52376b51fe07ed07056e8df2e9557293ff67a78
Change-Id: Ibf730f76947cdeed23eb3119167450e3b7a9b314
Related: SYS#4470
2019-03-19 13:29:31 +00:00
Philipp Maier 4f764ce4f3 MGCP_Test: Test AMR octet-aligned/bandwith-efficient mode conversion
osmo-mgw now implements a conversion between the AMR octet-aligned
and banwith-efficient payload format. Lets add tests for this

Change-Id: I050bfeabfb5fdbf986d429eef3af69fe8158d56e
depends: osmo-mgw I622c01874b25f5049d4f59eb8157e0ea3cbe16ba
related: SYS#4470
2019-03-19 13:29:31 +00:00
Philipp Maier c8c0b40e1b MGCP_Test: allow setting of fmtp parameters
When creating an RTP flow, there is currently no way to set SDP fmtp
parameters. Lets add a template and a parameter in order to be able to
set those parameters.

Change-Id: Ic1840d5023cb3888a17980f4ed08c19175864896
Related: SYS#4470
2019-03-19 13:29:31 +00:00
Neels Hofmeyr bb825c91bb msc: TC_lu_disconnect: add final delay to fix spurious failure
I hit a "Broken pipe" error, hoping that the bit of delay makes the teardown
more stable.

Change-Id: I765a75f91a748239f6cc82f4a61f02d59166f00b
2019-03-19 13:16:09 +00:00
Max 81487c8b36 Use dumpcap for ttcn3-tcpdump-*.sh if available
Check if dumpcap is installed (either as suid or with appropriate
capabilities) and use it for packet capture instead of
'sudo tcpdump' if available. This makes it easier to use TTCN-3
testsuite as regular user without altering sudoers.

Change-Id: I77df04d51a469c924cf727f0596cc33565909746
2019-03-19 10:28:46 +00:00
Neels Hofmeyr 59e0c6f764 msc: for mo and mt call, interleave MGCP and Assignment
Upcoming osmo-msc changes move away from the current ordering of MGCP and
Assignment messages. Allow these async dialogs to appear in any order.

Change-Id: Ia06af1e347601949f4ddb19f963daa400766d9e7
2019-03-17 14:39:58 +00:00
Harald Welte 7e6a35cc65 pcu: Verify IPv4 address communicated in PCU-originated SNS-CONFIG PDU
Prior to this patch, the test accepted anything as list of IPv4
endpoints in the PCU-originated SNS-CONFIG PDU.  Using this patch,
the corect IPv4 address and UDP port number is verified.

Change-Id: Ia57100c7833bebc8d77118968c19ab12a3834036
Related: OS#3845
2019-03-16 18:37:54 +01:00
Harald Welte ecd159ecc7 pcu: Test SNS where initial IP/port is not part of configured NS-VCs
As per section 6.2.1 of 3GPP TS 48.016, the initial IP/port where the
SNS SIZE/CONFIG procedures are being performed is not automatically part
of the later NS-VCs.  This means we shall not perform the NS-ALIVE
procedure or any other procedure beyond SNS with that specific endpoint.

This adds a new TC_sns_1c1u_separate() to test for this behavior.

Change-Id: Ie2a017250ca1d5386e2cf42d1945e61d170ac92d
Related: OS#3844
2019-03-16 14:46:12 +01:00
Harald Welte 3b3358323c pcu: Fix PCU_Tests_RAW_SNS.TC_pcuif_rach
Change-Id: Ifb19e68a4b2b3250cdc6079dcd7f42656c57cee0
2019-03-15 22:41:33 +01:00
Harald Welte 33ad57b6fe pcu: Fix TC_sns_so_config_success expectations
If there's only one IP/PORT/NSVC, we cannot expect something happening
on another NSVC.  In this test case, only index 0  / NSVC0 is used.

Change-Id: Ia83d726c4223d61544f80d266ea832fcaa235518
2019-03-15 17:03:14 +00:00
Max 68b4743c7d Log PCU socket path on errors
Change-Id: I5a4a7c9dc630ecd6fc0ca7a21d4b528d811edd06
2019-03-15 11:43:32 +00:00
Max e521445fee Generalize ttcn3-tcpdump-*.sh
Prepare for supporting alternative packet dumpers:
* reword comments
* rename pidfile
* move tcpdump-specific option inside if
* move comment about sudo closer to actual sudo invocation

Those are cosmetic changes which do not affect how packet dump is made
but makes it easier to support alternative packet dumpers in follow-up
commit.

Change-Id: Ib2528db65348c0422fe8b7c7c53656fbce4f6405
2019-03-14 20:46:51 +00:00
Max 6e05304843 Log FN and RA in TC_rach_max_ta
Similar to other RA-related tests, log FN and RA values in case of test
failure.

Change-Id: I815b10d0f0e9f29de7d306fa052b72b9e483dd9d
2019-03-14 16:39:29 +01:00
Oliver Smith ee6a088f37 ggsn: add tests to validate IPv4v6 pdp ctx
Add related templates based on 3GPP TS 29.060 Figure 37A and create
tests based on existing IPv4 and v6 ones.

Related: OS#2900
Change-Id: I3bab7df5caddc5c8b973c81544f954d5473ac234
2019-03-14 09:10:45 +00:00
Neels Hofmeyr 0f7429ad10 msc: TC_gsup_cancel: end with f_expect_clear() to avoid broken pipe
Change-Id: I3b3ae0b9c3f02f523dfb60c9efb732db3ade2785
2019-03-14 03:43:52 +00:00
Neels Hofmeyr 82fd04b13b msc: add codec to all Assignment Complete messages
So far we omit a Speech Codec (Chosen) from Assignment Complete messages, which
is actually a mandatory parameter. osmo-msc seems to carry on nevertheless, but
it actually shouldn't be able to.

Always send a Speech Codec (Chosen).

Change-Id: Ib35f019383db8ace05a9dc349648e2da7ba58bfa
2019-03-14 03:43:52 +00:00
Max b7aae8b957 IPA: log host:port on listen errors
Change-Id: I0e25961698ab70a2822e2b2be5b514c3603981ca
2019-03-11 15:22:02 +01:00
Max ba06feb0ce TC_rach_content(): fail test explicitly
By default Misc_Helpers.f_shutdown() will set test verdict to
'none'. Let's fail test explicitly if we had any timeouts.

Related: OS#1854
Change-Id: Ifff8b3b83eeedea0d308f7ab0bfe347e2dc278c8
2019-03-11 13:37:46 +00:00
Neels Hofmeyr c0b520d578 msc: f_tc_sgsap_reset: add final delay to fix spurious failure
Change-Id: I20fd583311ee69f2cdee6448e809214ab261f6bd
2019-03-07 23:27:37 +01:00
Neels Hofmeyr 6aaeccf093 msc: move sms sending to BSC_ConnHdlr and send from within test flow
For the sole reason that f_vty_sms_send() was put on MTC_CT for no apparent
reason, we start the test function and send an SMS with an arbitrary two
seconds delay.

Instead move it to BSC_ConnHdlr and place SMS sending in the actual test
function flow where it belongs.

Change-Id: I5f348b3d30342b7c4871a1fc8f94648923e82eea
2019-03-07 23:27:37 +01:00
Neels Hofmeyr 6b468a493e msc: as_clear_cmd_compl_disc: log unexpected message
When receiving an unexpected BSSMAP message that fails the test, log it.

Change-Id: I5cafac3318a50567f1916ea670af55558e97bf17
2019-03-07 23:27:37 +01:00
Neels Hofmeyr de76f05547 msc: add as_optional_cc_rel to ignore CC REL during call abort tests
When aborting a call with a Clear Request, it is actually a good idea to
release an ongoing call with a CC Release message from the MSC. Allow this.

Change-Id: I8378f7602fecac8262b31b47ad9327a3782c1bcd
2019-03-07 16:37:51 +01:00
Neels Hofmeyr ced8acf305 log time in tcpdump-start and -stop.sh
Also log the testcase name in tcpdump-start.sh.

The output now looks like

    ------ MSC_Tests.TC_mo_cc_bssmap_clear ------
    Thu Mar  7 13:21:00 UTC 2019
    [...]
    Thu Mar  7 13:21:04 UTC 2019
    ====== MSC_Tests.TC_mo_cc_bssmap_clear pass ======

The reason to log start and end dates came up like this: I noticed a segfault
in a tested program at a specific time. From the timestamp I tried to find out
which of the tests saw the failure. (After a segfault, all subsequent tests run
and fail, but it is not obvious which failure occured because of a segfault,
and which ones just normally failed before that.) Looking at the timestamps of
the log files didn't help, because the ttcn3_logmerge touched those after the
tests completed. So the only way is to cat each individual log file and find
the timestamp.

So this adds an overview of the timestamps without needing to open log files.

Change-Id: I0832d9b5df599baad5dec8d3a993481b4286fbb3
2019-03-07 16:33:03 +01:00
Oliver Smith c574829208 library/GSUP_Types.ttcn: add CHECK-IMEI message
Implement necessary messages for Procedure Check_IMEI_VLR (TS 23.018
Chapter 7.1.2.9). This lets the VLR ask the EIR to check if an IMEI
is valid. In the Osmocom stack, we don't have an EIR and this request
is handled by the HLR. We are able to store the IMEI in the HLR as
side-effect (OS#2541).

This is roughly based on TS 29.002 8.7.1 MAP_CHECK_IMEI service, but
only implements the bare minimum required IEs (imei and imei_result).

Related: OS#3733
Change-Id: Ie1ae5c66ad3f9b42b345020de62a0c276cd8d709
2019-03-04 16:24:28 +00:00
Harald Welte 16e92f4169 PCU: Add simple test for PCUIF RACH Indication
Change-Id: I8fa6de711391837ed16888c48b22cd29892f222f
2019-03-02 00:04:52 +01:00
Harald Welte a321981987 PCUIF: Add send + receive templates for TIME_IND
Change-Id: I57d776d8d2d8300805b8b8e724c288ba29c4b284
2019-03-02 00:04:52 +01:00
Harald Welte 0a3d63f683 PCUIF: Accept any ARFCN in tr_PCUIF_DATA_REQ
Change-Id: Ic334d8809baea86ea93f429b200204861b989030
2019-03-02 00:04:52 +01:00
Harald Welte ea3c7e945e PCU: Split RAW_PCU_CT from RAW_NS_CT
Let's split the PCUIF-side component from the NS-side component
and create a new RAW_Test_CT which derives from both.

Change-Id: I15021c5dea16e39a530d8d9080e37a7f2a6c4fa7
2019-03-02 00:04:52 +01:00
Harald Welte 913bbf6908 PCUIF_Types: Add enumerated PCUIF_BurstType
Change-Id: Ib2e2effb818da5d259032ee5b8b25788ebc646c0
2019-03-02 00:04:51 +01:00
Harald Welte 72099557a5 PCU: Add test for SNS Change Weight procedure
Change-Id: Ia63865139f63969ccde010b01ddb8fb073209f3a
2019-02-26 11:28:28 +01:00
Harald Welte 630d0e6523 PCU: Add tests for SNS with separate signalling/data NS-VC, ADD, DEL
Change-Id: Ie1d14a901b354daa4e3796fe66e7390d87c7e778
Related: OS#3617
2019-02-26 11:28:28 +01:00
Harald Welte b63c3a1e4f PCU: Add a bit more logging/tracing to ease debugging of SNS tests
Change-Id: Ic558f02f3c3ddbde0f16a7656b84486a8462b0a4
Related: OS#3372
2019-02-26 10:20:29 +00:00
Harald Welte bf76824482 PCU: Prepare for having multiple Gb connections on tester side
Change-Id: I6de4832bda18b36873f57986a34ba8082af2c853
Related: OS#3372
2019-02-26 10:20:29 +00:00
Harald Welte c4d7beb3ff PCU: Move SNS specific functions to PCU_Tests_RAW_SNS.ttcn
Change-Id: Ie41a21b6f2b95f4aaea84d8b717e96efefb704e3
RelateD: OS#3372
2019-02-26 10:20:29 +00:00
Harald Welte f7b74076c2 PCU: Add tests for our new IP Sub-Network-Service (SNS) Gb interface
The SNS-enabled Gb interface has no RESET/BLOCK/UNBLOCK procedures,
but introduces a bunch of new SNS procedures.  Most importantly the
SNS-SIZE and SNS-CONFIG procedures.

Change-Id: I0fe3d4579960bab0494c294ec7ab8032feed4fb2
Related: OS#3372
2019-02-26 10:20:29 +00:00
Harald Welte 88963dc365 PCU: Change PCU-side port to 22000
This way the tester and PCU can run on the same ip address without
conflicts.

Change-Id: I0e98877db8f0300a98f7694744a063c1143b89f3
2019-02-26 10:20:29 +00:00
Philipp Maier 6d4e094341 MGCP_Test: Add testcase to test ts101318/rfc5993 conversion
The MGW recentenly adds support to convert between ts101318 and rfc5993
when GSM-HR is used. Lets add a testcase for that.

depends: osmo-mgw Iceef19e5619f8c92dfa7c8cdecb2e9b15f0a11a1
Change-Id: I96df45fe45b53088e07b26f14173a75498a84143
Related: OS#3807
2019-02-26 09:10:41 +00:00
Philipp Maier a071ee467c RTP_Emulation: check received RTP packets
The configuration of the RTP Emulation (RtpemConfig) allows to set a
fixed RTP payload that is then used when RTP packets are transmitted.
However, when packets are received, then the payload is not checked.
Lets check the received data against some user configurable rx payload,
that is by default set to the tx payload.

Change-Id: Id0b125aaf915497d0a4f051af890fc34e09da61d
Related: OS#3807
2019-02-26 09:10:35 +00:00
Max a199a2e0a2 Log all RA values which cause test failure
Previously the first timeout in TC_rach_content() caused test to
fail. Related TC_rach_count() test shows that there're some (13-16 out
of 1000) RA values which are problematic. Let's log all such values in
TC_rach_content() before failing the test to, hopefully, spot the
pattern which sets such RA values apart.

Change-Id: Ibfeb377101f406608c0193f08729c0e6d084281e
Related: OS#1854
2019-02-25 16:31:11 +01:00
Harald Welte 43d36b90d5 msc: update expected results
Change-Id: I1151e9333da14bb2714712b57914e03e4d5b785b
2019-02-22 21:26:58 +00:00
Harald Welte 4c422b76ff MSC: Verify CSFB INDICATOR is present in CLEAR COMMAND
When a CSFB voice call is cleared by the MSC, it must include the
CSFB INDICATOR in order to trigger the BSC to perform actions
required for Fast Return to LTE.

This patch changes TC_sgsap_lu_and_mt_call() and
TC_bssap_lu_sgsap_lu_and_mt_call() to ensure the CSFB INDICATOR IE
is present as expected.

Change-Id: I6ce3a34f85aca7143cf7925cb9319bc679e8d395
2019-02-22 21:24:11 +00:00
Harald Welte b1b853a8ec PCU_Tests.default: Remove content of [EXECUTE] section
If we have tests stated in the .default file and we have them stated
again in the .cfg file, they will be executed twice.  Let's align
the PCU tests suite with those of other network elements.

Change-Id: Ieeaf70153f4dc61978569d06e20947fa939cabdd
2019-02-21 15:54:46 +00:00
Max 1181f2d105 Log FN and RA on RACH test timeouts
Change-Id: I6caac582649e38e77938602fa675d50bdde57790
2019-02-21 16:46:05 +01:00
Pau Espin 446e07bc77 bts: Fix race condition in f_dyn_ipa_pdch_(de)act
Test BTS_Tests.TC_dyn_osmo_pdch_act_deact was sporadically failing due
to receiving IND_INFO on the PCU port with pdch_mask related TS bit set
to 0 after sending a PDCH ACT. That happened due to a race condition
because PCU send IND_INFO periodically. As a result, it can happen that
BTS sends an IND_INFO after PCU.clear was called and before the PDCH ACT
is handled.

Change-Id: If11ef05d97aa5f6caaa731f3817c1fecfc3edf7c
2019-02-21 13:31:35 +00:00
Harald Welte 9fbcf4b01e PCU: Tests for the BSS/PCU side NS/BSSGP implementations
The existing (unused) PCU_Tests are operating on top of a NS + BSSGP
emulation, i.e. they're aimed at testing higher protocol layers.  Also,
they required BTS+BSC to run next to the PCU.

The new PCU_Tests_RAW introduced in this patch are the exact opposite:
* they test the PCU alone (attach to PCUIF and Gb interface)
* they don't require BTS or BSC to run
* they don't use NS + BSSGP emulation but raw NS/BSSGP frames to
  test the very NS/BSSGP implementation inside of OsmoPCU.

Change-Id: I7ad76b96974cf0a686ad0f00ccd09d1a9df8b4d5
Related: OS#2890
2019-02-21 11:53:42 +01:00
Philipp Maier 6137c32e05 MGCP_Test: Add VTY access
The MGCP_Test testsuite currenty lacks VTY access capabilities, lets
add them so that future testcases can access the VTY in order to change
options on the fly.

Depends: osmo-ttcn3-hacks Ife949c61156222de3026280071226ef6f5dbd959
Change-Id: If383f81af3306f8f5bdf50152498ae1303d390df
Related: OS#3807
2019-02-20 17:00:33 +01:00
Harald Welte 07e8dde671 PCUIF: Use OCT4 for IP address, not uint32_t
In TTCN-3, a 4-byte octetstring is the more usual representation for
IP addresses, not an integer type.  This is also what functions like
f_inet_addr() etc. are using as types, and we may want to use them
in combination with the PCUIF.

Change-Id: Ia08e1bb8a9bfbd5bf5b63922c77bb221ce1a12f5
2019-02-18 20:42:16 +01:00
Harald Welte e1fd916b21 PCUIF: Prepare for simulating BTS side of PCU Interface
Our TTCN-3 PCUIF code so far was only used to simulate the PCU side
of the interface: connecting to the socket as a client.  However,
it's also useful to emulate the BTS side of the interface: Listening
for a connection as a server.

Also, the send/receive templates are prepared for the inverse role.

Change-Id: I779ff2903cab8c13ffb8fe10a4cacd996bafe69a
2019-02-18 20:25:00 +01:00