Commit Graph

270 Commits

Author SHA1 Message Date
Harald Welte bda65a31f5 GSM_Types: Fix MobileIdentity 2017-07-30 00:49:04 +02:00
Harald Welte d1209a6f04 Move "connect to L1CTL and RESET" function from LAPDm_RAW_PT to L1CTL_PortType 2017-07-29 12:55:06 +02:00
Harald Welte 484160bf21 library: Initial work on GPRS RLC/MAC encoder/decoder
For Downlink and Uplink RLC/MAC Control blocks this is already working
quite nicely.  Data blocks is not working, as their encoding cannot be
expressed in TTCN-3 RAW syntax, and a mixture of C++/native and
RAW-generated coder will be required.
2017-07-28 13:30:24 +02:00
Harald Welte 9a8f503f9a import Ericsson NS, ISUP, ROHC and SNDCP modules for TITAN 2017-07-25 08:23:52 +02:00
Harald Welte 96a06c4373 Add documentation for BSSGP module 2017-07-24 13:27:41 +02:00
Harald Welte a814f263cc Import BSSAP+, BSSGP, BSSMAP, GTP, GTPv2, LLC and MobileL3
this has been kindly provided by Ericsson and will soon (September-ish)
be released officially as FOSS on the eclipse.org git server.
2017-07-24 13:21:35 +02:00
Harald Welte 336959fc3c Import CRC24 code from OsmoSGSN for LLC FCS computation 2017-07-23 21:58:04 +02:00
Harald Welte e38fd7b4ce WIP: Add description of TS 48.064 LLC frames in TITAN TTCN-3 2017-07-23 21:03:02 +02:00
Harald Welte 13d391ea87 gprs_gb: NS + BSSGP operational with OsmoPCU, receiving LLC-PDUs 2017-07-23 19:52:33 +02:00
Harald Welte 1733a38561 Add missing BSSGP_Emulation.ttcn file 2017-07-23 17:26:17 +02:00
Harald Welte 0667eb1797 BSSGP: Fix order of IEs in BVC-RESET PDU 2017-07-23 17:25:38 +02:00
Harald Welte 04a3d3161f BSSGP: don't set length to '0' in t_BssgpIE() template 2017-07-23 17:25:17 +02:00
Harald Welte 6e594f217a gprs_gb: Build stack of NS and BSSGP emulation from test component
We're already getting the NS link up and fail at the BSSGP RESET
procedure at this point.  The problem is erroneous encoding of the
message.
2017-07-23 16:19:35 +02:00
Harald Welte 1067fbd8c9 BSSGP: Add various templates for common messages 2017-07-23 16:18:46 +02:00
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