aboutsummaryrefslogtreecommitdiffstats
path: root/library
AgeCommit message (Collapse)AuthorFilesLines
2020-01-29hlr: new test: TC_MSLookup_GSUP_proxyosmith/dgsmOliver Smith1-0/+83
Let OsmoHLR act as proxy between MSC and another HLR during Location Update. Related: OS#4380 Change-Id: I945e651f1346e56dbe3c02d9d08ccd95cc8d6626
2020-01-29library/DNS_Helpers: add f_enc_IPv4Oliver Smith1-0/+23
Used by upcoming D-GSM test, to pass the IP of the emulated GSUP server. The code is based on f_enc_dns_hostname() in the same file. Related: OS#4380 Change-Id: I8a5450988711680c93cfd657a34db759a56bc41e
2020-01-29library/GSUP_Types: add dest name to some messagesOliver Smith1-6/+9
Prepare for upcoming D-GSM test, that lets OsmoHLR act as proxy. It forwards the messages based on the destination name, so the testsuite must set it correctly. Related: OS#4380 Change-Id: I7623b7a7c7a18ba18a38d0834979d18ab0fbb961
2020-01-29hlr: add emulated GSUP server (second HLR)Oliver Smith1-0/+7
Prepare for upcoming D-GSM test, which needs to emulate a GSUP server. Related: OS#4380 Change-Id: Idbfe8a145c90a524145089a06d9bbefac4d7edd8
2020-01-24hlr: add TC_MSLookup_mDNS_serverOliver Smith3-0/+175
Send an mslookup mDNS request to OsmoHLR and verify the answer. Related: SYS#4618 Depends: osmo-hlr I2fe453553c90e6ee527ed13a13089900efd488aa Change-Id: Ia7f92d33691f910549353b16a7b0efc18e521719
2020-01-21sccp: Introduce test TC_it_avoids_tiarPau Espin Pedrol1-0/+18
Related: OS#4343 Change-Id: I3a970a9b7ed7fb178095760025dd83c570dcff5e
2020-01-20sccp: Introduce test TC_tiar_timeoutPau Espin Pedrol1-0/+131
Existing templates are moved to SCPP_Templates.ttcn and new ones required for the test are added there. Related: OS#4343 Change-Id: I7b56fe77ac3b350d722c74b043e6ecabc48dcf31
2020-01-20hlr: f_perform_UL: add CnDomain parameterOliver Smith1-2/+2
Make it possible to do CS location update, not only PS. This is needed for upcoming D-GSM related tests. Related: SYS#4618 Change-Id: Idd699f054c9242614b9bea066428293f8b2da9c2
2020-01-15library/L3_Templates.ttcn: fix length matching in tr_RP_ERROR_MTVadim Yanitskiy1-1/+1
Change-Id: Id5a4210a9f256f8bd7b0048fd65610de8c378bb9
2020-01-12bsc: Introduce test TC_chan_rel_sccp_tiar_timeoutPau Espin Pedrol1-0/+6
Verify SCCP T(iar) timeout triggers release of established channel. Change-Id: Ic2724f62689b99c33e2e5c3a0c2fd022178a788c
2020-01-10library/GSUP_Emulation.ttcn: extend size of GsupExpectTableVadim Yanitskiy1-1/+1
We already have 16 entries in the GsupImsiTable. Let's also extend the GsupExpectTable, so we can have 16 components of type BSC_ConnHdlr running in parallel. Change-Id: Ibca0e9196c25ab00803041b81f7b490ba2f0a3ba
2020-01-10MSC: f_ran_register_imsi(): allow passing omit as TMSIVadim Yanitskiy1-1/+10
Change-Id: I6dd2f77283a79e83f028115f4cc42f05db885838
2020-01-10library/GSUP_Types: add support for OSMO_GSUP_NUM_VECTORS_REQ_IEAlexander Couzens1-0/+25
OSMO_GSUP_NUM_VECTORS_REQ_IE allows the GSUP client to ask for a specific amount of auth tuples. Change-Id: I1be95c6a06610744b81ba043d236fce108598b79
2020-01-06BTS_Tests: tolerate empty measurement result on chan est.Philipp Maier1-0/+16
On channel establishment the first measurement result may lack the measurement reports from the MS. This is normal behavior, so lets tolerate that. Change-Id: Ib2f511991349ab15e02db9c5e45f0df3645835a4 Related: OS#2975
2020-01-03PCU: fix: actually match IMSI in Packet Paging RequestVadim Yanitskiy2-1/+7
Change-Id: I0afdd53fd5d2a89e139f65a7aec412a2e12511cc
2020-01-03library/RLCMAC_CSN1_Types.ttcn: fix ps / cs selection in PageInfo unionVadim Yanitskiy1-0/+2
Change-Id: I40c2a3c38799a625836e4c28f476524c92077b83
2020-01-03library/GSUP_Types.ttcn: fix MSISDN / SMSC coding in SM-RP-OA/DAVadim Yanitskiy2-13/+53
Unlike IMSI, both MSISDN and SMSC address in SM-RP-OA/DA not only contain the BCD encoded digits, but also a little header with NPI (Numbering Plan Identification), ToN (Type of Number), and Extension fields. Change-Id: I3f55834489f3e613f541cf1e216027e8d48ccaf0 Related: OS#4324
2019-12-31GSM_RR_Types.ttcn: Support encoding of EGPRS Packet Uplink AssignmentPau Espin Pedrol1-1/+123
Change-Id: Idf3bd12318480e8cdd26fce35e52d0a9e8c39608
2019-12-31RLCMAC_CSN1_Types.ttcn: Support encoding of MS Radio Access Capability 2Pau Espin Pedrol1-1/+2
Change-Id: Iac7d7b694bc44887443418f755e51d636abe8575
2019-12-23pcu: Introduce tests for CS and PS paging from SGSN/GbPau Espin Pedrol2-0/+60
CS Gb paging and PTP CS/PS paging implemented in osmo-pcu: I9501e02e1d7f6944497e724dbccb9a19c3f5221f I5c52b5af740460c48bb3ba858243b1d20e624268 Related: OS#3927, OS#2406 Change-Id: I90b5a792c1d91e38ea7b8c060ff0b459673df951
2019-12-17pcu: add TC_paging_cs_from_btsOliver Smith2-4/+32
1. BTS send a CS paging Request over pcu socket 2. Expect a CS paging frame Related: OS#3927 Change-Id: Ia3ad503c243c9b3b162e204683fa4fa5447bbab3
2019-12-17pcu: Introduce test TC_t3193Pau Espin Pedrol1-0/+23
Change-Id: Ib11cd1793d985ff609b10b0e60bddadd5fcfa6d2
2019-12-06pcu: Support sending message to PCU at specific FNPau Espin Pedrol1-0/+10
Change-Id: I81a29b4885f3fc6b753a1612d5fd369cd18f5dc6
2019-12-04library: VTY: Allow hyphens in VTY promptPau Espin Pedrol1-3/+3
Old versions of osmo-pcu print "Osmo-PCU" as VTY prompt. This commit allows supporting this kind of prompt. Change-Id: Ia5acbbe5828901726f7f15c4a99d596e94914c4b
2019-12-04pcu: TC_mo_ping_pong: Check DL block is sent and ACK itPau Espin Pedrol2-3/+26
Function f_rx_rlcmac_dl_block_exp_data() still misses proper verification of data. Apparently the received message has 2 blocks, first with expected 10 bytes, but next one contains 18 bytes with 4 actual bytes and other bits are padding. Last DL ACK/NACK sent is not yet working correctly. osmo-pcu seems to be unable to match it against sent DL block (I think due to non-matching FN), and instead drops it and schedules after timeout an IMM ASS to try to send DL block again. Change-Id: Icf66dd5c07690368722c586632c38fb7e770053c
2019-12-03GSUP_Types: Split RAT_TYPE_IE to SUPPORTED / CURRENTHarald Welte1-10/+27
We added the RAT_TYPE_IE while the respective change in libosmocore was still in gerrit review. Meanwhile the support there has been split into two parts: A list of supported radio access types and another IE indicating the current RAT. Let's catch up with that in the GSUP implementation. This makes TC_gsup_sai_eps() pass again. Change-Id: I2c609dc523cbec562c6c6a05f4c7d600649ff52d
2019-12-02pcu: Fix RLCMAC template namingPau Espin Pedrol1-3/+3
There's also DL_ACK_NACK message for which a template will be introduced soon, so let's rename and fix typos/wrong descriptions to avoid confusion later. Change-Id: I4a2025ad282006953fcfadf429c980b77cb94371
2019-12-02GSUP_Types: Add support for GSUP_IE_RAT_TYPEHarald Welte1-6/+46
Depends: libosmocore I93850710ab55a605bf61b95063a69682a2899bb1 Change-Id: I5d899fc6f6d4cf6123609b596022a853561f35f5
2019-11-28sip: bump MNCC version sent to sipcon to 6Neels Hofmeyr1-1/+1
Match commit Iaca9ed6611fc5ca8ca749bbbefc31f54bea5e925 in osmo-sip-connector. Change-Id: I39d55432776926a385e1b85b21bcdea8180a8946
2019-11-28introduce MNCC_Emulation mp_mncc_versionNeels Hofmeyr1-1/+5
Default the MNCC version to the current osmo-sip-connector's master branch MNCC version. As soon as the new version (6) is merged, we can bump it here to make tests for master work again. For 'latest' builds, we can adjust osmo-ttcn3-hacks to use version 5, and also see those tests still passing. Change-Id: I3eb6e0132dc99ebe41a98cc5c329ed4864b770d6
2019-11-28library/MNCC_Types: fix sdp in tr_MNCC_*Oliver Smith1-3/+3
Make sure it is * everywhere, not "". Partially fix the SIP tests, where tr_MNCC_RTP_CONNECT did not match anymore: 13:15:27.516387 5 SIP_Tests.ttcn:219 Message enqueued on MNCC from SIP_Test-MNCC(3) @MNCC_Types.MNCC_PDU : { msg_type := MNCC_RTP_CONNECT (517), u := { rtp := { callref := 5001, ip := 0, rtp_port := 0, payload_type := 0, payload_msg_type := 0, sdp := "0" } } } id 3 13:15:27.516604 5 SIP_Tests.ttcn:221 Matching on port MNCC .u.rtp.sdp := "0" with "" unmatched: First message in the queue does not match the template: Together with I522ce7f206932a816a64f03d916799c3215bb8c7 in osmo-sip-connector.git, this makes the testsuite work again for osmo-sip-connector master. In order to fix the TTCN-3 tests for the latest release, we would need to add a second code path to the TTCN-3 code, that does not send the sdp data based on a configuration option. Considering that I've spent quite some time already to fix this up, it does not seem worth the effort. Related: OS#4282 Fixes: 06b859ca314f53a902329ed95848dbafef1d4f87 ("msc: add sdp to MNCC") Change-Id: Ic7a2df0b6faeaa88682880f816518618ced79a7e
2019-11-23msc: fix Iu mo callNeels Hofmeyr1-1/+1
Change-Id: I0ead36333ab665147b8d222070ea5cf8afc555ec
2019-11-23msc: overhaul voice call testingNeels Hofmeyr1-0/+13
* Semantic: We don't really know which side the MSC first creates a CRCX for. Instead of assuming that the RAN side is always CRCX'd first, simply handle a "first" and a "second" CRCX, not making any assumptions which is for which side. Notably, there still are quite a few places assuming which CRCX corresponds to the RAN/CN side, but the changes are sufficient to still pass the tests when osmo-msc swaps the CRCX order; sometimes for slightly obscure reasons, for example because it doesn't matter that the wrong port number is returned during a subsequent MDCX... Cleaning up the rest is still todo for later. Remove code dup from call establishing code, particularly for MGCP. Use f_mo_call_establish() and f_mt_call() where ever possible, to make all of the call establishing tests handle upcoming changes in osmo-msc's order of messages, without re-implementing the changes for each test individually. The X-Osmux parameter was so far expected to appear in the first CRCX received, assuming that this first CRCX is for the RAN. Instead, detect whether X-Osmux is contained in a CRCX, and reply with an Osmux CID if so, regardless of it being the first or second CRCX. Count the number of X-Osmux parameters received in CRCX messages, and compare after call setup to verify X-Osmux presence. Since f_mo_call_establish() can't handle RANAP assignment, a few Iu tests that worked with the older code dup will break by this patch. This is fixed by a subsequent patch, see I0ead36333ab665147b8d222070ea5cf8afc555ec. * Details, per patch chunk: Change ts_BSSMAP_IE_AoIP_TLA4 to a non-value template, so that we can use a wildcard for the assigned port number from MGCP (depending on RAN or CN CRCX first, the RAN port number can be one or the other). In CallParameters, move MGCP handling instructions into a separate record "CrcxResponse", and have two of them for handling the first and the second CRCX, replacing mgw_rtp_{ip,port}_{bss,mss} and mgcp_connection_id_{bss,mss}. In CallParameters, add some flags for early-exiting call establishment with a particular desired behavior, for specialized tests. In CallParameters, use common default values and don't repeat them in each and every call establishing test. Set cpars.mo_call := {true,false} implicitly when f_{mo,mt}_call_establish() are invoked. Remove CRCX comments implying RAN or CN side, instead just talk of the "first" and the "second" CRCX. Implement one common f_handle_crcx() function, which is used by f_mo_call_establish(), f_mt_call_complete(), as_optional_mgcp_crcx(), and implicitly uses the first/second CRCX handling. For Assigment, use a wildcard RTP port so that we don't have to assume which CRCX was for the RAN side. In f_mo_call_establish(), insert special case conditions to make it enact errors at specific times, for individual tests. That saves re-implementing the entire call establishment (code dup). For error cases, add expectation of a CC Release message in the call establishment. This should not apply for normal successful operation, but because interleave does not support conditionals, add flags got_mncc_setup_compl_ind and got_cc_connect to break the interleave when establishing is complete, so that the CC Release is skipped. A CC Release always breaks the interleave, at whatever time it arrives. Tests adopting f_{mo,mt}_call instead of code dup: f_tc_mo_setup_and_nothing() f_tc_mo_crcx_ran_timeout() f_tc_mo_crcx_ran_reject() f_tc_mo_release_timeout() f_tc_mo_cc_bssmap_clear() Change-Id: I8b82476f55a98f7a94d5c4f1cd80eac427b2d20f
2019-11-23msc: add sdp to MNCCNeels Hofmeyr3-50/+106
SDP is added to the MNCC protocol in osmo-msc Ie16f0804c4d99760cd4a0c544d0889b6313eebb7. This patch adds SDP to the ttcn3 MNCC messaging. These changes still work with current osmo-msc master that doesn't send SDP / ignores received SDP in MNCC. Change-Id: Ic9568c8927507e161aadfad1a4d20aa896d8ae30
2019-11-23library/PCUIF_Types.ttcn: extend RACH.ind with TRX / TS number fieldsVadim Yanitskiy1-3/+13
Since there can be multiple PDCH channels configured on different timeslots, different TRXes, and BTSes, the PTCCH/U handling code in OsmoPCU needs to know the exact origin of a given RACH.ind. Otherwise, it is not known which subscriber originated a given PTCCH/U indication, and hence it is impossible to send PTCCH/D Timing Advance notification properly. Fortunately, we can extend the RACH.ind message without even bumping the protocol version, because every single PDU has a fixed size defined by the largest message - INFO.ind. In case if the actual message payload is smaller, the rest is filled with a constant padding byte (0x00). Older versions of OsmoPCU will consider the new fields as padding, while the messages from older OsmoBTS versions will always have both fields set to 0x00. Since C0/TS0 cannot be configured to PDCH, this can be easily detected on the other end. Change-Id: Ia5c4e504a21dc5508920553d3856027455dba1b1 Related: OS#4102, OS#1545
2019-11-22VPCD protocol support (for vsmartcard.git PCD/PICC code)Harald Welte5-0/+330
vsmartcard.git contains an implementation of a virtual card reader (vpcd) which registers with PC/SC (such as pcsc-lite). It simply binds to a TCP port and waits for a TCP client to connect to it, implementing APDU transfer over TCP. This code implements the related protocol as a TTCN-3 test port for Eclipse TITAN, which will enable us to implement a 'virtual smart card' in TTCN-3 tets cases, primarily for testing remsim-bankd at this point. Change-Id: Iac37dd231a0f2e1efd484887bca1a9d672b446bb
2019-11-12M3UA_Templates: Fix tr_M3UA_ASPUP() length value copy+paste errorHarald Welte1-1/+1
Change-Id: I7ef53b93fcdfe1ce7914bd4edb1fed8a8351b1b4
2019-11-12stp: Introduce STP_Tests*.ttcn for testing OsmoSTPHarald Welte5-0/+976
In the past, we were automatically running [large parts of] the nplab M3UA and SUA test suites, but those implement only a fraction of the functionality. Particularly, they don't cover the non-standard IPA behavior, and they don't cover RKM (routing key management). Let's introduce an initial set of STP tests with this patch. We try to not duplicate nplab here, and implement bits not covered there. Change-Id: I628a87385cac0dfe708a0d74a5088fbd5a4790cd
2019-11-04msc: split off f_mgcp_find_param_entry()Neels Hofmeyr1-7/+12
Split f_mgcp_find_param_entry() out of f_mgcp_find_param() to be able to act on an MgcpParameterList without an enclosing MgcpMessage. Will be used by upcoming I8b82476f55a98f7a94d5c4f1cd80eac427b2d20f Change-Id: I90f213d2a1be979afa024e0faa25d532f9858636
2019-10-28bsc: Verify ms power level value from RSL IE MS Power during CHAN ACTPau Espin Pedrol1-0/+6
Change-Id: I0a632156420251b14d1bbfd4ca19dc2bdf5a5f1e
2019-10-21BTS_Tests.ttcn: add a test case for PTCCH/D and PTCCH/UVadim Yanitskiy1-1/+15
This test case is aimed to verify handling of both PTCCH/U and PTCCH/D logical channels, recently implemented in [1]. This is done by sending 16 Access Bursts on PTCCH/U, and then by sending a random data block on PTCCH/D. The existing TC_pcu_data_req_ptcch does not cover PTCCH/U, and moreover involves TBF handling which has nothing to do with PTCCH. Let's keep it anyway. [1] I232e5f514fbad2c51daaa59ff516004aba97c8a3 Change-Id: I011ffdfa63b698ce6085968d15ffb4ff4bd23ee5 Related: OS#4102
2019-10-07pcu: Introduce test TC_t3169Pau Espin Pedrol1-0/+22
Related: OS#3928 Change-Id: I587413a7de7956daee3423057530e4052a55ba88
2019-10-07pcu: Allow tests to overwrite pcuif INFO_IND paramsPau Espin Pedrol1-51/+2
Change-Id: I75c746b822184fdcc966d77a7c6a0a6918c236e6
2019-10-04library/PCUIF_Types.ttcn: add optional parameter for RACH SAPIVadim Yanitskiy1-4/+6
Do not hard-code PCU_IF_SAPI_RACH for RACH.ind templates. We need to be able to specify other SAPIs (PCU_IF_SAPI_PTCCH) in the upcoming test cases for Timing Advance control. Change-Id: I7e2ebcbba5e47cf44f064e429c0517ef3acb15af
2019-10-01library/RLCMAC_Types.ttcn: implement PTCCH/D message codingVadim Yanitskiy1-0/+56
Change-Id: I0e3dc3f4853799f1467a5f6726dac0d43c2eb93d Related: SYS#4606
2019-09-30library/RLCMAC_CSN1_Types.ttcn: implement Packet Power Control/Timing AdvanceVadim Yanitskiy1-0/+59
This message is sent on PACCH by the network to the mobile station in order to update the mobile station timing advance or power control parameters. See 3GPP TS 44.060, section 11.2.13. Change-Id: Ie07000b08918501a99962ad760932a27eacae678
2019-09-29library/GSM_RR_Types.ttcn: fix 'Assignment' vs 'Allocation' confusionVadim Yanitskiy1-3/+3
Change-Id: I8cbdfa891c56fda539d5997201c90f07c7f8307e
2019-09-29library/GSM_RR_Types.ttcn: fix 'presence' in tr_PacketUlSglAssignVadim Yanitskiy1-1/+1
According to 3GPP TS 44.018, section 10.5.2.16 "IA Rest Octets", the first bit of Packet Uplink Assignment defines whether it is a dynamic (1) or single block (0) allocation. Change-Id: If2bee9b1b065fcfedd0e57a6487040cefe2e50c5
2019-09-27PCU_Tests_RAW.ttcn: add test case for UL link quality adaptationVadim Yanitskiy1-1/+1
This change introduces a new test case TC_cs_lqual_ul_tbf, which is aimed to test the feedback of OsmoPCU on changing link quality measurements in Uplink Data blocks during an active TBF. Change-Id: Ia78d93e43a3c41b0b30e70df20a2da31077fd05f Related: SYS#4607
2019-09-27library/PCUIF_CodecPort.ttcn: strip padding bytes from PCUIF_dataVadim Yanitskiy1-0/+10
In Ieefa61232eb215a19a02e490255332e28e23b8f8, I had to revert I5808954b5c67c3239e795e43ae77035152d359ef, because that change broke encoding of messages on the PCU interface. Since we cannot use 'PADDING' attribute until its implementation is fixed in TITAN, let's work this around by stripping padding bytes manually in UD_to_PCUIF(). Change-Id: Ibd698094c897d395208e80189457444a91018beb