Commit Graph

816 Commits

Author SHA1 Message Date
Harald Welte e990220ea3 WIP: L1CTL support for hopping/non-hopping union
Change-Id: I6cf5a9fbe32d332e540127f0d52da0758921c22c
2018-04-04 15:36:46 +02:00
Harald Welte 29713c3946 bts: f_TC_rtp: Chose payload suitable for given codec
Change-Id: I4dbc621c347811f2e320f5001170937ae9c6499c
2018-04-04 15:34:37 +02:00
Harald Welte 16a57f17b7 bts: Specify tch_mode with L1CTL_DM_EST_REQ
This is useful to bring up channels not only in signalling mode, but
also in actual TCH/speech mode.

Change-Id: I91677b3f471ffcf83dd30a345b50375ce6a88656
2018-04-04 15:34:37 +02:00
Harald Welte f88e45b96d WIP: bts: Add support for RTP user plane testing
Change-Id: I39bc0422727fb9f9ce33d69a3c379752330b4183
2018-04-04 15:34:37 +02:00
Harald Welte ee949696e1 WIP: L1CTL_Types: Support TRAFFIC
Change-Id: I662f55d5f46f084a1982147072c73407dd0e12e8
2018-04-04 15:34:37 +02:00
Stefan Sperling cb782b99ff document the purpose of IP addresses used by GGSN tests
The purpose of the various IP addresses used by our GGSN tests is not
immediately clear. Add documentation based on the current status quo.

Change-Id: I079efcff3dab09d71330625f5b661cd81e42bf38
2018-04-04 08:07:25 +00:00
Neels Hofmeyr 6a84b23f25 bts: enable CTRL interface tests
Start and stop the CTRL interface and provide CTRL bind interface config
modulepars.

Possibly everyones' local setups may need modification to allow the
ttcn3-bts-tests to reach osmo-bts-trx's CTRL port.

WARNING: This commit has to be merged "at the same time" as
I1ec86b157ebd46bf622a0ca51eba225f15c99fbb or the jenkins ttcn3-bts-tests will
fail.

a) if we want to set a modulepar mp_ctrl_ip here, it needs to be added to
osmo-ttcn3-hacks.

b) if we have the f_ipa_ctrl_start() in osmo-ttcn3-hacks, we need to configure
the proper IP and bind interface here, or all tests will fail because
f_ipa_ctrl_start() cannot connect.

Change-Id: I502b4891e6720ae2fb251c03542f707880a6f728
2018-04-03 19:30:55 +02:00
Harald Welte b1726c90dc bts: new f_rsl_transceive_ret(): like f_rsl_transceive() with return value
Change-Id: I0cdc6b87566b9d101ecb12a77eac18a50689e088
2018-04-02 18:19:05 +02:00
Harald Welte 98eb1bf6d2 RTP_Emulation: Fix RTCP handling
Change-Id: I58e1d993921fadc457d7cd0348d4c9c2171b5748
2018-04-02 18:19:05 +02:00
Harald Welte ea1a0aeda4 L1CTL_PortType: Remove some logging, make it less chatty
Change-Id: I9e9160f53480713c9551a185478a6b58fa02a709
2018-04-02 18:19:05 +02:00
Harald Welte 3c4cbf6dd6 L1CTL_Types: dl_info is part of TRAFFIC_CONF, not just TRAFFIC_IND
Change-Id: I575b981d6ea59702927bbb2a2ae24b2e8652cc5d
2018-04-02 13:18:23 +02:00
Stefan Sperling 6cd217e48b improve documentation of templates used in GGSN_Tests
Various improvements to the comments documenting packet templates
used in GGSN_Tests: fix IPv4 vs. IPv6 confusion, clearly indicate
whether templates are used for sending or for receiving/matching
packets, and add a missing comment.

Found while studying code to prepare for issue OS#2519.

Change-Id: I3bfc21a5ba74e0505457e4874f93501ad7c68b7b
Related: OS#2519
2018-04-01 08:42:01 +00:00
Harald Welte edc887435e mgw: Fix mixed-up MGW / local IP address
Change-Id: Ie4f6da896f53e9fabd7275fe6d8f8c6309e02d14
2018-03-29 18:01:51 +02:00
Harald Welte 935cb8f6ba mgw: Don't use RTP_Endpoint anymore. We use RTP_Emulation new.
Change-Id: I6302412daaafc37c8e7740cce4806405d3086fa7
2018-03-29 18:01:51 +02:00
Philipp Maier 38d6894cd6 BSC_Tests: Add missing routing context to modulepar
The BSSAP_Configuration leaves the rctx parameter unbound.

- Make sure that rctx is set to 0

Change-Id: If0f08665694be8eba817a4525686a9a37caf1dbb
2018-03-29 15:46:31 +02:00
Harald Welte 2043d68918 msc: Fix config file syntax.
In Change-Id: I52a4c8118828c1605cf672889982f987568ad17d we introduced
config file syntax errors.  It seems that change was not tested at all
before pushing :(

Change-Id: I80577798b502957afaa46abb510bcca3dc174ee4
2018-03-29 13:17:18 +02:00
Harald Welte bb7523b15b mgw: Add first tests for testing RTP streams
The existing MGW tests were entirely on the MGCP side.  Let's start
some tests that exchange RTP frames with the MGW and validate that
the MGW can actually act on what is configured via MGCP.

Change-Id: If620d5f8927d0e3584e90a7a8f785c6fdd7c2d17
2018-03-29 08:52:01 +02:00
Harald Welte 5c49ba4393 RTP_Emulation: Add f_rtpem_stats_compare() to match a pair of stats
Change-Id: I1682bc16a05f096976b7e68b6115850fc152f7aa
2018-03-29 08:51:20 +02:00
Harald Welte 1af4033a7b RTP_Emulation: Add convenience helper functions around procedure calls
Change-Id: I413aa2b86c2aebe8017112926fc88af0de4d43b7
2018-03-29 08:50:33 +02:00
Harald Welte 8d3ea0e3ec RTP_Emulation: Make it less chatty in the log
Change-Id: I8ff3ce27967d624cce5edc10655b1294d57ca3a3
2018-03-29 08:50:18 +02:00
Harald Welte 9774e7ab04 RTP_Emulation: Fix receive templates
The connection ID part of the template must be updated after we
created the respective sockets. It was done to early.

Change-Id: I37306d841df3d27d30fd89fb99c863370517e3ff
2018-03-29 08:49:38 +02:00
Harald Welte cb8b427db1 mgw: Add statistics to RTP_Emulation and link/build it in mgw test
We're not using it so far, this is left for follow-up patches.

Change-Id: I40c322374cd99adb75a0f09175023fc0b12291d2
2018-03-29 08:49:15 +02:00
Philipp Maier 34bd80eae7 BSSMAP_Templates: Add templates for HANDOVER REQUIRED
In order to form a minimal HANDOVER REQUIRED message additional
Templates (ts_) are needed.

- Add Template ts_BSSMAP_IE_SpeechVersion
- Add Template ts_BSSMAP_IE_CurrentChannelType1
- Add Template ts_BSSMAP_IE_OldToNewBSSInfo

Change-Id: I41c2a036465d422db9348d4d2d66bb332e16e155
Related: OS#1609
2018-03-28 12:34:54 +02:00
Philipp Maier 7593298b36 MSC_Tests: Add support for multiple BSC
The upcomming tests for inter-BSC handover make it necessary to
simulate multiple (two) BSCs to the MSC, while the current
Implementation can only handle one BSC instance at a time.

- Allow multiple BSC instances to be created
- Add a simple reset-test to test what happens when
  two BSC instances are started (BSSMAP reset from two
  different BSCs)

Change-Id: I52a4c8118828c1605cf672889982f987568ad17d
Related: OS#1609
2018-03-28 12:34:54 +02:00
Philipp Maier 0f4a0f941f Cosmetic: Update MSC_Tests.cfg
The MMSC_Tests.cfg config file lacks most of the test comments.

- make sure the control section of MSC_Tests.ttcn and MSC_Tests.cfg
  match up.

Change-Id: I89e6c65427a993261cab6a284e6cc3dbc5a5562f
2018-03-28 12:28:05 +02:00
Harald Welte b1add59560 deps/Makefile: Various updates
* SCCP changes were merged upstream, we don't need to use osmocom fork
* SCCP upstream now has proper tag based version
* M3UA now has a new version tag (with Routing Context)
* UNIX_DOMAIN_SOCKET has new verison tag (upstream requested changes)

Change-Id: I5526c1688d84cf985299baa973271a620b4b4544
2018-03-27 20:52:38 +02:00
Harald Welte 035f7f8af4 deps/Makefile: Add missing "git fetch" to /update and /clean targets
When the Makefile was modified to use a new tag/hash of a given
repo, the "make update" or "make clean" target will fail as the
new version/tag is not yet known to the local repo, only to the
remote (and hence we need a fetch).

Change-Id: I52c44c744674cd4dab0c85086d68bde6f9be1fca
2018-03-27 20:52:38 +02:00
Harald Welte 498634bfd3 deps: Switch to our own fork of the M3UA ProtocolEmulation
.. as we have some patches that are not yet in upstream

Change-Id: Ie8a9380ae8838c571fe3d0776f60485b34c85d4e
2018-03-27 19:21:55 +02:00
Philipp Maier cb6cc481d1 fix TCH/H for TC_chan_exhaustion
At the moment we use onle TCH/F and PDCH in our osmo-bsc config,
but the tests TC_assignment_codec_amr_h and TC_assignment_codec_h
requre a half rate channel in order to work. Configuring one TCH/F
to TCH/H seems not to hurt any tests except TC_chan_exhaustion

- also regard half rate channels in TC_chan_exhaustion
- change included sample osmo-bsc.cfg

Change-Id: Idd5a9602f1b49b5aa0fc510faa151fe16c0b404d
Related: OS#3100
2018-03-27 11:28:17 +00:00
Harald Welte 206587e073 Makefile: Add new 'sip' testsuite to list of testsuites
Change-Id: Ie7cc41a40fb8706e9b0752be6e7c1f34dc692d87
2018-03-26 23:36:22 +02:00
Harald Welte b0d9360aac More progress on osmo-sip-connector tests
Change-Id: I34a5d7929264c7f5f21d3868a5f919874ffa106c
2018-03-26 23:11:51 +02:00
Harald Welte 9093839329 MNCC_Types: More types for MNCC server (MSC) side emulation
Change-Id: I1dd1744da7da983412d5d34c40fd896bc7b896db
2018-03-26 23:07:24 +02:00
Harald Welte 055660098c MNCC_EncDec.cc: Fix decoding of speech versions in bearer capabilities
Change-Id: I4fd79ee769c967dc209a7e1859d9d8b18d09843e
2018-03-26 23:07:24 +02:00
Harald Welte 9edea88b80 MNCC_Emulation: Make ExpectedCreateCallback work for SETUP_REQ, too
In server mode, we need to handle SETUP_REQ in ExpectedCreateCallback,
not only SETUP_IND like in client mode.

Change-Id: I988668cac9970af12d59d05a3a9facca257851c6
2018-03-24 22:33:59 +01:00
Harald Welte 1450953d2e MNCC_Emulation: Send HELLO in "server" role
Change-Id: I6ef9697ff365bae9fbf7c5888fdb0b88e63b13bb
2018-03-24 22:33:59 +01:00
Harald Welte 930d0a70e3 bsc: Fix tons of TTCN3 compiler warnings
Change-Id: I60dc054d19a249d46d44585c17626746c34f4b09
2018-03-23 12:32:00 +00:00
Harald Welte afec471557 sip: Add SIP_Emulation and first osmo-sip-connector test case
Change-Id: Ifd47b0d48c609b4a678ea47aa7f89f5c12e6c0d2
2018-03-22 21:16:42 +01:00
Harald Welte a63b91017a bsc: TC_assignment_codec_*: Verify RSL side codec/mode
Let's not only match if the BSSMAP ASSIGNMENT COMPL matches what codec
was requested in BSSMAP ASSIGNMENT CMD, but also verify that the
RSL side channel was activated with the right channel mode IE.

Change-Id: I6ef24b5b82a5c100ffffe056adadd26e69b968b9
2018-03-22 21:16:39 +01:00
Harald Welte ad2647b1b5 RSL_Emulation: Introduce LastActTable
The LastActTable stores a copy of the decoded RSL CHAN_ACT for
each channel number.  This can be used by a RSL_DchanHandler to
learn parameters of its own activation.

Change-Id: I629d66e27cbe4c8b02e704a7181b3bff843e9aa4
2018-03-22 21:16:33 +01:00
Stefan Sperling a2b5449f97 preserve uncommitted local changes in ttcn3 deps repositories
The previous Makefile rules would always overwrite uncommitted
local changes within repositories under the deps directory.

Let's assume that somebody who has local changes inside dependencies
knows what they are doing, and eliminate the risk of discarding
results of their work. Always skip repositories which contain
local changes. Only print a warning about such repositories.

Nothing changes for people who do not modify dependencies.

While testing this change, I noticed that the 'make distclean' target
was not reachable via 'make distclean', and I've fixed this as well.

Related: OS#3090
Change-Id: I0ee4ed70868b1c1efa39ad2bf200bf59ae2a2019
2018-03-22 12:56:54 +00:00
Philipp Maier 3716a5e364 BSC_Tests: split up f_mt_call and f_mo_call
The functions f_mt_call and f_mo_call establish a call, hold it
for 3 sec. and tear it down again. However, there may be test
situation where one wants to establish a call and then hold it
in order to perform other actions.

- split up the function into an _establish and _hangup part.
- add a replacement f_mt_call and f_mo_call function for the
  already existing testcases

Change-Id: I0da9cf64d10de4036eb037ef5e491bfe3088670b
2018-03-22 12:43:56 +01:00
Philipp Maier 8d540f0d4e BSC_Tests: remove obsolete VTY configuration
The settings concerning the IPA ping are a leftover from the
time where osmo-bsc used an IPA multiplex to support the the
SCCP lite A interface dialect. Since the related code is now
removed and osmo-bsc has been migrated to libosmo-sccp and
real AoIP interface, the configuration is no longer needed.

Change-Id: If67cdba2a043c5dbf23f998659c5000db924a7df
2018-03-21 23:57:30 +00:00
Harald Welte 60aa576a62 bsc: Add tests for assigning channels of all 5 codecs
This tests if the BSC is chosing the correct codec during the assignment
procedure.

Change-Id: Ia67c09fa725eff48ec56779f8674ddcaa08a8793
2018-03-21 22:48:18 +01:00
Harald Welte 6fa1f73346 MSC_ConnHdlr: Fix RlsChannelNr encoding in f_ChDesc2RslChanNr()
Make sure that the "tag" member of the RslChanelNr sub-structure
is always initialized.  This can be achieved without any extra code
by using the existing templates rather than hand-coding it.

Change-Id: I990ac8ac0ce51e11f1d683382c9fc2d4e1201aa7
2018-03-21 22:48:18 +01:00
Harald Welte e97eab4da4 bsc: Allow multiple subsequent calls of f_MscConnHdlr_init()
If the function was called once, don't start another VTY/telnet
component.

Change-Id: I47bdeb0417a6814ed3a3f5c0c5797bd1bc7a59ba
2018-03-21 22:48:18 +01:00
Harald Welte 3618d9d748 RSL: Add tr_RSL_ChanMode
Change-Id: I938b8898db1cd9638cf2858b3b593fa3fd39bf1e
2018-03-21 22:48:18 +01:00
Harald Welte dbd6b3f8ca Add BSSMAP SPDI definitions (speech/data indicator octets)
Change-Id: I3b81ea995667a4c9ffaf0f6891766d5b5af20636
2018-03-21 22:48:18 +01:00
Harald Welte a0630034bd bsc: Move TestHdlrParams to global per-component var g_pars
Change-Id: Ifd811bab7719b205a6174e3f6ba367643dfcb0ec
2018-03-21 22:48:14 +01:00
Harald Welte 458fd37fb9 don't use setverdict(inconc) anymore. Use 'fail' at all times
The problem is that Junit-XML doesn't have a mapping for inconclusive
results, and hence they show up as 'passed'.

By introducing this change, we make sure all tests that don't pass
show up as failed.

Change-Id: Iddd13d0055c91f9bd304ce9833fba0485abf4c4e
2018-03-21 11:27:48 +01:00
Stefan Sperling 61c11e9234 make management of osmo-ttcn3 git repository dependencies automatic
Add rules to deps/Makefile which ensure that 'make deps' puts the git
repositories of dependencies into a known state. In particular, set
the origin remote url to a known value, and check out a known commit
into the work tree.

This change ensures that ttcn3 builds run with 'make' will always use
correct versions of dependencies.

The 'make update-deps' now has the same effect as 'make deps', but it
is not yet removed in case build scripts rely on its existence.
The new 'make deps' target is fast enough to be run before every build.

Change-Id: I561eee7e12d976cd2265ba1bb8cd22dd8c1a0735
Related: OS#3090
2018-03-21 10:25:29 +00:00