Commit Graph

1001 Commits

Author SHA1 Message Date
Harald Welte 0a6835c6f2 BSSMAP_Templates: Make ts_BSSAP_DTAP usable
A send template with '?' is broken.  Also, allow caller to specify DTAP
payload as well as optionally a DLCI.

Change-Id: I641ee8ce5e5ae70b514342cf68cdc79b1926c4d0
2018-01-21 19:31:09 +01:00
Harald Welte dfe94dd5f7 GSUP_Types: Templates for UpdateLocation + ISD
Change-Id: If7a5a1159f098645652114e0c36fea98f63f946c
2018-01-21 19:31:09 +01:00
Harald Welte 049ca642aa BSSMAP_Templates: tr_BSSAP_BSSMAP / tr_BSSAP_DTAP: DLCI may be present
Change-Id: I98b313e354b31fae8c1fea9e61a838970d575d69
2018-01-21 19:31:09 +01:00
Harald Welte b0ec4eec33 BSSAP_Adapter: Always perform BSSMAP Reset on start-up
Change-Id: I1f8834be3409348b3a30b1489f5faa4d1c47b086
2018-01-21 19:31:09 +01:00
Harald Welte 0cf76ad9f7 Move BSSAP_Adapter.ttcn to library so it can be reused
Change-Id: I6ecb1a4823ee036b65d4e4e8ebc23c1db4915a42
2018-01-21 19:31:09 +01:00
Harald Welte ffe55fcc83 bsc test: Abstract out CTRL handling so it can be re-used from MSC test
We create a new Osmocom_CTRL_Adapter module which can be used by
test suites using the 'extends' functionality.

Change-Id: I3ef6cfaa738900e008155013a05b8ccf3d4b7aeb
2018-01-21 19:31:09 +01:00
Harald Welte 876bf9d474 MNCC_Emulation: Similar to BSSMAP_Emulation but for MNCC
Dispatches MNCC to individual ConnHldr's based on IMSI.

Change-Id: I850b49ce6a6c894b413b8905008452ce91d2cdb0
2018-01-21 19:28:59 +01:00
Harald Welte ca519981aa BSSMAP_Emulation: Add missing procedure port to client/ConnHdlr
Change-Id: I2925f74d5dcc18f37d48ec8a38a308c1adeef3cc
2018-01-21 19:28:26 +01:00
Harald Welte fe75a20163 MNCC_Types: Add enumerated for cause location + cause coding
Change-Id: If67691a7a18cdde726dfcab48fdfc7b29bd518b4
2018-01-17 13:34:58 +00:00
Harald Welte 8a10e8656d MNCC: Make sure all unused fields are set to omit, not 'unbound'
Change-Id: I0ef3afa19d4ad5e011a7c0d86f8367461608e163
2018-01-17 13:34:58 +00:00
Harald Welte 251b52b71c MNCC: Add some useful templates / helper functions
Change-Id: I59374f9f17600bd405b52dd3a0bcdb39b9ac9adc
2018-01-17 13:34:58 +00:00
Harald Welte 8b2a258808 MNCC_Types: Add templates for most MNCC messages
This adds templates for sending and receiving MNCC messages from
the external MNCC handler point of view, i.e. as required for MSC
testing.  The inverse templates will be needed if we want to implement
emulation of the MSC side of MNCC.

Change-Id: I77665aaf589bdaa9dc0aa6a5daa431fafdc2b383
2018-01-17 13:34:58 +00:00
Daniel Willmann d47106b337 BSSMAP_Emulation: Initialize ExpectTable before use
The assignment_fr_* tests now go through to the point where the BSC
sends a CRCX to the mgw.

Change-Id: Ic5a128861ae7b1a4cf8158e43c59c52ebd2a20ba
2018-01-17 13:12:19 +01:00
Daniel Willmann 17f970fc65 RSL_Emulation: Initialize the ConnectionTable
By default all the elements in the conn table seem to be considered
<unbound>.
f_cid_create() manages to set ra, ra_fn and comp_ref in the
ConnectionData element, but checking for
ispresent(ConnectionTable[i].ra) still returns false while
log(ConnectionTable[i].ra) returns 23. Setting every optional element to
omit as f_cid_clear() does before using the connection table seems to
solve this issue.

The assignment_fr_* tests now continue after receiving the Immediate
Assignment, but still fail after receiving the CM Service Request.

Change-Id: I24205425c5b6ae5b8a0f6288ba89ea5a1dc4669d
2018-01-17 13:11:57 +01:00
Stefan Sperling 6d9309b8a4 Fix f_enc_mcc_mnc() to return a properly encoded MCC/MNC triple octet.
With help from Daniel Willmann.

Change-Id: I99a5317e425d15acd463aa94c683676cacd54e0b
Related: OS#2754
2018-01-11 14:43:16 +00:00
Harald Welte 474fd7d11a Add a MNCC Socket implementation for TTCN-3
Change-Id: I8c334d4c2e630b2b779e73404c44a8df3278c614
2018-01-03 21:09:35 +01:00
Harald Welte 35bb716610 Add comments with short module description on top of each file
Change-Id: Id934d7a763b619d52cbec7de439b3708225b81f3
2018-01-03 21:09:29 +01:00
Harald Welte df32723446 GSUP Support and first test against OsmoHLR
Change-Id: Idd7a6aca1ab193da39294f49a3adc4c1cd7cecff
2017-12-28 23:17:24 +01:00
Harald Welte 8098164721 RTP_Emulation: Integrate IuUP support
Change-Id: I46de7fb9c324654275a27aa5f8c1be70340e3229
2017-12-25 00:03:07 +01:00
Harald Welte 3f6f48f4c1 RTP_Emulation: Add RtpemConfig / RTPEM_configure() call
Change-Id: Ie60b750fc009a3d8aa044e4fd450873aa19086bb
2017-12-25 00:00:58 +01:00
Harald Welte 46a38f1669 RTP_Emulation: Fix calculation of timer + timestamp increment
Change-Id: I3ba0d31ad571f42721f208a40f7dcbd8fb2c6e88
2017-12-25 00:00:58 +01:00
Harald Welte 8a4d3954b6 RTP_Emulation: Fix encoding of timestamp; int2bit counts in bits!
Change-Id: I8e8b8faff362536c46b188eb9bbb77bf0ceb866d
2017-12-25 00:00:58 +01:00
Harald Welte c676c68de6 Add 3GPP TS 25.415 IuUP encoder/decoder
Change-Id: Ie04438d8ec2b796e9e56b1937fa024a5299457dd
2017-12-25 00:00:58 +01:00
Harald Welte 73cd271a56 BSC_Tests: Implement ecnryption related procedures
Let's verify the operation of the CIPHERING MODE COMMAND as issued
by MSC, performed by BSC and implemented by simulated BTS/MS.

Change-Id: Ibc06bd2177c63837a794a0ca1f54ebef17499e78
2017-12-17 13:24:39 +01:00
Harald Welte 15166144ae L3_Templates: Add ts_RRM_ModeModifyAck template
Change-Id: Iec607577aff1c65cb208c20a4c4169b5b4569892
2017-12-17 13:24:39 +01:00
Harald Welte 71b5ec8c57 RSL_Types: Fix message type of ts_RSL_IPA_MDCX_ACK()
Change-Id: I8ce0c96d66c3027d68542b3f58d9a732fb42517d
2017-12-17 13:24:39 +01:00
Harald Welte 7794d5b7ea RSL_Types: Handle IPA specific messages in tr_RSL_MsgTypeDR()
They all are related to a dedicated channel and carry a channel number
as first information element.

Change-Id: Ic3fdc029a96c34a9d2d9ec669b789526c8325637
2017-12-17 13:24:39 +01:00
Harald Welte f307500caa RSL_Types: Fix RSL Message Type enumerated definition
Change-Id: I9096f8a579ee245fb193e0fd53144056bc4a23a8
2017-12-17 13:24:39 +01:00
Harald Welte 624f963393 BSC_Tests: Prepare for tests based on {RSL,BSSMAP}_Emulation
The existing tests were implemented directly on top of the BSSMAP
and RSL CodecPorts.  If we loop in the RSL_Emulation and
BSSMAP_Emulation components, we can properly multiplex/demultiplex
multiple MS (radio channels) on both the RSL and the MSC (SCCP
connection) side.

In order to have a single component that handles both the RSL and the
BSSAP side of a given channel/subscriber/call, we introduce the concept
of BSSMAP "Expects", where the test csse can register the L3 INFO that
it sends in the RLL ESTablish INDication on the RSL side, so the BSSMAP
handler cna route the BSC-originated SCCP connection with that L3 INFO
back to the same component.  This is a bit inspired "in spirit" of the
"expect" mechanism of netfilter connection tracking.

Change-Id: I71f777cd4f290422fa68897952b6505875e35f0e
2017-12-17 13:24:35 +01:00
Harald Welte 004f5fbca3 BSSMAP_Emulation: use BSSAP_CodecPort
So far, BSSMAP_Emulation used the SCCPasp_SP_PORT directly, explicitly
calling BSSAP encode/decode functions while processing the primitives.

Let's clean this up and use the BSSAP_CodecPort which has meanwhile
been developed as a dual-faced port that can be stacked between SCCPasp
and the user to avoid any manual encode/decode function calls.

Change-Id: Icded789d18f3469f74e16f552df2c7ac44ac4294
2017-12-17 11:04:32 +01:00
Harald Welte f1b64e208f BSC_Tests: Ensure MSC passes SpeechCodecList in AoIP ASSIGNMENT
Change-Id: I66deffc50b5adcc8707747c0baa2e65ee36bf18e
2017-12-15 14:56:48 +01:00
Harald Welte 235ebf1b9c BSC_Tests: Add whole bunch of new assignment tests
Change-Id: Ia7304f2e2265c2ebd92575a9403b082579397656
2017-12-15 14:19:10 +01:00
Harald Welte 4bf5fc97fb BSSMAP_Templates: Define various ASSIGNMENT related templates/constants
Change-Id: Id4f98120dbedf1a4fd5fb34df0d638eb08d7c3cb
2017-12-15 14:19:10 +01:00
Harald Welte b69533d153 BSSMAP_Templates: Define enum with 08.08 cause values
Change-Id: I2fc122a510403d0da8da04ca323687065347c96a
2017-12-15 14:19:10 +01:00
Harald Welte cfe2c962a7 BSC_Tests: Add TC_outbound_connect to test if BSC rejects inbound SCCP connections
Change-Id: Ie9087df9ff9b48c8be242b1ae66cbca936b07121
2017-12-15 14:19:10 +01:00
Harald Welte cc7e4dc40e BSSMAP_Templates: Enable use for AoIP, not just E1-CIC
Change-Id: I421ade4ae1c0c19c9c2b1172cdcf8d6c4cd55205
2017-12-15 14:19:10 +01:00
Harald Welte 9958a4d7c8 RSL_Types: Add various IPA / Abis-IP specific IEs + templates
Change-Id: I683e7c23b217a993e0d8f079e5bf1a10403420bb
2017-12-15 14:19:10 +01:00
Harald Welte 16a4adfa5f BSC_Tests: Add TC_assignment_cic_only (AoIP Assign. must fail with only CIC)
Change-Id: Iee7202841ad8466a65b5d54679262be100863e39
2017-12-15 14:19:10 +01:00
Harald Welte a8ed906866 BSC_Tests / RSL_Types: Add enumerated for RSL Cause value
this looks much more human-readable in the logs...

Change-Id: I2bc3de37a3059cc16c6293df45e5c4d620422502
2017-12-14 09:46:01 +01:00
Harald Welte 5d1a2209f2 bsc: Run three virtual BTSs (2 in one lac, 1 in another)
This allows us to verify if the BSC pages *only* where it is supposed
to page based on the cell identity list in the 08.08 PAGING.

Change-Id: I53ffe44279a7b83e045b3fdb25da64529955d457
2017-12-13 19:51:29 +01:00
Harald Welte 067d66ed5b Add RTP_Emulation (stream source/sink) on top of RTP_CodecPort
Change-Id: Ic0750bdc025cd6f16094843550429d976fb44f4f
2017-12-13 17:24:03 +01:00
Harald Welte 1a9b35dd3e Add missing RTP_CodecPort_CtrlFunct TTCN and C++ files
Change-Id: Ic5499a0b5f635a93214cbb5e641d2fd8d37f38d6
2017-12-13 15:42:31 +01:00
Harald Welte 152c38c765 move RTP_CodecPort.ttcn to library
Change-Id: I67343f016757c23a85db6b526b6f60476e91ffc3
2017-12-13 13:19:26 +01:00
Harald Welte 16979760b2 Osmocom_CTRL_Types.ttcn: workaround to compile on TITAN 6.1.0
I have no clue why, but this seems to work?

Change-Id: I49750709e50d16a9fabec3e754ae8381832e6104
2017-12-13 00:46:31 +01:00
Harald Welte 4c5ef5b3e1 IPA_Types: Add ts_PDU_IPA (selftest fixup 2017-12-12 15:53:40 +01:00
Harald Welte 735dd07b38 RSL_Types: Work around (perceived) shortcoming of TITAN RAW encoder 2017-12-12 14:55:17 +01:00
Harald Welte 3e6ad89a2b IPA_Emulation: Call f_IPL4_setGetMsgLen for both client and server
So far, only the IPA client was instructing the IPL4asp to use
the message-desegmentation function.  The server didn't use it, leading
to inconsistent behaviour.
2017-12-12 14:39:46 +01:00
Harald Welte 72cecfa26c BSSMAP_Templates: Add templates for various PAGING options 2017-12-11 19:51:00 +01:00
Harald Welte 51d74101b8 RSL_Types: Fix coding of RSL_IE_ChanNeeded and matching if PAGING_CMD 2017-12-10 23:05:02 +01:00
Harald Welte fdfa046803 Osmocom_CTRL: Fix matching on incoming trap; avoid generating error verdicts in functions 2017-12-10 18:09:40 +01:00
Harald Welte 346658df4b BSSAP_CodecPort: respondingAddress is optional in BSSAP_N_DISCONNECT_ind 2017-12-10 14:10:25 +01:00
Harald Welte 510a287a5e BSSAP_CodecPort: Don't dereference optional fields unconditionally 2017-12-10 13:48:17 +01:00
Harald Welte e8a5ab1122 RSL_Types: New tr_RSL_REL_REQ and tr_RSL_DEACT_SACCH templates 2017-12-09 22:34:57 +01:00
Harald Welte 6efa8e3940 RSL_Types: Fix RSL_IE_Cause (missing length octet) 2017-12-09 22:34:06 +01:00
Harald Welte cfa79adb83 BSSMAP_Templates: Add tr_BSSMAP_ClearRequest 2017-12-09 22:33:47 +01:00
Harald Welte 36975c8ef7 add missing BSSAP_CodecPort file 2017-12-09 21:39:57 +01:00
Harald Welte 4a267365fd RSL_Types: Add ts_RSL_RF_CHAN_REL_ACK and ts_RSL_MsgDiscType 2017-12-09 17:49:32 +01:00
Harald Welte 3ec493f9bc Osmocom_CTRL_Fucntions: Add f_ctrl_get_ratectr_abs and f_ctrl_get_exp_ratectr_abs 2017-12-09 16:25:29 +01:00
Harald Welte 0ac4667870 Osmocom_CTRL_Types: Permit * (wildcard) and fix pattern syntax 2017-12-09 14:19:58 +01:00
Harald Welte 852a384e5c Osmocom_CTRL_Functions: Add f_ctrl_get_exp() function to GET + match expected 2017-12-09 14:19:36 +01:00
Harald Welte 95a478172f Osmocom_CTRL_Functions: Make TRAP resistant (ignore TRAPs) 2017-12-09 14:19:03 +01:00
Harald Welte 5819b554ad IPA_Emulation: Don't send events to unconnected ports 2017-12-09 03:13:36 +01:00
Harald Welte 03c0e5600e IPA_Emulation: Send ASP_IPA_EVENT_UP even in client mode 2017-12-09 03:13:32 +01:00
Harald Welte a76c4bb7b9 Extend IPA_Emulation with support for CTRL 2017-12-09 02:06:07 +01:00
Harald Welte bdb63706b7 IPA_Emulation: Add comments 2017-12-09 01:15:44 +01:00
Harald Welte bc330beab7 RSL_Emulation: Move templates into RSL_Types 2017-12-09 00:56:36 +01:00
Harald Welte 7ae019e1a0 IPA_Emulation: split t_ASP_RSL_UD in send and receive template 2017-12-09 00:54:15 +01:00
Harald Welte f8a0bdaad5 BSSMAP_Templates: Add parameters to tr_BSSMAP_ComplL3 for better matching 2017-12-09 00:53:17 +01:00
Harald Welte 714ded9e75 library: Add RSL_Emulation.ttcn
This emulates the RSL part of a BTS towards a BSC
2017-12-08 14:00:22 +01:00
Harald Welte 9c0bddf293 General_Types: Make it work with TITAN 6.3.0
Somehow the TITAN 6.3.0 compiler is stricter...
2017-12-08 13:58:08 +01:00
Harald Welte 0d846a7e37 IPA_Emulation: Add support for RSL port
In addition to the MGCP and SCCP ports, we now also have a RSL port
through which other components can transceive RSL messages via IPA
2017-12-07 17:58:28 +01:00
Harald Welte da9d36c73e IPA_Types: Define IpaStreamId for up to 4 TRX 2017-12-07 17:57:17 +01:00
Harald Welte 101fbed2de RSL_Types: ts_RSL_CHAN_RQD needs access delay 2017-12-07 17:56:38 +01:00
Harald Welte 7ae931488f RSL_Types: Add RACH and PAGING LOAD templates 2017-12-07 17:56:15 +01:00
Harald Welte f4b068b3a0 RSL_Types: tr_RSL_MsgType() now accepts template as message discriminator
... avoids tiresome valueof() at every caller site
2017-12-07 17:54:55 +01:00
Harald Welte c287775e35 RSL_Types: add tr_RSL_PAGING_CMD / tr_RSL_IMM_ASSIGN templates 2017-12-07 17:54:35 +01:00
Harald Welte fff6930765 RSL_Types: ms_identity, full_imm_ass_info IE types 2017-12-07 17:53:42 +01:00
Harald Welte d5f521ef5c RSL_Types: Define RACH Load IE 2017-12-07 17:53:06 +01:00
Harald Welte 8f2c21d815 RSL_Types: Channel Mode contains a length byte 2017-12-07 17:52:40 +01:00
Harald Welte 15bb5b53db RSL_Types: L3_INFO has TL16V type, not TLV (i.e. 16bit length) 2017-12-07 17:52:04 +01:00
Harald Welte 319be826cb RSL_Types: Define each enumerated member
TTCN-3 enumerated seems to behave different than C enums, so you cannot
simply assume that the next element will have the previous element
value+1.
2017-12-07 17:50:26 +01:00
Harald Welte e09921fef2 IPA_Emulation: Change default params to const, export them and use empty string
This means we rather return an empty string in CCM_IDTAG responses,
rather than crashing due to non-defined record members.
2017-12-07 17:49:00 +01:00
Harald Welte 3b2ce0217f GSM_Types: Label some templates as (value) templates 2017-12-07 17:47:00 +01:00
Harald Welte e21096dbaf IPA_Emulation: Allow client/server to specify CCM parameters 2017-12-04 20:45:12 +01:00
Harald Welte 71a36023dc ggsn: Verify presence of DNS addresses in IPCP of PCO
If we request DNS in IPCP in PCO, we also expect a corresponding result.
2017-12-04 19:04:24 +01:00
Daniel Willmann 961e5c9d3b MGCP_Templates: Accept 200 and 250 as ACK for DLCX
Both codes are valid as response to a DLCX, see RFC3661 Ch 2.2:
"""
The 250 response code can be used to acknowledge a successful completion
of a DeleteConnection command.  However, a 200 response code is also
appropriate.
"""
2017-11-30 16:43:36 +01:00
Daniel Willmann fbef714394 MGCP_Templates: Change channel codec to AMR since this is how it's used 2017-11-30 16:43:11 +01:00
Harald Welte e98bb2e153 BSSMAP: Ignore RSPI for unknown endpoint/CIC 2017-11-29 12:09:48 +01:00
Harald Welte 1218883e15 IPA_Emulation: Properly dissect multiple IPA messages in one TCP segment 2017-11-29 12:03:32 +01:00
Harald Welte 26595451b3 IPA_CodecPort: Wrap f_IPL4_setGetMsgLen function 2017-11-29 11:46:24 +01:00
Harald Welte 92e9816df8 IPA: Add support for IPAC_IDTAG_OSMO_RAND
this is a non-standard RAND value used by osmo-bsc_nat.  The change
requires us to also properly define the individual IpaCcmGetPart
with a one-byte length value at its start.
2017-11-29 11:09:13 +01:00
Harald Welte a1f0cbcfbe ipa: PDU_IPA_CCM: Missing CROSSTAG to decode get/resp/other 2017-11-29 11:04:40 +01:00
Harald Welte 643e2a60b0 add RSL_Types.ttcn - untested definitions defining GSM A-bis RSL 2017-11-27 15:03:18 +01:00
Harald Welte 28d943ef35 ts_BSSMAP_HandoReq: Hand in raw list as argument, not IE type
Also, add new ts_BSSMAP_Paging() template.
2017-11-25 15:01:16 +01:00
Harald Welte 92632e1dce ipa: Enable configuration on whether MGCP should use old or new IPA stream ID 2017-11-25 02:31:20 +01:00
Harald Welte 1dd8f3713b IPA_Emulation: Introduce template for ASP_IPA_Unitdata 2017-11-25 02:25:27 +01:00
Harald Welte 5aa1803ef9 Move MGCP_CodecPort to library directory 2017-11-25 02:05:04 +01:00
Harald Welte 9ca9eb1648 BSSMAP_Emulation: Set verdict to 'fail' in various lookup error paths 2017-11-25 00:50:43 +01:00
Harald Welte 0a4317a805 ipa: Close SCCP Connection from MSC side; set verdict on BSC side 2017-11-25 00:50:31 +01:00
Harald Welte be620f6da6 ipa: Give all components proper names to aid log interpretation 2017-11-25 00:23:54 +01:00
Harald Welte 66fecd46a8 MSC_ConnectionHandler: Fix E1 timeslots to be monotonically incrementing 2017-11-24 23:54:44 +01:00
Harald Welte c859df518f BSC_MS_ConnectionHandler: implement MGCP request->response handling 2017-11-24 23:41:41 +01:00
Harald Welte 525a9c118d BSSMAP_Emulation: Fix regex for extraction of MGW endpoint number
Don't use perl regex syntax ".*' but simply "*"
2017-11-24 23:40:41 +01:00
Harald Welte 1b2748eb7b BSSMAP_Emulation: CIC extraction must happen on BSC side, not MSC side 2017-11-24 23:40:16 +01:00
Harald Welte 9002957584 MGCP_Templates: More templates (for the MGW side) 2017-11-24 23:39:50 +01:00
Harald Welte 4c11d56f2d move MGCP utility functions from MSC_ConnectionHandler to MGCP_Templates 2017-11-24 23:39:00 +01:00
Harald Welte 7dc5d37b33 MGC_Types: Add work-around for failure to distinguish between Cmd + Resp 2017-11-24 20:52:06 +01:00
Harald Welte 51f34ada61 MGCP_Templates: Add missing 'any' for trans_id in tr_CRCX_ACK 2017-11-24 20:52:06 +01:00
Harald Welte c82eef458d ipa: Further progress on the bsc-nat test suite 2017-11-24 20:52:06 +01:00
Harald Welte 19ad52b3b9 IPA_Types: Fix length encoding during transmission of OSMO_EXT packets
The extra byte for further demuxing must be included when computing
the payload length from the (classic) IPA header point of view.
2017-11-24 20:52:06 +01:00
Harald Welte 4029e8cd03 Move MGCP_Types.ttcn to library; extract MGCP_Templates.ttcn to library 2017-11-24 20:52:06 +01:00
Harald Welte 2a8f847f6f WIP: attempt at IPA extended StreamID support 2017-11-24 20:52:06 +01:00
Harald Welte 7ed2b08006 BSSMAP_Templates: fix unbound rR_Cause member in Assignment Complete 2017-11-23 18:52:13 +01:00
Harald Welte 5cc4aa2f06 BSSMAP_Emulation: Fix handling of userData
We cannot pass an unbound octetstring record member into a template
argument of a function :/
2017-11-23 18:51:28 +01:00
Harald Welte ab05d6cf97 BSSMAP_Templates: Correct name is AssignmentReq, not AssignmentCmd 2017-11-23 18:50:52 +01:00
Harald Welte b3414b2172 ipa: First version that emulates both MSC and BSC up to ASSIGNMENT REQ 2017-11-23 18:23:38 +01:00
Harald Welte 365f4edbd8 IPA/MSC/BSC Emulation: Framework for handling multiple SCCP connections 2017-11-23 00:00:43 +01:00
Harald Welte c76f29f094 ipa: Pull everything together: L3->BSSAP->SCCP->IPA 2017-11-22 12:46:46 +01:00
Harald Welte d86cdc6811 Expand IPA emulaitpn code + example to include CCM and SCCP binding 2017-11-22 00:45:07 +01:00
Harald Welte 00566f55f0 initial import of new IPA test port 2017-11-21 16:43:49 +01:00
Harald Welte 04d74cdcde Add ASP_ConnId_ReadyToRelease in all translation ports using IPL4asp
This is required after update to IPL4asp R.29.A of 2017-Oct-17
2017-11-19 09:29:51 +01:00
Harald Welte 244cd8acf7 sysinfo: Fix the TC_telnet test case VTY command order 2017-08-26 09:25:20 +02:00
Harald Welte b26cfffeda LAPDm_RAW_PT: Use default L1CTL socket
The L1CTL socket path can be configured as module parameter of
the L1CTL_PortType module, so there's no need in repeating that
configuration inside LAPDm_RAW_PT
2017-08-25 09:56:47 +02:00
Harald Welte f68765d2e5 L1CTL_PortType: Make osmocom_l2 socket configurable as module parameter 2017-08-20 22:54:57 +02:00
Harald Welte f97649269a sysinfo: Fix compilation 2017-08-20 22:47:44 +02:00
Harald Welte 303c19ad63 Add Native_Functions module for inet_addr / inet_ntoa 2017-08-19 13:52:36 +02:00
Harald Welte ddeecbb4ed GGSN_Tests: Make SGSN and GGSN addresses configurable via modulepar 2017-08-19 11:50:08 +02:00
Harald Welte 9d3485243a RLCMAC: Integrate encoding/decoding of Control Message Payload
Rlcmac{Dl,Ul}CtrlBlock now contain Rlcmac{Dl,Ul}CtrlMsg rather
than an octetstring payload.
2017-08-01 00:27:39 +02:00
Harald Welte 422f072176 RLCMAC_CSN1: Add "other" for not-yet-implemented message types 2017-08-01 00:27:06 +02:00
Harald Welte 4b6c772b15 LAPDm_RAW_PT: Add support for TBF mode (GPRS) 2017-08-01 00:07:12 +02:00
Harald Welte 1dcc371539 Add Definitions for GPRS coding schemes 2017-08-01 00:05:52 +02:00
Harald Welte 2072ab6698 RLCMAC: enc__RlcmacUlDataBlock: fix 'omit' for PFI / TLLI
It's not sufficient to check if the value is bound; we must also make
sure that the value is not OMIT.
2017-07-31 18:33:35 +02:00
Harald Welte 78a1af6782 RLCMAC: Fix encoding/decoding of 'union' types
We must supply hand-written C++ functions for encoding/decoding
the union types.
2017-07-31 17:33:56 +02:00
Harald Welte 5aa500791e move LAPDm_types to library + make lapdm executable compile again 2017-07-31 16:15:56 +02:00
Harald Welte efbc2fca24 RLCMAC: Add Rlcmac{Ul,Dl}Block unions to cover both Control + Data blocks 2017-07-31 00:19:13 +02:00
Harald Welte cf28881687 move LAPDm_RAW_PT.ttcn to library 2017-07-30 22:52:27 +02:00
Harald Welte 43e060a50d Add hand-written encoder/decoder for RLC/MAC UL/DL data blocks
Their format is simply too complex to be used with the automatic RAW
encoder/decoder.  Let's implement it by hand, using the automatic
coder whenever possible.
2017-07-30 22:38:03 +02:00
Harald Welte 88849c61b2 L1CTL_Types: Split t_IMM_ASS() off t_RR_IMM_ASS()
It's useful to have a separat template only for the IM_ASS part, without
RR header.
2017-07-30 17:19:41 +02:00
Harald Welte b3c226ebde L1CTL_Types: Add support for L1CTL_DATA_TBF_{REQ,CONF}
Those two L1CTL primitives are extensions of L1CTL for GPRS operation
2017-07-30 17:19:24 +02:00
Harald Welte 6f3c223b9a GSM_Types: Fix RSL Chanenl number encoding; Add OSMO_PDCH extension 2017-07-30 17:17:12 +02:00
Harald Welte 1b9b77096d GSM_RR_Types: Parse PacketChannelDescription 2017-07-30 04:19:14 +02:00
Harald Welte 9419c8aff7 Split RR portion of GSM_Types into GSM_RR_Types 2017-07-30 04:07:35 +02:00
Harald Welte d335cbcdb9 L1CTL_Types: Make t_RR_IMM_ASS match also TBF assignments 2017-07-30 00:51:23 +02:00
Harald Welte 00d4dace72 L1CTL_Types: Add upcoming L1CTL_TBF_CFG_{REQ,CONF}
Related primitives are used to configure L1 for GPRS / TBF operation
2017-07-30 00:50:32 +02:00
Harald Welte c84d847f01 GSM_Types: Fix encoding of RSL Channel numbers 2017-07-30 00:49:56 +02:00
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 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