Commit Graph

232 Commits

Author SHA1 Message Date
Harald Welte ae02669508 BSC_Tests: Start with much simpler tests at BSSAP / SCCP level
Rather than using the more complex RSL Emulation and BSSAP emulation
components, we attach to the RSL and BSSAP Codec Ports and send some
messages back and forth for low-level testing such as timeouts, response
to RACH requests, failure of MSC to react to CR requests, etc.
2017-12-09 01:03:01 +01:00
Harald Welte 51b2468059 mgw-nat: Make it build again (library code now has more dependencies) 2017-12-09 00:56:54 +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 140714d89d regen_makefile.sh: Add Regex's for TITAN 6.3.0
The TITAN 6.3.0 makefile generator needs some new regular expressions
for patching the generated makefile to work on Debian
2017-12-08 14:03:28 +01:00
Harald Welte 696ddb6de3 bsc-tests: Add BTS_Simulation, RSL_Tests and .cfg file 2017-12-08 14:01:43 +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 e7096c1571 ggsn: verify IPv4 addr + byte order in IPCP PCO DNS addresses 2017-12-04 19:40:44 +01:00
Harald Welte eb9184ddb4 ggsn: Encode IPCP in IPCP Request, rather than using hard-coded hex string
We now have a proper definition of IPCP in IPCP_Types and can thus
encode/decode on the fly and avoid hand-crafted octetstrings.
2017-12-04 19:04:24 +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
Daniel Willmann 04541d715e bsc-nat: Wait for the second MDCX in the BSC_MS conn handler
The bsc-nat sends another MDCX so account for that in the state machine
2017-11-30 13:14:37 +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 79feba5ed4 rename 'ipa' directory to 'bsc-nat' 2017-11-25 02:32:50 +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 f09d1bad0a ipa: Ability to transport MGCP over UDP rather than IPA Mux 2017-11-25 02:20:13 +01:00
Harald Welte 5aa1803ef9 Move MGCP_CodecPort to library directory 2017-11-25 02:05:04 +01:00
Harald Welte a34e47f2e4 BSC_MS_ConnectionHandler: Use actual state machine to enforce order of events 2017-11-25 01:28:54 +01:00
Harald Welte 98f1f410b2 MSC_ConnectionHandler: Add 5s guard timer 2017-11-25 01:21:49 +01:00
Harald Welte 8f3a962125 BSC_MS_ConnectionHandler: Update FIXME/TODOs 2017-11-25 01:19:13 +01:00
Harald Welte 2fb0479512 ipa: Make test actually terminate. Ensure termination after 30s. 2017-11-25 01:14:35 +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 8ac9f022d7 MSC_ConnectionHandler: Use "Call Control" as release cause 2017-11-24 23:48:14 +01:00