Commit Graph

1085 Commits

Author SHA1 Message Date
Pau Espin 752ffd565a bts: Set L1CTL rxlev_exp as module parameter
Change-Id: If63e5c2d6abe1dd6dddd1a12e703ed069b940ab4
2018-06-07 17:15:27 +00:00
Neels Hofmeyr beb58a6020 update expected results: bsc, sgsn
Change-Id: Icc8bb648b3c79b2e29450ca38dd95bad1d2d09aa
2018-06-07 15:47:26 +02:00
Philipp Maier 45635f4379 MGCP_Test: Test non LCO crcx
When a CRCX without an LCO option (codec) is sent, then older versions
of osmo-mgw will omit the port number in the SDP part of the response.
Also no default codec is selected and reported back. This testcase
pinpoints the problem.

Change-Id: Ie16cdab936ce468fe378d4ec9e1c61f81c07fb4e
Related: OS#2658
2018-06-06 17:16:21 +02:00
Philipp Maier ac8fc7f859 MGCP_Test: expect TC_crcx_illegal_double_lco to pass
The osmo-mgw now rejects multiple appearances of LCO, the testcase
TC_crcx_illegal_double_lco now passes.

- update expected-results.xml

Change-Id: If4a68e9373b34696236935cce936e9d3c254511b
Related: OS#3119
2018-06-06 16:54:01 +02:00
Vadim Yanitskiy c3cb53383f USSD_Helpers.ttcn: add f_USSD_FACILITY_IE_RETURN_ERROR
Change-Id: I9f2b526cb67224cab81364cec34efd42bbb44327
2018-06-06 10:59:11 +00:00
Harald Welte 343b774d21 bsc: Fix f_establish_fully() for cases where we expect ASSIGN FAIL
When f_ass_patch_lcls() was recently introduced during LCLS support
patches, we broke any testcases that *expected* an ASSIGNMENT FAIL
by overwriting the ASSIGNMENT FAIL with an ASSIGNMENT COMPL.

This patch fixes f_ass_patch_lcls() to only patch 'assignmentComplete'
members, if this assignmentComplete is actually chosen.

This fixes BSC_Tests.TC_assignment_fr_a5_1_codec_missing

Change-Id: I64fbf4cc3178a91913143960475a0d3758779ced
2018-06-05 21:45:02 +00:00
Alexander Couzens d8604ab9ae L3_Templates: tr_GMM_DET_REQ_MT: use * instead of omit for `cause`
The omit force this field to be not present, while a * allows to be present or not.
As user of this tr I would expect to ignore this field rather than an explicit omit.

Change-Id: Iae91f752789273934a6382bdd474594c3c50bbe9
2018-06-05 13:04:41 +00:00
Harald Welte 83f6dbfa34 BTS_Tests: Don't wait indefinitely for ASP_IPA_EVENT_UP
Change-Id: I5150660319896fe7f597ca333395923f128c8d87
2018-06-03 19:07:25 +02:00
Harald Welte 5d50a283ee bsc: Enable LCLS in osmo-bsc.cfg
Change-Id: I39b0812423dd22f677334ad0ac406a23a1214fa9
2018-06-03 15:15:25 +00:00
Harald Welte ff579f90e5 LCLS: Introduce a copy+pasted f_connect_handler() function
... using the original one is hitting a ttcn3_compiler bug in
TITAN 6.3.1, see https://www.eclipse.org/forums/index.php/m/1789918/

Change-Id: I7c2dfd3c6e63b54c019fba0c07a1bb777d68f6b5
2018-06-03 10:34:22 +00:00
Harald Welte cc0b014903 bsc: Add LCLS related test cases
This is an early WIP, we actually will need to establish two calls/legs
before the BSC is able to locally correlate them.

Related: OS#1602
Change-Id: Ie6d0b9c38027abf65c7c564fc79b889d013fa6a7
2018-06-03 10:33:41 +00:00
Harald Welte 75b3426009 bsc: Disable verbose logging of MGCP encoder/decoder
Change-Id: I8147029a20828e762819be35ffebd801b22d2b6b
2018-06-03 12:29:45 +02:00
Vadim Yanitskiy b761d14e58 GSUP_Types.ttcn: add SS related messages and IEs
Recently we introduced a few new GSUP IEs, related to TCAP-like
session management and Supplementary Services in libosmocore.
Let's sync the TTCN-3 implementation and add the corresponding
templates for SS payloads.

Change-Id: I54767e49ae98db67f71dd28278b14435860313e0
2018-06-02 18:57:35 +00:00
Vadim Yanitskiy 7d1f9189ca msc/USSD: add single *#100# request testcase
In this testcase we perform LUR, then request our own number and
then expect the response with matching MSISDN.

Change-Id: I82450c6f48f6c17bc33e0ec6c91f2a73e44793ad
2018-06-02 06:11:58 +07:00
Vadim Yanitskiy 20ee5e4d8f msc/BSC_ConnectionHandler.ttcn: add EST_TYPE_SS_ACT for SS/USSD
Change-Id: If439e7c082b435d7f668065c9f8e3bdfa941dcc5
2018-06-02 04:55:18 +07:00
Vadim Yanitskiy 9201554c53 msc: introduce USSD helper functions
Change-Id: Ic528b968a9bc7c12e8395364e895400aa016c8f5
2018-06-02 04:55:18 +07:00
Vadim Yanitskiy 8c34922c77 msc: import GSM 7-bit coding functions
Change-Id: Ie8dd865d0c4c64827284c737d431e6c87b3d0847
2018-06-02 04:55:18 +07:00
Vadim Yanitskiy 4019ec9691 library: introduce Facility IE templates for SS/USSD
Change-Id: Ibc3e8f70230d656b2f0994ea0c63e6554b6165de
2018-06-02 04:55:18 +07:00
Vadim Yanitskiy 0319813c41 L3_Templates: add GSM 04.80 RELEASE_COMPLETE message
Change-Id: Iaf295aeb4ef475d41d0eeddcca5e864016fd91cc
2018-06-02 04:55:18 +07:00
Stefan Sperling d5a30625cf sync TTCN3 MSC test config with docker-playground
Update MSC_Tests.default according to the current MSC_Tests.cfg
used by docker-playground.

Add osmo-msc.cfg and osmo-stp.cfg example configuration files.

Allows the MSC tests to be run locally.

Change-Id: Ia00f0315a5246c3ec55563ebd21a586aec8e4688
2018-06-01 16:37:13 +00:00
Stefan Sperling f46eb2642f expect TC_establish_and_nothing to pass
The test case TC_establish_and_nothing is now passing.
Update expected results list accordingly.

Change-Id: I925fa4ad2e38e189cf5dd1ae76a24cdb9011fdc8
Related: OS#2879
2018-06-01 16:36:44 +00:00
Harald Welte cbe911cbf4 bsc: Derive MGCP EP + Port numbers from new g_pars.media_nr
Change-Id: I44b46c9bc8f13eed9b3d18a6ce67980d2af0d46a
2018-06-01 18:35:24 +02:00
Harald Welte e102eae88c BSC_Tests.ttcn: mark some functions as non-private
Change-Id: I25301d27510cbe41c09d4fd81c07d453c5f5b4ef
2018-06-01 18:35:19 +02:00
Harald Welte 336820cf5e BSC_Tests.ttcn: Split f_connect_handler() off f_start_handler()
In case we want to derive other component types by extending
MSC_ConnectionHandler, we will want to connect additional ports
before starting the component.

Hence, split the connect part into f_create_handler(), while keeping
the create + start part in f_start_handler().

Change-Id: If272816b7e720e8b8f000f7ab8baa20619b35fb7
2018-06-01 18:25:57 +02:00
Harald Welte 354722e252 BSSMAP_Templates: Fix LCLS related template definitions
They should all have been derived from the tr_BSSAP_BSSMAP /
ts_BSSAP_BSSMAP base templates.

Change-Id: Ib9ef03fe1c5f2eedde9e274a50dfedb2fb6b6a0f
2018-06-01 18:25:57 +02:00
Harald Welte 0b50aeda34 BSSMAP_Templates: Add templates for LCLS related IEs + messages
We will soon implement some LCLS related test cases, and hence
we need some templates for sending and matching received messages.

Change-Id: I5300418ae493f6c315248562938b47ae1931b452
2018-06-01 12:00:56 +02:00
Harald Welte e32ad992af *_Emulation.ttcn: Specify destination when replying on procedure ports
procedure ports (like message ports) require us to specify the
destination of a message ("reply") in case it is connected 1:N and not
just 1:1.  This didn't show up as a problem so far, as we typically only
had one component talking to those procedure ports at any given point
in time.

Change-Id: I696ec67080815348bb95e43ecbbf262e533e39a3
2018-06-01 12:00:56 +02:00
Harald Welte d68d2f0c0d bsc: Remove duplicate f_sleep() function, we have one in Osmocom_Types
Change-Id: Ic0ccca39be48dc2d42b92d433dcb5c6d65adbb33
2018-05-31 20:59:43 +00:00
Harald Welte 53603961fe L3_Templates: Add templates related to Supplementaryt Services
Change-Id: I919fa542a2e037b3fcf8cd5b0b9d7599b8c09070
2018-05-31 13:30:18 +00:00
Harald Welte 69bce3bc4d msc: Add Encoder/Decoder for Supplementary Services
The many SS_* types depend on MAP, whcih in turn depends on ROSE.
Add all of this to the MSC testsuite so we can do SS related testing.

Change-Id: If5084decb5391736ab5cadd86adb2ffa78e7140f
2018-05-31 13:30:18 +00:00
Alexander Couzens 5e307b49ab SGSN: add TC_hlr_location_cancel_request_update
MS <-> SGSN: GMM Attach
HLR -> SGSN: Cancel Location Request
HLR <- SGSN: Cancel Location Ack

Change-Id: I5d3a818eb0a4eb3b0d4bd7bd88874bd2ac6adb11
2018-05-29 16:08:23 +00:00
Stefan Sperling 68a9b35746 expect previously failing paging tests to pass
Two paging tests were failing in Jenkins due to a configuration problem.
This has now been fixed so we can expect these two tests to pass:
TC_paging_imsi_nochan_lac
TC_paging_imsi_nochan_lai

Related: g#9361
Related: docker-playground 4147adabb9917fd852cc49c93603f379ec810c6b

Change-Id: I1a3dc5fb13385549bb9ec523271a5da5dc6aaa8c
2018-05-29 16:08:15 +00:00
Stefan Sperling 2ace5a20c1 sync local osmo-bsc.cfg with that used by jenkins
The osmo-bsc.cfg file in docker-playground/ttcn3-bsc-test contains
codec, encryption, and ipaccess settings which were missing from
the corresponding configuration file in this repository. This caused
spurious test failures when running BSC_Tests outside of Jenkins.

Change-Id: If392dcd42fb741c7ab8ae204bbefde89f05f0afe
2018-05-29 17:09:41 +02:00
Philipp Maier 2300073379 BSC_Tests: fix TC_ciph_mode_a5_{0,1,3}
The helper function f_tc_ciph_mode_a5(), thich performs all of the
three tests currently disables the ASSIGNMENT COMMAND since due to
a bug in OsmoBSC a MODE MODIFY would be attempted by the BSC,
causing the testcase to fail.

The problem in OsmoBSC is now fixed and the ASSIGNMENT COMMAND can
be re-enabled again for this test. However, the test function
includes and expects an AoIP transport layer address, which is
not included for signalling assignments.

- Make sure no AoIP transport identifier is included in ths
  ASSIGNMENT COMMAND

- Do not expect an AoIP transport identifier in the
  ASSIGNMENT COMPLETE from the BSC

- Re-Enable the generation of the ASSIGNMENT COMMAND

Change-Id: Ib39d7dd2d1b3665570d7b287e431d10111316437
Closes: OS#2936
2018-05-28 10:21:42 +02:00
Philipp Maier 8ef527e75c MSC_ConnectionHandler: check channel mode in f_establish_fully
The helper function f_establish_fully() checks the channel type
for compatibility. If the channel type is compatible with the
desired mode a channel mode modification could be necessary if
the current channel mode is different from the desired channel
mode. However, this is not checked at the momemend. We just
blindly expect a MODE MODIFY message from the BSC and ignore
the cases where the current channel mode and the desired channel
mode already matches up. This is the case if only a signalling
channel is requested with f_establish_fully for example.

- Check if the channel mode of the current channel and the
  desired channel mode match up.

- Make sure that the MODE MODIFY from the BSC is only
  expected when the channel modes are different.

Note: The function f_channel_needs_modify() that is used
to determine if a channel modification is needed or not
does not cover all cases yet. (see fixme note)

Change-Id: I9004f299220b01ecea6b2316ba3f913c316947dc
Closes: OS#2762
Related: OS#2936
2018-05-28 09:33:35 +02:00
Harald Welte d879e2ff9a RSL_Emulation: Handle ID_ACK event in BSC role
In I483ddd45c1cf631a5a9d8f862b6ca728b38bdc14 we introduced code
that makes the IPA_Emulation code to emut an ASP_IPA_EVENT_ID_ACK
[also] to the RSL port, irrespective of client/server status.

However, RSL_Emulation only handled this event in the BTS role
for BSC testing, but not in in the BSC role for BTS testing.

Change-Id: I99a5c58ea8d1e74b2ad51aed23009af6322a1007
2018-05-27 20:24:07 +02:00
Harald Welte 4bcbd17aa4 Fix BSSMAP RESET in handler mode
This fixes I55c94f18531bb7e5369500dc90f4b0ff3a420774 which was
merged a bit too fast, it seems.

Change-Id: I42f663f47d38c9e0fd0c0148aacafbf0ecaf3448
2018-05-27 19:48:27 +02:00
Harald Welte d5833a8dcc BSSAP_Adapter: Split f_bssap_start() from f_bssap_init()
In non-handler mode, the SCCP emulation is currently started before
there's a user registered to SCCP_SP_PORT.  If the first BSSMAP
package arrives from the network, then the SCCP_Emulation will crash
as it cannot deliver the resulting SCCP user primitive to the user.

Let's split start from initialization, so user code can still register
something to SCCP_SP_PORT before starting SCCP_Emulation.

Change-Id: I55c94f18531bb7e5369500dc90f4b0ff3a420774
2018-05-27 15:33:27 +00:00
Harald Welte 710ec2154f BSSAP_Adapter: cosmetic typo fix
Change-Id: I2aba2316f12c2f752d58e58687c1ef529b983b96
2018-05-27 15:33:27 +00:00
Harald Welte 4239918711 BSSAP_Adapter: Connect ConnHdlr:MGCP to IPA MGCP in SCCPlite case
Change-Id: Ic86dd023693df5ad593eec090af815c926f87d34
2018-05-27 15:33:27 +00:00
Alexander Couzens 6c47f29495 SGSN: add TC_hlr_location_cancel_request_unknown_subscriber_{withdraw,update}
Cancel Location using an unknown IMSI.

HLR -> SGSN: Cancel Location Request
HLR <- SGSN: Cancel Location Error

Change-Id: Iad90c3cc25d72b9ab40e358fe60aa6f62163f146
2018-05-26 21:03:54 +00:00
Alexander Couzens 4cfff3a2bf GSUP_Types.ttcn: allow other TLV appear in Cancel Location Errors
Change-Id: I21ee02556f0734dad871a6294b21ca6f2864dea0
2018-05-26 21:03:54 +00:00
Alexander Couzens c87967a022 SGSN: add TC_hlr_location_cancel_request
MS <-> SGSN: GMM Attach
HLR -> SGSN: Cancel Location Request
HLR <- SGSN: Cancel Location Ack
MS  <- SGSN: Detach Request
SGSN->   MS: Detach Complete

Change-Id: Id5d6b018a5a4389eefa8f5d950324aab91709f5a
2018-05-26 21:03:54 +00:00
Alexander Couzens d62fba5401 L3_Templates: add template tr_GMM_DET_REQ_MT/ts_GMM_DET_ACCEPT_MT
Change-Id: Ifea650994408c4dd83f46f6256565d38968bf843
2018-05-26 21:03:54 +00:00
Alexander Couzens b6ab45606a L3_Templates: add values for c_GMM_DTT_MT_*
GMM detach type values

Change-Id: I4903fa4c915add3062ab6b82a1d39d60426b5681
2018-05-26 21:03:54 +00:00
Harald Welte 3103fce005 deps: Add titan.ProtocolModules.MAP
Change-Id: I228800c4ef103b55da4831aff59bd4370cf25969
2018-05-26 14:34:52 +02:00
Harald Welte 834d67e304 deps: Add Titan.ProtocolModules.ROSE
ROSE is used by MAP and SS

Change-Id: I9c2c7b1989e261cc970d3846511f232ddc104fbd
2018-05-26 14:34:52 +02:00
Harald Welte 8f67d1d387 bsc: Disable TC_assignment_fr_a5_1_codec_missing for SCCPlite
In SCCPlite, the codec list is always missing, and that's the
successful situation, not a failure case.  Let's run this test
only in AoIP scenarios.

Related: OS#2544
Change-Id: I01db7628c2b1c58419d544fc6fa311b9d9b59fb9
2018-05-25 20:56:58 +02:00
Harald Welte 17b27da90f bsc: TC_assignment_cic_only for IPA/SCCPlite
Of course a "CIC only" assignment will succeed in AoIP, so let's
invert the logic: Test "AoIP only" assignment in that case, and expect
it to fail.

Related: OS#2544
Change-Id: I3b8e5e6ec001f3cab6a00072ef0a7b97c13c278d
2018-05-25 20:56:57 +02:00
Harald Welte 79f3f54f2c bsc: Don't expect codec list in IPA/SCCPlite case
In classic non-AoIP-cases, OsmoBSC should simply return the
chosen speech version, but not any codec list in the BSSMAP ASSIGNMENT
COMPLETE message.  Let's adjust the expectations accordingly.

Related: OS#2544
Change-Id: Id8e2a749bce91cfadd316bc2d56d1289412b9026
2018-05-25 20:56:51 +02:00