Commit Graph

1588 Commits

Author SHA1 Message Date
Philipp Maier e683828c34 PCUIF_Types: get rid of _DT, _dt (Direct TLLI)
Since we now no longer refer to TLLI when we mean "message ID" (msg_id),
we should also remove the "_DT" / "_dt" suffix from structs and define
constants and replace it with "_2" if required.

Depends: osmo-pcu.git If641b507dcb6b176109c99dce7cff2a7561364b0
Related: OS#5927
Change-Id: I15e754ce3ceed92a517586a073d3e3ed008b5eef
2023-08-22 10:33:56 +00:00
Neels Hofmeyr 8f5c80d070 rua: also match on RUA Disconnect without RANAP payload
Add tr_RUA_Disconnect_opt_ranap that matches RUA Disconnect with and
without RANAP payload.

Use this in RUA_Emulation as_main_rua(), to trigger a RUA_Disc_Ind to
the CLIENT also for Disconnect without RANAP data.

Rationale:

This patch exists for the line

  RUA.receive(RUA_Disc_Ind:?);

in the TC_apply_sccp patch Ia1ff0cb56893edf045ea3cb3233882ca93445d21

In upcoming HNBGW_Tests.TC_apply_sccp, I want to test for an ungraceful
RUA Disconnect, which is sent without a RANAP payload. But
tr_RUA_Disconnect only matches when a RANAP Message IE is present. In
consequence, RUA_Emulation ignores "empty" RUA Disconnect, and my test
case cannot verify that the RUA Disconnect occurred. Fix that.

Change-Id: Ia0b89e9198794d196a88040ee89bdf24f3b08ae0
2023-08-19 01:59:27 +00:00
Neels Hofmeyr 02040fdc3d rua: RUA_Disc_Ind only when CLIENT is connected
Only dispatch RUA_Disc_Ind to CLIENT when CLIENT is connected.

Reason:

If a test does not care much about conn cleanup, it may cause a
situation where the CLIENT has already disconnected when osmo-hnbgw
sends a RUA Disconnect. A disconnected CLIENT port will cause the final
verdict to become 'error'. Instead, if the CLIENT is already
disconnected, just don't bother, and allow tests to still pass.

This will become necessary, because:

So far a RUA Disconnect without any RANAP payload is not detected by the
RUA emulation. But patch Ia0b89e9198794d196a88040ee89bdf24f3b08ae0 will
fix it, so that *every* RUA Disconnect causes a RUA_Disc_Ind sent to the
CLIENT. From then on, we will see a bunch more RUA_Disc_Ind at the end
of tests. Some of those happen *after* the client already disconnected,
causing tests to error that have been passing for a long time.

Change-Id: Ia1403f39cfdc75139922292a3eace7a69a64a576
2023-08-19 01:59:27 +00:00
Neels Hofmeyr b1bf16db35 hnbgw: add mscpool paging tests
Change-Id: If4bbd5c970108b01e8556fa7744ff627db75fb13
2023-08-19 01:59:27 +00:00
Neels Hofmeyr c8172bda14 RANAP_Templates: drop unused arg from ts_RANAP_Paging()
Change-Id: I7e4bbdba34d2f0af9044050fff19ced5ea969ae9
2023-08-19 01:59:27 +00:00
Philipp Maier 19797d6745 PCUIF_Types: remove unnecessary members from record PCUIF_data_cnf_dt
The record PCUIF_data_cnf_dt was added when the first experiments
with Ericsson RBS base stations were made. It is essentially a copy of
record PCUIF_data, where the mamber "data" was replaced with a member
"msg_id" (which was originally called "tlli"). Since we didn't know
back then which parameters we would still need at some later point we
kept all the other parameters. However, to this day we never used the
parameters below fn. Even fn was only used for logging purposes, but is
now also unused.

Let's remove all those unused members.

(Since all removed members are at the tail of the struct,
compatibility with other programs that use the PCUIF should not break.)

Related: OS#5927
Change-Id: Ie17d73d4c4bf2921800f87f6d6be7c05ce3a291d
2023-08-17 17:01:55 +02:00
Philipp Maier 83697dd286 PCUIF_Codec port, do not return fn in f_PCUIF_tx_imm_ass_pch
The function f_PCUIF_tx_imm_ass_pch() retuns the frame number, that is
sent back from osmo-bts via PCUIF / gsm_pcu_if_data_cnf_dt. Since we are
about to remove this field from gsm_pcu_if_data_cnf_dt, lets no longer
access it here as well. Also the return code is never used anywhere in
the tests. (In osmo-pcu the fn parameter was used for logging only, in
osmo-bts it was set to constant 0)

Related: OS#5927
Change-Id: I0e5bad7a0d74e5032f2818f6fdf5b9b2ecb531cc
2023-08-17 16:29:11 +02:00
Philipp Maier a6708cf613 PCUIF: rename tlli to msg_id
To confirm downlink IMMEDIATE ASSIGNMENT messages, we use the TLLI as an
identifier and the related record member is also called "tlli".
Unfortunately this is misleading since the message identifier does not
necessarly have to be a TLLI. It is just an implementation detail that
osmo-pcu uses the TLLI as a message identifier.

To make that clear, lets rename the tlli member (and variable and
parameter names where it is passed on) to "msg_id".

(Since this change only renames variables and struct members it will not
break compatibility with other programs that use the PCUIF)

Related: OS#5927
Depends: osmo-pcu.git I4a25039dfe329e68879bc68936e49c4b190625e6
Change-Id: I1db29d5b1920e351c452b798c3260654c2cbe0cb
2023-08-17 14:12:14 +00:00
Philipp Maier 653a01455e GTP_Templates: Add templates for RIM ROUTING ADDRESS
The IE types RIM_RoutingAddress and RIM_RoutingAddress_Discriminator
have not coresponding templates yet.

Related: OS#6095
Change-Id: If79f94ac3b7ec9a76763141ee2d8cac50c69d60b
2023-08-09 11:33:55 +02:00
Philipp Maier 578894949c GTP_Templates: add template restriction qualifiers
The GTP Templates lack the template restriction qualifiers (present,
value, omit) in many places.

Related: OS#6095
Change-Id: Ic439b4ae85b417fde0ddfb8fa00758d6486b57c8
2023-08-09 11:30:00 +02:00
Neels Hofmeyr 7d0e680d99 hnbgw: add CN pool tests
docker-playground.git needs a config file change to be committed at the
same time as this patch, see 'Related'.

Depends: osmo-ttcn3-hacks I94aa0b2adfc48b98cb4b1efe595c2432fc603d6c
Change-Id: I027a059faed3f140f8801f84338956cd004043b5
2023-08-08 04:47:06 +02:00
Neels Hofmeyr 7afb13f2b0 ctrl: f_counter_name_vals_get_n(): add start_idx, for hnbgw
Allow starting with a specific 'msc' / 'sgsn' instance without having to
read all the lower numbers along. For HNBGW_Tests.ttcn.

Change-Id: I9b74a1df9e115883b4b0ac0f606a370c6aca7f40
2023-08-08 04:47:06 +02:00
Philipp Maier f7cb0bb67e GTP_Templates: add decoder/encoder functions for RIM_Routing_Address_GTPC
When forwarding RAN TRANSPARENT CONTAINERs containers on GTP-C, the
sender adds a RIM ROUTING ADDRESS and a RIM ROUTING ADDRESS
DISCRIMINATOR. The RIM ROUTING ADDRESS is represented as an
octet-string, so we need encoder/decoder functions for it.

Related: OS#6095
Change-Id: I45d1f5b019f3847fd611c38dc19d78d6fe027c5a
2023-08-07 14:59:19 +02:00
Philipp Maier a4f465a4a4 PCUIF_CodecPort: mention channel (PCH) in log lines
Related: OS#5927
Change-Id: I8a304acfc8894e6b31617756f43632a9c4dd5d23
2023-08-03 12:06:06 +02:00
Andreas Eversberg e5a6ef1d31 ASCI: Rename handoverRequest to n_connect in RAN_Emulation.ttcnpp
The expectation table is used to deliver new connections with Handover
Request as well as with VGCS/VBS Setup and VGCS/VBS Assignment Request.
"handoverRequest" is renamed to "n_connect".

Related: OS#4854
Change-Id: I941c5db5235785841f3368ef908a409bbb12150e
2023-07-28 15:14:48 +02:00
Andreas Eversberg d9a348c3ac ASCI: Allow incoming VGCS/VBS connections at RAN_Emulation.ttcnpp
Similar to Handover Requests the RAN Emulation can accept new SCCP
connections with VGCS/VBS Setup message and VGCS/VBS Assignment Request
message. The point code for the incoming connection can be registered
in the same way as for the Handover Request.

In order to allow multiple connections with the same point code, the
table entry in the ExpectTable must be released after receiving the
message. VGCS/VBS calls have multiple connections to the same BSC.
This patch does not break existing MSC handover tests.

Related: OS#4854
Change-Id: I3fc0c5efe7d9f270804e7295aeb65cfe7898bd7e
2023-07-28 11:28:13 +02:00
Andreas Eversberg 7452806626 ASCI: Add missing codec list to *_BSSMAP_VGCS_VBS_AssignmentFail templates
Relates: OS#4854
Change-Id: I5f67c676035eaa9d61f7b123995770fd61eadaff
2023-07-28 11:28:13 +02:00
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
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 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 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
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
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
Philipp Maier 7f521fe44a S1AP_Templates: fix tr_S1AP_SetupReq
The S1_SETUP_REQUEST may have an optional IE eNB_Name in between Global
eNB ID and Supported TAs

Related: OS#5760
Change-Id: Id4b52921053884e79349301598b75c264b7f058c
2023-07-11 14:56:33 +00:00
Philipp Maier 7147c92010 S1AP_Emulation: add missing create_cb
At the moment we do not have a default implementation for the create_cb.
The create_cb is called to resolve the vc_conn to which a subscriber
communication belongs in case it is not found in the S1apAssociationTable,
then it is resolved from an S1apExpectTable instead.

The current implementation uses the IMSI as key to resolve the vc_conn
from the S1apExpectTable, this might not work since in S1AP the UE
context is identfied by an MME_UE_S1AP_ID / ENB_UE_S1AP_ID pair.

Related: OS#5760
Change-Id: I758e7c8d8cc445cf18acdd7a25dcde8846fd84e5
2023-07-11 12:48:52 +02:00
Philipp Maier bb8f05d280 S1AP_Emulation: delete UE association on S1AP_UeContextReleaseCmd
When a S1AP_UeContextReleaseCmd is received, the UE association should
be deleted.

Related: OS#5760
Change-Id: I8c6f7a780945ce34dabdc794aabab5d16a3a73aa
2023-07-11 12:43:50 +02:00
Philipp Maier 0ce67ab226 S1AP_Emulation: fix f_s1ap_id_table_del
When we search for the entry that we want to delete, we use the
ENB_UE_S1AP_ID as a search key, but we compare it against
mme_ue_s1ap_id. This is not correct, it should be compared against
enb_ue_s1ap_id

Change-Id: I8528af4e3fda0bc97f8b14785097434a6163bcc4
Related: OS#5760
2023-07-11 12:40:10 +02:00
Philipp Maier 05c6ab2209 S1AP_Templates: fix tr_S1AP_InitialCtxSetupResp
The INITIAL CONTEXT SETUP RESPONSE message may have optional elements at
the end.

Related: OS#5760
Change-Id: Ic28c94093e55db0dc1fa18d36e22d328788cb3fc
2023-07-11 12:29:51 +02:00
Philipp Maier 20bed06522 S1AP_Templates: cosmetic: fix sourcecode formatting
Change-Id: I6e70377315fdcc7ea6d0708fc6de87c335539282
Related: OS#5760
2023-07-10 19:40:29 +00:00
Neels Hofmeyr 75d905bbc7 hnbgw: verify empty talloc asn1_context at end of tests
This allowed me to find massive memory leaks in osmo-hnbgw: at the end
of each test, run f_shutdown_helper(), and in it query 'show talloc' for
an empty asn1_context.

Hence verify that all the scenarios run in these ttcn3 tests have no
asn1 de/encoding memory leaks.

Change-Id: I2948ee6f167369a2252f85b493e9653b93c7e4e9
2023-07-10 15:34:57 +00:00
Neels Hofmeyr 11ac91ca1a move f_str_split() from UPF_Tests to Osmocom_VTY_Functions
I want to use it in a new function f_verify_talloc_bytes() added to
Osmocom_VTY_Functions.ttcn in I2948ee6f167369a2252f85b493e9653b93c7e4e9.

Change-Id: I9ddd9977734efd7599481261f04df82620845cef
2023-07-10 15:34:57 +00:00
Neels Hofmeyr c0633b7e3d f_verify_talloc_count: mtc.stop
If the talloc count matching failed, immediately stop the failed test.

It is currently used by BSC_Tests.ttcn, and will soon also be used by
HNBGW_Tests.ttcn. These tests were used to uncover memory leaks, and
can now remain to guard against new leaks being introduced.

Change-Id: Id2b29beecf1c0652fb8d75e031e5c0dc9aa27975
2023-07-10 15:34:57 +00:00
Oliver Smith 07ebf96df6 library/RAN_Emulation: testcase.stop -> mtc.stop
Stop the MTC (main test component) on error, otherwise some tests don't
stop here and keep going forever.

MSC_Test_0-RAN(106)@7e006c664067: Unable to find to-be-destroyed IMSI in ImsiTable
MSC_Test_0-RAN(106)@7e006c664067: Dynamic test case error: testcase.stop
MSC_Test_0-RAN(106)@7e006c664067: setverdict(error): none -> error
MSC_Test_0-RAN(106)@7e006c664067: Final verdict of PTC: error
MSC_Test-GSUP-IPA(110)@7e006c664067: CCM Rx:{ msg_type := IPAC_MSGT_PING (0), u := omit }
MSC_Test-GSUP-IPA(110)@7e006c664067: CCM Tx:{ msg_type := IPAC_MSGT_PONG (1), u := omit }
MSC_Test-GSUP-IPA(110)@7e006c664067: CCM Rx:{ msg_type := IPAC_MSGT_PING (0), u := omit }
MSC_Test-GSUP-IPA(110)@7e006c664067: CCM Tx:{ msg_type := IPAC_MSGT_PONG (1), u := omit }
…

Change-Id: I8923975f6cb48f5f628e2ac5dc412f0f3ab97aab
2023-07-09 07:53:30 +00:00
Philipp Maier 3b4abb8618 BTS_Tests: Add support for PCUIF protocol version 11
The PCUIF protocol version 11 uses a more distinct (direct TLLI) way
to signal PAGING COMMAND and IMMEDIATE ASSIGNMENT messages towards the PCU.

Since OsmoBTS will soon fully support v.11 of the PCUIF protocol we need
to add compatibility in the OsmoBTS TTCN3 testsuite early. We also have
to stay compatible with older versions of OsmoBTS. The BTS_Tests.default
config still sets up mp_pcuif_version to version 10, so this will be the
default until we have full version 11 support in current master and
latest.

Related: OS#5927
Change-Id: I08de02e951e10bc8b4381cc2ad32e63f2747e3c4
2023-07-07 13:19:26 +00:00
Philipp Maier e640d8f80c PCU_Tests: test NACC procedure with UTRAN and E-UTRAN cell
When the PacketCellChangeNotification proposes an UTRAN or E-UTRAN cell,
then the PCU will not provide system information. Instead it will directly
conclude the NACC procedure with a PacketCellChangeContinue message.

Related: OS#6044
Change-Id: Idae86a458fd44ac81bab183ed1865b1c1bdbfd66
2023-07-05 12:23:02 +02:00
Philipp Maier 8d42651d79 PCUIF_Types: fix record PCUIF_pch_dt
The record PCUIF_pch_dt uses ALIGN(left) variants for imsi data. This is
not correct, since it would left-pad the data with zeros if it does not
fit the specified length. This is a problem with IMSIs shorter than 17
characters, because the left padded zeros would appear like a
null-string to the receiving end.

When the ALIGN(left) modifier is removed, the encoder will apply the
padding from the right. This will fill the unused space after the string
with zeros.

Related: OS#5927
Change-Id: I011eb2496b1422c49736b227dfa1e2a2d6096d67
2023-07-05 09:56:26 +00:00
Neels Hofmeyr 79896c034f fix hnbgw: RAN_Emu: ranap_unitdata_cb: call only when present
osmo-hnbgw since recently sends own RANAP RESET out to the CN links. So
HNBGW_Tests.ttcn now receives a lot more UnitData messages.

Turns out that tests crash when no UnitData callback is provided.

Currently only osmo-hnbgw and RANAP, i.e. ranap_unitdata_cb, needs this
fix, but also apply the same safeguard to the BSSAP unitdata_cb.

Change-Id: I699a42de88b15f6f47b8feece7639e0dfaf31955
2023-06-23 03:52:12 +02:00
Oliver Smith c1dd36a71b msc: new test: TC_lu_and_mt_csd
Related: OS#4394
Change-Id: Ie1701546e3dc18a5b0da4608b44a580237c979a6
2023-06-20 13:20:19 +00:00
Oliver Smith 92b280c8a6 msc: new test: TC_lu_and_mo_csd
Related: OS#4394
Depends: https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.MobileL3_v13.4.0/-/merge_requests/3
Change-Id: Ia863a63a318a9b0a8b4bfc1dc425cbc0235256b3
2023-06-20 13:20:19 +00:00
Philipp Maier dcba8d2d20 Fix typo: CCNMesurementReport
There is a typo in the CSN.1 definition for CCN Measurement Report.
While fixing this we can also shorten the record name to
"CCNMeasReport" to make it coherent to the Utran/Eutran related
definitions.

Change-Id: I1e44afdbede7420299435ddb7333dd151b5da4b3
2023-06-17 06:06:42 +00:00
Philipp Maier 48bfd56521 RLCMAC_CSN1_Types: Add release 6 and release 8 additions to PacketCellChangeNotification
The PacketCellChangeNotification type currently lacks the release 6 and
the release 8 additions. Those basically add 3G and 4g/5g compatibility to the
PacketCellChangeNotification message type.

Spec reference: 3gpp TS 44.060 11.2.3a

Related: OS#6044
Co-authored-by: Vadim Yanitskiy <vyanitskiy@sysmocom.de>
Change-Id: I4e1c63c06fb89111765df187a93db563e77c3fc4
2023-06-17 06:06:42 +00:00
Pau Espin b26d446add mgw: Introduce test TC_auep_null
Related: SYS#6481
Change-Id: I9395cd526cf626974fb0e2ed93ff5d95a433d8c0
2023-06-17 06:04:29 +00:00
Andreas Eversberg 6561a1d08a BSSMAP_Templates: Add templates for UPLINK REQUEST
Change-Id: I0b02be6a87899d5c9a2ef92011e09a8897328a05
2023-06-12 13:06:26 +02:00
Andreas Eversberg d26bba0110 Add codec list to *VGCS_VBS_AssignmentReq templates
AoIP, call ID and codec list must be included, if user plane is IP
based. If not, the fields must not be included.

Change-Id: Id3ce78ad795c418650ca924a953294c3380b8198
2023-06-12 11:16:28 +02:00
Andreas Eversberg 466d2db28c BSSMAP_Templates: Add template to receive ChannelType IE
Change-Id: Ia6f283c17a1687ee65f8997bbeba0b09d1a462cf
2023-06-09 15:07:30 +00:00
Andreas Eversberg 63c4b4cd68 BSSMAP_Templates: Add templates to receive CellID IE
Change-Id: I42d52d871c8011db7e0897dfe752afeefa6d9662
2023-06-09 15:07:30 +00:00
Andreas Eversberg 06c4463a16 Add templates for talker / listener detection to RSL_Types
Change-Id: Ibc936417fedf7dc663c6b7243090a91fc55c06a2
2023-06-06 12:06:14 +02:00
Harald Welte 44d055fc39 BSSMAP_Templates: Add VBS/VGCS related templates
As we want to test VBS/VGCS related aspects of BSC and/or MSC soon, we
will need related templates to construct and match related messages and
IEs.

This requires titan.ProtocolModules.BSSMAP updated for modern-day
VGCS/VBS related message definitions as I submitted in
https://gitlab.eclipse.org/eclipse/titan/titan.ProtocolModules.BSSMAP_v11.2.0/-/merge_requests/3

Change-Id: I949f731de794b22292b01d0ddf9a75a9e7e7e71d
2023-06-02 19:22:11 +02:00
Harald Welte 9d59365430 GSM_RR_Types: Add support for VBS/VGCS related L3 RR messages
This adds support for the VBS/VGCS related L3 RR messages to
GsmRrL3Union/GsmRrL3Message.  Only those with proper L3 header
and classic "tabular" syntax are supported so far, no CSN.1 messages
with short L2 header for SACCH.

Change-Id: I79ca7ee2b94bb370cd7162cfd9db436049998041
2023-06-02 19:22:00 +02:00
Vadim Yanitskiy 8fd78f7b4d BTS_Tests: f_est_dchan(): add support for CSD channel modes
Change-Id: I066657941dd751183aa5e937a6bfe9ab7837d46b
Related: OS#1572, OS#4396
2023-05-26 19:26:45 +07:00
Vadim Yanitskiy eaaa1d6af6 library: add a receive equivalent for ts_RSL_ChanMode_SIGN
Also take a chance to enrich the already existing send template.

Change-Id: Id39ca75a9194d7c62b9e5e2d96e766c4940c8281
Related: OS#1572, OS#4396
2023-05-26 19:26:45 +07:00
Vadim Yanitskiy 8e2b8e3184 library: add RSL_IE_ChannelMode templates for CSD
Change-Id: Ic10b3d791b6e9553dddf7d55f097483164fc9d4d
Related: OS#1572, OS#4396
2023-05-26 19:23:39 +07:00
Philipp Maier 3241af342e PCUIF_Types: add record PCUIF_pch_dt
The record PCUIF_pch_dt, coresponds to struct gsm_pcu_if_pch_dt in
pcuif_proto.h. It will be needed when we introduce support for the TLLI
based confirmation of IMMEDIATE ASSIGNMENT messages that are sent via
the PCH.

Related: OS#5927
Change-Id: Ia705d3a6fe7adb863acd29e968f8dc6b2066a497
2023-05-22 12:14:04 +00:00
Philipp Maier 704f31b131 PCUIF_Types: add templates for PCU_IF_MSG_DATA_CNF_DT message types
A record for the message type PCU_IF_MSG_DATA_CNF_DT exists with
PCUIF_data_cnf_dt, but there are no tr_ or ts_ templates yet.

Related: OS#5927
Change-Id: Iccde71e1dd6fbd421652c5892bc2c1f32a8535ff
2023-05-10 14:06:28 +02:00
arehbein 236736039c library: Define 'solSACapability' as '0'
"according to a comment in f_gmm_attach() there's an encoder problem if it's omit.  This sounds like the ts_GMM_ATTACH_REQ()
should be changed to define solSACapability as '0' insteads of omit.  At that point none of the users of ts_GMM_ATTACH_REQ
will need to manually modify it anymore."
(quote: hwelte on Gerrit (https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/31199/comments/17ed155d_cc58810a))

Related: OS#4221
Change-Id: I9eaa39274456e5cc0a1cf025bf956970efc4a51f
2023-05-09 23:40:05 +00:00
Oliver Smith 136d464a9e library/MGCP_Emulation: fix typo
Change-Id: Ie456993821264b564458f6a9131889dac969d344
2023-05-08 14:37:04 +02:00
Philipp Maier 310520b855 PCUIF_Types: add message type PCU_IF_MSG_E1_CCU_IND
Even though we do not need it right now, let's add the message type
PCU_IF_MSG_E1_CCU_IND. This message type has been added to the PCUIF
protocol recently.

Related: OS#5927
Change-Id: Ib6482d88e924f285658b933f32be42a4f63bee71
2023-05-08 08:32:13 +00:00
Philipp Maier 81503afaeb PCUIF_Types: rename PCU_IF_SAPI_AGCH_DT to PCU_IF_SAPI_PCH_DT
The SAPI PCU_IF_SAPI_AGCH_DT has been renamed to PCU_IF_SAP_PCH_DT in
the recent pcuif_proto.h version since the IMMEDIATE ASSIGNMENT what it
is used for is sent on the PCH not on the AGCH.

The SAPI constant is currently not used in the TTCN3 testsuite, but it
will soon be used when we introduce support for the recent PCUIF which
will then use the direct TLLI (DT) method.

Related: OS#5927
Change-Id: Ifc09067bcb0f9f422ca429313fa09fea081dc316
2023-05-05 14:19:12 +02:00
Philipp Maier bbe454d27d MGCP_Test: support multiple codecs
At the moment The RTP emulation and MGCP_Test only allow to specify one
codec and one set of RX/TX fixed payload octet strings to verify against.

This is quite limiting since it might be necessary to test against
different types and formats of payloads simultaneously in order to see
if osmo-mgw converts or forwards them correctly.

Let's extend this to support multiple codecs on MGCP/SDP level plus
support for multiple RTP payloads on RTP emulation level.

Related: OS#5461
Change-Id: I8422313fccad1bfcee52c933f643068bebdaf2d5
2023-05-04 09:54:06 +00:00
Neels Hofmeyr f2c95021e8 hnbgw: add TC_sccp_cr_limit: test CR data length cutoff
Depends: If35697234796af8943691b2de62218e7dc93a08c libosmo-sccp
Change-Id: Ia68dad973ef18513b52f5accb5264c557c7295ea
2023-05-01 02:22:32 +02:00
Harald Welte e33e515ddc RSL_Types: Add (most) VGCS/VBS related IEs + Messages
This will help us to start tests for VGCS/VBS.

Change-Id: I4c4a9ac1bbd5114cb2237ea282d7bace13a52abe
2023-04-30 17:52:22 +10:00
Oliver Smith bc392a8377 bsc: improve TC_assignment_csd
Verify that CSD ipaccess CRCX/MDCX has the CSD RTP payload type, and
that the RSL_IE_IPAC_RTP_CSD_FMT IE is set with
RSL_IPA_RTP_CSD_TRAU_BTS.

Related: OS#4393
Change-Id: Id0e0c5631d7a36635e1ef49cf5bf554f0336556b
2023-04-20 08:43:37 +00:00
Harald Welte 843917ef19 {RAN,BSSAP_LE}_Adapter: Support M3UA without routing context
The 3rd-party M3UA_Emulation supports operation both with and without
a routing context.  Let's make sure the layers we build on top don't
lose that capability by forcing routing context usage.

Change-Id: Iff849953d923770c93029a6a5c5b86daa8c38f1e
2023-04-20 04:50:57 +00:00
Neels Hofmeyr 2bc75894ee L3_Templates, bsc: set ts_PAG_RESP() arg to template (value)
Change-Id: Ib77fc2377c1cf86abca9cf3082b74926d3c2c431
2023-04-14 22:25:26 +00:00
Pau Espin ad76aba295 bts/oml: Repurpose test TC_ipa_rsl_connect_nack
The old test was not really correct, since it is fine for the BTS to ACK
the RSL CONNECT despite later on failing to connect the RSL link.
RSL_CONNECT is really just setting the attributes (it could even be
replaced by SETATTR in the future), and connect happens later on.
This can still be found out by the BSC because the BBTRANSC will never
transition to a Enabled state until the RSL link becomes up.

This patch repurposes the existent test to do some more meaningful check
in a case the RSL CONNECT can be answered with a NACK. This scenario was
actually failing to be properly checked in osmo-bts until recently, so
it is expected that it will fail (and even crash) older versions of
osmo-bts.

Depends: osmo-bts.git Change-Id If27639ae1727fc5232e1a964a1b29f50c8805d80
Related: OS#5964
Change-Id: I10df611f0086d34a5482f7c8a79703938313ab3d
2023-04-12 14:38:56 +02:00
Max 6c00a383dd SI: add missing Message Type
Add Message types for Radio Resource management messages using
the RR short protocol discriminator from Table 10.4.2 3GPP TS 44.018

Related: OS#5783
Change-Id: Id3b59638a3cf75c7105b1992094a4cc20855161d
2023-03-22 12:12:11 +00:00
Vadim Yanitskiy 72a76b5a8a library: L1CTL: rework GPRS related message definitions
The old GPRS related messages are no longer valid.  Use the new message
definitions supported by both trxcon and virtphy since recently.

Comment out lines referencing the old definitions in LAPDm_RAW_PT.ttcn.
This module contains an implementation of the RLC/MAC abstraction
layer, which is currently not used anywhere.

Change-Id: Ib8f4459480bbe12584a6fa71882f745f03c5055d
Related: osmocom-bb.git I9567d64f9d00262e36147e8d7e541e5e246bda5f
Related: OS#5500
2023-03-19 07:05:50 +07:00
Vadim Yanitskiy af0aae66db library: L1CTL: merge L1ctl{Ul,Dl}Message into L1ctlMessage
Currently we have two variants of the L1CTL PDU:

* L1ctlUlMessage: L23 -> L1 requests (*_REQ),
* L1ctlDlMessage: L1 -> L23 responses (*_IND, *_CONF).

The L1CTL_PT port is defined in a way that one can:

* Tx L1ctl{Ul,Dl}Message PDUs,
* Rx L1ctlDlMessage PDUs.

This means that the testsuite can act as the L23 talking to the L1
(e.g. trxcon or virtphy), but not vice-versa.  Adding an additional
Rx `UD_send_data -> L1ctlUlMessage` mapping is not an option,
because such a mapping would be ambiguous and would cause errors.

By merging the two L1CTL PDU variants into the one, we can achieve
the testsuite acting as the L1.  This will be useful for testing
the L23 applications in osmocom-bb.git, like the modem app.

Take a chance to reorder fields to match the order in L1ctlMsgType.

Change-Id: I1313068c5f02b65d3dbb05a1341a9d7286225f0c
Related: OS#5500
2023-03-19 07:05:50 +07:00
Oliver Smith dd0027540c bsc: TC_assignment_csd: expect BSC to handle CSD
Related: OS#4393
Change-Id: Iff19dc704af09d09d2265d8da38fc745a3936ce4
2023-03-05 17:51:18 +00:00
Oliver Smith 0033b12262 library/RSL_Types: RSL_SpeechAlgo: support CSD
Prepare to test CSD in BSC_Tests.ttcn. After sending a BSSAP assignment
request to the BSC with channel type data, the BSC will send a channel
activation via RSL to the BTS (which is emulated by the testsuite).

Without CSD support in the RSL template, the testsuite is unable to
decode the message, prints "Data remained at the end of the stream
after successful decoding" and the test fails.

Related: OS#4393
Change-Id: Ief2d95c7e9d71afb26fa74da755294226c8e158d
2023-03-05 17:51:18 +00:00
Oliver Smith df1a2e8b7c Cosmetic: library/MGCP_CodecPort: remove FIXME
The line below is exactly as it should be according to the FIXME, so
remove it.

Change-Id: If14438edce4437cd30efc3b2520aa43b90e9e16b
2023-02-15 20:00:23 +00:00
Oliver Smith 23e192e6b4 Cosmetic: fix various typos
Change-Id: Ia6a587d872b410059713f41d09ba082bac835a6b
2023-02-15 20:00:23 +00:00
Vadim Yanitskiy b94e459b7d library/DIAMETER_Emulation: initiate CER/CEA exchange in client mode
Change-Id: I7537b306c2a569e2232597f21e15d3cf4ec9a12c
Related: SYS#5602, SYS#6333
2023-02-14 04:53:12 +07:00
Vadim Yanitskiy 672a41eb0a library: fix f_diameter_xceive(): start timer T
Change-Id: Ibf98bc942813641063a8da49d9da5c2e27aad57a
Related: SYS#5602, SYS#6333
2023-02-14 04:53:03 +07:00
Vadim Yanitskiy 3148a0e4a6 library: f_diameter_xceive(): fix no matching alt
Currently an unexpected PDU will trigger a DTE (no matching alt).
Let's add an additional wildcard alt and terminate grecefully.

Change-Id: I6dbc646d5f036f454f197137373796f40c4c9e74
Related: SYS#5602, SYS#6333
2023-02-14 04:49:28 +07:00
Vadim Yanitskiy 0d6cbd3588 library/DIAMETER_Templates: add send template for CER
Change-Id: I58690decfe0ec54da76af6dcfb108f2d78322e9c
Related: SYS#5602, SYS#6333
2023-02-14 04:36:49 +07:00
Vadim Yanitskiy 08c90219db library/GSM_Types: add {enc,dec}_BcdMccMnc() functions
Change-Id: Id501ea146eb596085c204a51387f1b92300d1285
Related: SYS#5602, OS#5901
2023-02-10 20:53:09 +07:00
Vadim Yanitskiy 8cc1f72289 library/GSM_Types: rename f_{enc->build}_BcdMccMnc[_int]()
The enc_* functions usually return an octetstring.  However, both
f_enc_BcdMccMnc[_int]() return a sub-type of hexstring (BcdMccMnc),
so let's rename them to avoid confusion.

A follow-up patch adds the actual encoding function for BcdMccMnc.

Change-Id: I0332fe7396310da49910e89571f7181fb1604182
2023-02-10 13:46:04 +00:00
Vadim Yanitskiy 25cd0dc4c8 Revert "library/GSM_Types: fix encoding of BcdMccMnc (3 octets)"
This is a partial revert of e9858efb90.

I was confused by weird MCC/MNC values in the Destination RAI generated
by the NACC testcases from the PCU_Tests.ttcn.  As I figured out, these
values are not from the INFO.ind, but some hard-coded literals:

* SRC RAI: MCC=262/MNC=42/LAC=13135/RAC=0 (from ts_PCUIF_INFO_default);
* DST RAI: MCC=023/MNC=43/LAC=00423/RAC=2 (resolved by test itself);

so actually they're not incorrect: they're sent by the testsuite itself
in response to the Neighbor Address Resolution Request, and then
expected to be received in the Destination RAI from the PCU.

Another important point is that TITAN produces different results when:

a) converting BcdMccMnc to bytes using the hex2oct() function,
b) converting BcdMccMnc to bytes using the RAW encoder.

The key difference is that TITAN does swap nibbles in each byte when
using the RAW encoder, but does not when using the hex2oct() function.

Use the proper hexorder (low-to-high) in f_enc_BcdMccMnc().
Add a selftest to make sure we're encoding the input properly.

This change makes the NACC testcases pass again.

Change-Id: I6f497b97c4f1e270803e01530be8355beea740bb
Related: SYS#5602
Fixes: OS#5901
2023-02-10 13:46:04 +00:00
Vadim Yanitskiy e9858efb90 library/GSM_Types: fix encoding of BcdMccMnc (3 octets)
In [1] I copied the hexstring concatenation statement for the 3-digit
MNC from the original function f_enc_BcdMccMnc(), which was renamed
to f_enc_BcdMccMnc_int().  Unfortunately, this statement (originally
introduced in commit [2]) is incorrect.

In our implementation a pair of MCC and MNC is encoded as follows:

  | MCC digit 1 | MCC digit 2 |  octet 1
  | MNC digit 3 | MCC digit 3 |  octet 2
  | MNC digit 1 | MNC digit 2 |  octet 3

Additionally, in the case of a 2-digit MNC, the original variant
of f_enc_BcdMccMnc() (before [1]) would swap MCC and MCC in the
2nd octet, generating even more unpredictable results.

According to 3GPP TS 24.008, Figure 10.5.13, the correct coding is:

  | MCC digit 2 | MCC digit 1 |  octet 1
  | MNC digit 3 | MCC digit 3 |  octet 2
  | MNC digit 2 | MNC digit 1 |  octet 3

So far the only user of this API is the PCU_Tests module.  Looking
at the PCAPs of testcases invoking this function, Wireshark indeed
shows weird MCC/MNC values (expected 262/42):

  Routing area identification: 23-43-423-2
    Mobile Country Code (MCC): Unknown (23)
    Mobile Network Code (MNC): Unknown (43)
    Location Area Code (LAC): 0x01a7 (423)
    Routing Area Code (RAC): 0x02 (2)

Change-Id: Ifa3083fdd6307b56baa1ef3ac85a3e7a2efab728
Related: [1] 7a92d5fbc0
Fixes: [2] 0637ba0728
2023-02-08 04:54:22 +07:00
Vadim Yanitskiy 7a92d5fbc0 library/GSM_Types: rework f_enc_BcdMccMnc: split and rename
* Rename f_enc_BcdMccMnc() -> f_enc_BcdMccMnc_int()
* Add f_enc_BcdMccMnc() accepting a pair of GsmMcc/GsmMnc

Change-Id: I033cce8f975f61ef2216de9f34f2ca418d71dc0b
Related: SYS#5602
2023-02-08 00:31:18 +07:00
Vadim Yanitskiy 59ef8e573a library/DIAMETER_Templates: make MCC/MNC configurable in AIR/ULR
Change-Id: I688931fac04e0d1ec525f8e0255e366b7dee9edf
Related: SYS#5602
2023-02-07 23:38:38 +07:00
Vadim Yanitskiy af0b6a2bf8 library/DIAMETER_Templates: fix incorrect default MCC/MNC
3GPP TS 29.272, section 7.3.9 clearly states: "if MNC is 2 digits
long, bits 5 to 8 of octet 2 are coded as 1111".  Octet 2, not 3.

  Visited-PLMN-Id: 11111f
  Mobile Country Code (MCC): Unknown (111)
  Mobile Network Code (MNC): Unknown (1511)
      [Expert Info (Warning/Malformed): MNC contains non-decimal digits]
          [MNC contains non-decimal digits]
          [Severity level: Warning]
          [Group: Malformed]

Change-Id: I8d76cb1569ca989a18d657f9923874c908985e0a
Related: SYS#5602
2023-02-07 23:35:52 +07:00
Harald Welte 40b1e00b3d DIAMETER_Templates: Fix 3GPP Spec number
It's 3GPP TS 29.272, not 29.262.

Change-Id: I33d437593a13a92151e33e86534e2189b541b5ea
2023-01-30 18:52:09 +00:00
Neels Hofmeyr c9e709bdce PFCP: add support for Network Instance IE
Related: SYS#6192
Change-Id: Iba8d423cd91e73ea40139a5b58c4e22f1a741dc1
2023-01-17 19:46:05 +00:00
Neels Hofmeyr 6defa01a28 PFCP_Templates: add Session Modification templates
Related: SYS#6192 SYS#5599
Change-Id: Id9ca1eff44a4759d25b31f34ededfcc6074517d5
2023-01-17 19:46:05 +00:00
Neels Hofmeyr 1e31146d11 upf/PFCP: do not imply f_inet_addr()
PFCP_Templates.ttcn is not the place to do the conversion between string
and OCT4.

When I wanted to use an OCT4 address in some ts_PFCP_* template, it
dawned on me that it is stupid to convert the OCT4 to a string, just so
that the ts_PFCP_* template converts it back to OCT4.

Related: SYS#6192 SYS#5599
Change-Id: Ib068831787f4256f70a2189a5f36ca1ea1f40c9e
2023-01-17 19:46:05 +00:00
Pau Espin b27653c6b6 bsc: Introduce test TC_assignment_emerg_setup_allow_imei
Related: OS#5849
Change-Id: I5a95cb0cd6903801db8cfcc1542bd6147461eebe
2023-01-03 14:33:17 +01:00
Pau Espin aa9034c32d library/L3_Templates: ts_LU_REQ(): Define fields as template (value)
Change-Id: I192eb6f191ea43aee71ff3537ced539fc0b72bf2
2023-01-02 18:56:24 +01:00
Pau Espin a6fbfe31b5 cosmetic: library/L3_Templates: Fix trailing whitespace
Change-Id: I9c27b9a2b9dc4dbabd5c2db3a63fbec4768ca4ea
2023-01-02 18:55:50 +01:00
Vadim Yanitskiy 7954510534 library/RLCMAC_Templates: add ts_RLCMAC_DL_DUMMY_CTRL
Change-Id: I6c2f3677151f6c4bb013e1515f43942ffc24969f
Related: OS#5500
2022-12-21 05:59:46 +07:00
Vadim Yanitskiy 71be129c31 library/RLCMAC_Templates: add ts_PTCCHDownlinkMsg
Change-Id: Ia47a5c6a5b27b41a5339f1e8ce60405b01de0a1f
Related: OS#5500
2022-12-21 05:59:21 +07:00
Vadim Yanitskiy 92c5d61ca3 library: move tr_PTCCHDownlinkMsg to the proper module
Change-Id: I9d5967142f2fbb1125434e99d7dd2557264d71c3
Related: OS#5500
2022-12-21 05:57:25 +07:00
Vadim Yanitskiy 1df1a8f824 library/L1CTL_PortType: allow sending L1ctlDlMessage via L1CTL_PT
We need to be able to send L1ctlDlMessage to the l1gprs_test [1],
a special program for testing the MS side GRR implementation.

Change-Id: I18e7585a8e93e3fafeda63b7325cfcc73e792abd
Related: [1] I36ceec4035b2ea593d47998f3f14f1415c606765
Related: OS#5500
2022-12-21 05:51:57 +07:00
Vadim Yanitskiy 60b6188211 library/L1CTL_Types: add send template for L1CTL_DATA_IND
We need to be able to send L1ctlDlMessage to the l1gprs_test [1],
a special program for testing the MS side GRR implementation.

Change-Id: Id163cb53afcbf803caf60a5b1a5768c67a9a2bf0
Related: [1] I36ceec4035b2ea593d47998f3f14f1415c606765
Related: OS#5500
2022-12-21 05:48:11 +07:00
Vadim Yanitskiy 0a3e31c1f7 library/L1CTL_Types: eliminate warning about missing 'h0h1' field
Change-Id: I73c86eea4708823e9c004a5b830793ce705dcb75
2022-12-21 05:43:42 +07:00
Vadim Yanitskiy 5bdbb252e8 library/Osmocom_Gb_Types: fix wrong IEI in ts_BSSGP_LLC_PDU
Change-Id: I219119a4e10e7a8e2ff40aabc1e526568c06f50a
2022-11-24 03:54:17 +07:00
Vadim Yanitskiy e94d9e9543 library/RLCMAC_Types: add spec. reference for the PTCCHDownlinkMsg
Change-Id: I799848f3429d6fcfb68a91648d5aaeccd2a77a7f
2022-11-16 01:35:33 +07:00
Oliver Smith c9a5f53ede BSC: add TC_ho_meas_rep_multi_band
Related: OS#5717
Related: osmo-bsc Ic5e4f0531e08685460948b102367825588d839ba
Change-Id: I4fe6bb9e4b5a69ea6204585ebdf1f157a68a8286
2022-11-04 14:17:59 +00:00
Pau Espin 262584764f mgw: Introduce test to validate Osmux<->RTP-AMR-BWE
Related: SYS#6161
Change-Id: I974e265938da15639acae7e2c9c589d5784ae5c5
2022-10-26 11:16:14 +02:00
Pau Espin 30f0667a4d osmux: Generate AMR OA payload paddings bits as 0
Some AMR format's payload size doesn't necessarily fit octet boundaries.
When AMR octet-aligned is used, padding bits are appended at the end to
fill the octet.
Until this patch, the padding bits where set with whatever payload fill
pattern was provided. Instead of doing so, better set the padding bits
to 0 to avoid conflicts when checking the received paytload later on,
since those bits are potentially be going to be set to 0 (eg when
converting to bandwidth-efficient).

Related: SYS#6161
Change-Id: I5bc68eb05c2f5500a259f4c73d14b51794f7f078
2022-10-26 11:16:08 +02:00
Vadim Yanitskiy 382138e84c library: move IA/IAR RO templates to GSM_RestOctets.ttcn
Change-Id: I3d3ad6228c44fd06620e8e97f08b24346f876972
2022-10-21 11:00:35 +00:00
Vadim Yanitskiy a193def9f8 library: declare enc/dec functions for IA/IAR Rest Octets
Change-Id: I0ea850ab056dae8cd3ad3b12db0f3cc7756b424b
2022-10-21 10:35:27 +00:00
Vadim Yanitskiy 150d6d1bdc library: move IA/IAR Rest Octets to GSM_RestOctets.ttcn
Change-Id: Icd96fc461e37d1346950a4fa158e0421bd7330c5
2022-10-21 10:35:27 +00:00
Vadim Yanitskiy 58f9de2dae library: add send template for PACKET_UL_DUMMY_CTRL
Change-Id: I2e1a0a0523d3e6f7ba8a270ff21fbe17a90a61d0
2022-10-05 09:09:28 +00:00
Vadim Yanitskiy 4f034b147b library: add missing '(value)' specifier to ts_RLCMAC_CTRL_ACK
Change-Id: Ia3176d0443255cba909ec571cda93875704b08b3
2022-10-05 09:09:28 +00:00
Vadim Yanitskiy 7179d3e8d2 library: s/tr_RLCMAC_DUMMY_CTRL/tr_RLCMAC_DL_DUMMY_CTRL/
There also exists UL equivalent of this message, for which I am
planning to add a template.  Let's clarify direction in the name.

Change-Id: I3b19c6679eb432b062e28aee9dd1220dbf33ee31
2022-10-05 09:09:28 +00:00
Vadim Yanitskiy 9e0139ba6d library/RSL_Types: account lengthof params in ts_RSL_MultirateCfg
In TTCN-3 it's not possible to store templates in records, so in
f_assignment_codec() we match received RSL_IE_MR_CONFIG against the
value (not template!) stored in g_pars.expect_mr_conf_ie.

Because of that, the length field is not being calculated by TITAN
for us, so we need to calculate it in ts_RSL_MultirateCfg ourselves.
Automatic length calculation only works during encoding/decoding
and when matching against a receive template.

Change-Id: I595be86d69913ba25e965a5a5c6977e00c342e60
2022-09-14 17:48:38 +07:00
Vadim Yanitskiy 0345d20778 library/RSL_Types: add params argument to ts_RSL_MultirateCfg
Change-Id: Ia85339a9c268abc84f9b4228f8d418f1dac786e6
2022-09-14 16:47:18 +07:00
Vadim Yanitskiy f14e696656 library/RSL_Types: s/amr_codec_modes/codec_modes/ in RSL_IE_MultirateCfg
The RSL MultiRate configuration IE is all about AMR (Adaptive Multi
Rate) codec, so there is no need for 'amr_' prefix in field names.

Change-Id: If63ee50e8681ad4e0a202f142f2fca2268d55079
2022-09-14 16:47:18 +07:00
Pau Espin 39bfa0298b bts: Add testscase & infra to validate Osmux support BTS<->BSC
Related: SYS#5987
Change-Id: I1af23c7a60b05edc3b544f1fea0023f48e89f7a7
2022-09-13 11:20:11 +00:00
Pau Espin 29c6dfb46d bsc: Add testscase & infra to validate Osmux support BTS<->BSC
New TC_assignment_osmux_bts is added which tests Osmux used only
BTS<->BSC.
Existing TC_assignment_osmux is renamed to TC_assignment_osmux_cn,
and a new TC_assignment_osmux is added which tests using Osmux on both
sides (towards BTS and CN).

Related: SYS#5987
Change-Id: I6e82eb9d995de988b812001e1c4cf6923509de66
2022-09-13 11:20:11 +00:00
Pau Espin f0b9fa0574 hnbgw: Introduce test TC_hnb_reregister_reuse_sctp_assoc
Change-Id: I7386bd4e786daf2688a68ab174a9d4f0b093a741
2022-09-12 21:28:15 +02:00
Pau Espin 5bd8e88195 Osmux_Emulation: Add DATA port
Similar to what's already present in RTPEM_Emulation, this allows tests
to retrieve the Osmux messages received.

Related: OS#5987
Change-Id: Id9aa3a0a02ef5a5e39b4df8a1c165f35255829ab
2022-09-07 11:29:14 +02:00
Pau Espin 1a8f8f8ab6 library/AMR: Add RTP AMR helper structs and functions
Change-Id: I40cd999badeeefa38a393af9008d8ce047e3c778
2022-09-07 11:28:03 +02:00
Pau Espin 440e1dcb34 bts: Pass AMR codec info over L1CTL and RSL
Related: SYS#5987
Depends: osmocom-bb.git Change-Id Ia20bc96e39726a919a556c83c8be48cb31af7331
Change-Id: I3db7f6a4b7819b16ada83862f2a5409db4fa21f9
2022-09-07 10:46:17 +02:00
Pau Espin 71ed463957 Move AMR defintions out of OSMUX_Types to its own file
This way they can be used without the need to import OSMUX related
modules.

Change-Id: I0edfbb7359516ba77180afab18c3e1ffb2d0c927
2022-09-07 10:46:17 +02:00
Pau Espin f7634dc706 BSC: Implement RSL_IE_MultirateCfg and use it in BSC_Tests
Change-Id: I0a5ddce570c0fd70f096d897b0b609d20b552ff7
2022-09-07 10:46:13 +02:00
Pau Espin 8539312f8f cosmetic: RSL_Types: Fix trailing whitespace
Change-Id: I664cc5a00240a308df5ed36feafe0779be152ec0
2022-09-02 17:57:11 +02:00
Pau Espin 17da32340e cosmetic: L1CTL: Fix trailing whitespace
Change-Id: I9d0446c21e1331c426bca0dad434f32de0ff0d38
2022-09-02 17:06:31 +02:00
Daniel Willmann 28209ecdac hnbap: Use protocolExtensions := * in tr and omit in ts templates
Change-Id: Ic8f9afc9d74507f7d73f52cefc92ed1c2dc4b1bc
2022-08-24 13:57:52 +02:00
Daniel Willmann 6d2d8885c8 hnbap: Add tr_HNBAP_HNBRegisterReject
Change-Id: Ide006cac4fcdc062614f53fb95970feb51d63731
Related: OS#5656
2022-08-24 10:00:49 +02:00
Pau Espin 4d0886d77d OSMUX_Emulation: Add special error case for port events
This way it's easier to quickly spot there was a problem with the socket
connection.

Change-Id: I962bf4837a9e359576c42a51a9919891186c7100
2022-08-20 08:11:27 +00:00
Pau Espin ef046b39bf OSMUX_Emulation: Use Misc_Helpers.f_shutdown() everywhere
Change-Id: Id8f104a4123fcfbc96ab07f2e9343369946e3334
2022-08-20 08:11:27 +00:00
Neels Hofmeyr a56e8fdc2d hnbgw: test PS RAB GTP mapping
Related: SYS#5895
Change-Id: I93c4689ddc016eb4eb25f8cbdd0142936c6f972b
2022-08-16 15:42:51 +02:00
Neels Hofmeyr a2d1d7a211 add library/PFCP_*, deps/PFCP
Will soon be used by new subdir 'upf' (test osmo-upf),
and by 'hnbgw' (test GTP mapping via UPF).

Related: SYS#5599
Change-Id: I0723b931b3f755ea291bffa2f27c34ba446c2f2f
2022-08-16 13:42:10 +00:00
Pau Espin f14e3ec864 bsc: Fix CBSP expectancies when receiving ETWS write-replace response
BSC_Tests_CBSP was sending an ETWS message but using non-ETWS templates
to match the response, which may differ from an ETWS one  (for instance,
ETWS related messages have no channel_ind).

Change-Id: I42941655081af6d5b04b1e061e6259d8dee94665
2022-08-09 12:51:59 +02:00
Vadim Yanitskiy 7c29c4e2c1 BSC_Tests: add TC_chan_alloc_algo_ass_dynamic
This test case verifies the new channel allocation mode, which
is expected to switch between ascending and descending modes
dynamically based on the following two configurable parameters:

* Uplink RxLev threshold (and min number of samples),
* C0 (BCCH carrier) channel load threshold.

The test case scenario includes:

Case a) Unknown Uplink RxLev => fall-back to ascending.
Case b) Not enough RxLev samples => use ascending.
Case c) Uplink RxLev below the threshold => use ascending.
Case d) Uplink RxLev above the threshold => use descending.
Case e) Uplink RxLev above the threshold, but C0 load is not.

Change-Id: Ia522f37c1c001b3a36f5145b8875fbb88311c2e5
Related: SYS#5460
2022-08-08 20:22:17 +00:00
Pau Espin 45ef775232 cbc: Introduce test TC_cell_failure_restart_idle_mme
Related: OS#4945
Change-Id: Ie0ab3d4fbe1d9a824b1f69ceacbf7dfd4f0d9728
2022-08-05 22:31:33 +02:00
Pau Espin 910ef1c74b sbcap: Add missing cause types
Change-Id: I09526f5ac19c80927b6b8ad1cff874a86e0b3a04
2022-08-05 20:29:24 +00:00
Pau Espin 8c67433741 sbcap: Fix spec references in comments
Change-Id: I89bc9d15548e6c709f0e1b614f00bc98ec41d441
2022-08-05 20:29:24 +00:00
Pau Espin e7d3d99293 cbc: Test ETWS msg over SBc-AP
So far only non-emergency CBS messages were tested, which require a
slighlty idfferent encoding on the protocol side.

Related: OS#4945
Change-Id: I506322fc8a664716db8cd79217c2091b0b926836
2022-08-05 20:29:24 +00:00
Pau Espin ad5d2dbd47 cbc: Test ETWS msg over CBSP
So far only non-emergency CBS messages were tested, which require a
slighlty idfferent encoding on the protocol side.

Related: OS#4945
Change-Id: Ie22a00120218a205db11a5622274dcc67435f5de
2022-08-05 20:29:24 +00:00
Vadim Yanitskiy 6fe5d4e33e BSSMAP_Templates: add SpeechCodecList param to tr_BSSMAP_HandoverRequest
Change-Id: Ia5ce0c03fd4198e26068ddd1f18f2e17b1ae533d
Related: OS#5529
2022-08-05 17:38:43 +00:00
Pau Espin 74f62981a8 cbc: Expect Concurrent-Warning-Message-Indicator IE in SBcAP Write-Repl-Req
3GPP TS 23.041 9.3.32 states that the IE is always present for non-ETWS
messages and never present in ETWS messages.
The present template is used for CBS messages (non-ETWS) only so far.
Once we add support to test ETWS message this will be updated
accordingly if needed.

Related: osmo-cbc.git I4a5ac56b7e6eeb85aee07ae2ddf10fa2afbbf4ef
Related: OS#4945
Change-Id: I8f2067069ecf0c46f86279413a10e5970ec4456c
2022-08-04 13:32:39 +02:00
Pau Espin b1a83fbb6d cbc: Test sending Unknown TAI List to osmo-cbc
Related: OS#4945
Change-Id: I7d8cf5e6498d03ad340b8f843ce93a20171e9fca
2022-08-04 13:32:32 +02:00
Pau Espin db247f8318 cbc: Support mme/bsc sctp/tcp server mode
Related: OS#4945
Change-Id: I9fa4ddfa18ac85644f219874e6b2166e1795e3a9
2022-08-02 11:50:54 +02:00
Pau Espin ae2e51557f cbc: Send Write-Replace-Warn-Ind after ACKing the request
This way we can test how does osmo-cbc behave when receiving such
message.

Related: OS#4945
Change-Id: Ifcdcddc7dccb5439126a5fa29bb540669ed25908
2022-08-02 08:37:16 +00:00
Vadim Yanitskiy 68c4cff30e library/GSM_RR_Types: make ts_SacchL1Header easier to use
Move parameter 'fpc' at the end and assign false by default, so that
there is not need to pass false.  We never set it to true anyway.

Change-Id: I8a0ef562c2426a637fbb9fe3d50711ee7738d04f
2022-08-01 12:37:19 +00:00
Pau Espin 78d80e7469 sbcap: Expect IE Send-Write-Replace-Warning-Indication
Since osmo-cbc.git I563e7d1c999f14b8197bb41e85b7bcf6262fe2a0, Write
Replace Warning Indication is sent, so expect it.

Change-Id: I84e3ae7a532a8a76ac1c26d357da7eaa73f39374
2022-07-28 12:39:39 +02:00
Pau Espin 7c13cb7e0f Support for SBc-AP protocol as used on the MME-CBC interface
This requires a recent libfftranscode (>=0.5) with SBC-AP support.

The asn files are obtained from 3GPP TS 29.168.

Related: osmo-cbc.git Ib278bc1d1a74459814016fef7a8fe21cc29d46c9
Related: docker-playground.git 5f3c78105836d1f2c229655df3f537a73ab6e12a
Change-Id: Ia6743e0a3e7974a5f2dd3ecf74ec331f646f6bc2
Related: OS#4945
2022-07-18 11:20:14 +02:00
Pau Espin 696fbe75a2 bsc_cbsp: Support receiving CGI as cellID in CBSP Reset and Failure Ind
New versions of osmo-bsc send CGI instead of LAC+CI, which provides more
information (PLMN).

Related: SYS#5910
Change-Id: I48e86150f499f0f458f75f132087319d80f86448
2022-07-15 14:51:43 +02:00
Vadim Yanitskiy 87ebd0bd16 library/MGCP_Templates: add send template ts_MgcpResp_Err
Change-Id: Ib0462228cece29952c91b4d18ebe2d89fed70c03
Related: OS#5572
2022-06-28 03:58:38 +07:00
Pau Espin 2b33d4e2d3 bsc-cbsp: Test BTS Failure+Restart when BTS becomes (un)available
Related: SYS#5910
Change-Id: I35ddde7bc2e39d35c301f1153416b549ba1630cd
2022-06-17 20:27:07 +00:00
Pau Espin 7b23060141 SABP: Add regen_makefile.sh
Other similar libraries also have it.

Change-Id: I74b31c041b254713b95821ff166640465ccd1409
2022-06-15 16:28:23 +02:00
Pau Espin 3cfb6c35c2 Move SABP_Selftest.ttcn under library/sabp
Same as we already have for RANAP.

Change-Id: If04d973a393153a7cd15429d036f60adeea4b5f9
2022-06-15 16:20:11 +02:00
Pau Espin 3caeebc95e Move all SABP files to library/sabp/
Let's have all SABP related stuff together in one subdir, not some under
the subdir and some directly under library/.

Change-Id: Ibfd0287194c87dcc240590e0835d6205ead194f9
2022-06-15 16:20:11 +02:00
Pau Espin b6300d1ee2 Move RUA_Emulation under library/rua/
Let's put it under library/rua to have all RUA_* files together.

Change-Id: I22bc9b53675e1f8e6b7cd834b743aa90304b522e
2022-06-15 16:20:11 +02:00
Pau Espin 4759074556 hnodeb: Update primitives to audio SAPI version 1
Audio SAPI version 1 has been added recently in osmo-hnodeb.git
I860d18b80c1041bf63a1570d435e0568c0f6b01b.
Let's update our HNBLLIF emulation to support and use it.

Related: SYS#5516
Change-Id: I9af56f5e6a70b350f2fffa2e04be384d101b52ed
2022-06-13 20:52:15 +00:00
Neels Hofmeyr f0b9ed14bd hnbgw: test SCCP CR without payload
Various tweaks are required to allow RAN_Emulation to handle, and also
to expect, an SCCP CR that has no payload data.

Related: SYS#5968
Related: If0c5c0a76e5230bf22871f527dcb2dbdf34d7328 (osmo-hnbgw)
Change-Id: I827e081eaacfb8e76684ed1560603e6c8f896c38
2022-06-08 12:07:55 +00:00
Pau Espin 7d58b0817e GTP: Send more QoS IE fields by default
This way we trigger more code paths in the GGSN_Tests IUT, like parsing
the QoS IE. This is interesting because the QoS IE has quite a complex
encoding, specially the MBR/GBR part. Those fields in turn are also
modified during the answer based on AVPs received during Gx set up of
that session.

Related: SYS#5984
Change-Id: Id195eedf530e2eff753d057ce2302dfb5275bfcd
2022-06-08 11:44:40 +00:00
Vadim Yanitskiy 9d06c638db library/StatsD_Checker: make logging messages more readable
Change-Id: I0484f36184fe3724c57cedcf203894d701b91605
2022-06-07 14:56:16 +00:00
Pau Espin ee961c77fd DIAMETER: Send QoS AVPs in Gx CCA
This way we can trigger code paths in GGSN/PGW parsing those.

Change-Id: Ib758d4e3acc331954aca6423372410cb1e341ebd
2022-06-07 08:15:19 +00:00
Pau Espin 6477d7358a DIAMETER: Introduce and rework some AVP templates
All the AVP ecosystem in DIAMETER is quite a mess. There's AVPs defined
in several different specs, sometimes even with the same name and
different AVP code and vendor.
Hence, as we add more templates it becomes important to start using the
prefix in order to differentiate where they come from.

Change-Id: Iec7c51dae136629d6b754de4dd798e988ac51f6b
2022-06-07 08:15:19 +00:00
Vadim Yanitskiy bf2aa4999f library/RSL_Types: fix wrong comment near tr_RSL_MsgTypeT
Change-Id: Ic10e324375d1495d94352e7229e6be481106e8bb
2022-06-01 00:29:56 +06:00
Pau Espin 6ed763001d Allow Setting IuUP_Cfg from test using RTP_Emulation
Change-Id: I4e8296dae40277be51974338bc0d21c939eec149
2022-05-26 18:27:39 +00:00
Pau Espin 52ee518e28 IuUP: Encode Initialization according to cfg
Change-Id: I1dec3a8dcc829ad2c308636b697b089e873fd824
2022-05-26 18:27:39 +00:00
Pau Espin 5b4f2c691f IuUP: Improve enc/dec of PDU Type 14
Related: SYS#5969
Change-Id: I33e8a82e654b5afef8bc468cf6b1fff8fa9637ce
2022-05-26 18:27:39 +00:00
Pau Espin 52562c9ca1 ggsn: test Gy Volume-Quote-Threshold feature
Change-Id: If10171589e915db8e78278d2d802e38c66b37687
2022-05-25 16:13:56 +02:00
Pau Espin cba0f6d292 ggsn/pgw: Fix Gy CCR Reporting-Reason expectancies
The Reporting-Reason can be in different places depending on its values.
In the case of TERMINATION, we expect it to be FINAL so we know its
location.

Change-Id: Id33b9bb2f7b469e03a0761dc8807770cfdf77fcc
2022-05-25 14:13:02 +00:00
Pau Espin 8fa2284189 ggsn: Validate charging reported values
Change-Id: I497309bb0b30c61bdb00e0c08f18294ecd4dd485
2022-05-23 11:35:37 +02:00
Pau Espin a2af578a1a ggsn: Improve checks around Gy messages
Change-Id: I702796f2f941b78da904faa2ffdba4185333bc0d
2022-05-19 14:13:07 +02:00
Pau Espin 837ed5092f DIAMETER_Templates: Drop unused param
Change-Id: Ic806f7d23f6e3b23365f4d45874b0bc3b3ec91d1
2022-05-18 20:14:41 +02:00
Pau Espin b8cd34a248 library/DIAMETER: Rename template to follow naming style
Change-Id: I1c7cfbea25a2da99813aa3c4f8a5760c4185ee26
2022-05-18 20:14:30 +02:00
Pau Espin 35e308a26c DIAMETER_Types_ttcn: Generate types for TS 32.299 (Gy)
Change-Id: I8413781a28362816a1f93790951c125defbbaf6b
2022-05-18 12:09:58 +00:00
Pau Espin c24a18c594 Add script to regen library/DIAMETER_Types.ttcn
This way we have a reproducible way to generate the same
library/DIAMETER_Types.ttcn file.

Change-Id: Ie6fdb8003a0faf25a5bf4027b672da73f788988e
2022-05-18 12:09:58 +00:00
Harald Welte ee4d70c025 RAN_Emulation: f_ran_unregister_imsi complement for f_ran_register_imsi
We have a function to register an IMSI but we're missing a function
to unregister it from RAN_Emulation.  This will cause resource leaks
and eventually an overflow of the ImsiTable.  We don't notice this yet
as we don't have long enough running tests in the test suite yet.

Change-Id: I1f5d86c999d4495d661166f98183dfbc48f05f47
2022-05-17 19:48:15 +02:00
Harald Welte 130110c895 GSUP: add f_unregister_imsi() to unregister an imsi/connhdlr
Change-Id: I13f6784533fe0e1f42d9595f028861d4645ec1a9
2022-05-17 19:48:15 +02:00
Harald Welte 17f3208195 GSUP: Add function to unregister expect; clarify naming
Change-Id: I4f2eb3c2b48c8626eb2da633579a874d089be73a
2022-05-17 19:48:15 +02:00
Pau Espin 535ca2658b ggsn: Append MS TimeZone IE to CreatePDPCtxReq
TS 29.060 states that it shall be included for primary PDP context
activation if the information is available, so let's add it by default.

Change-Id: I8c7e491a07cadfe09403504a82d34e412673a531
2022-05-16 17:11:08 +02:00
Pau Espin 38968e9ba9 ggsn: Append IMEISV IE to CreatePdpCtxReq
Change-Id: I00975328e94afd116e59c88fd96c5b0154810a1e
2022-05-13 17:41:15 +02:00
Pau Espin 0e127870fb ggsn: Append ChargingCharacteristics IE to CreatePdpCtxReq
This IE is conditionally added if the HLR provides it to the SGSN.
Let's add it by default so that we test code paths where GGSN parses it.

Related: SYS#5925
Change-Id: Ia0f74041d2107afeaa36b94e33474370b7b07c0e
2022-05-13 11:54:27 +02:00
Vadim Yanitskiy 1567bac64c library/RSL_Types: allow omitting IEs in ts_RSL_IPA_CRCX
Change-Id: I7c36c3de1716968bccb07b03d2141d9abb3c175f
Related: OS#5242
2022-05-03 12:52:58 +00:00
Pau Espin 189bf1b8c1 bsc: Introduce test TC_paging_450req_no_paging_load_ind
Change-Id: I787cba895f1cb6c5bfef95259bcf69b4291a9237
2022-05-02 20:43:48 +02:00
Harald Welte 4a788a0812 bsc: Increase test coverage for CBSP emergency broadcasts
This adds new tests:
* TC_cbsp_emerg_write_bts_cgi_noreplace
* TC_cbsp_emerg_write_bts_cgi_replace
* TC_cbsp_emerg_write_bts_cgi_kill

All of the above relate to improved / fixed handling of emergency
broadcasts in some corner cases.

Related: SYS#5906
Related: OS#5539, OS#5540
Change-Id: Ic0f0b3d620f3ca73bab3d45997d0c1b9433ac1f7
2022-04-27 18:39:56 +02:00
Harald Welte d686941aa8 CBSP: tr_CBSP_REPLACE_CBS_COMPL: num_compl_list is optional
The list might be empty because either there were no broadcasts
completed in case of a CBS message, or because it was an emergency
message where this IE is never used.

Change-Id: I2b24ac7e5857bdd50a821399b3c383cea9d408ad
2022-04-27 18:39:26 +02:00
Harald Welte 67881aef23 Avoid generating zero-length packets
I used the construct like f_rnd_octstring(f_rnd_int(100)) in a number
of places to generate random-length packets with randomized length.

The problem I didn't realize is that f_rnd_int() of course can also
return '0', which would generate zero-length packets.  This may be
permitted in some protocols, but it leads to problems e.g. when trying
to send a UDP packet of zero length (which the kernel will not do).

So let's introduce
* f_rnd_int_nonzero() for returning non-zero randomized integers
* f_rnd_octstring_rnd_len() for returning a random-length random payload
  octet string
* replace all f_rnd_octstring(f_rnd_int()) call sites with the new
  function.

Change-Id: I818a113ff8d2a2f7cab2ec7d9c8661607c6331d6
Closes: OS#5528
2022-04-12 22:52:47 +02:00
Pau Espin 12c4aa8bb7 GTPv2_Emulation: Increase reset_all_stats timeout
Release of 256 tuns + threads takes quite a reasonable amount of time.
Let's increase the timeout since reset_all_state can take around 10
seconds sometimes.

Related: OS#5523
Change-Id: Ie01e07bd698cb5c386f757f4ec315f4892ad61cb
2022-04-12 09:44:52 +00:00
Pau Espin b335f01ef2 DIAMETER_Emulation: Allow up to 256 IMSI Diameter components
TC_createSession_ping4_256 requries 256 concurrent connections.

Change-Id: Idc305a868f827dee63a476979fc9de9fc12580c5
2022-04-11 12:04:55 +00:00
Pau Espin 69730a29a4 DIAMETER_Emulation: Fix typo in comment
Change-Id: I6163fc9153082598c7211b16a7c18fb95cf3d08a
2022-04-11 12:04:55 +00:00
Pau Espin e4361705c1 DIAMETER_Emulation: Rename association table
The table has no direct relation to SGSAP, it tracks IMSI connections in
a generic way.

Change-Id: I12399465549739fb99af193e7071fff8bc452b0b
2022-04-11 12:04:55 +00:00
Pau Espin 77fdd0b5aa ggsn: Initial testing of open5gs Gy interface
Related: SYS#5276
Change-Id: I10027d4f8adc6b47ce97b90514d1f13e9aa3d40d
2022-04-11 12:04:55 +00:00
Neels Hofmeyr a47a8c60ee bsc: add TC_emerg_call_and_lcs_loc_req
An emergency call often comes with a Location Request. Make sure
osmo-bsc handles it well.

Related: SYS#5916
Change-Id: I95037374c45943cb14401bc48f16a39c2fcbe1f5
2022-04-07 14:18:28 +00:00
Pau Espin 5a778ae426 Diameter_Templates.ttcn: Avoid sending AuthAppId Relay in CEA
We don't really act as rely agents in the emulation, so let's not
announce it.

Furthermore, this aids libfreediameter selecting proper routes, since it
seems to only underscore peers not matching the AppId if they are not
rely agents (see dont_send_if_no_common_app() in freeDiameter.git)

Change-Id: I0a9daf094f4c27c0b4de5581ddd56feced8e5732
2022-04-06 13:41:03 +02:00
Pau Espin b8b1c0d626 RLCMAC_EncDec: Fix bug decoding LI[0]=0
Change-Id: I86c1b48c922f50013257c8dce405cbad1d77d868
2022-04-05 10:22:14 +00:00
Eric Wild 49888a65dc ran emulation: allow multiple reset attempts
bsc-nat introduces a delay that will lead to failed tests, since the
reset attempt happens too early and times out, and the tests do not
retry.

Change-Id: I9f6db2a24e984eef31e76f9d42a80eb6a1bb6928
2022-03-31 17:49:10 +00:00
Harald Welte 562d28e305 bsc: Add tests for CBSP MESSAGE STATUS QUERY procedure
Change-Id: I124a69c515d634bc054ed35e430af6b3c11ad46e
Related: SYS#5909
2022-03-28 21:29:04 +02:00