Commit Graph

590 Commits

Author SHA1 Message Date
Harald Welte ba7b6d940e msc: Add test case for LU with MI=IMEI (which is illegal)
Change-Id: Ie3c91a0ff212a70a8e03e0579f240a10bc4356f4
2018-01-24 17:29:15 +01:00
Harald Welte bc881789bd msc: Test closing BSSAP connection of LU by ClearCommand
Change-Id: I9194da2f9324ee17c920458cb920a6fa718ac739
2018-01-24 17:29:15 +01:00
Harald Welte 071ed736c8 msc: Add tests for HLR SAI timeout and HLR SAI error
Change-Id: I7f8c8ff9ccadd7b7b14cba12a34cebe6855a5367
2018-01-24 17:29:15 +01:00
Harald Welte cf66d5a655 msc_tests: Randomly generate Auth Vector (rather than hard-coded value)
Change-Id: I2dc0570a8ae5003d26368b09d223db8e44a5c4ff
2018-01-24 17:29:15 +01:00
Harald Welte 7b1b281789 MSC: Add test for LU with 2G authentication
Change-Id: I5ea201bd603e581f199cd29056e7e7ebc9bd0923
2018-01-24 17:29:15 +01:00
Harald Welte 77a8ebaceb GSUP/L3: Add templates related to authentication
Change-Id: Id9566e3e075a8837e2e77a7c2b9d8f0f6e9b7554
2018-01-24 17:29:15 +01:00
Harald Welte 2bb825fc71 WIP: MSC: Add MO call testing
Change-Id: If32cb359b3cf732c4752856538552595dbbf2a8a
2018-01-24 17:29:15 +01:00
Harald Welte 701b574fed Use Osmocom-patched UNIX_DOMAIN_SOCKETasp for SEQPACKET support
Upstream TITAN doesn't have this yet (it's submitted, though),
so we have to use our own repo for titan.TestPorts.UNIX_DOMAIN_SOCKETasp
and at the same time make sure that our MNCC port is using
SEQPACKET in MSC_Tests.cfg

Change-Id: Ifa3661d8f818564d595c4612e5612a245a31a8f4
2018-01-22 11:31:38 +01:00
Harald Welte 8a121b3cec msc: make sending of early classmark optional
Change-Id: If25ba412ab393029ed7ae9af47e87d5f4a44acfc
2018-01-22 03:01:27 +01:00
Harald Welte ef9fa87ac9 msc: Prepare authentication support
Change-Id: I930bed1907fd0faf61788cf14e75f2b2337572f4
2018-01-22 03:01:27 +01:00
Harald Welte d748a0519a msc: More MNCC and L3 templates towards voice testing
Change-Id: I3132a856175fc9421e1a0bfd37620d6b1625574b
2018-01-22 03:01:27 +01:00
Harald Welte 515f5d11e7 MNCC: Properly terminate speech version array
MNCC has this weird encoding that the speech version array must
be terminated with one element '-1' at the end.  Let's make sure
our default complies to this rule.

Change-Id: I2e06ed1b558c58a62a00ea8d3573bb31c0c3e750
Related: OS#2853
2018-01-22 03:01:27 +01:00
Harald Welte ec3d065b59 MNCC_Types: Define '0' in various enums for unused value
it seems the decoder is using '0' in positions where we have
not defined any enum value for '0'.  Work around that.

Change-Id: I6bf0540f7ddd4dbe3b6c6ac06421a933126a7e17
2018-01-22 03:01:27 +01:00
Harald Welte 8260057d90 msc: Store CM2/CM3 in g_pars, so it can be modified
Change-Id: I726d851f45379b3efdb5ab62ea8f196cc0e41cc5
2018-01-22 03:01:27 +01:00
Harald Welte 5c2622cafb MSC_Tests: Implement early classmark sending in LU
Change-Id: I019d51703c60203c7cb83a77dc7ca4b3d6623e24
2018-01-22 03:01:27 +01:00
Harald Welte 71b693365d BSSMAP_Emulation: Introduce new MSC_CONN_PRIM_CONF_IND
If the ConnHdlr initiates an outbound connection, it needs to know
once that connection is established if it wants to send further
data. Transform the N-CONNECT.confirm into a MSC_CONN_PRIM_CONF_IND
and send it to the ConnHdlr.

Make use of it from the MSC_Tests when issuing a Complete L3 Info.

Change-Id: I7293a9f4993d13c90316224eb9f13e10130388ef
2018-01-22 03:01:27 +01:00
Harald Welte e5bd1ae81a msc: Add missing MSC_Tests.cfg file
Change-Id: I7671a95ab83854dab70fa7af5afd3d6420c1880f
2018-01-22 03:01:27 +01:00
Harald Welte a49e36e911 MSC_Tests: Integrate MNCC, GSUP, BSSAP connection handler, ...
Change-Id: I7bb6660c6b6cef81533f0fbb5e735f08ed275b8c
2018-01-21 19:37:59 +01:00
Harald Welte 6ff81909fd More GSUP and L3 Templates
Change-Id: I0e9136fc3b8f171934f054ec149d8dd344faa034
2018-01-21 19:31:09 +01:00
Harald Welte 0b476066b9 BSSMAP_Emulation: Decode DTAP
It's quite cumbersome if the user of the BSSMAP_Emulation (the ConnHdlr)
will have to manually decode the DTAP in every BSSAP/DTAP message he
receives (and encode on the transmit side).  Let's introduce a new
optional mode in which the DTAP messages are already decoded for
more convenient matching inside the ConnHdlr.

Change-Id: I35cd4ea78aca0ce7c7d745e082d7289882c11e81
2018-01-21 19:31:09 +01:00
Harald Welte 0e5aad201f Add new GSUP Emulation module, dispatching GSUP based on IMSI
Change-Id: I6d06280fa5729ee921d319854a9b11636cf83495
2018-01-21 19:31:09 +01:00
Harald Welte cb6cc33521 L3_Templates: Template for tr_CM_SERV_REJ and ts_ML3_MO_LU_Req
Change-Id: Iad1596a3b80de16a9b0e2d644cf9a0fe2c51ad21
2018-01-21 19:31:09 +01:00
Harald Welte ae8ce238cd BSSMAP_Templates: Fix + enable ts_CellId_CGI
Change-Id: Icafe6415b3f896176edcac604a0945e83126db09
2018-01-21 19:31:09 +01:00
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 67089ee9a4 BSSAP_Adapter: De-couple from BSC-testing MSC_ConnectionHandler
... and pave the way from using it on the other side in MSC testing

Change-Id: I0095f7d24dd8b24f759e4c74a4e7856ec4503ed2
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
Harald Welte 818b6e4225 Add "SourceInfoFormat := Single;" to all test configs
This will make sure that all log files will contain information about
the .ttcn source file name and line number that has caused the log,
which is extremely useful during debugging.

Change-Id: Id6785757f20279ba84b34747f878baf67d065b20
2018-01-17 11:11:29 +00:00
Stefan Sperling b041b3d339 Test control connection status query for MSC 0.
This new test exercises the new 'msc.0.connection_status' control
command which is added in https://gerrit.osmocom.org/#/c/5630/

Change-Id: I55faa1ec413629234e24831dbc05d8b0afec8099
Related: OS#2729
2018-01-12 14:25:44 +00: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
Stefan Sperling 7159dbbce6 Fix BTS location area code assignment in test configuration.
The paging tests expect BTS 0 and 1 in LAC 1, and BTS 2 in LAC 2.
BUt the osmo-bsc configuration file had BTS 1 in LAC 2, and BTS 2 in LAC 1.

Change-Id: I1d6b02fe06116dee59977422bc93bcafcd3aba76
2018-01-09 13:19:46 +01: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 2e1a1da674 bsc-test: Fix compilation after IuUP support was introduced
Ever since I46de7fb9c324654275a27aa5f8c1be70340e3229 we had problems
linking the object files together due to a missing object

Change-Id: I5d8c37f924b3a2c8b28cace4da2add1fadd0151a
2017-12-28 23:17:24 +01:00
Harald Welte f91edf3b49 MGCP_Test: be more liberal in some of the error codes we expect
Sometimes it's not entirely clear which error code should be returned,
so let's accept multiple options, depending on the situation

Change-Id: I6d6eaec4d025b9da170f59c759884afe2e768521
2017-12-28 14:21:03 +01:00
Harald Welte 33d8216ab4 MGCP: Add 30 endpoint number test to control section
Change-Id: Ifa03697531680c72e4179a4195aeac371660b722
2017-12-28 14:20:53 +01:00
Harald Welte 646ecdb8e4 MGCP_Test: Test use of 30 endpoint numbers
We used to have a big (OS#2784) where only endpoint numbers below
10 (0x0A) were working due to failed interpretation in hex/dec.

Let's use up to 30 endpoints to ensure hex as well as two-digit
digit numbers.

Change-Id: Ifb3e01b5d31decefbf0c87ea39ec5021c8795579
2017-12-28 03:28:40 +01:00
Harald Welte 8098164721 RTP_Emulation: Integrate IuUP support
Change-Id: I46de7fb9c324654275a27aa5f8c1be70340e3229
2017-12-25 00:03:07 +01:00