Commit Graph

3939 Commits

Author SHA1 Message Date
Andreas Eversberg 5b9d2eb79d ASCI: Fix length indicator in template tr_BSSMAP_IE_GroupCallRef
Any length must match, not just 0.

Related: OS#4854
Change-Id: I34546609a80f714438abe985697dabc846c89701
2023-07-28 11:28:13 +02:00
Andreas Eversberg a338cdf563 ASCI: Add templates to send and receive GCC/BCC call control messages
Related: OS#4854
Change-Id: I9ff5587a9fda1ea756891fc39a20cfd05924f628
2023-07-28 11:28:13 +02:00
Andreas Eversberg 7a04205c14 ASCI: Update commit hash of titan.ProtocolModules.BSSMAP
After fixing "UPLINK SEIZED COMMAND" message type, the new head is:
814c5d786ab633bce384eea99685f0e49a386172

Related: OS#6087
Change-Id: Ifd6cd610fee2041179f8d0fd6450469d25f65576
2023-07-27 16:34:09 +02:00
Pau Espin e8e3b96a75 pcu: Introduce test TC_ul_tbf_bsn_wraparound_gprs
Related: OS#6102
Change-Id: I253e3607b75dd1a850c53f284fadf753dd49c247
2023-07-27 11:17:36 +00:00
Philipp Maier edce92f581 GTP_Templates: add template tr_RANTransparentContainer_RAN_INFO_REQ
We have a ts_RANTransparentContainer_RAN_INFO_REQ but no coresponding
tr_RANTransparentContainer_RAN_INFO_REQ template yet.

Related: OS#5760
Change-Id: I83b0134c9406526c2fe5b6e97e160b8b28295d20
2023-07-27 07:05:34 +00:00
Philipp Maier fc7ada2fb0 S1AP_Emulation: improve accessibility of unit-data
When S1AP unit-data is passed around, there is always the problem that
it is routed to the MTC_CT. The reason for this is that S1AP_Emulation
cannot determine a specific receiver component because unit-data does
not contain any addressing fields that would identifiy a specific eNB or
UE.

Unfortunately it can be a huge problem when developing test fixtures
that use unit-data from inside a ConnHdlr component. It is no problem to
send unit-data using S1AP.send(), but it is impossible to receive
unit-data through the same path.

The solution that is proposed in this patch uses a mechanism that allows
to create an expectation for a specific procedureCode. When the
S1AP_Emulation sees a messages with the expected procedureCode, it will
forward it to the ConnHdlr component.

Related: OS#5760
Change-Id: I041b45b247e365b0d4ee8645c07dc5f26007af82
2023-07-27 07:05:34 +00:00
Andreas Eversberg 9ff96e68ff BSC_Tests: Fix test case TC_err_84_unknown
The test cases used UPLINK RELEASE message as test for an unspported
message. This message is supported and does not trigger the expected RR
STATUS message. The fix uses the unsupported DTM ASSIGNMENT FAILURE
message.

To have the DTM ASSIGNMENT FAILE, it is added to
library/L3_Templates.ttcn.

Change-Id: I35877574cf4459332229e3b941918bc0a23b939f
2023-07-26 12:45:31 +00:00
Philipp Maier eb930fdc0c S1AP_Emulation: initialize comp_ref member of S1apAssociationTable
The comp_ref member in S1apAssociationTable is not initialized. When an
item is delted from the S1apAssociationTable, comp_ref is set to null.
Let's maintain a consistent state and also set comp_ref to null when the
table is initialized.

Related: OS#5760
Change-Id: If86a18a4a953665c1e2bf7f757880ba3ac6c0f83
2023-07-26 10:16:13 +00:00
Philipp Maier f935f0cc1c S1AP_Emulation: fix incorrect comment
Related: OS#5760
Change-Id: I1134ddf1f847dd297b13f0664099da6fdc8059bd
2023-07-26 10:15:55 +00:00
Pau Espin 763a97b9db RLCMAC_Templates: allow any TFI by default in tr_RLCMAC_UL_ACK_NACK_(E)GPRS
Change-Id: I5ebf930a11d2c18cd0f2d690145c0da6dc22635e
2023-07-24 16:43:10 +02:00
Philipp Maier 7ac8d33500 S1AP_Templates: Add templates for MMEDirectInformationTransfer
We do not have S1AP_Templates for MMEDirectInformationTransfer yet.

Related: OS#5760
Change-Id: Iebad3ab1f6a3bdf24dc2aead29652f98f3a92d75
2023-07-24 12:01:39 +02:00
Philipp Maier 4b81c6e31c GTP_Templates: add template tr_GTPC_RAN_Information_Request
We have a template ts_GTPC_RAN_Information_Request not no
tr_GTPC_RAN_Information_Request yet.

Related: OS#5760
Change-Id: Ibf737ddc7a9867f0a73646bc0d86550fea6f6dbd
2023-07-24 12:01:39 +02:00
Philipp Maier 05ad55ccf5 GTP_Templates: Add RIM_RoutingAddress to RANInfoRelay templates
The RIM_RoutingAddress tells a relaying RIM node (SGSN, MME) where to
route a RIM RANTransparentContainer. The RANTransparentContainer also
contains source and detination, but is not meant to be interpreted by a
relaying node. That is why a RIM_RoutingAddress exists.

Related: OS#5760
Change-Id: I4d497389226b12368cc0ed4e3d469cde8e812ba6
2023-07-24 12:01:39 +02:00
Philipp Maier 1c0c726aa5 GTP-Templates: fix incorrect comment
Change-Id: I81c518a8ce23e3e830b173e4af34b3a5414148af
Related: OS#5760
2023-07-24 12:01:39 +02:00
Philipp Maier 6cef1c351f GTP_Templates: cosmetic: remove double space
Related: OS#5760
Change-Id: I57ca17db216102043261806db16764a3eb211070
2023-07-24 12:01:39 +02:00
Andreas Eversberg a29b2f31da BSC_Test_ASCI: Add Talker detect with UPLINK REJECT COMMAND test
The talker requests uplink. The UPLINK REQUEST is rejected by the MSC.
The uplink is marked free again.

Change-Id: Iba4dd21a69d49e6a8508b15b823ffccc7f0dafc9
2023-07-21 11:35:40 +02:00
Andreas Eversberg 28d6b81268 BSC_Test_ASCI: Add race condition test, if MSC acknowledges talker
The existing tests (talker fails, talker establishes, talker releases)
delay, so the MSC acknowledges the UPLINK REQUEST first. It is expected
that the events of the talker (failure, establishment, release) are
forwarded to the MSC after the acknowledgement.

New tests are added, so that the MSC acknowledges the UPLINK REQUEST
late. It is expected that the events of the talker are not forwarded
before the MSC acknowledges.

The BSC (under test) must queue the events of the talker before the MSC
has acknowledged the UPLINK REQUEST.

Change-Id: I28081e62287bdc17a3b477d9368f977aedce01c8
2023-07-21 11:35:40 +02:00
Andreas Eversberg e15060252d BSC_Test_ASCI: Fix test to seize or release uplink by MSC
After sending UPLINK SEIZED COMMAND or UPLINK RELEASE COMMAND the timer
must be started, in order to collect data from the outcome of the test.
The test will fail sometimes, if this is not done.

Change-Id: Ic48e9c259b42ee6e030ea5d05b113ce2933e2247
2023-07-21 11:34:41 +02:00
Andreas Eversberg cfdbb3ef65 BSC_Test_ASCI: Add Talker detect with link fail test
The talker requests uplink. Instead of receiving link establishment from
the BTS, the BSC receives a link failure. The MSC expects to receive an
UPLINK RELEASE INDICATION, caused by radio link failure.

Change-Id: Ied56a6bdc0bfa541b1419e63e9e209ed20af804c
2023-07-20 17:27:49 +02:00
Andreas Eversberg 92c2dca4ed BTS_Test_ASCI: Add Listener detection test
The MS sends UPLINK ACCESS. The BTS send RSL Listener DET message.
Another MS send UPLINK ACCESS. The BTS does not send another RSL
Listener DET message.

Change-Id: I544f492a32751d17f998a2143081c3763ba1dd29
Related: OS#4851
2023-07-20 17:27:49 +02:00
Andreas Eversberg 083202ae4f BTS_Test_ASCI: Add Talker establishment/release test
A VGCS channel is activated. The BSC sends UPLINK FREE message. The MS
sends RACH on VGCS channel. The MS receives VGCS UPLINK GRAND and
establishes layer 2. Then the BSC forces to releases the uplink. The MS
receives UPLINK FREE again.

Change-Id: Ic86bc34890c7d1e6e0b255c3d40eda3dfaa59285
Related: OS#4851
2023-07-20 17:27:49 +02:00
Andreas Eversberg 7766e3dd15 BTS_Test_ASCI: Add Talker detect and link fail test
A VGCS channel is activated. The BSC sends UPLINK FREE message. The MS
sends RACH on VGCS channel. The MS receives VGCS UPLINK GRAND, but does
not respond to it. It is expeced that the BSC receivce RSL CONN FAIL.

Change-Id: I3b292f6a5f47298195bd942a5ca73d9d63f921b5
Related: OS#4851
2023-07-20 17:27:49 +02:00
Andreas Eversberg 4801baa0da BTS_Test_ASCI: Add UPLINK FREE / UPLINK BUSY test
A VGCS channel is activated. The BSC sends UPLINK FREE message and
UPLINK BUSY message. When the UPLINK FREE message is sent, the MS is
expected to receive several UPLINK FREE messages. Then the UPLINK BUSY
message is sent, the MS is expected to receive one UPLINK BUSY message.

Change-Id: I2f70adb4a6f71eb8972feccf9dda0f77e7a942b9
Related: OS#4851
2023-07-20 17:27:49 +02:00
Harald Welte 5a1d727678 BTS_Test_ASCI: Add first ASCI test to check NCH support
Send Notification command to start and stop notifying an ASCI call.
When it starts, it is expected that NCH is received. Also it is expected
that NCH is received again. When it stops, it is expected that NCH is
not received anymore.

Change-Id: I3727c471663b731117a264f60d2f1ba5fd16928e
Related: OS#4851
2023-07-20 17:27:49 +02:00
Andreas Eversberg d8237a346d Fix typo: REL_REL_MODE_LOCAL -> RSL_REL_MODE_LOCAL
Change-Id: I2f55aebff776bf7b63d60573f9131da01921d91c
2023-07-20 17:27:49 +02:00
Andreas Eversberg 3699b11139 Add LAPDm Bter frames to LAPDm_Types.ttcn and BTS_Tests.ttcn
The new type LapdmFrameBter and its send and receive template is used to
send and receive Bter frames, which has a short L2 header and uses all
23 octets for payload.

Bter frames are DCCH UI frames with SAPI 0 and 23 octets sent on
downlink only.

Change-Id: I07a4fd9879dfd9de441c0348a84b7dd5c9864eb4
2023-07-20 17:27:49 +02:00
Philipp Maier db9d894dda PCUIF_Components: add compatibility for PCU_IF_SAPI_PCH_DT
When we receive a PCUIF_DATA_REQ, f_BTS_CT_handler will mangle the
incoming message for us. The resulting BTS_CCCH_Block that is sent up to
the component not only contains the PCUIF message, but will also have
the already parsed MAC block attached. This currently only works for
PCU_IF_SAPI_PCH, but not for PCU_IF_SAPI_PCH_DT.

Let's add compatibility for PCU_IF_SAPI_PCH_DT.

Related: OS#5927
Change-Id: Ibaa6d170ef0f1f61b708a872a3c2364585063503
2023-07-20 10:42:51 +02:00
Philipp Maier 8e1a5ee4b4 GPRS_Components: use more suitable SAPI for DL TBF assignment
The function that assigns the downlink TBF f_ms_exp_dl_tbf_ass_ccch()
uses SAPI PCU_IF_SAPI_AGCH as default but actually downlink TBFs are
assigned via the PCH. This means we have to put PCU_IF_SAPI_PCH into the
parameter list on every function call, so it makes sense to change the
default to PCU_IF_SAPI_PCH and omit the SAPI when calling the function

Related: OS#5927
Change-Id: I49c59bad0162cb303669f6108201f154918b1db3
2023-07-20 10:42:50 +02:00
Philipp Maier ba272329b5 PCUIF_Types: add decoder for PCUIF_pch_dt
An encoder function enc_PCUIF_pch_dt exists, but we do not have a
decoder yet.

Related: OS#5927
Change-Id: I535aa45a676b87a8912e99bdb802bf29a23f1c89
2023-07-20 10:42:07 +02:00
Pau Espin 6c87ad95e2 hnbgw: Introduce module parameter mp_validate_talloc_asn1
This allows selectively disabling ASN.1 memory checks, which still fail
in current osmo-hnbgw-latest.

Change-Id: I5c18cf2d6797bcf0bef13d71ab0b69f1403b474f
2023-07-18 13:28:49 +00:00
Oliver Smith 98e24bcfa8 msc: TC_lu_and_mt/mo_csd: reduce call open time
Related: OS#4394
Change-Id: Ie733028f7953d5d9fa1907efdb19485dee93ece9
2023-07-18 09:33:52 +00:00
Oliver Smith 9c417f2066 msc: TC_lu_and_mo_csd: test multiple bearer services
Related: OS#4394
Change-Id: I74f983e1f5c0fef61018a9a5b92ed3b3cdbdfb5f
2023-07-18 09:33:52 +00:00
Oliver Smith 6f546a9a90 msc: f_call_hangup: add missing rx MNCC_REL_cnf
Add the missing rx of MNCC_REL_cnf to f_call_hangup for the MO case
(called with release_by_ms = false, see f_mo_call()).

This is in preparation for running f_mo_call several times in a row to
test multiple bearer services in a CSD test (follow up patch). Without
this patch, calling f_mo_call_establish() for the second time fails to
rx the MNCC_RTP_CREATE because the REL cnf is still in the port. This
leads to a timeout of X2 and OsmoMSC sending a CC RELEASE.

Adjust the log numbers next to f_call_hangup to re-use numbers 2 and 3
from above, as only one of the two code paths gets executed (similar to
numbers 5 and 6 below).

Related: OS#4394
Change-Id: Ia2ed7ce092e73e17c4243e83bfd239ead8266b49
2023-07-18 09:33:52 +00:00
Oliver Smith 8cf75abec9 msc: TC_lu_and_mt_csd: test multiple bearer services
Related: OS#4394
Depends: osmo-msc I7297cc481fbe36355b5231ca800cf566a1ee93c0
Change-Id: Idf6502c826a441b8dd18257c85f9a3323883825e
2023-07-18 09:33:52 +00:00
Andreas Eversberg db99cb0378 MGW_Tests: Add test for "confecho" connection.
The test uses two connections: "confecho" and "sendonly". It is expected
that "confecho" connection receives as many RTP packets as it sends,
because it echoes back its packets. It is also expected that "sendonly"
connection receives the same amount of RTP packets.

Change-Id: I7df4a58ad9287a564b2daf7548b882c03787f7f2
2023-07-18 07:08:23 +00:00
Philipp Maier 74d776a2b1 MME_Tests: add Gn interface
To test the planned Gn connectivity support in open5gs MME the testsuite
also requires support for such an interface. This patch adds the
connection handler, provided by GTP_Emulation.ttcn to the connection
handler in MME_Tests.ttcn, along with a simple GTP ECHO REQUEST
testcase.

Related: OS#5760
Change-Id: I38b668df15b3dd10542b4aa8790b9ea33c1f9635
2023-07-17 12:37:53 +00:00
Philipp Maier 5c1b5f2c04 GTP_Emulation: make GTPU optional
When using the GTP_Emulation connection handler one has to configure a
GTPC and a GTPU link. However in some situations (e.g. when testing the
Gn interface of an 5g MME) only GTPC may be required. So lets make the
GTPU link optional.

Related: OS#5760
Change-Id: I509a229fcaf02ea5149df42816af27bba46d3bff
2023-07-17 12:37:53 +00:00
Vadim Yanitskiy ce65a0f61a BTS_Tests: also test TCH/EFS (EFR) in TC_speech_no_rtp_tchf
Also add TODO comments for TCH/AFS and TCH/AHS.

Change-Id: I272b4343f895889f6cb3e0d3aba2c63b4eab08a2
Related: SYS#5919, OS#4823
2023-07-14 14:48:01 +00:00
Vadim Yanitskiy 982ac2d1e2 BTS_Tests: call f_shutdown() in TC_speech_no_rtp_tch[fh]
We need to call f_shutdown() to properly terminate all components.
All (at least speech related) testcases do this function call.

Change-Id: Ib706fe3d9901f9cd1a0efa7d9ffd3b5b8a4472d7
2023-07-14 14:48:01 +00:00
Vadim Yanitskiy cc92ba77ab BTS_Tests: properly release TCH in f_TC_speech_no_rtp()
Otherwise we're getting a DTE when trying to run this function more
than once in a single testcase (e.g. when testing different channel
modes).  This is already done properly in f_TC_speech_rtp().

Change-Id: I290789153bea4b128af29dcf7c52da16b64c4108
Related: SYS#5919, OS#4823
2023-07-14 14:48:01 +00:00
Vadim Yanitskiy 75ad9a63bb BTS_Tests: fix expectations in TC_speech_no_rtp_tch[fh]
This testcase is currently passing for both -master and -latest
versions of osmo-bts, despite their behavior is different:

* the -latest is sending FACCH frames with dummy LAPDm func=UI,
* the -master is sending invalid speech frames with inverted CRC3.

There is a bug in the 'tr_bad_frame' template definition: we expect
the payload to be present, while in real BFIs it's omitted.  So these
two testcases would always pass, even if the IUT would be sending dummy
bursts or sending nothing at all, because they were designed to fail on
receipt of a never-matching TRAFFIC.ind template.

Let's fix this and align our expectations with the current behavior
of the -master version of osmo-bts.  Note that sending invalid speech
frames with inverted CRC3 is not osmo-bts-trx specific behavior;
it's actually a replicated behavior of DSP based osmo-bts-sysmo.

Change-Id: Ic680002f60e598cfeeb448c517581b3506355e5b
Related: osmo-bts.git I78106802a0aa4af39859c75d29fe0e77037899fe
Related: SYS#5919, OS#4823
2023-07-14 14:48:01 +00:00
Andreas Eversberg 35874922b7 BSC_Tests_ASCI: Add test to seize or release uplink by MSC
The MSC will block (seize) or unblock (release) the uplink on one BSC,
if a talker requests or releases uplink on a different BSC. An UPLINK
BUSY or UPLINK FREE message es expected to be sent to the BTS.

Change-Id: I7ebf03662e81f59d76ca8d8fa29f581043053564
2023-07-12 16:21:44 +00:00
Andreas Eversberg 5e3dd362f6 BSC_Tests_ASCI: Do not expect UPLINK BUSY message
There is no UPLINK BUSY message sent by BSC, if the talker
requests/establishes the uplink. Due to timing reason, the message is
sent by the BTS itself towards the MS.

Change-Id: I2e3b866eca174ae212ea986980d508e48e31fa57
2023-07-12 16:21:44 +00:00
Andreas Eversberg c0870e5a08 BSC_Tests_ASCI: UPLINK FREE / UPLINK BUSY uses unit data
RSL_UNITDATA_REQ is used instead of RSL_DATA_REQ.

Change-Id: I224a520ed49ea79b95172bbc38c567a7c861abf4
2023-07-12 16:21:44 +00:00
Vadim Yanitskiy 89264bcee1 BTS_Tests: run TCH and SACCH loops in f_TC_speech_osmux()
I forgot to update this function in [1].  Let's make it consistent with
the f_TC_speech_rtp().  More details can be found in the linked patch.

Change-Id: I8c2f8bb4cc4b44378af5536893bc73fde368b3fe
Related: [1] Ifb69669b75df5b390d7056cefaf0ef1df69d9bd4
2023-07-12 22:26:27 +07:00
Vadim Yanitskiy 25823b7da1 BTS_Tests: print DL TCH length in f_TC_speech_osmux()
I forgot to update this function in [1].

Change-Id: I2a2dccd32aaf94afc31bd44f14fdc1cfdf554d2d
Related: [1] I5848bd8acd220c1c4d2db01b71bb57e785dc9de7
2023-07-12 22:26:27 +07:00
Vadim Yanitskiy d10c344b75 bts/osmo-bts.cfg: reduce {DPCU,DLIMB} logging verbosity
Change-Id: Ieb0768ac0db4d79eb45ca41dea941284cc55f407
2023-07-12 22:26:27 +07:00
Vadim Yanitskiy f6d20cb55d bts/BTS_Tests.default: bump default PCUIF version to 11
Without this change I cannot run BTS_Tests manually anymore:

Local verdict of MTC: fail reason:
    "BTS_Tests.ttcn:480 : Invalid PCU Version/BTS Number received"

Change-Id: If0046b44adb93fba7dced1ce06d5ddb9d7c75269
Fixes: 3b4abb86 "BTS_Tests: Add support for PCUIF protocol version 11"
2023-07-11 15:07:36 +00:00
Philipp Maier 845d18985f S1AP_Emulation: remove stray comment
Related: OS#5760
Change-Id: I55bfced12d573081311c55d363bfe7bd02fc816f
2023-07-11 14:56:33 +00:00
Philipp Maier 16ab839c3c S1AP_Templates: fix tr_S1AP_SetupResp
The S1 SETUP RESPONSE message may have an optional IE MME Name at the
beginning.

Related: OS#5760
Change-Id: I07513743142f519481530801d4e1185d55f6ea4b
2023-07-11 14:56:33 +00:00