summaryrefslogtreecommitdiffstats
AgeCommit message (Collapse)AuthorFilesLines
2018-06-12add a test for OS#2666stsp/msc_routing_global_title_crashStefan Sperling2-1/+89
Change-Id: I903ba92a4c7dace8abd924d231ec696350bbc3d4
2018-06-03BTS_Tests: Don't wait indefinitely for ASP_IPA_EVENT_UPHarald Welte1-1/+9
Change-Id: I5150660319896fe7f597ca333395923f128c8d87
2018-06-03bsc: Enable LCLS in osmo-bsc.cfgHarald Welte1-0/+1
Change-Id: I39b0812423dd22f677334ad0ac406a23a1214fa9
2018-06-03LCLS: Introduce a copy+pasted f_connect_handler() functionHarald Welte2-1/+16
... using the original one is hitting a ttcn3_compiler bug in TITAN 6.3.1, see https://www.eclipse.org/forums/index.php/m/1789918/ Change-Id: I7c2dfd3c6e63b54c019fba0c07a1bb777d68f6b5
2018-06-03bsc: Add LCLS related test casesHarald Welte4-4/+634
This is an early WIP, we actually will need to establish two calls/legs before the BSC is able to locally correlate them. Related: OS#1602 Change-Id: Ie6d0b9c38027abf65c7c564fc79b889d013fa6a7
2018-06-03bsc: Disable verbose logging of MGCP encoder/decoderHarald Welte1-0/+1
Change-Id: I8147029a20828e762819be35ffebd801b22d2b6b
2018-06-02GSUP_Types.ttcn: add SS related messages and IEsVadim Yanitskiy1-3/+153
Recently we introduced a few new GSUP IEs, related to TCAP-like session management and Supplementary Services in libosmocore. Let's sync the TTCN-3 implementation and add the corresponding templates for SS payloads. Change-Id: I54767e49ae98db67f71dd28278b14435860313e0
2018-06-02msc/USSD: add single *#100# request testcaseVadim Yanitskiy2-0/+65
In this testcase we perform LUR, then request our own number and then expect the response with matching MSISDN. Change-Id: I82450c6f48f6c17bc33e0ec6c91f2a73e44793ad
2018-06-02msc/BSC_ConnectionHandler.ttcn: add EST_TYPE_SS_ACT for SS/USSDVadim Yanitskiy1-1/+5
Change-Id: If439e7c082b435d7f668065c9f8e3bdfa941dcc5
2018-06-02msc: introduce USSD helper functionsVadim Yanitskiy2-0/+64
Change-Id: Ic528b968a9bc7c12e8395364e895400aa016c8f5
2018-06-02msc: import GSM 7-bit coding functionsVadim Yanitskiy2-1/+2
Change-Id: Ie8dd865d0c4c64827284c737d431e6c87b3d0847
2018-06-02library: introduce Facility IE templates for SS/USSDVadim Yanitskiy1-0/+202
Change-Id: Ibc3e8f70230d656b2f0994ea0c63e6554b6165de
2018-06-02L3_Templates: add GSM 04.80 RELEASE_COMPLETE messageVadim Yanitskiy1-0/+117
Change-Id: Iaf295aeb4ef475d41d0eeddcca5e864016fd91cc
2018-06-01sync TTCN3 MSC test config with docker-playgroundStefan Sperling3-0/+149
Update MSC_Tests.default according to the current MSC_Tests.cfg used by docker-playground. Add osmo-msc.cfg and osmo-stp.cfg example configuration files. Allows the MSC tests to be run locally. Change-Id: Ia00f0315a5246c3ec55563ebd21a586aec8e4688
2018-06-01expect TC_establish_and_nothing to passStefan Sperling1-6/+1
The test case TC_establish_and_nothing is now passing. Update expected results list accordingly. Change-Id: I925fa4ad2e38e189cf5dd1ae76a24cdb9011fdc8 Related: OS#2879
2018-06-01bsc: Derive MGCP EP + Port numbers from new g_pars.media_nrHarald Welte1-1/+3
Change-Id: I44b46c9bc8f13eed9b3d18a6ce67980d2af0d46a
2018-06-01BSC_Tests.ttcn: mark some functions as non-privateHarald Welte1-2/+2
Change-Id: I25301d27510cbe41c09d4fd81c07d453c5f5b4ef
2018-06-01BSC_Tests.ttcn: Split f_connect_handler() off f_start_handler()Harald Welte1-7/+10
In case we want to derive other component types by extending MSC_ConnectionHandler, we will want to connect additional ports before starting the component. Hence, split the connect part into f_create_handler(), while keeping the create + start part in f_start_handler(). Change-Id: If272816b7e720e8b8f000f7ab8baa20619b35fb7
2018-06-01BSSMAP_Templates: Fix LCLS related template definitionsHarald Welte1-6/+11
They should all have been derived from the tr_BSSAP_BSSMAP / ts_BSSAP_BSSMAP base templates. Change-Id: Ib9ef03fe1c5f2eedde9e274a50dfedb2fb6b6a0f
2018-06-01BSSMAP_Templates: Add templates for LCLS related IEs + messagesHarald Welte1-0/+161
We will soon implement some LCLS related test cases, and hence we need some templates for sending and matching received messages. Change-Id: I5300418ae493f6c315248562938b47ae1931b452
2018-06-01*_Emulation.ttcn: Specify destination when replying on procedure portsHarald Welte8-20/+20
procedure ports (like message ports) require us to specify the destination of a message ("reply") in case it is connected 1:N and not just 1:1. This didn't show up as a problem so far, as we typically only had one component talking to those procedure ports at any given point in time. Change-Id: I696ec67080815348bb95e43ecbbf262e533e39a3
2018-05-31bsc: Remove duplicate f_sleep() function, we have one in Osmocom_TypesHarald Welte1-7/+0
Change-Id: Ic0ccca39be48dc2d42b92d433dcb5c6d65adbb33
2018-05-31L3_Templates: Add templates related to Supplementaryt ServicesHarald Welte1-0/+208
Change-Id: I919fa542a2e037b3fcf8cd5b0b9d7599b8c09070
2018-05-31msc: Add Encoder/Decoder for Supplementary ServicesHarald Welte2-2/+12
The many SS_* types depend on MAP, whcih in turn depends on ROSE. Add all of this to the MSC testsuite so we can do SS related testing. Change-Id: If5084decb5391736ab5cadd86adb2ffa78e7140f
2018-05-29SGSN: add TC_hlr_location_cancel_request_updateAlexander Couzens1-0/+41
MS <-> SGSN: GMM Attach HLR -> SGSN: Cancel Location Request HLR <- SGSN: Cancel Location Ack Change-Id: I5d3a818eb0a4eb3b0d4bd7bd88874bd2ac6adb11
2018-05-29expect previously failing paging tests to passStefan Sperling1-9/+2
Two paging tests were failing in Jenkins due to a configuration problem. This has now been fixed so we can expect these two tests to pass: TC_paging_imsi_nochan_lac TC_paging_imsi_nochan_lai Related: g#9361 Related: docker-playground 4147adabb9917fd852cc49c93603f379ec810c6b Change-Id: I1a3dc5fb13385549bb9ec523271a5da5dc6aaa8c
2018-05-29sync local osmo-bsc.cfg with that used by jenkinsStefan Sperling1-5/+6
The osmo-bsc.cfg file in docker-playground/ttcn3-bsc-test contains codec, encryption, and ipaccess settings which were missing from the corresponding configuration file in this repository. This caused spurious test failures when running BSC_Tests outside of Jenkins. Change-Id: If392dcd42fb741c7ab8ae204bbefde89f05f0afe
2018-05-28BSC_Tests: fix TC_ciph_mode_a5_{0,1,3}Philipp Maier1-3/+5
The helper function f_tc_ciph_mode_a5(), thich performs all of the three tests currently disables the ASSIGNMENT COMMAND since due to a bug in OsmoBSC a MODE MODIFY would be attempted by the BSC, causing the testcase to fail. The problem in OsmoBSC is now fixed and the ASSIGNMENT COMMAND can be re-enabled again for this test. However, the test function includes and expects an AoIP transport layer address, which is not included for signalling assignments. - Make sure no AoIP transport identifier is included in ths ASSIGNMENT COMMAND - Do not expect an AoIP transport identifier in the ASSIGNMENT COMPLETE from the BSC - Re-Enable the generation of the ASSIGNMENT COMMAND Change-Id: Ib39d7dd2d1b3665570d7b287e431d10111316437 Closes: OS#2936
2018-05-28MSC_ConnectionHandler: check channel mode in f_establish_fullyPhilipp Maier1-4/+51
The helper function f_establish_fully() checks the channel type for compatibility. If the channel type is compatible with the desired mode a channel mode modification could be necessary if the current channel mode is different from the desired channel mode. However, this is not checked at the momemend. We just blindly expect a MODE MODIFY message from the BSC and ignore the cases where the current channel mode and the desired channel mode already matches up. This is the case if only a signalling channel is requested with f_establish_fully for example. - Check if the channel mode of the current channel and the desired channel mode match up. - Make sure that the MODE MODIFY from the BSC is only expected when the channel modes are different. Note: The function f_channel_needs_modify() that is used to determine if a channel modification is needed or not does not cover all cases yet. (see fixme note) Change-Id: I9004f299220b01ecea6b2316ba3f913c316947dc Closes: OS#2762 Related: OS#2936
2018-05-27RSL_Emulation: Handle ID_ACK event in BSC roleHarald Welte1-0/+1
In I483ddd45c1cf631a5a9d8f862b6ca728b38bdc14 we introduced code that makes the IPA_Emulation code to emut an ASP_IPA_EVENT_ID_ACK [also] to the RSL port, irrespective of client/server status. However, RSL_Emulation only handled this event in the BTS role for BSC testing, but not in in the BSC role for BTS testing. Change-Id: I99a5c58ea8d1e74b2ad51aed23009af6322a1007
2018-05-27Fix BSSMAP RESET in handler modeHarald Welte1-1/+2
This fixes I55c94f18531bb7e5369500dc90f4b0ff3a420774 which was merged a bit too fast, it seems. Change-Id: I42f663f47d38c9e0fd0c0148aacafbf0ecaf3448
2018-05-27BSSAP_Adapter: Split f_bssap_start() from f_bssap_init()Harald Welte3-1/+7
In non-handler mode, the SCCP emulation is currently started before there's a user registered to SCCP_SP_PORT. If the first BSSMAP package arrives from the network, then the SCCP_Emulation will crash as it cannot deliver the resulting SCCP user primitive to the user. Let's split start from initialization, so user code can still register something to SCCP_SP_PORT before starting SCCP_Emulation. Change-Id: I55c94f18531bb7e5369500dc90f4b0ff3a420774
2018-05-27BSSAP_Adapter: cosmetic typo fixHarald Welte1-1/+1
Change-Id: I2aba2316f12c2f752d58e58687c1ef529b983b96
2018-05-27BSSAP_Adapter: Connect ConnHdlr:MGCP to IPA MGCP in SCCPlite caseHarald Welte1-0/+5
Change-Id: Ic86dd023693df5ad593eec090af815c926f87d34
2018-05-26SGSN: add TC_hlr_location_cancel_request_unknown_subscriber_{withdraw,update}Alexander Couzens1-0/+49
Cancel Location using an unknown IMSI. HLR -> SGSN: Cancel Location Request HLR <- SGSN: Cancel Location Error Change-Id: Iad90c3cc25d72b9ab40e358fe60aa6f62163f146
2018-05-26GSUP_Types.ttcn: allow other TLV appear in Cancel Location ErrorsAlexander Couzens1-1/+1
Change-Id: I21ee02556f0734dad871a6294b21ca6f2864dea0
2018-05-26SGSN: add TC_hlr_location_cancel_requestAlexander Couzens1-0/+32
MS <-> SGSN: GMM Attach HLR -> SGSN: Cancel Location Request HLR <- SGSN: Cancel Location Ack MS <- SGSN: Detach Request SGSN-> MS: Detach Complete Change-Id: Id5d6b018a5a4389eefa8f5d950324aab91709f5a
2018-05-26L3_Templates: add template tr_GMM_DET_REQ_MT/ts_GMM_DET_ACCEPT_MTAlexander Couzens1-4/+24
Change-Id: Ifea650994408c4dd83f46f6256565d38968bf843
2018-05-26L3_Templates: add values for c_GMM_DTT_MT_*Alexander Couzens1-0/+4
GMM detach type values Change-Id: I4903fa4c915add3062ab6b82a1d39d60426b5681
2018-05-26deps: Add titan.ProtocolModules.MAPHarald Welte1-1/+8
Change-Id: I228800c4ef103b55da4831aff59bd4370cf25969
2018-05-26deps: Add Titan.ProtocolModules.ROSEHarald Welte1-0/+2
ROSE is used by MAP and SS Change-Id: I9c2c7b1989e261cc970d3846511f232ddc104fbd
2018-05-25bsc: Disable TC_assignment_fr_a5_1_codec_missing for SCCPliteHarald Welte1-1/+3
In SCCPlite, the codec list is always missing, and that's the successful situation, not a failure case. Let's run this test only in AoIP scenarios. Related: OS#2544 Change-Id: I01db7628c2b1c58419d544fc6fa311b9d9b59fb9
2018-05-25bsc: TC_assignment_cic_only for IPA/SCCPliteHarald Welte1-2/+9
Of course a "CIC only" assignment will succeed in AoIP, so let's invert the logic: Test "AoIP only" assignment in that case, and expect it to fail. Related: OS#2544 Change-Id: I3b8e5e6ec001f3cab6a00072ef0a7b97c13c278d
2018-05-25bsc: Don't expect codec list in IPA/SCCPlite caseHarald Welte1-3/+5
In classic non-AoIP-cases, OsmoBSC should simply return the chosen speech version, but not any codec list in the BSSMAP ASSIGNMENT COMPLETE message. Let's adjust the expectations accordingly. Related: OS#2544 Change-Id: Id8e2a749bce91cfadd316bc2d56d1289412b9026
2018-05-25bsc: Alter Assignment Req + Complete depending on AoIP or SCCPliteHarald Welte1-21/+39
When sending BSSMAP Assignment Request, we need to decide if we want to fill in the AoIP TransportIdentifier or the CIC. The former is needed in AoIP, the latter is needed for SCCPlite and classic SCCP. Related: OS#2544 Change-Id: I8aa0cf2189101de49a6da81625226bdcbbaff027
2018-05-25make PCU tests send PS paging requests on BVCI zeroStefan Sperling2-3/+11
osmo-pcu discards PAGING-PS messages unless received on the signalling BVCI 0. The BVCI value must be set to zero both in the NS header and the BSSGP header. Create new ports between the PCU_Test components which the TC_paging test case can use to ensure that both layers send frames with BVCI value of zero. This does not make PCU_Tests.tc_paging work yet, however the PS paging request is now processed by osmo-pcu rather than discarded. Change-Id: I0437123b04b7320a4f690f0646578c57abf6bc87 Related: OS#2404
2018-05-24BSSAP/IPA integration: Wait for SCCPLite to be establishedHarald Welte2-4/+44
Before this patch, we had some problems related to synchronization between the IPA transport, SCCP emulation and BSSAP layer in SCCPlite configurations. This code ensures that f_bssap_init() will block until the IPA connection (client or server) is established, and then start the SCCP and BSSAP emulation components in the right order. This in turn ensures that the initial BSSMAP RESET that we're sending from the TTCN-3 side is only sent once the IPA connection is fully established, and the CCM Identity handshake has happened before. Change-Id: I483ddd45c1cf631a5a9d8f862b6ca728b38bdc14 Related: OS#2544
2018-05-24library: PCUIF_CodecPort: Log PCU socket connect error stringPau Espin Pedrol1-1/+5
Change-Id: I7045061770cda5b50d05dbf756656e380084a703
2018-05-23Print more self-explanatory error message on bind/connect failuresHarald Welte10-4/+68
When sockets cannot be bound or connected, the existing TTCN-3 code prints the following rather cryptic error messages: "IPA-CTRL-IPA(47)@f70ff1fd5cfd: Dynamic test case error: Using the value of an optional field containing omit. (Transport endpoint is not connected)" The "Transport endpoint is not connected" sort-of gives it away, but let's make it more explicit by introducing explicit checks for the res.connId and manual setverdict(fail) statements with proper error message. Change-Id: Id22a1b5189d81c4fca03d5e7aff60ffdd1ad56bf
2018-05-17MSC_Tests: Extend timeout waiting for Clear Cmd in TC_establish_and_nothingDaniel Willmann1-1/+1
This should fix the bogus failures we are seeing in this test. The pcap usually shows that the Clear Command does arrive after about 5 seconds, but sometimes the internal timer fires before that. Double the timeout of the test here. Change-Id: I998cfb52a3813dd9f76d3787e4d0d448752ec847