aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2019-07-08msc: add check IMEI testsosmith/check-imei-mscOliver Smith4-3/+420
Extend BSC_ConnHdlr with new check IMEI related parameters. Add tests for check IMEI and check IMEI early for multiple auth variations, as well as variants where the HLR would respond with NOK or ERR. Note that we can safely set "check-imei-rqd 0" in f_init(), because the latest OsmoMSC version already suppors this VTY command. Two tests do not always pass, sometimes the RAN connection breaks before the test finishes (TC_lu_imsi_auth_tmsi_check_imei_err and TC_lu_imsi_auth_tmsi_check_imei_nack). I have added them as expected errors in the expected-results.xml. Related: OS#2542 Change-Id: Ic34bb8dc8547cafb5a53df03884554dd4f72956d
2019-07-08L3_Templates: fix IMEI length: 14 (not 15)Oliver Smith1-1/+1
The right length is 14. The 15th additional checksum digit is not intended for digital transmission. A good overview of the IMEI/IMEISV structure is here: https://en.wikipedia.org/wiki/International_Mobile_Equipment_Identity#Structure_of_the_IMEI_and_IMEISV_(IMEI_software_version) Related: Iaf2569c099874b55acbd748b776394726cc5ce54 (osmo-msc) Change-Id: I7121f29a90f19d92c7bf26f26e76f1978c648459
2019-07-07library/L1CTL_Types.ttcn: introduce TRAFFIC_{REQ|IND} templatesVadim Yanitskiy1-0/+42
Change-Id: Ic9f412579da33d0c76b7dd616bd1b305aacf5884 Related: OS#1855
2019-07-07library/TRXC_Types.ttcn: add FAKE_CI command for C/I simulationVadim Yanitskiy1-2/+9
Change-Id: Ibbab8df117a97a3dce160c67d1adbc67c31637e2 Depends: (OsmocomBB) I7080effbbc1022d1884c6d6f0cb580eba8e514ff Related: OS#4006
2019-07-03ggsn: Add TC_pdp4_act_deact_ipcp_pap_broken()Harald Welte4-2/+50
This test case reproduces a real-world PCO capture including a broken PAP AuthenticationReq. It triggers some weird behavior in OsmoGGSN 1.3.0 where it would send duplicate IPCP repsonses and no PAP response. Change-Id: Ie89d984ed9e26fbbb2e4914bdb8623446d462a4c Related: OS#3914
2019-07-03bsc: Do proper chan release in TC_ho_out_fail_no_ho_detectPau Espin Pedrol1-11/+13
BSC waits to receive a ClearCommand in response to its ClearRequest before it starts tearing down the MGCP conn on the MSC-side of the MGW endpoint. As a result, expected DLCX was not being sent which made test fail. However, currently test still fails because current osmo-bsc master sends a repeated ClearRequest message in this scenario. Related: OS#4078 Change-Id: Ic398896147a0b6b04ffeae56a23d25783b2b17fe
2019-07-01cosmetic: bsc: Document timer timing out in f_tc_ho_out_fail_no_ho_detectPau Espin Pedrol1-1/+1
Change-Id: I4d06fcff63d82f849da08f509b007cb19e809fb0
2019-06-28mgw: add module param mp_enable_conn_timeout_testOliver Smith1-2/+10
Fix ttcn3-mgw-latest by not running "conn-timeout 0" during f_init_vty at the start of every test case. The latest osmo-mgw release does not have that command yet. Change-Id: I8bbf15baa45679d5812a5a9184520ef9b9e73bba
2019-06-26mgw: add connection timeout testOliver Smith1-0/+40
Change-Id: I020b682b347045818fd28de240daa0aa33fe43b4
2019-06-26RTP_Emulation: allow expecting connection refusedOliver Smith1-2/+43
Prepare for upcoming connection timeout test, where we want to run into connection refused. Change-Id: Id6365bc59e19368a87b951367742a0b7cc5e9574
2019-06-25mgw: add osmo-mgw.cfgOliver Smith1-0/+37
Change-Id: I3dd498902db4ea0233f43099ec5b6b4292714908
2019-06-24bsc: Test MGCP-over-IPA forwarding in SCCPlite testsPau Espin Pedrol2-18/+135
* MGCP-over-IPA handling in MSC_ConnectionHandler means we need to use the new MGCP_CLIENT_MULTI port since we'll be managing MGCP messages from 2 different UDP connections, and we need to be able to route answers correctly. As a result, parameter multi_conn_mode is enabled for SCCPlite and all code adapted to use that port in that type of scenario. * iDuring calls when on SCCPlite, send a full (all-required-params-in) CRCX through the MGCP-over-IPA connection towards the BSC in order to emulate the MSC, and expect the correct answer back. This way we test BSC funcionality to forward MGCP messages coming from MSC works as expected. Related: OS#2536 Depends: osmo-bsc.git I38ad8fa645c08900e0e1f1b4b96136bc6d96b3ab Change-Id: I31fed700772dd0b063f913b1e1639fd428c46e7d
2019-06-24lib/mgcp: Add new port with support to handle multiple MGCP socketsPau Espin Pedrol4-13/+84
* Some scenarios like MGW BSC-attached in SCCPlite require handling of 2 MGCP-over-UDP sockets in MGCP Emulation: 1 for regular libosmomgcp-client from osmo-bsc and another one from the forward socket from osmo-bsc (of MGCP-over-IPA messages communicated with MSC). * Old port is kept for backward compatibility with other tests and enabled by default. It's also interesting to keep it because it makes tests without special needs (2 sockets) to use the old port/API which produces simpler code to read and mantain. * Users of the new port have to enable multi_conn_mode parameter and expect to interact with port MGCP_CLIENT_MULTI instead of MGCP_CLIENT, which will offer messages containing information about the UDP connection being used by that message. Change-Id: Ic0ba8c5cde068c07671512a83095d83e28b86746
2019-06-24bsc: Refactor altstep as_Media_mgw()Pau Espin Pedrol1-52/+66
Move logic handling CRCX and MDCX to function, so they can be reused for other ports in forthcoming commits. Change-Id: I07344657c5d1465a8e0c278adb76150ca7f449ba
2019-06-21BSSMAP_Templates: Provide complete set of CellID related rx/tx templatesHarald Welte1-7/+57
Change-Id: I07c5fb9b621b09e11fec025b56f971fb61060839
2019-06-21Put build / run scripts under Apache 2.0 licenseHarald Welte8-0/+119
The license of the build or execution scripts doesn't affect the license of the actual program, and we want to explicitly state that these scripts may be used in any kind of context. Change-Id: I553925cd88b05903aab52ae1afb093aa9ab9d035
2019-06-20MSC_Tests_Iu.ttcn: fix TC_iu_lu_and_mo_ussd_mo_release(): use proper BSC numberVadim Yanitskiy1-1/+1
Change-Id: I58149f0e9cbae9684a8a899bfee81b0de609ccac
2019-06-20library/RAN_Emulation.ttcnpp: fix: properly handle SAPI / DLCI for RANAPVadim Yanitskiy1-2/+8
Some of our SMS related test cases are failing. The problem is that SMS related RAN messages shall be sent on SAPI 3, as per GSM TS 04.11, section 2.3, while they actually being sent on SAPI 0. For the messages coming from the TCs towards OsmoMSC over RANAP, we need to convert from DLCI to SAPI in f_xmit_raw_l3(). OsmoMSC also needs to be patched, because it seems to ignore SAPI IE. Change-Id: I6199fd5f26774fb1ec419bc1ef9e1caeca3a0d35
2019-06-20library/ranap: enrich both t(s|r)_RANAP_DirectTransfer templatesVadim Yanitskiy2-91/+82
Instead of having two similar variants of RANAP_DirectTransfer: - t(s|r)_RANAP_DirectTransfer, and - t(s|r)_RANAP_DirectTransferSAPI, let's make the first one more flexible, and drop the last one. This is achieved by introducing two supplementary functions: - f_gen_ts_dt_ies(), and - f_gen_tr_dt_ies, which dynamically compose DirectTransfer.protocolIEs. Change-Id: I7333d08c4d5a72159bfbd50fe8e7b1084cd61b9e
2019-06-19lib/bssmap: Introduce function f_bssmap_ie_cic_2_int()Pau Espin Pedrol2-1/+6
Function will be re-used in forthcoming commits. Change-Id: Ifc7444ecca1571959ed83b43d3c7461c637686ae
2019-06-19bsc: Move hardcoded ip addr to variablePau Espin Pedrol1-1/+3
This way it's more clear what are those IP addresses for. Change-Id: I3600fd0d0486205e5bdc487fa75e9038d3bfb52c
2019-06-19bsc-sccplite: Fix expected DLCX in HO testsPau Espin Pedrol1-64/+31
* TTCN3 code was not ACKing the DLCXs, and as a result retransmitted DLCX BSC->MGW were being counted as 2nd DLCX. * In SCCPLite, only 1 DLCX is expected BSC->MGW, because the BSC only takes care of the BTS-side conn in the endpoint, while MSC takes care of the MSC-side conn (which is not sent in this case because doesn't really involved the BSC other than forwarding the message, which will already be tested in other places in forthcoming commits). * Getting rid of retransmissions by ACKing the DLCX, it unconvers a bug in TC_ho_out_fail_no_ho_detect when on AoIP, where BSC only deletes one of the 2 previously created connections. * Code is refactored into the function because its logic is made more complex, and may be even more complex in forthcoming commits when we add MGCP-over-IPA forwarding verification support. Change-Id: Ia1d0db9af073760105cc8509e228e317dbea2268
2019-06-18BTS: BS power testsEric Wild2-0/+115
osmo-bts does currently not use the signaled lchan BS power level, nor does it update the BS power IE returned in the measurement results. Change-Id: If91fb57b4070c60bb277d0b55d69ee3dde47ee48
2019-06-18sgsn: add osmo-sgsn.cfg, SGSN_Tests.cfgOliver Smith2-0/+90
Base on the docker-playground.git's config, but with 127.0.0.*. All tests passing in jenkins are passing locally with this config. Change-Id: I6da479e35fbe9f861a8bd8e578badcd1563e740f
2019-06-18hlr: add create-subscriber-on-demand testsOliver Smith1-0/+173
Test all possible code paths where a subscriber on demand can be created: * Check IMEI early * Location Update * Send Auth Info Related: OS#2542 Change-Id: Id544fa906ad442c2bbbccff437c18d04ddccde2e
2019-06-17msc/expected-results.xml: update SS and SMS related expectationsVadim Yanitskiy1-9/+7
Change-Id: I7c67fa71e2157063c13605267ec34779c5603ed9
2019-06-17MSC_Tests.ttcn: introduce TC_mo_ussd_for_unknown_transVadim Yanitskiy1-0/+60
The new test case is aimed to verify that OsmoMSC properly does reject (call independent) SS/USSD messages for non-existing transactions. Change-Id: I231142c88b0d3308039c797aa2bccadd79dce18b Related: OS#2931
2019-06-17BTS: test that RSL MS POWER does not activate MS power control without PP IEEric Wild1-1/+62
Change-Id: I8776ed4af83dc9f9f32ac14f5d4c9e35f4a286d6
2019-06-17BTS: add another failing power control testEric Wild1-0/+56
Change-Id: I8b3bdf374c96fa3368f90ae524859f30ceefa5f5
2019-06-16MSC_Tests.ttcn: introduce TC_proc_ss_abortVadim Yanitskiy1-0/+86
This test case is aimed to verify HLR-/EUSE-initiated abort of an active SS/USSD session according to the following scenario: 1. (HLR/EUSE -> MSC) GSUP_PROC_SS_REQ with random facility; 2. Network-originated connection establishment: 2.a. (MSC -> BSC -> MS) Paging Request; 2.b. ... 2.c. (MS -> BSC -> MSC) Paging Response; 3. (MSC -> MS) GSM 04.80 REGISTER with random facility; 4. (HLR/EUSE -> MSC) GSUP_PROC_SS_ERR (abort); 5. (MSC -> MS) GSM 04.80 RELEASE COMPLETE; 6. Connection release. As can be seen, HLR/EUSE initiates the session abort right after the GSM 04.80 REGISTER message is delivered to the MS, and just before the MS sends anything back in response. Change-Id: I5586a88136c936441a842f49248824680603672e Related: OS#2931
2019-06-16MSC_Tests.ttcn: introduce TC_proc_ss_paging_failVadim Yanitskiy1-4/+64
The idea of this test case is to check that OsmoMSC does inform HLR/EUSE that a subscriber did not respond to Paging Request in case of network-originated SS/USSD. Both f_expect_gsup_msg() and f_expect_dtap_msg() were extended with optional timeout value, as we need to wait longer than 2.0 seconds (default). Let's stick to 10.0 seconds. Change-Id: I1f53c56d569c8ac4071835685bbe3bc9e0ebd7f0 Related: OS#2931
2019-06-15MSC_Tests.ttcn: introduce TC_proc_ss_for_unknown_sessionVadim Yanitskiy1-0/+43
The idea of this test case is to check that OsmoMSC properly rejects GSUP PROC_SS messages for unknown sessions. As it turned out, OsmoMSC doesn't send GSUP PROC_SS ERROR as expected. The fix has been submitted. Change-Id: Ie267ee174c5061cd3fc102a2824abe03d73f3aac Related: OS#2931
2019-06-15MSC_Tests.ttcn: use f_expect_gsup_msg() in f_tc_mt_ussd_for_unknown_subscr()Vadim Yanitskiy1-12/+1
Change-Id: Id067cee3b7d06613d8387e0fa9d8a5c1dbcc49cf
2019-06-14MSC_Tests.ttcn: add timers to SS/USSD test casesVadim Yanitskiy1-0/+16
Change-Id: I1883bae34a9fe0435a6138cb7594461dee3bb232
2019-06-14MSC_Tests.ttcn: introduce TC_mt_ussd_for_unknown_subscrVadim Yanitskiy1-0/+51
The idea of this test case is to check that OsmoMSC properly rejects SS/USSD requests for unknown subscribers. Running this test case against the current OsmoMSC helped to discover several problems: - OsmoMSC doesn't print anything in such cases; - IMSI in the response error message is empty; - both session state and ID IEs are omited; which are going to be fixed soon. Change-Id: Id35cd3ec15d1bab15260312d7bbb41e2d10349fe Related: OS#2931
2019-06-14library/GSUP_Types.ttcn: refactor PROC_SS IEs generationVadim Yanitskiy1-29/+39
Both ts_GSUP_PROC_SS_ERR() and tr_GSUP_PROC_SS_ERR() templates used to compose the set of GSUP IEs manually, while similar ones were using both f_gen_ts_ss_ies() and f_gen_tr_ss_ies(). This led to the following problems: - tr_GSUP_PROC_SS_ERR was not tolerant to omitted message class IE, which was recently introduced; - code duplication. Let's modify the both functions in order to accept an optional Cause IE value, which is omitted by default, and use them in the both templates. Change-Id: I5cd6d2bc754bcedd1e721b3bd95ada9cdd44bcf0
2019-06-14bts: clean up old tests and make them work againEric Wild1-133/+83
Change-Id: Ie9d73cd9777b6fdda5115ed5dc103979d79c8cd9
2019-06-14bts: more lapdm testsEric Wild1-2/+266
Change-Id: I0db71de5f600022935f47573aa919990de4bfec0
2019-06-13library/L1CTL_PortType.ttcn: clarify and unify timeout messagesVadim Yanitskiy1-7/+7
It's way more cleaner when you see: Timeout waiting for L1CTL_RACH_CONF instead of: Timeout in RACH. Change-Id: I25e8230c2e4b29b2583bf8954d0dedaa18e5d6ae
2019-06-13bscnat: Add missing setverdict(pass) at the endPau Espin Pedrol1-0/+1
Without this line, tests like TC_ctrl_location end up with verdict "none". Change-Id: I139a2ef63685b0f646fd9069031f92cf20eeca1e
2019-06-13bscnat: Fix race condition in TC_ctrl_locationPau Espin Pedrol1-0/+5
Change-Id: Ifb5a2a9936fff94511a6bd11bd8e155a3d3e2d82
2019-06-13bscnat: Start test global timersPau Espin Pedrol1-0/+2
Change-Id: I40672bb72fdd1624efcb8d3ee858b17c0188172b
2019-06-13lib/IPA_Emulation: Build IPA_CTRL conditionally based on definePau Espin Pedrol7-6/+14
Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7
2019-06-13bscnat: Introduce test TC_ctrl_locationPau Espin Pedrol5-6/+60
It checks location-state TRAP is forwaded correctly in BSC-NAT from BSC towards locally connected CTRL client, with variable names updated to contain BSC/BTS indexes. It also verifies commands can be applied (SET) in inverse direction. Change-Id: If28aba011a1903788cacbc10c0b62954925d4b1f
2019-06-13bscnat: Add function to run actions on test per BSC componentPau Espin Pedrol2-13/+19
Will be useful to test stuff on IPA layer BSC<->BSC-NAT. Change-Id: I97e743c79e5e9e7613ab91a1aa9ce2377a237fd5
2019-06-13bscnat: Refactor MSC side code to allow different actions per testPau Espin Pedrol3-22/+71
Each test can now plug in different acctions to be done by the emulated MSC, by passing a BssmapCreateCallback RAN_Emaulation callback to f_init(). Old hardcoded behaviour (main()) is renamed and used in laready existing tests. New infrastructure provides a generic BssmapCreateCallback taking care of required boilerplate, so new tests/users only need to define a new callback calling that generic one with a function pointer where all test logic is implemented. Change-Id: Ic429420d0d95b6aacb6e5c44031b49c942ed544d
2019-06-13bscnat: Refactor BSC_MS side code to allow different actions per testPau Espin Pedrol3-28/+54
Each test can now plug in different actions to be done by the emulated BSC_MS, by passing a function to f_init(). Old hardcoded behaviour (main()) is renamed and used in already existing tests. Change-Id: Ic82ca333267535c5859e6439deacbf3b1d1fe391
2019-06-13bscnat: Move generic code to wait for test into its own functionPau Espin Pedrol1-5/+10
Change-Id: Ia95ec02d7ca631e037abfbcfc7881b57e37aef5b
2019-06-13lib/CTRL: Improve and add more helper templates and functionsPau Espin Pedrol2-2/+75
Change-Id: Icc6ac860ebd6a719f9e0cb5c5345fb4d39a864ce
2019-06-13bsc: Introduce test TC_ctrl_locationPau Espin Pedrol4-2/+38
Related: OS#2012 Change-Id: I3640f6889e3b6adc3b4601082f948543c64a2fe3