Commit Graph

1494 Commits

Author SHA1 Message Date
Alexander Couzens e885fc21cb WIP: dia2gsup: add Cx 2023-11-13 02:01:53 +00:00
Alexander Couzens 428e4d049d step 29_229 / Cx
Change-Id: I1f57260a798ecc09bd2ac36fd6b547b15e9d53f8
2023-11-13 01:21:12 +00:00
Neels Hofmeyr c3c01d37a3 add HNBGW_Tests.TC_second_rab_assignment
Related: SYS#6624
Related: osmo-hnbgw I25bf19981cd75a87a7ceb3382dae1ec626ae475c
Change-Id: Iadaba0e5e82ad6d163ad509904ede213e2462d5c
2023-11-07 04:18:38 +01:00
Pau Espin 2748679437 sccp: Introduce test TC_cr_timeout_cc_too_late
Related: SYS#6602
Change-Id: If4b53565f1fa19894ca24fa71e02ae7b1941411e
2023-11-03 19:37:38 +00:00
Pau Espin d4a2008880 epdg: Test Handover from Wifi back to LTE
The Handover is informed to the EPDG by the PGW, who sends a
DeleteBearerRequest when receiving an attach from the 3GPP network once
the phone has jumped there.

Related: OS#6046
Change-Id: I299faf28fa51dbc5d2de6c72a39a01eca67a5775
2023-11-02 10:00:37 +00:00
Pau Espin 8c74649358 epdg: Include BearerContext in CreateSessionResponse
Change-Id: I89e364a5be68105ae8811e8bc917f32511f9e6ef
2023-10-24 14:37:29 +02:00
Pau Espin 1344e47a59 GTPv2: Declare GTP2C_Cause as enum
Change-Id: Id26f59274d7a8813b64b9b4b7c5c39cc12d5a0ac
2023-10-24 13:51:17 +02:00
Pau Espin 2c2e1877ec epdg: Tx Service-Selection in s6b AAR msg
This AVP is actually mandatory as per Table 9.1.2.2.1 in TS 29.273.

Change-Id: I86d01a0f5148e98b7faebbe0e3d7617a6c90b559
2023-10-24 13:51:17 +02:00
Pau Espin 7399673d0e epdg: Tx MIP6-Feature-Vector in s6b AAR msg
This AVP is actually mandatory as per Table 9.1.2.2.1 in TS 29.273.

Change-Id: I47e1f7ff583f60d0d16e151dbfe64fbd33fd7774
2023-10-24 13:51:17 +02:00
Pau Espin 8d8529ac4a Introduce DIAMETER_rfc5447_Templates.ttcn
Add templates for RFC 5447 MIP6-Feature-Vector.
This AVP is a bitmask which as only a few bits defined in RFC 5447, with
other interfaces using this AVP adding interface-specific bits in the
spec of each interface.

The templates are added in a new separate file with the aim of start
splitting the tons of AVPs originating from different specs in order to
be able to quickly identify them and avoid confusion.

Change-Id: I0fc646e5354d78283a2f3e1b9bb9c4688cf744a1
2023-10-24 13:51:17 +02:00
Pau Espin 7c99b3244d DIAMETER_Types: Generate fields from RFC 5447
S6b Diameter interface (TS 29.273 section 9) uses the
MIP6-Feature-Vector, which according to TS 29.273 9.2.3.2.3 is defined
in RFC 5447.

Related: OS#6229
Change-Id: I478eff657d876d4ec9a5a1906cab48fbaaaae1b9
2023-10-24 13:51:17 +02:00
Pau Espin 4669b612d7 library/DIAMETER: Split TS 29.273 templates into its own file
The templates are added in a new separate file with the aim of starting
splitting the tons of AVPs originating from different specs in order to
be able to quickly identify them and avoid confusion.

Change-Id: I77f917404dd70559b2b2cc62199ed70289ab0825
2023-10-24 13:51:17 +02:00
Pau Espin 44b7520f62 DIAMETER_Templates: Add S6b AAR and AAA message templates
Related: OS#6229
Change-Id: I302d9a94e6ffbb62b6db81e1b14484355e55ebe5
2023-10-24 13:50:58 +02:00
Pau Espin afe3e19ae0 GSUP_Types: Add EDPG_Tunnel messages
Change-Id: Iadba149e6d299e5e666b2debdc23a00d37e78da5
2023-10-23 14:46:18 +00:00
Oliver Smith 7bb63cf0a8 library: deduplicate f_logp
Change-Id: Ie84a8a75e9f162fcbef0d07d0bc75e47a5303fa3
2023-10-23 09:10:33 +00:00
Pau Espin afc186d391 GSUP_Types: Fix tr_GSUP_IMSI params
Change-Id: Ifeff47d35df53f4238bc1556bdee037e62e9d892
2023-10-20 14:15:47 +02:00
Pau Espin 90a46c4994 GTPv2_Templates: Several improvements to tr_GTP2C_CreateSessionReq
Change-Id: I6dd8cddcb986969d713ed7975a55cb31ab47c499
2023-10-20 14:15:47 +02:00
Pau Espin 5c18a0c846 GTPv2: Fix match of 15-digit IMSIs
15-digit IMSIs are len(imsi)=15, but decoded messages are
octet-aligned, hence the hexstring in messages is len(imsi)=16,
where the last hex char is a padding 'F'H.

* Make sure IMSIs stored in GTPv2_Emulation are padded to 16 digits (8
  octets) to process matches easily.
* Update tr_ template to transparently adapt passed hexstrings to match
  the octet-aligned value received from the wire.

Change-Id: Ie2f316ccb5bc69ec15e861616de4fd5babc4004e
2023-10-20 14:15:47 +02:00
Pau Espin 2a2e854de6 GTPv2_Templates: Fix sveral wrong ElementIdentifier
Change-Id: Idea191cedd78768a3fef7a9958fda5c27f2859e1
2023-10-20 14:15:47 +02:00
Pau Espin 965ac648f0 Introduce EPDG_Tests testsuite
Relted: OS#6204
Change-Id: Iab6f3c7dbcbbf344b0beca9490597c9ab0907171
2023-10-20 14:15:44 +02:00
Pau Espin 462f3df693 library/DIAMETER: Add several AVPs required for SWx interface
Those are required/used in SWx interface (3GPP TS 29.273), but are
specified on other documents.

Related: OS#6204
Change-Id: If31e14215fc7fb18cef12d68600b4f170bbb68af
2023-10-17 13:26:35 +00:00
Pau Espin f4619d8a80 library/DIAMETER: Allow passing template as imsi param to tr_AVP_UserNameImsi()
Change-Id: Ia525b2a1850bc80cee13717b114fec215fa84f9f
2023-10-17 13:26:35 +00:00
Pau Espin 7f8ce3241e library/GSUP: Add tr templates for tr_GSUP_IE_AuthTuple2G3G() and subfields
Change-Id: I39babec53f89c11b9a822939af7267aa1111dc8b
2023-10-17 13:26:35 +00:00
Pau Espin d34720f1b0 hss: Test Operator-Determined-Barring feature
Related: SYS#6588
Change-Id: I8deea9e284447f8991bdeced982c14fae2f211c5
2023-10-15 21:47:24 +00:00
Pau Espin 8768f66360 IPA_Emulation. Fix error if IPAC_MSGT_ID_GET with no tags is received
Change-Id: I69cd519cb3b8f10d10b4724e6354d31d5c5b9da5
2023-10-13 15:36:22 +02:00
Pau Espin 446145a9e8 library/DIAMETER: Add several missing tr templates
Change-Id: I21da18a5e1f0d368176d653494e0e0cde0beb656
2023-10-11 17:37:14 +02:00
Pau Espin aaad2763bb library/DIAMETER: Fixes in ts_AVP_3GPP_ApnConfig
Id used was wrong. Order of AVPs was also wrong.

Change-Id: Iddef433d11d2886679edcf73939d620d077d1529
2023-10-11 17:35:22 +02:00
Philipp Maier 8dabc5000c rename sysmo_direct_dsp to direct_phy
The name sysmo_direct_dsp is not entirely correct. It should be just
"sysmo" if we follow the rules that the "PCU_IF_FLAG_" prefix is
supposed to be chopped off here.

In pcuif_proto.h, we have renamed PCU_IF_FLAG_SYSMO to
PCU_IF_FLAG_DIRECT_PHY. (see Depends), so let's rename the flag here to
"direct_phy".

Related: OS#6191
Depends: osmo-pcu.git I29b7b78a3a91d062b9ea3cd72623d30618cd3f0b
Change-Id: Ib67c4441d0077822d0f9cbf29338fedeb916f287
2023-10-04 14:47:51 +00:00
Vadim Yanitskiy ef9dd39d1e library: add System Information Type 10 Rest Octets codec
The CSN.1 definition can be found in 3GPP TS 44.018, section 10.5.2.44.

Change-Id: Iab04a588e645abf9b3c99bddef293526ae6752e1
Related: OS#5782
2023-10-04 10:57:02 +00:00
Pau Espin 64f2086e68 RTP_Emulation: Log the different failure verdicts before stopping
Change-Id: I177b2f4e56ac89fcab20ba6235bf968ac1873046
2023-09-28 14:36:12 +00:00
Pau Espin 60c69a1ba0 RTP_Emulation: Log number of error packets
Change-Id: I685fb43ea30c83a975edd32cc24994da15940100
2023-09-28 14:36:12 +00:00
Neels Hofmeyr 99f9c8a14f IuUP_Emulation: fix AMR SID SDU size
See 3GPP TS 26.102 Table 6-2, an AMR SID should have 39 bits.

Change-Id: I9afb28ca6e23f7976edcc130ea012be34e04eb4b
2023-09-27 03:01:43 +02:00
Philipp Maier 7a2d959117 PCUIF_Types: fix record PCUIF_data_cnf
The msg_id in record record PCUIF_data_cnf lacks the variant
BYTEORDER(last), (which we use in record PCUIF_agch and record
PCUIF_pch). This causes the msg_id to be sent back in the wrong
endieness format.

Related: OS#5927
Change-Id: I69c1ccc37dac1e06ebe29484c767014954ff55e2
2023-09-22 11:52:58 +02:00
Pau Espin 0c613abe7b sccp: Introduce test TC_process_rx_ludt
Related: SYS#6566
Change-Id: I0880ccce872e79f057e17e29e09a566645365e96
2023-09-20 19:37:26 +02:00
Neels Hofmeyr 932f6133ba MNCC_EncDec.c: fix missing SDP in enc of mncc_rtp
Change-Id: Ice4e9ac63d9d8c8bff33298eb1e1dcb413179cc9
2023-09-07 05:14:50 +02:00
Pau Espin 7aa4ad8b67 dia2gsup: Introduce new error scenario tests
Related: OS#5757
Change-Id: Ic870a2c1de74bee3f7d8e26874635d58469ccbea
2023-09-06 12:48:53 +00:00
Alexander Couzens 25d284995d HLR_Tests: add testcase for multiple APNs in subscriber data
With a new HLR version there are multiple APN possible in the
Subscriber Data (PDP Info).

Related: SYS#6391
Change-Id: I8d0c08272bc239370e800d6014ab9c68087b8989
2023-09-05 18:44:00 +00:00
Vadim Yanitskiy 15034cb552 library: RTP_Emulation: implement new RTPEM_MODE_LOOPBACK
Change-Id: Iee8f736e1eebc357fc997353ee4b629d24dc09e7
Related: OS#1572
2023-09-04 20:27:44 +00:00
Philipp Maier ac791564f1 GTPv2_Emulation: improve accessibility of unit-data (TEID0)
When GTPv2 unit-data is passed around, there is always the problem that
it is routed to the MTC_CT (TEID0). The reason for this is that GTPv2_Emulation
cannot determine a specific receiver component because unit-data does
not contain any addressing fields that would identifiy a specific vc_conn.

In GTPv2_Emulation there is already a mechanism implemented that detects
responses by their sequence number. Untfortunately this does only work
when the vc_conn has send a unit-data message before so that the
sequence number of the response can be guessed.

In case the first messages comes from the IUT, there is no way to
determine the receiving vc_conn, so this message is then routed to the
MCT_CT (TEID0). This can be a problem for testcases that run from inside
a ConnHdlr componet.

The solution that is proposed in this patch uses a mechanism that allows
to create an expectation for a specific messageType. When the GTPv2_Emulation
sees a unit-data message with the expected messageType, it will forward
it to all ConnHdlr (vc_conn) components that have registered for this
messageType previously.

Related: OS#5760
Change-Id: I02bb74d7bd547347168b5c64ee6512c71e8fd960
2023-09-01 17:23:45 +02:00
Philipp Maier c1d9ef06e2 NAS_Templates: add template for Tracking Area Update Reject
Change-Id: Id64e8a28e47235766efbef6df0114c3024cc2f47
Related: OS#5760
2023-09-01 17:23:45 +02:00
Philipp Maier f155f6fb10 NAS_Templates: add template for Tracking Area Update Request
Change-Id: I66843f30f70d73ff233b0da0680cbaba08838227
Related: OS#5760
2023-09-01 17:23:25 +02:00
Philipp Maier 64bfc89a4f NAS_Templates: add template for NAS key set identifier
Related: OS#5760
Change-Id: I2df0c9d1bf4bf0073b5f7b77708b8de59f96a639
2023-09-01 17:23:25 +02:00
Philipp Maier 9e79658067 NAS_Templates: add template for EPS update type
Related: OS#5760
Change-Id: I6ffac88cc1d3967dc8000e17a65cdba79a013cf7
2023-09-01 17:23:25 +02:00
Philipp Maier 3e582453f4 NAS_Templates: add templates for EPS_Mobile_ID_IMSI/IMEI/GUTI
We do have ts_NAS_MobileId_IMSI/IMEI/GUTI, those can not be used when
crafting EPS messages. However, we can use them to craft
ts_EPS_MobileId_IMSI/IMEI/GUTI templates.

Related: OS#5760
Change-Id: I1adf8c652530904a8e9bd988e78c995c75bb49ab
2023-09-01 17:23:25 +02:00
Philipp Maier 68cf947ca7 NAS_Templates: fix ts_NAS_GUTI
The template ts_NAS_GUTI permutates the MCC/MNC digits in a weird way,
which seems to map to a format that is not used anywhere else. Also the
template is not used anywhere yet.

Let's not permutate the MCC/MNC digit, instead let's put a comment that
makes clear which format has to be used.

Change-Id: I9546993987b873e8ae921664238b234608e37bba
Related: OS#5760
2023-09-01 17:23:25 +02:00
Philipp Maier b11ee50717 GTPv2_Emulation: make sure g_uecups_conn_id is populated.
In function f_init, we activate altstep as_uecups_ind at the end of the
function. In as_uecups we use the template generator function
tr_UECUPS_RecvFrom_R(). In this function we use g_uecups_conn_id, which
is only populated when use_gtpu_daemon is set to true. When
use_gtpu_daemon is false g_uecups_conn_id will be <unbound>, which leads
into an error.

Related: OS#5760
Change-Id: Ifc2e8d9de13d5d183d6f052b2092c356ab4973d1
2023-09-01 14:14:42 +02:00
Pau Espin 0d138c6f25 GTP_Templates: Fix several template type incongruencies
This fixes following error while running test
GGSN_Tests.TC_pdp46_act_deact_apn4:

"GTP_Templates.ttcn:315 Dynamic test case error: Restriction `omit' on
template of type octetstring violated."

Change-Id: I3846d2a077e4bc53a772e354fcc3c38ca952b38f
2023-08-31 16:23:20 +02:00
Vadim Yanitskiy d0859cf8f0 PCUIF: fix coding of 'lqual_cb' field in PCUIF_data
This patch fixes BTS_Tests.TC_pcu_data_ind_lqual_cb, which is currently
failing due to incorrect decoding of the 'lqual_cb' field:

  "Link quality -32512 does not match expected value -256"

The COMP attribute is documented in TITAN's reference guide,
see 4-ttcn3_language_extensions.adoc#attributes for more info.

Change-Id: I79b8cd41010f212898fbf39c4c600ace69603e79
Related: OS#5954
2023-08-30 09:19:22 +00:00
Philipp Maier 896cbc9859 PCUIF: Add support for PCU_IF_SAPI_AGCH_2
In PCUIF v.11 it will be possible to get confirmations for IMMEDIATE
ASSIGNMENT messages sent through the AGCH.

Related: OS#5927
Change-Id: I40e05a2e68cca77d3c2f41df9af8d35762488abf
2023-08-29 13:18:03 +02:00
Philipp Maier 0221248078 PCUIF: use confirm flag in struct gsm_pcu_if_pch
In the recent PCUIF change of osmo-pcu (see Depends) a confirm flag
is added to struct gsm_pcu_if_pch. This flag tells the receiving end
(OsmoBSC or OsmoBTS) that the sending of the received MAC block has
to be confirmed towards the PCU. OsmoBTS and OsmoPCU now rely on the
conformation flag.

Let's update the BTS_and PCU testsuites accordingly.

Related: OS#5927
Depends: osmo-pcu.git Ia202862aafc1f0cb6601574ef61eb9155de11f04
Change-Id: I7017ca20ca7e0b77d0f363121e4f17280e39e8ac
2023-08-29 13:18:03 +02:00