Commit Graph

2556 Commits

Author SHA1 Message Date
Harald Welte 039f6955d8 BSSGP: Define symbolic names for Cause values 2017-07-23 16:18:16 +02:00
Harald Welte 6fff36450a gprs_gb: Add NS CodecPort + Emulation; Add NS selftests 2017-07-22 21:36:13 +02:00
Harald Welte f1fd016fb8 Expand BSSGP helpers + codec to cover expansion + compaction 2017-07-22 20:34:05 +02:00
Harald Welte 3a1944091e WIP: BSSGP related hepler functions; towards tests 2017-07-22 18:29:03 +02:00
Harald Welte b2f94c4baa move lapd to lapdm (it was a mis-nomer) 2017-07-19 20:17:31 +02:00
Harald Welte 5b1ce8c4f4 move L1CTL modules to library for easier sharing with other test suites 2017-07-19 20:16:54 +02:00
Harald Welte 8542cefb8e Move VTY utility functions to new Osmocom_VTY_Functions module
... so it can be reused from other Testsuites/modules
2017-07-19 20:06:26 +02:00
Harald Welte 3b8bdd6358 Introduce 'library' directory for modules shared by multiple test cases 2017-07-19 19:57:26 +02:00
Harald Welte 599faa1d18 Add LAPDm test case about SABM contention 2017-07-17 21:49:24 +02:00
Harald Welte dca7e45ce8 don't match on L1CTL SAPI in received frames
L1 has no idea about the SAPI encoded in LAPDm when it passes a
PH-DATA.ind up to us.  So dont match on that L1CTL field, only match the
SAPI we decoded from LAPDm header.
2017-07-17 21:43:58 +02:00
Harald Welte d4ba7ff93e Add new LAPDm RAW port
This is a Test Component which sits on top of L1CTL (which in turn is on
top of the Unix Domain Socket Test Porrt).  It performs LAPDm message
encoding/decoding, so we can use the regular send() / receive() methods
and associated template matching to send/receive/match LAPDm in a
comfortable way.
2017-07-17 21:01:12 +02:00
Harald Welte cb5d1fb2ee fix ts_RslLinkID_SACCH template 2017-07-17 21:00:15 +02:00
Harald Welte 1bd7c32db8 export more encoder/decoder functions for LAPDm RAW coder debuggin 2017-07-17 20:59:46 +02:00
Harald Welte c2a5c07267 LAPDm_Types: re-order fields of LapdmCtrl definitions
for some reason, the "TAG()" matic of TITAN RAW decoder seems to fail
when we use FIELDORDER(msb) and match on a field that's not the first
field of the sub-record :/

Re-ordering the fields into LSB order seems to resolve this.
2017-07-17 20:58:32 +02:00
Harald Welte 143edbd5e9 L1CTL_Types: Fix copy+paste error in t_L1CTL_DM_REL_REQ
t_L1CTL_DM_REL_REQ shouldn't generate an DM_EST_REQ !
2017-07-17 20:56:56 +02:00
Harald Welte 9e4725dcd3 l1ctl/lapdm test infrastructure: Move helper functions out
moving all templates into L1CTL_Types as well as helper functions into
L1CTL_PortType allows us to have a clean L1CTL_Test.ttcn where we can
focus on actual test cases.  At the moment it's just a PoC that can
establish dedicated mode and send a SABM frame to the BTS, which is
properly echo'ed back in the UA, as expected for contention resolution.
2017-07-16 23:18:09 +02:00
Harald Welte 66110f0d77 L1CTL Test: Get all the way up to dedicated channel establishment
The code is now a proof of concept to establish a dedicated channel
via virt_um, at which point we can exchange L2 messages with the BTS.
2017-07-16 21:05:18 +02:00
Harald Welte c3286ccd8c GSM_Types: Add function to compute request reference from RA + FN 2017-07-16 21:04:34 +02:00
Harald Welte b33e7272b5 GSM_TypeS: Add RSL Link Identifier 2017-07-16 21:04:12 +02:00
Harald Welte 57a3150778 GSM_TypeS: Add Mobile Identity type 'NONE' 2017-07-16 21:03:47 +02:00
Harald Welte ad091b6b10 ChannelDescription sometimes used as V, sometimes as LV field 2017-07-16 21:03:17 +02:00
Harald Welte 5f0d5c8753 L1CTL: Fix GSM Frame Number (uint32_t, not least bits required for integer) 2017-07-16 18:56:01 +02:00
Harald Welte 8e4db2c4a4 L1CTL: Use RSL Channel Number definition for proper decode 2017-07-16 18:54:55 +02:00
Harald Welte 0c8d5c07ee GSM_Types: Add RSL channel number IE encoder/decoder 2017-07-16 18:53:58 +02:00
Harald Welte 0b1e5b84a3 Export encoding/decoding functions of RR Message 2017-07-16 18:53:17 +02:00
Harald Welte 52c713c452 Implement L1CTL port type (dual-faced port on top of UnixDomain) 2017-07-16 15:44:44 +02:00
Harald Welte f654332701 first steps towards a L1CTL / LAPD test
The idea here is to implement the L1CTL protocol in TTCN-3 so we can
speak it over a unix domain socket (test port) for simple tasks such as
activating dedicated mode.

This can then subsequently be used for LAPDm testing
2017-07-16 14:25:31 +02:00
Harald Welte d2e342fb7d GSM_Types: More 44.018 + 24.008 definitions for RR 2017-07-16 07:34:13 +02:00
Harald Welte f0a4997efc sysinfo: Add SI contents validation
Next to verifying the SI scheduling, we now also verify the contents of
SI messages depending on the VTY configuration
2017-07-16 04:04:10 +02:00
Harald Welte d7bd30f33b sysinfo: Hugely reduce warnings about unused return values 2017-07-16 03:54:54 +02:00
Harald Welte 75f761f35b use testcase.stop() in case of errors of the test system 2017-07-16 03:05:31 +02:00
Harald Welte 162b160678 add SI3 matching template 2017-07-16 03:05:02 +02:00
Harald Welte d1f74c63ed Match "Unknown command" even if preceded by other strings 2017-07-16 03:04:37 +02:00
Harald Welte fd512cb889 sysinfo: Fail in case VTY returns "Unknown command" 2017-07-16 01:34:40 +02:00
Harald Welte fe1052d321 sysinfo: Further simplification of code 2017-07-16 01:24:01 +02:00
Harald Welte 3927677343 sysinfo: Enforce "1 out of 4" kind of scheduling requirements 2017-07-16 01:08:00 +02:00
Harald Welte c17c88ecbf sysinfo: make timeouts a bit shorter for faster test exscution 2017-07-16 00:39:59 +02:00
Harald Welte bdc5dbd701 Add more SI scheduling testing code, towards a real test suite 2017-07-16 00:38:27 +02:00
Harald Welte 8c5b325483 GSM_SystemInformation: Add support for "OTHER" SIs
This way we can process SIs for which we don't have a more detailed
parser code and simply store their L3 as octetstring.
2017-07-15 23:59:49 +02:00
Harald Welte 9afea36bc2 GSM_SystemInformation: Fix SI2ter description
There's no RachControlParams IE in SI2ter
2017-07-15 23:58:56 +02:00
Harald Welte af54941d98 sysinfo/Test: Add function to validate SI scheduling constraints 2017-07-15 21:38:40 +02:00
Harald Welte a418918e50 GSM_SystemInformation: Share header (for generic matching of type) 2017-07-15 21:38:36 +02:00
Harald Welte a082a696cf Add enumerated for RR Message Type 2017-07-15 15:58:13 +02:00
Harald Welte 9a907b37b5 Test.ttcn: Add support for telnet interaction on VTY 2017-07-15 10:34:27 +02:00
Harald Welte b622a3dcc2 sysinfo/Test.ttcn: Add GSMTAP receiver example 2017-07-14 22:26:33 +02:00
Harald Welte 3d4df7f8f1 Add GSMTAP_PortType dual-faced port
this can be stacked between the UDP socket (IPL4asp Port) and the
actual test component(s) to provide transparante encode/decode of GSMTAP
messages
2017-07-14 22:05:56 +02:00
Harald Welte 164a28cbfb "import" IPL4asp so we can use UDP/TCP/SCTP sockets
Importing in the Titan context apparently seems to mean symlinking the
source files into the current project.  I haven't found a concept of
linking against libraries yet.
2017-07-14 19:26:12 +02:00
Harald Welte ddeaa5769c Add GSMTAP header and message definition 2017-07-14 18:58:07 +02:00
Harald Welte 615bd54fbe Move general type definitions to Osmocom_Types.ttcn 2017-07-14 18:28:55 +02:00
Harald Welte 56db5fd00e initial code about System Information decoding
the idea is to evolve this into something that can match on the GSMTAP
that's generated by OsmoBTS in order to validate the SI generation /
broadcasting of OsmoBTS+OsmoBSC
2017-07-14 18:25:59 +02:00