aboutsummaryrefslogtreecommitdiffstats
path: root/library/IPA_Emulation.ttcnpp
AgeCommit message (Collapse)AuthorFilesLines
2019-06-13lib/IPA_Emulation: Build IPA_CTRL conditionally based on definePau Espin Pedrol1-0/+8
Change-Id: I4d1eca6b0008a395b7f7449e6ea3f9b6d41133c7
2019-06-13bsc: Fix trailing whitespacePau Espin Pedrol1-2/+2
Change-Id: I97c6cc290d6cc23611ac38e7e370b5b0b88cca1d
2019-05-27cosmetic: Update copyright statement, license notice and SPDXHarald Welte1-1/+4
Some of our files didn't have a copyright notice at all, let's add it. Also, update the notices in other files and ensure a SPDX identifier is present in all but the most trivial files. Change-Id: If7fa19ce484b415bc645e39b3d0d666b44b5f0fd
2019-03-11IPA: log host:port on listen errorsMax1-1/+1
Change-Id: I0e25961698ab70a2822e2b2be5b514c3603981ca
2019-02-17IPA_Emulation: Integrate OML decoding/encoding; add OML portHarald Welte1-1/+47
Change-Id: Id0dabe7eca4f81d22a60b346ac598be81533f53c
2018-10-10IPA_Types/Emulation: Add RSPRO supportHarald Welte1-1/+47
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-08-31improve connection failure message in IPA emulationStefan Sperling1-1/+2
Show addresses and ports which were attempted in the IPA connection failure message. Example output: Verdict: fail reason: Could not connect IPA socket from "" port -1 \ to "127.0.0.1" port 4238; check your configuration Change-Id: I828fe67d66bcd668aa14922b89a2feac56dc2d9a
2018-08-24fix SCCPlite BSC tests: send IPA ID ACK, not GETNeels Hofmeyr1-2/+18
From libosmo-sccp.git Icffda98579e676ab6ca63c9c22cf5d151c4fe95f on, we expect an IPA ID ACK upon first connecting, not an IPA ID GET. This might be specific to the one MSC tested so far, but it's the status quo. Make the IPA server in IPA_Emulation configurable, to conform and send the IPA ID ACK upon connecting. This fixes the ttcn3-bsc-tests,SCCPlite suite, broken by above libosmo-sccp commit. For other IPA clients, it is so far required to send the IPA ID GET, so only configure the SCCPlite server in BSSAP_Adapter.ttcn to send IPA ID ACK, and leave the others unchanged. Related: OS#3500 OS#3498 Related: Icffda98579e676ab6ca63c9c22cf5d151c4fe95f (libosmo-sccp) Change-Id: I34b6296a1a408729802a9659c6524c0f67a2f4fe
2018-08-02IPA_Emulation: Add missing zero byte to strings in IPA CCM ID RESPHarald Welte1-1/+1
Change-Id: I3fdc0f47381d5ba1763197d5f264696f04d0396f
2018-07-24library: Ensure setverdict(fail) is followed by mtc.stopDaniel Willmann1-3/+3
This will prevent subsequent failures from overwriting the verdict so we can easily see the root cause of the test failure. Using testcase.stop instead for errors internal to our test infrastructure to mark them as test errors instead of failed. Change-Id: Idc6819aaf0b01e70c38fad828dd44dcec6bdd778
2018-05-24BSSAP/IPA integration: Wait for SCCPLite to be establishedHarald Welte1-0/+24
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-23Print more self-explanatory error message on bind/connect failuresHarald Welte1-0/+8
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-04-17IPA: Fix wrong CCM ID_ACK logic; disable CCM on CTRL interfaceHarald Welte1-11/+51
Our TTCN3 implementation of the IPA multiplex with CCM handshaking has been based on some wrong assumptions about the protocol logic. To make the code stricter, we * send an ID_ACK immediately after connecting TCP in a client * separate client and server CCM responder logic * always respond with ID_ACK to ID_RESP (we accept any identity) Also, as the Osmocom CTRL interface uses an IPA multiplex but no CCM, we introduce a boolean variable (and function argument) to clearly enable/disable CCM support in a given IPA_Emulation component. The CTRL_Adapter has been modified to use this flag to disable CCM. This also removes the need of cherry-picking "HACK: Work around IPA CCM bug in OsmoBSC" Change-Id: I304535d28a165f76a0a140dc0a15dd81a9db28c8 from the laforge/bsc-workaround branch. Change-Id: I6d9eaf0d69457caacc03b9049a8bc57976480617
2018-02-21IPA_Emulation: Don't log IPAC_MSGT_ID_RESP as "Unknown/unsupported"Harald Welte1-0/+3
Change-Id: I6ea3855a1f3d1cba6ac173b0f9cf9052d5d028fc
2018-02-20IPA_Emulation: Make dependencies to RSL/MGCP/SCCP/GSUP conditionalHarald Welte1-0/+587
Let's use the preprocessor to avoid IPA_Emulation pulling *all* dependencies into each and any of our projects. The code readability suffers a bit from the many #ifdefs, but compilation speed increases if we don't have to pull in all those (recursive) dependencies. After all, a BTS test case will never need SCCP, GSUP or MGCP. Change-Id: Ic0231adbd2171214de133d26b3fbf36130ee8aa0