aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-10-10IPA_Types/Emulation: Add RSPRO supportHarald Welte2-2/+49
RSPRO is the protocol used by osmo-remsim. It is embedded into an IPA multiplex, and hence the TTCN-3 IPA code needs some extension to cover support for it. Change-Id: I536d6843b3e65b3ee35fbbcd6353e0fb0ce21c8e
2018-10-10Add SGsAP_Templates for SGsAP on the MME<->MSC interfaceHarald Welte3-1/+867
Change-Id: I435dab312fc4965c69ffb9cc22917539ebab93e7
2018-10-10bts: f_tx_lapdm: Build SacchL1Header with proper valuesPau Espin Pedrol1-7/+11
Change-Id: I2c77d9d6262bd4763b3fb53a4a595d2c61f45f4b
2018-10-10MSC_ConnectionHandler: Use explicit AoIP flagPhilipp Maier2-33/+43
Most differences between sccplite and AoIP are visible during the assignment. The current implementation checks for the presence of a CIC in the ASSIGNMENT REQUEST in order to detect if the communication should be modeled by AoIP or sccplite. This method is error prone and does not work very well in situations where only signalling is used, because there in sccplite and AoIP no CIC or AoIP trasp. identifier is present, so there is nothing to check on. To resolve this we need an explicit way to tell the MSC_ConnectionHandler that it has to behave like an AoIP MSC or like an sccplite MSC. - Add an aoip flag to TestHdlrParams - Make sure BSC_Tests.ttcn sets the AoIP depending on mp_bssap_cfg.transport Change-Id: I800249e783deb018d99e81d814843e0574a5c69b Related: OS#3639
2018-10-10resolve ambiguity of MobileIdentityLV type nameStefan Sperling2-3/+8
There are two distinct types defined for a Mobile Identity LV IE. One type definition lives in GSM_RR_Types and defines the "canonical" IE form, with a full octet for the length. Another one lives in RLCMAC_CSN1_Types which defines how a mobile identity appears in paging requests. In this case, the length field is only 4 bits in size. Rename this latter type from MobileIdentityLV to MobileIdentityLV_Paging and add a comment to highlight this distinction. TS 144 060 Table 11.2.10.2 explicitly states that only the value part of this IE matches the definition of the canonical IE as "defined in 3GPP TS 44.018" (actually, TS 44.018 further redirects the reader to TS 124 008; see section 10.5.1.4 there). As an aside, a third definition of the MobileIdentityLV type exists in MobileL3_CommonIE_Types, which matches the "canonical" form. Change-Id: I990316cd5ef5aaf079b03c344e3185ae6ab8ba6d Related: OS#2404
2018-10-09document why ipa chopped ping fails with control interfaceStefan Sperling1-2/+3
We cannot test the control interface with an IPA ping message. The control interface only supports osmocom-specific extensions, and the IPA ping message is not part of those extensions. Other tests will have to be devised for the control interface. Change-Id: Iae0f16394c78196de621c14b34d1b1905c0cb7c8 Related: OS#2010
2018-10-08Add a TTCN3 module for IPA protocol testingStefan Sperling4-1/+183
This new module allows us to test IPA code in libosmocore and libosmo-netif. Currently only one test is implemented, which sends a chopped IPA ping message and expects to receive an IPA pong. The system under test is any IPA speaker on any TCP port. Any test suite may call parametrized functions to create an IPA testing component and run a particular test. So far, one such test has been added to the BSC_Tests suite. Change-Id: I246a405414e36a44dc1e308692faab8bf04da0e6 Related: OS#2010
2018-10-05MSC_ConnectionHandler: Make sure COMPLETE LAYER 3 INFORMATION contains a ↵Philipp Maier1-2/+24
codecList Since our BSC implementation supports AoIP, the COMPLETE LAYER 3 INFORMATION message must contan a Codec List (BSS Supported) information element. The test currently just receive a L3 compl Template and then continue. This is implemented without an altstep. So lets have an altstep with timeout here and make sure that the codecList information element is always included. However, since AoIP was specified after sccp-lite, we need to make sure that for sccp-lite configurations, the Codec List is not included. - Check L3 compl message using an alt-step - Make sure codecList is always included (for AoIP) Change-Id: Ia16a454e78421430ec32cc37939d429970cb06ec Related: OS#3548
2018-10-05BTS_Tests.ttcn: fix: expect RSL_MEAS_RES messagesVadim Yanitskiy1-0/+4
Since both Calypso PHY and trxcon (since OS#2988 is fixed) are always sending the Measurement Reports in dedicated mode, the test cases should expect to 'see' the RSL_MEAS_RES messages, and ignore them if they are out of the testing scope. This change makes the following test cases pass: - TC_rll_est_ind, - TC_rll_rel_ind_DCCH_0, - TC_rll_rel_ind_DCCH_3, - TC_rll_rel_ind_ACCH_0, - TC_rll_rel_ind_ACCH_3, by adding the 'lazy' version of as_meas_res() alt-step. Change-Id: I34227b981f76377c338fad4ff9560ba2042abce4
2018-10-05BTS_Tests.ttcn: fix: properly detect Measurement ReportsVadim Yanitskiy1-10/+2
The altstep for detecting Measurement Results, that was introduced in I15782ec93d68a0dc54b2ed7a84cb70d780ba0ce1, was implemented in a wrong way. Basically, the DL Measurement Reports (coming from the MS) are being combined with the UL measurements, and then being send as a RSL_MEAS_RES message, not RSL_INITDATA_IND. Let's use the existing as_meas_res() in 'lazy' mode for that. Change-Id: Iea5ee868ede8bfe1e2b1cbf5abcbf2844d3fe9a4
2018-10-05BTS_Tests.ttcn: add 'lazy' mode for as_meas_res()Vadim Yanitskiy1-1/+2
This mode would be useful for test cases, which expect to receive the RSL_MEAS_RES messages, but don't care about their correctness. Change-Id: I39118d6e64c767fad2c9618ec0ef4532dc60e715
2018-10-05BSC_Tests: use consistant AMR S0-S15 bitsPhilipp Maier1-4/+16
At the moment we use the default S0-S15 bits for the AMR config, regardless what RSL_IE_Body mr_conf or osmo-bsc.cfg sets. - Make sure consistant S0-S15 bits are used for AMR related tests. This is a re-submit of change I794e6d4fe8abc67337428cbe0bcc8802fae37a6e, which had to be reverted because the depending patch in osmo-bsc is not yet merged into master. This caused TC_assignment_codec_amr_f and TC_assignment_codec_amr_h to fail. Change-Id: Ia98f18ba2c17c85ed01488734dc6df67f5b60d41 Depends: osmo-bsc: I2d8ded51b3eb4c003fe2da6f2d6f48d001b73737 Related: OS#3529
2018-10-04bts: Use f_L1CTL_PARAM to set expected ms power level for dummy MeasRepPau Espin Pedrol1-0/+1
If for whatever reason (eg. CPU scheduling saturation) the L1CTL cli (TTCN3) doesn't send Measurement Reports on time and no previous one is cached or has been erased by L1CTL_DM_REL_REQ, lower osmocombb layers will generate their own dummy Measurement Reports since SACCH must always be filled. Those dummy Measurement Reports are filled from parameters previosuly set using L1CTL_PARAM_REQ (implemented by f_L1CTL_PARAM() in TTCN3). Since that function is never called, we need to call it to set the expected MS power level values in case the cache is empty and we don't send expected values in case we don't send the Measurement Report through L1CTL on time. Change-Id: Ie1fd9cee3472c7aa6580f846d277f485d3401641
2018-10-04bts: Add parameter to set and expect a specific MS power levelPau Espin Pedrol1-5/+10
This change uses recently added ts_L1CTL_DATA_REQ_SACCH to be able to set the L1 Header parameters to match the expected MS power level announced by the BTS. Change-Id: Iedab8681a0ba4652a6bb1c001418599a4ff746b6
2018-10-04BTS_Tests.ttcn: don't tolerate any RSL messages by defaultVadim Yanitskiy1-2/+2
Change-Id: I70dc8af999eed8f7ed6a0d9dad4d3a9406340017
2018-10-04BTS_Tests.ttcn: fix: properly expect I-frames in f_TC_encr_cmd()Vadim Yanitskiy1-4/+27
For some reason, in f_TC_encr_cmd() it was expected / assumed that when a ciphered I-frame is sent from MS on L1CTL, nothing else than this frame would arrive. But since we have fixed Measurement Reporting in trxcon (see OS#2988), the MR related messages do appear on A-bis interface now! This change introduces a new function f_data_mo(), which should be used to send I-frames from MS and expect them on A-bis. So, the following test cases: - TC_encr_cmd_a51; - TC_encr_cmd_a52; - TC_encr_cmd_a53; should pass with both trxcon and Calypso PHY now :) Change-Id: I08cb28dd9fa23f3ef8b0c9ede3d4c47f5702a1c1
2018-10-04BTS_Tests.ttcn: mark f_unitdata_mo() as privateVadim Yanitskiy1-1/+1
Change-Id: Idd31608cd91631a92ea9d73e1db508605d7314d4
2018-10-04BTS_Tests.ttcn: share as_rsl_sacch_ind() and as_rsl_any_ind()Vadim Yanitskiy1-12/+19
Change-Id: I7ace54643c10df38a3ea941242f8b65264ef1322
2018-10-03L1CTL_Types: Add support to set L1 Header params during SACCH txPau Espin Pedrol2-0/+38
Change-Id: Id014f790ee2ede8ae796c37b1c6b25c4af9034d2
2018-10-03BTS_Tests.ttcn: extend f_unitdata_mo() with tolerance parametersVadim Yanitskiy1-2/+18
The ability to control which kinds of RSL messages are permitted in a given use case (and which are not) makes f_unitdata_mo() function much more flexible. Let's introduce two new parameters, one of which would make its 'alt' statement tolerant to SACCH messages (Measurement Reports), and another to other kinds of RSL messages. Please note that the original behaviour of f_unitdata_mo() went untouched, so it's still tolerant to any other messages. Change-Id: I15782ec93d68a0dc54b2ed7a84cb70d780ba0ce1
2018-10-03library/RSL_Types.ttcn: expect any l3_info for 'tr_RSL_UNITDATA_*' by defaultVadim Yanitskiy1-2/+2
This is quite useful when one needs to expect an RSL UNITDATA message with any payload. Let's set 'l3_info' to '?' by default, like it's already done for 'ts_RSL_DATA_*'. Change-Id: I45260343b34d8d054e7efa72de11dd4cb510a8cc
2018-10-03library/RSL_Types.ttcn: fix inadequate template restrictionVadim Yanitskiy1-1/+1
The 'tr_RSL_UNITDATA_IND' is a 'response' template, so there is no reason to restrict 'link_id' to any obvious value. Change-Id: I29ac0a2828b565baa1d2f3ac0a922bc441378f94
2018-10-03bts: Add timing offset tolerance module parameter to support real HWPau Espin Pedrol1-14/+12
When we don't use trxcon (ie we run real HW) we need to relax template matching when we receive UL measurements in that case. Change-Id: Icf1d2216d29c1ebf68c672e6ca06c54a7457304b
2018-10-03sgsn: update expected-resultsAlexander Couzens1-32/+13
Change-Id: Ie08fb0b5a94728640f65f56430a217b51aea3dde
2018-09-28Revert "BSC_Tests: use consistant AMR S0-S15 bits"Philipp Maier1-16/+4
The change depends on another change in osmo-bsc, which is not in master yet. Because of this TC_assignment_codec_amr_f and TC_assignment_codec_amr_h are currently failing. So lets revert this patch and re-submit it later. See also: osmo-bsc change I2d8ded51b3eb4c003fe2da6f2d6f48d001b73737 This reverts commit 7f5609ad3e65098cca3d79565a1aa80460c49bed. Change-Id: Ib16d14c723773ce67508c7e6028e594c15779506
2018-09-27osmo-bsc.cfg: drop 'add' keyword from 'neighbor add'Neels Hofmeyr1-1/+1
Adjust for osmo-bsc change I143f21f6069d1a86096cc8240cf69eb7ea9c8ac8. Change-Id: I6a83a8d4ba61b87905c6fae457d4b4eb6078dce9
2018-09-26bts: Account for elapsed time in paging timerPau Espin Pedrol1-21/+44
Previous implementation always waited for "interval" time until sending next paging cmd, and didn't finish the test until all expected paging cmds were sent. As a result, each time it triggered it accumulated some delay which could go from 2 seconds to 12 seconds depending on machine load. As a consequence, the expected number of paging cmd messages to be sent in 20 seconds was being sent in 22-32 seconds, hence changing the load on osmo-bts and as a result changing the test results. Low threshold needs to be adapted since now they are sent in exactly 20 seconds max and the load handled by osmo-bts is bigger. Fixes: OS#3025 Change-Id: I9651136d6810420e0a4d887bfb11c913a24f0457
2018-09-26bsc: inter-BSC HO: add TC_ho_out_of_this_bsc, TC_ho_into_this_bscNeels Hofmeyr8-9/+400
Add f_gen_handover_req() like f_gen_ass_req(), to match AoIP or SCCPlite requirements. For incoming HO, MSC_ConnHdlr needs to know the SCCP addresses to expect the incoming SCCP Connection from MSC to BSC. Add 'handover' section to TestHdlrParams, and pass in the addresses from test_CT via that. In osmo-bsc.cfg, add a remote neighbor config, so that the VTY command 'handover any to arfcn 123 bsic any' can trigger an outgoing inter-BSC HO. Add various BSSMAP handover templates to BSSMAP_Templates.ttcn. Add RR Ho Command template to L3_Templates.ttcn. Move ts_BSSAP_Conn_Req() from msc/BSC_ConnectionHandler.ttcn to library/BSSMAP_Emulation.ttcn, so we can also model an SCCP Connection Request in BSC_Tests.ttcn (this time from MSC to BSC). Add the two new tests to bsc/expected-results.xml. Related: OS#2283 Change-Id: Id22852d4be7f127d827e7a8beeec55db27c07f03
2018-09-25ensure well-formed config filesHarald Welte4-119/+119
Change-Id: I09eedd3cda993b9fabfdcf7caf0b3a050eaad9b1
2018-09-25MSC_Tests: Reply to Classmark Req in TC_lu_imsi_auth_tmsi_encr_3_1_no_cmDaniel Willmann2-0/+15
After osmo-msc I73c7cb6a86624695bd9c0f59abb72e2fdc655131, osmo-msc sends a BSSMAP Classmark Request if encounters a missing Classmark, which is the case during LU when A5/3 is enabled. Fix this test by answering the Classmark Request, if any. Change-Id: I25578c050b7e105ed71b064891d4cd418ee30fcf
2018-09-21BSC_Tests: use consistant AMR S0-S15 bitsPhilipp Maier1-4/+16
At the moment we use the default S0-S15 bits for the AMR config, regardless what RSL_IE_Body mr_conf or osmo-bsc.cfg sets. - Make sure consistant S0-S15 bits are used for AMR related tests. Change-Id: I794e6d4fe8abc67337428cbe0bcc8802fae37a6e
2018-09-18bsc: test Classmark EnquiryNeels Hofmeyr3-1/+33
Enhance TC_classmark to also include the BSSMAP Classmark Request -> RR Classmark Enquiry part. So far it was only testing the return path of RR Classmark Change -> BSSMAP Classmark Update. This test will thus fail with current osmo-bsc master, and will succeed as soon as osmo-bsc If5db638fd6e8d9c2ef9e139e99f0fabe1ef16ddf is merged. Add: * ts_BSSMAP_ClassmarkRequest in BSSMAP_Templates.ttcn * tr_RRM_CM_ENQUIRY in L3_Templates.ttcn Change-Id: Idaab4d568cf986b4897ba008f6262c839d1592fb
2018-09-16GSM_Types: Add CBCH_Block definition of TS 04.12Harald Welte2-0/+43
Change-Id: Ib034aba11a0219959c4224238e559ba36e95cacf
2018-09-16GSM_Types: Add support for Osmocom RSL ChannelNr CBCHHarald Welte1-1/+4
Osmocom uses 0xC8 as channel number for CBCH, this is an extension to the 08.58 definitions. Change-Id: I2203f4a9012c154c12ac9d8f9c448a9ed0f49197
2018-09-16rsl: Add SMSCB related RSL types / templatesHarald Welte1-0/+54
Change-Id: I203e72a203ffa7538aadc7b96e1ae7e21956c160
2018-09-16bts: Add second VTY connection to BSCHarald Welte3-0/+20
Change-Id: If4b5a906a0841c0a8c3d7c4e9e5a3d1208ecf16a
2018-09-16Osmocom_VTY_Functions: Generalize to handle multiple VTY portsHarald Welte1-7/+7
The existing Osmocom_VTY_Functions code was centered around a global module parameter specifying the prompt prefix. This prevented a single test to use multiple VTY connections to different Osmocom programs. This patch generalize the code by widening the prompt matching in f_vty_wait_for_prompt() and by allowing the caller to specify the prompt prefix to override the modulepar. Change-Id: I574b56c42fe95540af44a2c43d0fb469938c0e65
2018-09-16bts: update TODO comments; remove tests already coveredHarald Welte1-4/+2
Change-Id: I35003e20b9b511e5d514549a9ad0acc32b243651
2018-09-16add ttcn3 test suites slides from OsmoDevCon 2018Harald Welte1-0/+296
Those slides are copied from http://git.gnumonks.org/laforge-slides/plain/2018/osmodevcon2018-ttcn3_test_suites/ to make sure they are more easily found. It would be nice to convert them into an actual asciidoc book with one chapter per test suite which would be built from within this repository. This way we can keep documentation and code better in sync. Change-Id: I8a0d66babc165678ec53a1ee1c673e93708b8b79
2018-09-16BTS: enable encryption + RLL tests for Lm (TCH/H) channelsVadim Yanitskiy1-1/+1
Since OS#3419 is resolved and TCH/H channel is supported by trxcon, both encryption and RLL tests can be finally enabled on Lm (TCH/H) channels. Change-Id: I78f82a5f2a7b21d91692b1c99a9ff125e65cab64 Related: OS#3256
2018-09-16library/GSUP_Types: correct value of the GSUP_CancelTypeAlexander Couzens1-2/+2
The comment in the c header of OSMO_GSUP_CANCEL_TYPE_UPDATE says: 1 = /* 0 on the wire */, 2 = /* 1 on the wire */ Change-Id: I4d22af9fee19e6036dbb555422759e3c1285416a
2018-09-14sgsn: implement TC_attach_usim_resyncAlexander Couzens1-0/+131
Test the UMTS AKA resync procedure with USIMs. MS -> SGSN: Attach Request MS <- SGSN: Identity Request IMSI MS -> SGSN: Identity Response IMSI MS <- SGSN: Identity Request IMEI MS -> SGSN: Identity Response IMEI HLR<- SGSN: SAI Request HLR-> SGSN: SAI Response MS <- SGSN: Auth Request MS -> SGSN: Auth Failure (with AUTS) HLR<- SGSN: SAI Request (with AUTS & RAND) HLR-> SGSN: SAI Response (new key material) MS <- SGSN: Auth Request (new key material) MS -> SGSN: Auth Response MS <- SGSN: Attach Accept MS -> SGSN: Attach Complete Change-Id: I52a8dc45bb67d4ca9f3efade278d3308bb0da73d
2018-09-13MSC_ConnectionHandler: stop properly on failure in f_establish_fully()Philipp Maier1-0/+10
When the altstep in f_establish_fully() gets an unexpected ASSIGNMENT FAIL or COMPLETE it should stop completely like it is already implemented in many other altsteps. Change-Id: Ib4ac7bcbac35a4ae454d1806f3fbb727834d18b7
2018-09-12BTS_Tests: check paging channel fn (bs_ag_blks_res)Philipp Maier1-3/+59
BTS_Tests.ttcn contains numorous tests that issue pagings via RSL and observe if these pagings are visible on the UM interface as well. However, it is not checked whether the frame number of the blocks on which those pagings are sent actually falls into the range that is specified for PCH. We should check this as well. (The PCH is part of the CCCH, which also contains the AGC. How many blocks of the CCCH are to be used by the PCH is set by the parameter bs_ag_blks_res.) - Check the FN of each paging message that arrives on L1CTL and make sure that those FN are part of the PCH. Change-Id: I839e75ece05166518bf7132acd3017434b3d3bc2 Related: OS#1575
2018-09-11GSUP_Types.ttcn: add tr_GSUP_SAI_REQ_UMTS_AKA_RESYNCAlexander Couzens1-0/+27
Match only on AKA RESYNC packages Change-Id: Ibab8a76fde78db6e7a84794e0b641bcb7b1fd1a7
2018-09-11L3_Common: extend the AuthVector to contain AUTSAlexander Couzens1-1/+6
AUTS is used in the UMTS AKA resync procedure. Change-Id: Id1afa47778e6220cab375ae4b54b251801724fdb
2018-09-06compare_results.sh: less drastic wordingNeels Hofmeyr1-8/+9
We don't currently fail test runs from mismatching results, it's just for human convenience. So don't say things like "Failing due to skipped tests", it's confusing. Summarize once the need to update results instead. Change-Id: Ibafa75bd54df07253780c6af3a68a0a4d148e64b
2018-09-06compare_results.sh: speed up comparison loopNeels Hofmeyr1-2/+2
The script takes quite long to parse each and every line O(n**2). Rather directly pick only those lines that contain the test name in the grep that feeds into the loop. Change-Id: I0d4987b11c3feaef3a7fc56d764c43386865004f
2018-09-06update expected resultsNeels Hofmeyr6-51/+57
Change-Id: I32c29e62ca317937db771f8fb1540bb1fe9da2ab
2018-09-04L3_Template: add template ts_GMM_AUTH_FAIL_UMTS_AKA_RESYNCAlexander Couzens1-0/+22
ts_GMM_AUTH_FAIL_UMTS_AKA_RESYNC send a Authentication & Ciphering failure to resync the USIM with the HLR. Change-Id: Ia58dc1483757887ca14cfae19e30f9c91fef5874