Rakesh Mundlamuri
a6b83a6ed7
Add F1AP positioning information update message enc/dec + test
...
Reference: 3GPP 38.473 v16.21.0
Mandatory fields:
gNB-CU UE F1AP ID (supported)
gNB-DU UE F1AP ID (supported)
Optional fields:
SRS Configuration (supported)
SFN Initialisation Time (not supported)
2026-01-15 15:00:31 +05:30
Rakesh Mundlamuri
f579e03b16
Add F1AP positioning deactivation message enc/dec + test
...
Reference: 3GPP 38.473 v16.21.0
Mandatory fields:
gNB-CU UE F1AP ID (supported)
gNB-DU UE F1AP ID (supported)
CHOICE Abort Transmission
> SRS Resource Set ID deactivation
> Release ALL
2026-01-15 15:00:31 +05:30
Rakesh Mundlamuri
99b1bfbdfd
Add F1AP positioning activation failure message enc/dec + test
...
Reference: 3GPP 38.473 v16.21.0
Mandatory fields:
gNB-CU UE F1AP ID (supported)
gNB-DU UE F1AP ID (supported)
Cause (supported)
Optional fields:
Criticality Diagnostics (not supported)
2026-01-15 15:00:31 +05:30
Rakesh Mundlamuri
cf5467e4cc
Add F1AP positioning activation response message enc/dec + test
...
Reference: 3GPP 38.473 v16.21.0
Mandatory fields:
gNB-CU UE F1AP ID (supported)
gNB-DU UE F1AP ID (supported)
Optional fields:
System Frame Number (not supported)
Slot Number (not supported)
Criticality Diagnostics (not supported)
2026-01-15 15:00:31 +05:30
Rakesh Mundlamuri
9b64634652
Add F1AP positioning activation request message enc/dec + test
...
Reference: 3GPP 38.473 v16.21.0
Mandatory fields:
gNB-CU UE F1AP ID (supported)
gNB-DU UE F1AP ID (supported)
CHOCIE SRStype (supported)
> Semi-persistent
>> SRS Resource Set ID (supported)
>> SRS Spatial Relation (optional : not supported)
> Aperiodic
>> Aperiodic (supported)
>> SRS Resource Trigger (optional : not supported)
Optional fields:
Activation Time (not supported)
2026-01-15 15:00:31 +05:30
Rakesh Mundlamuri
746d12b2d2
Add F1AP positioning information failure message enc/dec + test
...
Reference: 3GPP 38.473 v16.21.0
Mandatory fields:
gNB-CU UE F1AP ID (supported)
gNB-DU UE F1AP ID (supported)
Cause (supported)
Optional fields:
Criticality Diagnostics (not supported)
2026-01-15 15:00:31 +05:30
Rakesh Mundlamuri
9cd6c68623
Add F1AP positioning information response message enc/dec + test
...
Reference: 3GPP 38.473 v16.21.0
Mandatory fields:
gNB-CU UE F1AP ID (supported)
gNB-DU UE F1AP ID (supported)
Optional fields:
SRS Configuration (supported)
SFN Initialisation Time (not supported)
Criticality Diagnostics (not supported)
2026-01-15 15:00:31 +05:30
Rakesh Mundlamuri
32718da5a5
Add F1AP positioning information request message enc/dec + test
...
Reference: 3GPP 38.473 v16.21.0
Mandatory fields:
gNB-CU UE F1AP ID (supported)
gNB-DU UE F1AP ID (supported)
Optional fields:
Requested SRS Transmission Characteristics (not supported)
2026-01-15 15:00:31 +05:30
Robert Schmidt
8f2e98a475
Upgrade F1AP to version 16.21.0
...
While implementing NRPPA-related F1AP messages, we remarked that
extension field "UL-AoA-ExtIEs" needs to be OPTIONAL (e.g., in NRPPA it
is optional in the OAI-compiled version), but it was not marked as such.
This later version 16.21.0 fixes this.
2026-01-15 15:00:31 +05:30
rmagueta
a13a8f01af
Add F1AP procedures related to measurementTimingConfiguration
2025-07-11 13:46:21 +01:00
Robert Schmidt
bbb6b3f7ad
Add F1AP UE context release complete message enc/dec + test
...
See commit "Add F1AP UE context setup request message enc/dec + test"
for more details on the approach taken.
2025-06-28 12:19:58 +02:00
Robert Schmidt
ec7a7973fb
Add F1AP UE context release command message enc/dec + test
...
See commit "Add F1AP UE context setup request message enc/dec + test"
for more details on the approach taken.
2025-06-28 12:19:58 +02:00
Robert Schmidt
d13c94457a
Add F1AP UE context release request message enc/dec + test
...
See commit "Add F1AP UE context setup request message enc/dec + test"
for more details on the approach taken.
2025-06-28 12:19:57 +02:00
Robert Schmidt
5c6aa46b03
Add F1AP UE context modification response message enc/dec + tes
...
See commit "Add F1AP UE context setup request message enc/dec + test"
for more details on the approach taken.
2025-06-28 12:19:57 +02:00
Robert Schmidt
6956e6ed11
Add F1AP UE context setup response message enc/dec + test
...
See commit "Add F1AP UE context setup request message enc/dec + test"
for more details on the approach taken.
2025-06-28 12:19:57 +02:00
Robert Schmidt
807e44d604
Add F1AP UE context modification request message enc/dec + test
...
See commit "Add F1AP UE context setup request message enc/dec + test"
for more details on the approach taken.
2025-06-28 12:19:57 +02:00
Robert Schmidt
da915d21e0
Add F1AP UE context setup request message enc/dec + test
...
Reintroduce separate message types to simplify the encoding/decoding,
including shorter names. The old types will be removed once everything
has been migrated to the new encoder/decoder, which should ensure that
everything is properly migrated to the unit-tested encoder/decoders.
Also, for each type of F1 message (F1 UE context setup request,
response, modification request, ...) introduce a separate type to avoid
to mistakenly use wrong fields, which can lead to bugs. In this regard,
the DL PDCP SN bit size in the DRB-ToBeSetup list of the UE context
setup request is optional, as it will also be used in the UE context
modification request DRB SetupMod list (which avoids quite some code
duplication). The encoder checks that this IE is present, though.
2025-06-28 12:19:57 +02:00
Robert Schmidt
8cee8ad661
Remove f1ap_lib_extern.h: use headers directly
2025-06-27 11:40:54 +02:00
Robert Schmidt
3a4440a99c
Generalize F1AP_LIB_FIND_IE() to work with list container
...
F1AP_LIB_FIND_IE() is used to look up elements in a list, but was
hitherto hardcoded to use "protocolIEs" as an intermediate struct. A
follow-up commit will use this macro where we don't have protocolIEs,
but "iE_Extensions". Hence, modify to make it work for that case (and
others) as well.
2025-06-27 11:40:54 +02:00
Robert Schmidt
e991f26ff1
Factor out NSSAI, to be used in other messages lates
2025-06-27 11:40:54 +02:00
Robert Schmidt
9f0373e051
F1AP lib: introduce macros to simplify implementation
...
Introduce generic _F1_CHECK_EXP(), which is like the macros for checking
values (_F1_EQ_CHECK_INT() etc). Reuse the same for introducing
_F1_EQ_CHECK_OPTIONAL_IE that will be used to write the check for
optional fields more concisely.
CP_OPT_BYTE_ARRAY() FREE_OPT_BYTE_ARRAY() are macros to wrap handling of
optional byte arrays.
_F1_MALLOC() simplifies allocations and is similar to asn1cCallocOne(),
but provided to avoid confusion (since more than ASN.1 structures will
use it).
All will be used in the following commits.
2025-06-27 11:40:54 +02:00
Robert Schmidt
e4857991fc
F1 PRINT_ERROR(): show file/line no for debuggability
...
Somewhat align with the E1 PRINT_ERROR(), but extend with information.
2025-06-27 11:40:54 +02:00
Robert Schmidt
f33c6cd0da
f1ap: Add CellStatus list in gNB-DU config update
2025-05-02 16:24:35 +02:00
Robert Schmidt
413b84b179
Allocate gNB_DU_ID before storing ID
...
Update the test so it would catch that bug. Check in eq_() that both
gNB_DU_IDs would be present, or not, using xor.
2025-04-24 18:42:06 +02:00
Guido Casati
ac3f9f3e32
Introduce platform type plmn_id_t for consistency across the stack
...
* F1AP, NGAP can now use the same struct type
* this improves maintainability
2025-04-15 15:28:34 +02:00
Robert Schmidt
e73f1f6220
F1AP: Correctly encode DU configuration update acknowledge SI container
...
Fixes: b91e1b0a12 ("Add enc/dec lib for F1AP gNB-DU Configuration
Update Acknowledge (Interface Management)")
2025-04-14 10:15:50 +02:00
Robert Schmidt
463942d90e
F1AP: correctly encode SI containers
...
- encode all SI containers the encoding function gets (it's not the
encoding function's job to enforce semantics)
-
Fixes: 30628b820c ("Add encoding/decoding lib for F1AP Setup Response
(Interface Management)")
2025-04-14 10:15:50 +02:00
Robert Schmidt
2cc3f3bcac
Fix: write NSSAI info of F1AP Cell Info struct
...
During refactoring, the previously implemented NSSAI field of the cell
info structure was not written to F1AP ASN.1 structures anymore;
eq_f1ap_cell_info() also conveniently omitted the corresponding equality
check. Add this back so the CU can correctly receive the NSSAI in case
of F1 split operation.
Fixes: f278b00837 ("Add encoding/decoding library for F1AP Setup
Request (Interface Management) ")
2025-02-21 07:42:48 +01:00
Robert Schmidt
df365d9a2d
Add F1 Reset Ack enc/dec/cp/eq/free library and test
2025-02-11 13:20:28 +01:00
Robert Schmidt
9157e22c7c
Add F1 Reset enc/dec/cp/eq/free library and test
2025-02-11 13:20:28 +01:00
Robert Schmidt
3e8636ce98
Test gNB-DU config update: cell to add/delete
2024-12-16 16:18:10 +01:00
Robert Schmidt
adbbbaeaba
Properly implement eq/cp() functions of gNB-DU config update, fix test
...
Implement those functions following more closely 38.473, i.e., check all
mandatory fields. Add mandatory fields in the test.
2024-12-16 16:18:10 +01:00
Robert Schmidt
509cc8cc58
Use PLMNID_TO_MCC_MNC() to decode PLMN ID
2024-12-16 16:18:10 +01:00
Robert Schmidt
3de8a746fe
Fix eq_f1ap_cell_info(): correct TAC comparison
...
Check that both a->tac/b->tac are present, or both not present. Then,
check they are equal if present.
2024-12-16 16:18:10 +01:00
Robert Schmidt
6b7055bb37
eq_f1ap_sys_info(): correct check
...
a and b can only be equal if both NULL or both set (and all fields the
same). Check for this.
2024-12-16 16:18:10 +01:00
Robert Schmidt
ed876a53b2
F1: refactor out served_cell_info/du system info
...
Split out these functions, to be reused in a follow-up commit to
correctly have gNB-DU configuration update message working.
Change the return type copy_f1ap_served_cell_info(), to return the copy,
which IMO is more intuitive then passing target and source in
parentheses.
2024-12-16 16:18:10 +01:00
Guido Casati
0bcf504209
Fix equality check in eq_f1ap_setup_failure
2024-11-27 10:40:10 +01:00
Guido Casati
7ae020599a
Add compile definitions ENABLE_TESTS
...
* this is necessary to enable the PRINT_ERROR logs in the E1/F1 libs
2024-11-27 10:40:10 +01:00
Guido Casati
a05084de95
Extend the scope of free_f1ap_cell and use it in stack
2024-11-27 10:40:10 +01:00
Guido Casati
40cc035b8c
Extend the scope and refactor copy_f1ap_served_cell_info
...
* allocate memory for pointers only if necessary
* removed redundant copies of simple data types
2024-11-27 10:40:10 +01:00
Guido Casati
a394a40d5d
Add and use F1 encode function for Transmission Bandwidth and NR Frequency Info in F1 interface management lib
2024-11-27 10:40:10 +01:00
Guido Casati
52f96fd91b
Complete adoption of Equality Check macros in f1ap_lib_common.c
2024-10-24 16:22:03 +02:00
Guido Casati
b91e1b0a12
Add enc/dec lib for F1AP gNB-DU Configuration Update Acknowledge (Interface Management)
2024-09-27 17:38:52 +02:00
Guido Casati
3724e84fed
Add enc library for F1 gNB-CU Configuration Update Acknowledge (Interface Management)
2024-09-27 17:38:38 +02:00
Guido Casati
8e3d6583a5
Add enc/dec library for F1AP gNB-CU Configuration Update (Interface Management)
2024-09-27 17:38:38 +02:00
Guido Casati
9958e53cb1
Add encoding/decoding library for F1AP gNB-DU Configuration Update (Interface Management)
2024-09-27 17:38:38 +02:00
Guido Casati
7e495db5ec
Add encoding/decoding lib for F1 Setup Failure (interface management)
2024-09-27 17:38:38 +02:00
Guido Casati
30628b820c
Add encoding/decoding lib for F1AP Setup Response (Interface Management)
2024-09-27 17:38:30 +02:00
Guido Casati
f278b00837
Add encoding/decoding library for F1AP Setup Request (Interface Management)
2024-09-27 11:22:03 +02:00
Guido Casati
b85fd159b8
Add encoding/decoding lib for UL RRC Message Trasfer
2024-09-27 11:22:03 +02:00