F1AP: initial dissector submission based on v15.0.0
Change-Id: Icf5c128119afa86efddb87e744f7aecb8bf71e09 Reviewed-on: https://code.wireshark.org/review/26506 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
This commit is contained in:
parent
b96f889e44
commit
6280c153bb
|
@ -2687,6 +2687,7 @@ AC_CONFIG_FILES(
|
|||
epan/dissectors/asn1/dop/Makefile
|
||||
epan/dissectors/asn1/dsp/Makefile
|
||||
epan/dissectors/asn1/ess/Makefile
|
||||
epan/dissectors/asn1/f1ap/Makefile
|
||||
epan/dissectors/asn1/ftam/Makefile
|
||||
epan/dissectors/asn1/goose/Makefile
|
||||
epan/dissectors/asn1/gprscdr/Makefile
|
||||
|
|
|
@ -103,6 +103,7 @@ Broadcom tags (Broadcom Ethernet switch management frames)
|
|||
CVS password server
|
||||
CAN-ETH
|
||||
Excentis DOCSIS31 XRA header
|
||||
F1 Application Protocol
|
||||
F5ethtrailer
|
||||
FP Mux
|
||||
GRPC (gRPC)
|
||||
|
|
|
@ -713,6 +713,9 @@ indent_size = tab
|
|||
indent_style = tab
|
||||
indent_size = tab
|
||||
|
||||
[packet-f1ap.[ch]]
|
||||
indent_size = 2
|
||||
|
||||
[packet-fcgi.[ch]]
|
||||
indent_size = 3
|
||||
|
||||
|
|
|
@ -94,6 +94,7 @@ set(CLEAN_ASN1_DISSECTOR_SRC
|
|||
${CMAKE_CURRENT_SOURCE_DIR}/packet-dsp.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-ecp.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-ess.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-f1ap.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-ftam.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-goose.c
|
||||
${CMAKE_CURRENT_SOURCE_DIR}/packet-gsm_map.c
|
||||
|
@ -575,6 +576,7 @@ set(DISSECTOR_PUBLIC_HEADERS
|
|||
packet-wtp.h
|
||||
packet-x11.h
|
||||
packet-x11-keysymdef.h
|
||||
packet-x2ap.h
|
||||
packet-x509af.h
|
||||
packet-x509ce.h
|
||||
packet-x509if.h
|
||||
|
|
|
@ -109,6 +109,7 @@ ASN1_DISSECTOR_SRC = \
|
|||
packet-dsp.c \
|
||||
packet-ecp.c \
|
||||
packet-ess.c \
|
||||
packet-f1ap.c \
|
||||
packet-ftam.c \
|
||||
packet-goose.c \
|
||||
packet-gsm_map.c \
|
||||
|
@ -1844,6 +1845,7 @@ DISSECTOR_INCLUDES = \
|
|||
x11-extension-errors.h \
|
||||
x11-glx-render-enum.h \
|
||||
x11-enum.h \
|
||||
packet-x2ap.h \
|
||||
packet-x509af.h \
|
||||
packet-x509ce.h \
|
||||
packet-x509if.h \
|
||||
|
|
|
@ -32,6 +32,7 @@ set(ASN1_SRC_DIRS
|
|||
dop
|
||||
dsp
|
||||
ess
|
||||
f1ap
|
||||
ftam
|
||||
goose
|
||||
gprscdr
|
||||
|
|
|
@ -32,6 +32,7 @@ SUBDIRS = \
|
|||
dop \
|
||||
dsp \
|
||||
ess \
|
||||
f1ap \
|
||||
ftam \
|
||||
goose \
|
||||
gprscdr \
|
||||
|
|
|
@ -0,0 +1,43 @@
|
|||
# CMakeLists.txt
|
||||
#
|
||||
# Wireshark - Network traffic analyzer
|
||||
# By Gerald Combs <gerald@wireshark.org>
|
||||
# Copyright 1998 Gerald Combs
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
#
|
||||
|
||||
set( PROTOCOL_NAME f1ap )
|
||||
|
||||
set( PROTO_OPT )
|
||||
|
||||
set( EXPORT_FILES
|
||||
${PROTOCOL_NAME}-exp.cnf
|
||||
)
|
||||
|
||||
set( EXT_ASN_FILE_LIST
|
||||
)
|
||||
|
||||
set( ASN_FILE_LIST
|
||||
F1AP-CommonDataTypes.asn
|
||||
F1AP-Constants.asn
|
||||
F1AP-Containers.asn
|
||||
F1AP-IEs.asn
|
||||
F1AP-PDU-Contents.asn
|
||||
F1AP-PDU-Descriptions.asn
|
||||
)
|
||||
|
||||
set( EXTRA_DIST
|
||||
${ASN_FILE_LIST}
|
||||
packet-${PROTOCOL_NAME}-template.c
|
||||
${PROTOCOL_NAME}.cnf
|
||||
)
|
||||
|
||||
set( SRC_FILES
|
||||
${EXTRA_DIST}
|
||||
${EXT_ASN_FILE_LIST}
|
||||
)
|
||||
|
||||
set( A2W_FLAGS )
|
||||
|
||||
ASN2WRS()
|
|
@ -0,0 +1,34 @@
|
|||
-- 3GPP TS 38.473 V15.0.0 (2017-12)
|
||||
-- 9.4.6 Common Definitions
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Common definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-CommonDataTypes {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
ngran-access (22) modules (3) f1ap (3) version1 (1) f1ap-CommonDataTypes (3) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
Criticality ::= ENUMERATED { reject, ignore, notify }
|
||||
|
||||
Presence ::= ENUMERATED { optional, conditional, mandatory }
|
||||
|
||||
PrivateIE-ID ::= CHOICE {
|
||||
local INTEGER (0..65535),
|
||||
global OBJECT IDENTIFIER
|
||||
}
|
||||
|
||||
ProcedureCode ::= INTEGER (0..255)
|
||||
|
||||
ProtocolExtensionID ::= INTEGER (0..65535)
|
||||
|
||||
ProtocolIE-ID ::= INTEGER (0..65535)
|
||||
|
||||
TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuccessfull-outcome }
|
||||
|
||||
END
|
|
@ -0,0 +1,148 @@
|
|||
-- 3GPP TS 38.473 V15.0.0 (2017-12)
|
||||
-- 9.4.7 Constant Definitions
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Constant definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-Constants {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
ngran-access (22) modules (3) f1ap (3) version1 (1) f1ap-Constants (4) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
ProcedureCode,
|
||||
ProtocolIE-ID
|
||||
|
||||
FROM F1AP-CommonDataTypes;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-Reset ProcedureCode ::= 0
|
||||
id-F1Setup ProcedureCode ::= 1
|
||||
id-ErrorIndication ProcedureCode ::= 2
|
||||
id-gNBDUConfigurationUpdate ProcedureCode ::= 3
|
||||
id-gNBCUConfigurationUpdate ProcedureCode ::= 4
|
||||
id-UEContextSetup ProcedureCode ::= 5
|
||||
id-UEContextRelease ProcedureCode ::= 6
|
||||
id-UEContextModification ProcedureCode ::= 7
|
||||
id-UEContextModificationRequired ProcedureCode ::= 8
|
||||
id-UEMobilityCommand ProcedureCode ::= 9
|
||||
|
||||
id-UEContextReleaseRequest ProcedureCode ::= 10
|
||||
id-InitialULRRCMessageTransfer ProcedureCode ::= 11
|
||||
id-DLRRCMessageTransfer ProcedureCode ::= 12
|
||||
id-ULRRCMessageTransfer ProcedureCode ::= 13
|
||||
id-SystemInformationDelivery ProcedureCode ::= 14
|
||||
id-Paging ProcedureCode ::= 15
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Extension constants
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
maxPrivateIEs INTEGER ::= 65535
|
||||
maxProtocolExtensions INTEGER ::= 65535
|
||||
maxProtocolIEs INTEGER ::= 65535
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Lists
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
maxnoofErrors INTEGER ::= 256
|
||||
maxnoofIndividualF1ConnectionsToReset INTEGER ::= 256
|
||||
maxCellingNBDU INTEGER ::= 512
|
||||
maxnoofSCells INTEGER ::= 64
|
||||
maxnoofSRBs INTEGER ::= 8
|
||||
maxnoofDRBs INTEGER ::= 64
|
||||
maxnoofULTunnels INTEGER ::= 2
|
||||
maxnoofDLTunnels INTEGER ::= 2
|
||||
maxnoofBPLMNs INTEGER ::= 6
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
id-Cause ProtocolIE-ID ::= 0
|
||||
id-CriticalityDiagnostics ProtocolIE-ID ::= 1
|
||||
id-gNB-DU-F1AP-ID ProtocolIE-ID ::= 2
|
||||
id-gNB-CU-F1AP-ID ProtocolIE-ID ::= 3
|
||||
id-ResetType ProtocolIE-ID ::= 4
|
||||
id-TimeToWait ProtocolIE-ID ::= 5
|
||||
id-UE-associatedLogicalF1-ConnectionItem ProtocolIE-ID ::= 6
|
||||
id-UE-associatedLogicalF1-ConnectionListResAck ProtocolIE-ID ::= 7
|
||||
id-RRCContainer ProtocolIE-ID ::= 8
|
||||
id-SRBID ProtocolIE-ID ::= 9
|
||||
id-gNB-DU-ID ProtocolIE-ID ::= 10
|
||||
id-gNB-Name ProtocolIE-ID ::= 11
|
||||
id-NRCellID ProtocolIE-ID ::= 12
|
||||
id-PCI ProtocolIE-ID ::= 13
|
||||
id-gNB-DU-Served-Cells-List ProtocolIE-ID ::= 14
|
||||
id-Cells-to-be-Activated-List ProtocolIE-ID ::= 15
|
||||
id-Served-Cells-To-Add-List ProtocolIE-ID ::= 16
|
||||
id-Served-Cells-To-Modify-List ProtocolIE-ID ::= 17
|
||||
id-Served-Cells-To-Delete-List ProtocolIE-ID ::= 18
|
||||
id-Cells-to-be-Deactivated-List ProtocolIE-ID ::= 19
|
||||
id-Cells-Failed-to-be-Activated-List ProtocolIE-ID ::= 20
|
||||
id-TransactionID ProtocolIE-ID ::= 21
|
||||
id-Served-Cell-Information ProtocolIE-ID ::= 22
|
||||
id-gNB-DU-System-Information ProtocolIE-ID ::= 23
|
||||
id-NCGI ProtocolIE-ID ::= 24
|
||||
id-gNB-CU-System-Information ProtocolIE-ID ::= 25
|
||||
id-OldNCGI ProtocolIE-ID ::= 26
|
||||
id-DRBID ProtocolIE-ID ::= 27
|
||||
id-PSCell-ID ProtocolIE-ID ::= 28
|
||||
id-EUTRANQoS ProtocolIE-ID ::= 29
|
||||
id-SRBs-ToBeSetup-List ProtocolIE-ID ::= 30
|
||||
id-DRBs-ToBeSetup-List ProtocolIE-ID ::= 31
|
||||
id-DLTunnels-ToBeSetup-List ProtocolIE-ID ::= 32
|
||||
id-ULTunnels-ToBeSetup-List ProtocolIE-ID ::= 33
|
||||
id-UL-GTP-Tunnel-EndPoint ProtocolIE-ID ::= 34
|
||||
id-DL-GTP-Tunnel-EndPoint ProtocolIE-ID ::= 35
|
||||
id-CUtoDURRCInformation ProtocolIE-ID ::= 36
|
||||
id-DUtoCURRCInformation ProtocolIE-ID ::= 37
|
||||
id-UERadioCapability ProtocolIE-ID ::= 38
|
||||
id-UEAggregateMaximumBitRate ProtocolIE-ID ::= 39
|
||||
id-SCell-ToBeSetup-List ProtocolIE-ID ::= 40
|
||||
id-ResourceCoordinationTransferContainer ProtocolIE-ID ::= 41
|
||||
id-DRBs-ToBeModified-List ProtocolIE-ID ::= 42
|
||||
id-DRBs-ToBeReleased-List ProtocolIE-ID ::= 43
|
||||
id-DRBs-Modified-List ProtocolIE-ID ::= 44
|
||||
id-DRBs-FailedToSetup-List ProtocolIE-ID ::= 45
|
||||
id-DRBs-FailedToBeModified-List ProtocolIE-ID ::= 46
|
||||
id-SCell-ID ProtocolIE-ID ::= 47
|
||||
id-DRXCycle ProtocolIE-ID ::= 48
|
||||
id-DRBs-Setup-List ProtocolIE-ID ::= 49
|
||||
id-SRBs-Setup-List ProtocolIE-ID ::= 50
|
||||
id-DRBs-FailedToBeSetup-List ProtocolIE-ID ::= 51
|
||||
id-SRBs-FailedToBeSetup-List ProtocolIE-ID ::= 52
|
||||
id-DLTunnels-ToBeSetup-list ProtocolIE-ID ::= 53
|
||||
id-ULTunnels-ToBeSetup-list ProtocolIE-ID ::= 54
|
||||
id-TransmissionStopIndicator ProtocolIE-ID ::= 55
|
||||
id-DRBs-Required-ToBeModified-List ProtocolIE-ID ::= 56
|
||||
id-DRBs-Required-ToBeReleased-List ProtocolIE-ID ::= 57
|
||||
id-SRBs-Required-ToBeReleased-List ProtocolIE-ID ::= 58
|
||||
id-oldgNB-DU-F1AP-ID ProtocolIE-ID ::= 59
|
||||
id-SRBs-ToBeReleased-List ProtocolIE-ID ::= 60
|
||||
id-DRBs-ModifiedConf-List ProtocolIE-ID ::= 61
|
||||
id-privateMessage ProtocolIE-ID ::= 62
|
||||
|
||||
END
|
|
@ -0,0 +1,200 @@
|
|||
-- 3GPP TS 38.473 V15.0.0 (2017-12)
|
||||
-- 9.4.8 Container Definitions
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-Containers {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
ngran-access (22) modules (3) f1ap (3) version1 (1) f1ap-Containers (5) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
Criticality,
|
||||
Presence,
|
||||
PrivateIE-ID,
|
||||
ProtocolExtensionID,
|
||||
ProtocolIE-ID
|
||||
|
||||
FROM F1AP-CommonDataTypes
|
||||
maxPrivateIEs,
|
||||
maxProtocolExtensions,
|
||||
maxProtocolIEs
|
||||
|
||||
FROM F1AP-Constants;
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-PROTOCOL-IES ::= CLASS {
|
||||
&id ProtocolIE-ID UNIQUE,
|
||||
&criticality Criticality,
|
||||
&Value,
|
||||
&presence Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
TYPE &Value
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-PROTOCOL-IES-PAIR ::= CLASS {
|
||||
&id ProtocolIE-ID UNIQUE,
|
||||
&firstCriticality Criticality,
|
||||
&FirstValue,
|
||||
&secondCriticality Criticality,
|
||||
&SecondValue,
|
||||
&presence Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
FIRST CRITICALITY &firstCriticality
|
||||
FIRST TYPE &FirstValue
|
||||
SECOND CRITICALITY &secondCriticality
|
||||
SECOND TYPE &SecondValue
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Protocol Extensions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-PROTOCOL-EXTENSION ::= CLASS {
|
||||
&id ProtocolExtensionID UNIQUE,
|
||||
&criticality Criticality,
|
||||
&Extension,
|
||||
&presence Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
EXTENSION &Extension
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Class Definition for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-PRIVATE-IES ::= CLASS {
|
||||
&id PrivateIE-ID,
|
||||
&criticality Criticality,
|
||||
&Value,
|
||||
&presence Presence
|
||||
}
|
||||
WITH SYNTAX {
|
||||
ID &id
|
||||
CRITICALITY &criticality
|
||||
TYPE &Value
|
||||
PRESENCE &presence
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-Container {F1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-SingleContainer {F1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
ProtocolIE-Field {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-Field {F1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id F1AP-PROTOCOL-IES.&id ({IEsSetParam}),
|
||||
criticality F1AP-PROTOCOL-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value F1AP-PROTOCOL-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol IE Pairs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerPair {F1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
|
||||
ProtocolIE-FieldPair {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-FieldPair {F1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE {
|
||||
id F1AP-PROTOCOL-IES-PAIR.&id ({IEsSetParam}),
|
||||
firstCriticality F1AP-PROTOCOL-IES-PAIR.&firstCriticality ({IEsSetParam}{@id}),
|
||||
firstValue F1AP-PROTOCOL-IES-PAIR.&FirstValue ({IEsSetParam}{@id}),
|
||||
secondCriticality F1AP-PROTOCOL-IES-PAIR.&secondCriticality ({IEsSetParam}{@id}),
|
||||
secondValue F1AP-PROTOCOL-IES-PAIR.&SecondValue ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container Lists for Protocol IE Containers
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, F1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-SingleContainer {{IEsSetParam}}
|
||||
|
||||
ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound,F1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
ProtocolIE-ContainerPair {{IEsSetParam}}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Protocol Extensions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ProtocolExtensionContainer {F1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
|
||||
SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
|
||||
ProtocolExtensionField {{ExtensionSetParam}}
|
||||
|
||||
ProtocolExtensionField {F1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE {
|
||||
id F1AP-PROTOCOL-EXTENSION.&id ({ExtensionSetParam}),
|
||||
criticality F1AP-PROTOCOL-EXTENSION.&criticality ({ExtensionSetParam}{@id}),
|
||||
extensionValue F1AP-PROTOCOL-EXTENSION.&Extension ({ExtensionSetParam}{@id})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Container for Private IEs
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
PrivateIE-Container {F1AP-PRIVATE-IES : IEsSetParam } ::=
|
||||
SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
|
||||
PrivateIE-Field {{IEsSetParam}}
|
||||
|
||||
PrivateIE-Field {F1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
|
||||
id F1AP-PRIVATE-IES.&id ({IEsSetParam}),
|
||||
criticality F1AP-PRIVATE-IES.&criticality ({IEsSetParam}{@id}),
|
||||
value F1AP-PRIVATE-IES.&Value ({IEsSetParam}{@id})
|
||||
}
|
||||
|
||||
END
|
|
@ -0,0 +1,385 @@
|
|||
-- 3GPP TS 38.473 V15.0.0 (2017-12)
|
||||
-- 9.4.5 Information Element Definitions
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Information Element Definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-IEs {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
ngran-access (22) modules (3) f1ap (3) version1 (1) f1ap-IEs (2) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
IMPORTS
|
||||
maxnoofErrors,
|
||||
maxnoofIndividualF1ConnectionsToReset,
|
||||
maxnoofBPLMNs
|
||||
|
||||
FROM F1AP-Constants
|
||||
|
||||
Criticality,
|
||||
ProcedureCode,
|
||||
ProtocolIE-ID,
|
||||
TriggeringMessage
|
||||
|
||||
FROM F1AP-CommonDataTypes
|
||||
|
||||
ProtocolExtensionContainer{},
|
||||
F1AP-PROTOCOL-EXTENSION,
|
||||
ProtocolIE-SingleContainer{},
|
||||
F1AP-PROTOCOL-IES
|
||||
|
||||
FROM F1AP-Containers;
|
||||
|
||||
-- A
|
||||
|
||||
AllocationAndRetentionPriority ::= SEQUENCE {
|
||||
priorityLevel PriorityLevel,
|
||||
pre-emptionCapability Pre-emptionCapability,
|
||||
pre-emptionVulnerability Pre-emptionVulnerability,
|
||||
iE-Extensions ProtocolExtensionContainer { {AllocationAndRetentionPriority-ExtIEs} } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
AllocationAndRetentionPriority-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
-- B
|
||||
|
||||
BitRate ::= INTEGER (0..4000000000000,...)
|
||||
|
||||
BroadcastPLMNs-Item ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF PLMN-Identity
|
||||
|
||||
-- C
|
||||
|
||||
Cause ::= CHOICE {
|
||||
radioNetwork CauseRadioNetwork,
|
||||
transport CauseTransport,
|
||||
protocol CauseProtocol,
|
||||
misc CauseMisc,
|
||||
...
|
||||
}
|
||||
|
||||
CauseMisc ::= ENUMERATED {
|
||||
control-processing-overload,
|
||||
not-enough-user-plane-processing-resources,
|
||||
hardware-failure,
|
||||
om-intervention,
|
||||
unspecified,
|
||||
...
|
||||
}
|
||||
|
||||
CauseProtocol ::= ENUMERATED {
|
||||
transfer-syntax-error,
|
||||
abstract-syntax-error-reject,
|
||||
abstract-syntax-error-ignore-and-notify,
|
||||
message-not-compatible-with-receiver-state,
|
||||
semantic-error,
|
||||
abstract-syntax-error-falsely-constructed-message,
|
||||
unspecified,
|
||||
...
|
||||
}
|
||||
|
||||
CauseRadioNetwork ::= ENUMERATED {
|
||||
unspecified,
|
||||
...
|
||||
}
|
||||
|
||||
CauseTransport ::= ENUMERATED {
|
||||
unspecified,
|
||||
...
|
||||
}
|
||||
|
||||
CellGroupConfig ::= OCTET STRING
|
||||
|
||||
CriticalityDiagnostics ::= SEQUENCE {
|
||||
procedureCode ProcedureCode OPTIONAL,
|
||||
triggeringMessage TriggeringMessage OPTIONAL,
|
||||
procedureCriticality Criticality OPTIONAL,
|
||||
iEsCriticalityDiagnostics CriticalityDiagnostics-IE-List OPTIONAL,
|
||||
iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-ExtIEs}} OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
CriticalityDiagnostics-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
CriticalityDiagnostics-IE-List ::= SEQUENCE (SIZE (1.. maxnoofErrors)) OF CriticalityDiagnostics-IE-Item
|
||||
|
||||
CriticalityDiagnostics-IE-Item ::= SEQUENCE {
|
||||
iECriticality Criticality,
|
||||
iE-ID ProtocolIE-ID,
|
||||
typeOfError TypeOfError,
|
||||
iE-Extensions ProtocolExtensionContainer {{CriticalityDiagnostics-IE-Item-ExtIEs}} OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
CriticalityDiagnostics-IE-Item-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
CUtoDURRCInformation ::= SEQUENCE {
|
||||
sCG-Config-Info SCG-Config-Info OPTIONAL,
|
||||
uERadiocapabilities UERadiocapabilities,
|
||||
iE-Extensions ProtocolExtensionContainer { { CUtoDURRCInformation-ExtIEs} } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
CUtoDURRCInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
-- D
|
||||
|
||||
DRBID ::= INTEGER (0..15, ...)
|
||||
|
||||
DRXCycle ::= SEQUENCE {
|
||||
longDRXCycleLength LongDRXCycleLength,
|
||||
shortDRXCycleLength ShortDRXCycleLength OPTIONAL,
|
||||
shortDRXCycleTimer ShortDRXCycleTimer OPTIONAL,
|
||||
iE-Extensions ProtocolExtensionContainer { { DRXCycle-ExtIEs} } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
DRXCycle-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
DUtoCURRCInformation ::= SEQUENCE {
|
||||
cellGroupConfig CellGroupConfig,
|
||||
iE-Extensions ProtocolExtensionContainer { { DUtoCURRCInformation-ExtIEs} } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
DUtoCURRCInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
-- E
|
||||
|
||||
EUTRANQoS ::= SEQUENCE {
|
||||
qCI QCI,
|
||||
allocationAndRetentionPriority AllocationAndRetentionPriority,
|
||||
gbrQosInformation GBR-QosInformation OPTIONAL,
|
||||
iE-Extensions ProtocolExtensionContainer { { EUTRANQoS-ExtIEs} } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
EUTRANQoS-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
-- F
|
||||
|
||||
FDD-Info ::= SEQUENCE {
|
||||
uL-NARFCN NARFCN,
|
||||
dL-NARFCN NARFCN,
|
||||
uL-Transmission-Bandwidth Transmission-Bandwidth,
|
||||
dL-Transmission-Bandwidth Transmission-Bandwidth,
|
||||
iE-Extensions ProtocolExtensionContainer { {FDD-Info-ExtIEs} } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
FDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
-- G
|
||||
|
||||
GBR-QosInformation ::= SEQUENCE {
|
||||
e-RAB-MaximumBitrateDL BitRate,
|
||||
e-RAB-MaximumBitrateUL BitRate,
|
||||
e-RAB-GuaranteedBitrateDL BitRate,
|
||||
e-RAB-GuaranteedBitrateUL BitRate,
|
||||
iE-Extensions ProtocolExtensionContainer { { GBR-QosInformation-ExtIEs} } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
GBR-QosInformation-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
GNB-CU-F1AP-ID ::= INTEGER (0..4294967295)
|
||||
|
||||
GNB-DU-F1AP-ID ::= INTEGER (0..4294967295)
|
||||
|
||||
GNB-DU-ID ::= INTEGER (0..68719476735)
|
||||
|
||||
GNB-DU-System-Information ::= SEQUENCE {
|
||||
mIB-message MIB-message,
|
||||
sIB1-message SIB1-message,
|
||||
iE-Extensions ProtocolExtensionContainer { { GNB-DU-System-Information-ExtIEs } } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
GNB-DU-System-Information-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
GTP-TEID ::= OCTET STRING (SIZE (4))
|
||||
|
||||
GTPTunnelEndpoint ::= SEQUENCE {
|
||||
transportLayerAddress TransportLayerAddress,
|
||||
gTP-TEID GTP-TEID,
|
||||
iE-Extensions ProtocolExtensionContainer { { GTPTunnelEndpoint-ExtIEs} } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
GTPTunnelEndpoint-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
-- H
|
||||
|
||||
-- I
|
||||
|
||||
-- J
|
||||
|
||||
-- K
|
||||
|
||||
-- L
|
||||
|
||||
LongDRXCycleLength ::= ENUMERATED
|
||||
{ms10, ms20, ms32, ms40, ms60, ms64, ms70, ms80, ms128, ms160, ms256, ms320, ms512, ms640, ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, ...}
|
||||
|
||||
-- M
|
||||
|
||||
MIB-message ::= OCTET STRING
|
||||
|
||||
-- N
|
||||
|
||||
NARFCN ::= INTEGER (0..65535)
|
||||
-- This IE may be refined
|
||||
|
||||
NCGI ::= SEQUENCE {
|
||||
pLMN-Identity PLMN-Identity,
|
||||
nRCellIdentity NRCellIdentity,
|
||||
iE-Extensions ProtocolExtensionContainer { {NCGI-ExtIEs} } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
NCGI-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
NR-Mode-Info ::= CHOICE {
|
||||
fDD FDD-Info,
|
||||
tDD TDD-Info,
|
||||
...
|
||||
}
|
||||
|
||||
NRCellIdentity ::= BIT STRING (SIZE(36))
|
||||
|
||||
-- O
|
||||
|
||||
-- P
|
||||
|
||||
PLMN-Identity ::= OCTET STRING (SIZE(3))
|
||||
|
||||
Pre-emptionCapability ::= ENUMERATED {
|
||||
shall-not-trigger-pre-emption,
|
||||
may-trigger-pre-emption
|
||||
}
|
||||
|
||||
Pre-emptionVulnerability ::= ENUMERATED {
|
||||
not-pre-emptable,
|
||||
pre-emptable
|
||||
}
|
||||
|
||||
PriorityLevel ::= INTEGER { spare (0), highest (1), lowest (14), no-priority (15) } (0..15)
|
||||
|
||||
PCI ::= INTEGER(0..1007)
|
||||
|
||||
-- Q
|
||||
|
||||
QCI ::= INTEGER (0..255)
|
||||
|
||||
-- R
|
||||
|
||||
RRCContainer ::= OCTET STRING
|
||||
|
||||
-- S
|
||||
SCG-Config-Info ::= OCTET STRING
|
||||
|
||||
Served-Cell-Information ::= SEQUENCE {
|
||||
nCGI NCGI,
|
||||
pCI PCI,
|
||||
broadcastPLMNs BroadcastPLMNs-Item,
|
||||
nR-Mode-Info NR-Mode-Info,
|
||||
iE-Extensions ProtocolExtensionContainer { {Served-Cell-Information-ExtIEs} } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
Served-Cell-Information-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
ShortDRXCycleLength ::= ENUMERATED {ms2, ms3, ms4, ms5, ms6, ms7, ms8, ms10, ms14, ms16, ms20, ms30, ms32, ms35, ms40, ms64, ms80, ms128, ms160, ms256, ms320, ms512, ms640, ...}
|
||||
|
||||
ShortDRXCycleTimer ::= INTEGER (1..16)
|
||||
|
||||
SIB1-message ::= OCTET STRING
|
||||
|
||||
SRBID ::= INTEGER (0..3, ...)
|
||||
-- T
|
||||
|
||||
TDD-Info ::= SEQUENCE {
|
||||
nARFCN NARFCN,
|
||||
transmission-Bandwidth Transmission-Bandwidth,
|
||||
iE-Extensions ProtocolExtensionContainer { {TDD-Info-ExtIEs} } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
TDD-Info-ExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...}
|
||||
|
||||
TransportLayerAddress ::= BIT STRING (SIZE(1..160, ...))
|
||||
|
||||
TransactionID ::= INTEGER (0..255, ...)
|
||||
|
||||
Transmission-Bandwidth ::= INTEGER (0..65535)
|
||||
-- This IE may be refined
|
||||
|
||||
TransmissionStopIndicator ::= ENUMERATED {true, ...}
|
||||
|
||||
TypeOfError ::= ENUMERATED {
|
||||
not-understood,
|
||||
missing,
|
||||
...
|
||||
}
|
||||
|
||||
-- U
|
||||
|
||||
UE-associatedLogicalF1-ConnectionItem ::= SEQUENCE {
|
||||
gNB-CU-F1AP-ID GNB-CU-F1AP-ID OPTIONAL,
|
||||
gNB-DU-F1AP-ID GNB-DU-F1AP-ID OPTIONAL,
|
||||
iE-Extensions ProtocolExtensionContainer { { UE-associatedLogicalF1-ConnectionItemExtIEs} } OPTIONAL,
|
||||
...
|
||||
}
|
||||
|
||||
UE-associatedLogicalF1-ConnectionItemExtIEs F1AP-PROTOCOL-EXTENSION ::= {
|
||||
...
|
||||
}
|
||||
|
||||
UERadiocapabilities::= OCTET STRING
|
||||
|
||||
-- V
|
||||
|
||||
-- W
|
||||
|
||||
-- X
|
||||
|
||||
-- Y
|
||||
|
||||
-- Z
|
||||
|
||||
END
|
|
@ -0,0 +1,938 @@
|
|||
-- 3GPP TS 38.473 V15.0.0 (2017-12)
|
||||
-- 9.4.4 PDU Definitions
|
||||
-- **************************************************************
|
||||
--
|
||||
-- PDU definitions for F1AP.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-PDU-Contents {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
ngran-access (22) modules (3) f1ap (3) version1 (1) f1ap-PDU-Contents (1) }
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
Cause,
|
||||
CriticalityDiagnostics,
|
||||
GNB-CU-F1AP-ID,
|
||||
GNB-DU-F1AP-ID,
|
||||
TimeToWait,
|
||||
UE-associatedLogicalF1-ConnectionItem,
|
||||
RRCContainer,
|
||||
TransactionID,
|
||||
PCI,
|
||||
GNB-DU-ID,
|
||||
Served-Cell-Information,
|
||||
GNB-DU-System-Information,
|
||||
NCGI,
|
||||
DRBID,
|
||||
SRBID,
|
||||
EUTRANQoS,
|
||||
GTPTunnelEndpoint,
|
||||
CUtoDURRCInformation,
|
||||
DUtoCURRCInformation,
|
||||
TransmissionStopIndicator, DRXCycle
|
||||
|
||||
|
||||
FROM F1AP-IEs
|
||||
PrivateIE-Container{},
|
||||
ProtocolExtensionContainer{},
|
||||
ProtocolIE-Container{},
|
||||
ProtocolIE-ContainerList{},
|
||||
ProtocolIE-ContainerPair{},
|
||||
ProtocolIE-ContainerPairList{},
|
||||
ProtocolIE-SingleContainer{},
|
||||
F1AP-PRIVATE-IES,
|
||||
F1AP-PROTOCOL-EXTENSION,
|
||||
F1AP-PROTOCOL-IES,
|
||||
F1AP-PROTOCOL-IES-PAIR
|
||||
|
||||
FROM F1AP-Containers
|
||||
id-Cause,
|
||||
id-CriticalityDiagnostics,
|
||||
id-gNB-CU-F1AP-ID,
|
||||
id-gNB-DU-F1AP-ID,
|
||||
id-ResetType,
|
||||
id-TimeToWait,
|
||||
id-UE-associatedLogicalF1-ConnectionItem,
|
||||
id-UE-associatedLogicalF1-ConnectionListResAck,
|
||||
id-RRCContainer,
|
||||
id-SRBID,
|
||||
id-TransactionID,
|
||||
id-PCI,
|
||||
id-gNB-DU-ID,
|
||||
id-gNB-Name,
|
||||
id-gNB-DU-Served-Cells-List,
|
||||
id-Served-Cell-Information,
|
||||
id-gNB-DU-System-Information,
|
||||
id-Cells-to-be-Activated-List,
|
||||
id-NCGI,
|
||||
id-gNB-CU-System-Information,
|
||||
id-Served-Cells-To-Add-List,
|
||||
id-Served-Cells-To-Modify-List,
|
||||
id-Served-Cells-To-Delete-List,
|
||||
id-OldNCGI,
|
||||
id-Cells-to-be-Deactivated-List,
|
||||
id-Cells-Failed-to-be-Activated-List,
|
||||
id-DRBID,
|
||||
id-SRBID,
|
||||
id-PSCell-ID,
|
||||
id-EUTRANQoS,
|
||||
id-SRBs-ToBeSetup-List,
|
||||
id-DRBs-ToBeSetup-List,
|
||||
id-DLTunnels-ToBeSetup-List,
|
||||
id-ULTunnels-ToBeSetup-List,
|
||||
id-UL-GTP-Tunnel-EndPoint,
|
||||
id-DL-GTP-Tunnel-EndPoint,
|
||||
id-CUtoDURRCInformation,
|
||||
id-DUtoCURRCInformation,
|
||||
id-UERadioCapability,
|
||||
id-UEAggregateMaximumBitRate,
|
||||
id-SCell-ToBeSetup-List,
|
||||
id-ResourceCoordinationTransferContainer,
|
||||
id-DRBs-ToBeModified-List,
|
||||
id-SRBs-ToBeReleased-List,
|
||||
id-DRBs-ToBeReleased-List,
|
||||
id-DRBs-Modified-List,
|
||||
id-DRBs-FailedToSetup-List,
|
||||
id-DRBs-FailedToBeModified-List,
|
||||
id-SCell-ID,
|
||||
id-DRXCycle,
|
||||
id-DRBs-Setup-List,
|
||||
id-SRBs-Setup-List,
|
||||
id-DRBs-FailedToBeSetup-List,
|
||||
id-SRBs-FailedToBeSetup-List,
|
||||
id-DLTunnels-ToBeSetup-list,
|
||||
id-ULTunnels-ToBeSetup-list,
|
||||
id-TransmissionStopIndicator,
|
||||
id-DRBs-Required-ToBeModified-List,
|
||||
id-DRBs-Required-ToBeReleased-List,
|
||||
id-SRBs-Required-ToBeReleased-List,
|
||||
id-oldgNB-DU-F1AP-ID,
|
||||
maxnoofSCells,
|
||||
maxnoofSRBs,
|
||||
maxnoofDRBs,
|
||||
maxnoofULTunnels,
|
||||
maxnoofDLTunnels,
|
||||
maxCellingNBDU,
|
||||
maxnoofErrors,
|
||||
maxnoofIndividualF1ConnectionsToReset,
|
||||
id-DRBs-ModifiedConf-List
|
||||
|
||||
FROM F1AP-Constants;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- RESET ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Reset
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
Reset ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { {ResetIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
ResetIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
|
||||
{ ID id-ResetType CRITICALITY reject TYPE ResetType PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
ResetType ::= CHOICE {
|
||||
f1-Interface ResetAll,
|
||||
partOfF1-Interface UE-associatedLogicalF1-ConnectionListRes,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
ResetAll ::= ENUMERATED {
|
||||
reset-all,
|
||||
...
|
||||
}
|
||||
|
||||
UE-associatedLogicalF1-ConnectionListRes ::= SEQUENCE (SIZE(1.. maxnoofIndividualF1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalF1-ConnectionItemRes } }
|
||||
|
||||
UE-associatedLogicalF1-ConnectionItemRes F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-UE-associatedLogicalF1-ConnectionItem CRITICALITY reject TYPE UE-associatedLogicalF1-ConnectionItem PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Reset Acknowledge
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ResetAcknowledge ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { {ResetAcknowledgeIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
ResetAcknowledgeIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||
{ ID id-UE-associatedLogicalF1-ConnectionListResAck CRITICALITY ignore TYPE UE-associatedLogicalF1-ConnectionListResAck PRESENCE optional }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
UE-associatedLogicalF1-ConnectionListResAck ::= SEQUENCE (SIZE(1.. maxnoofIndividualF1ConnectionsToReset)) OF ProtocolIE-SingleContainer { { UE-associatedLogicalF1-ConnectionItemResAck } }
|
||||
|
||||
UE-associatedLogicalF1-ConnectionItemResAck F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-UE-associatedLogicalF1-ConnectionItem CRITICALITY ignore TYPE UE-associatedLogicalF1-ConnectionItem PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- ERROR INDICATION ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Error Indication
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ErrorIndication ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ErrorIndicationIEs}},
|
||||
...
|
||||
}
|
||||
|
||||
ErrorIndicationIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory}|
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY ignore TYPE GNB-CU-F1AP-ID PRESENCE optional }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY ignore TYPE GNB-DU-F1AP-ID PRESENCE optional }|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- F1 SETUP ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- F1 Setup Request
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1SetupRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { {F1SetupRequestIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
F1SetupRequestIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-ID CRITICALITY reject TYPE GNB-DU-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-Name CRITICALITY ignore TYPE GNB-Name PRESENCE optional }|
|
||||
{ ID id-gNB-DU-Served-Cells-List CRITICALITY reject TYPE GNB-DU-Served-Cells-List PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
GNB-DU-Served-Cells-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { GNB-DU-Served-Cells-ItemIEs } }
|
||||
|
||||
GNB-DU-Served-Cells-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Served-Cell-Information CRITICALITY reject TYPE Served-Cell-Information PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-System-Information CRITICALITY reject TYPE GNB-DU-System-Information PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
GNB-Name ::= PrintableString(SIZE(1..150,...))
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- F1 Setup Response
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1SetupResponse ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { {F1SetupResponseIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
F1SetupResponseIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||
{ ID id-Cells-to-be-Activated-List CRITICALITY reject TYPE Cells-to-be-Activated-List PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
Cells-to-be-Activated-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Cells-to-be-Activated-List-ItemIEs } }
|
||||
|
||||
Cells-to-be-Activated-List-ItemIEs F1AP-PROTOCOL-IES::= {
|
||||
{ ID id-NCGI CRITICALITY reject TYPE NCGI PRESENCE mandatory}|
|
||||
{ ID id-PCI CRITICALITY reject TYPE PCI PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- F1 Setup Failure
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1SetupFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { {F1SetupFailureIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
F1SetupFailureIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-TransactionID CRITICALITY reject TYPE TransactionID PRESENCE mandatory }|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
|
||||
{ ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- GNB-DU CONFIGURATION UPDATE ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- GNB-DU CONFIGURATION UPDATE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
GNBDUConfigurationUpdate::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { {GNBDUConfigurationUpdateIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
GNBDUConfigurationUpdateIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Served-Cells-To-Add-List CRITICALITY reject TYPE Served-Cells-To-Add-List PRESENCE optional }|
|
||||
{ ID id-Served-Cells-To-Modify-List CRITICALITY reject TYPE Served-Cells-To-Modify-List PRESENCE optional }|
|
||||
{ ID id-Served-Cells-To-Delete-List CRITICALITY reject TYPE Served-Cells-To-Delete-List PRESENCE optional },
|
||||
...
|
||||
}
|
||||
Served-Cells-To-Add-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Served-Cells-To-Add-ItemIEs } }
|
||||
Served-Cells-To-Modify-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Served-Cells-To-Modify-ItemIEs } }
|
||||
Served-Cells-To-Delete-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Served-Cells-To-Delete-ItemIEs } }
|
||||
|
||||
Served-Cells-To-Add-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Served-Cell-Information CRITICALITY reject TYPE Served-Cell-Information PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-System-Information CRITICALITY reject TYPE GNB-DU-System-Information PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
Served-Cells-To-Modify-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-OldNCGI CRITICALITY reject TYPE NCGI PRESENCE mandatory }|
|
||||
{ ID id-Served-Cell-Information CRITICALITY reject TYPE Served-Cell-Information PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-System-Information CRITICALITY reject TYPE GNB-DU-System-Information PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
Served-Cells-To-Delete-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-OldNCGI CRITICALITY reject TYPE NCGI PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- GNB-DU CONFIGURATION UPDATE ACKNOWLEDGE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
GNBDUConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { {GNBDUConfigurationUpdateAcknowledgeIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
GNBDUConfigurationUpdateAcknowledgeIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Cells-to-be-Activated-List CRITICALITY reject TYPE Cells-to-be-Activated-List PRESENCE optional }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- GNB-DU CONFIGURATION UPDATE FAILURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
GNBDUConfigurationUpdateFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { {GNBDUConfigurationUpdateFailureIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
GNBDUConfigurationUpdateFailureIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
|
||||
{ ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- GNB-CU CONFIGURATION UPDATE ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- GNB-CU CONFIGURATION UPDATE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
GNBCUConfigurationUpdate ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { GNBCUConfigurationUpdateIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
GNBCUConfigurationUpdateIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Cells-to-be-Activated-List CRITICALITY reject TYPE Cells-to-be-Activated-List PRESENCE optional }|
|
||||
{ ID id-Cells-to-be-Deactivated-List CRITICALITY reject TYPE Cells-to-be-Deactivated-List PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
Cells-to-be-Deactivated-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Cells-to-be-Deactivated-List-ItemIEs } }
|
||||
|
||||
Cells-to-be-Deactivated-List-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-NCGI CRITICALITY reject TYPE NCGI PRESENCE mandatory },
|
||||
...}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- GNB-CU CONFIGURATION UPDATE ACKNOWLEDGE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
GNBCUConfigurationUpdateAcknowledge ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { GNBCUConfigurationUpdateAcknowledgeIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
GNBCUConfigurationUpdateAcknowledgeIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Cells-Failed-to-be-Activated-List CRITICALITY reject TYPE Cells-Failed-to-be-Activated-List PRESENCE optional}|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
Cells-Failed-to-be-Activated-List ::= SEQUENCE (SIZE(1.. maxCellingNBDU)) OF ProtocolIE-SingleContainer { { Cells-Failed-to-be-Activated-List-ItemIEs } }
|
||||
|
||||
Cells-Failed-to-be-Activated-List-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-NCGI CRITICALITY reject TYPE NCGI PRESENCE mandatory }|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- GNB-CU CONFIGURATION UPDATE FAILURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
GNBCUConfigurationUpdateFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { GNBCUConfigurationUpdateFailureIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
GNBCUConfigurationUpdateFailureIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
|
||||
{ ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE Context Setup ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE CONTEXT SETUP REQUEST
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
UEContextSetupRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { UEContextSetupRequestIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
UEContextSetupRequestIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY ignore TYPE GNB-DU-F1AP-ID PRESENCE optional }|
|
||||
{ ID id-PSCell-ID CRITICALITY ignore TYPE NCGI PRESENCE optional }|
|
||||
{ ID id-CUtoDURRCInformation CRITICALITY reject TYPE CUtoDURRCInformation PRESENCE mandatory}|
|
||||
{ ID id-DRXCycle CRITICALITY ignore TYPE DRXCycle PRESENCE optional }|
|
||||
{ ID id-ResourceCoordinationTransferContainer CRITICALITY reject TYPE ResourceCoordinationTransferContainer PRESENCE optional }|
|
||||
{ ID id-SCell-ToBeSetup-List CRITICALITY ignore TYPE SCell-ToBeSetup-List PRESENCE optional }|
|
||||
{ ID id-SRBs-ToBeSetup-List CRITICALITY reject TYPE SRBs-ToBeSetup-List PRESENCE optional }|
|
||||
{ ID id-DRBs-ToBeSetup-List CRITICALITY reject TYPE DRBs-ToBeSetup-List PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
SCell-ToBeSetup-List::= SEQUENCE (SIZE(1..maxnoofSCells)) OF ProtocolIE-SingleContainer { { SCell-ToBeSetup-ItemIEs} }SRBs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-ToBeSetup-ItemIEs} }
|
||||
DRBs-ToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ToBeSetup-ItemIEs} }
|
||||
|
||||
ResourceCoordinationTransferContainer ::= OCTET STRING
|
||||
|
||||
SCell-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-SCell-ID CRITICALITY ignore TYPE NCGI PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
SRBs-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-SRBID CRITICALITY reject TYPE SRBID PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
DRBs-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-DRBID CRITICALITY reject TYPE DRBID PRESENCE mandatory}|
|
||||
{ ID id-EUTRANQoS CRITICALITY reject TYPE EUTRANQoS PRESENCE optional}|
|
||||
{ ID id-ULTunnels-ToBeSetup-list CRITICALITY reject TYPE ULTunnels-ToBeSetup-list PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
ULTunnels-ToBeSetup-list ::= SEQUENCE (SIZE(1..maxnoofULTunnels)) OF ProtocolIE-SingleContainer { { ULTunnels-ToBeSetup-ItemIEs} }
|
||||
|
||||
ULTunnels-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-UL-GTP-Tunnel-EndPoint CRITICALITY reject TYPE GTPTunnelEndpoint PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE CONTEXT SETUP RESPONSE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
UEContextSetupResponse ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { UEContextSetupResponseIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
UEContextSetupResponseIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY reject TYPE GNB-DU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-DUtoCURRCInformation CRITICALITY reject TYPE DUtoCURRCInformation PRESENCE mandatory }|
|
||||
{ ID id-ResourceCoordinationTransferContainer CRITICALITY reject TYPE ResourceCoordinationTransferContainer PRESENCE optional }|
|
||||
{ ID id-SRBs-Setup-List CRITICALITY ignore TYPE SRBs-Setup-List PRESENCE optional }|
|
||||
{ ID id-DRBs-Setup-List CRITICALITY ignore TYPE DRBs-Setup-List PRESENCE optional }|
|
||||
{ ID id-SRBs-FailedToBeSetup-List CRITICALITY ignore TYPE SRBs-FailedToBeSetup-List PRESENCE optional }|
|
||||
{ ID id-DRBs-FailedToBeSetup-List CRITICALITY ignore TYPE DRBs-FailedToBeSetup-List PRESENCE optional }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
SRBs-Setup-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-Setup-ItemIEs} }
|
||||
DRBs-Setup-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-Setup-ItemIEs} }
|
||||
SRBs-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-FailedToBeSetup-ItemIEs} }
|
||||
DRBs-FailedToBeSetup-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-FailedToBeSetup-ItemIEs} }
|
||||
|
||||
SRBs-Setup-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-SRBID CRITICALITY ignore TYPE SRBID PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
DRBs-Setup-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-DRBID CRITICALITY ignore TYPE DRBID PRESENCE mandatory}|
|
||||
{ ID id-DLTunnels-ToBeSetup-list CRITICALITY ignore TYPE DLTunnels-ToBeSetup-list PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
DLTunnels-ToBeSetup-list ::= SEQUENCE (SIZE(1..maxnoofDLTunnels)) OF ProtocolIE-SingleContainer { { DLTunnels-ToBeSetup-ItemIEs} }
|
||||
|
||||
DLTunnels-ToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-DL-GTP-Tunnel-EndPoint CRITICALITY ignore TYPE GTPTunnelEndpoint PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
SRBs-FailedToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-SRBID CRITICALITY ignore TYPE SRBID PRESENCE mandatory}|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
DRBs-FailedToBeSetup-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-DRBID CRITICALITY ignore TYPE DRBID PRESENCE mandatory}|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE CONTEXT SETUP FAILURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
UEContextSetupFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { UEContextSetupFailureIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
UEContextSetupFailureIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY ignore TYPE GNB-DU-F1AP-ID PRESENCE optional }|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE Context Release Request ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE Context Release Request
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
UEContextReleaseRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ UEContextReleaseRequestIEs}},
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseRequestIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY reject TYPE GNB-DU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE Context Release (gNB-CU initiated) ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE CONTEXT RELEASE COMMAND
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
UEContextReleaseCommand ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { UEContextReleaseCommandIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
UEContextReleaseCommandIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY reject TYPE GNB-DU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE CONTEXT RELEASE COMPLETE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
UEContextReleaseComplete ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { UEContextReleaseCompleteIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
UEContextReleaseCompleteIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY reject TYPE GNB-DU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, ...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE Context Modification ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE CONTEXT MODIFICATION REQUEST
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
UEContextModificationRequest ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { UEContextModificationRequestIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationRequestIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY reject TYPE GNB-DU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-PSCell-ID CRITICALITY ignore TYPE NCGI PRESENCE optional }|
|
||||
{ ID id-DRXCycle CRITICALITY ignore TYPE DRXCycle PRESENCE optional }|
|
||||
{ ID id-CUtoDURRCInformation CRITICALITY reject TYPE CUtoDURRCInformation PRESENCE optional }|
|
||||
{ ID id-TransmissionStopIndicator CRITICALITY ignore TYPE TransmissionStopIndicator PRESENCE optional }|
|
||||
{ ID id-ResourceCoordinationTransferContainer CRITICALITY reject TYPE ResourceCoordinationTransferContainer PRESENCE optional }|
|
||||
{ ID id-RRCContainer CRITICALITY ignore TYPE RRCContainer PRESENCE optional }|
|
||||
{ ID id-SCell-ToBeSetup-List CRITICALITY ignore TYPE SCell-ToBeSetup-List PRESENCE optional }|
|
||||
{ ID id-SRBs-ToBeSetup-List CRITICALITY reject TYPE SRBs-ToBeSetup-List PRESENCE optional }|
|
||||
{ ID id-DRBs-ToBeSetup-List CRITICALITY reject TYPE DRBs-ToBeSetup-List PRESENCE optional }|
|
||||
{ ID id-DRBs-ToBeModified-List CRITICALITY reject TYPE DRBs-ToBeModified-List PRESENCE optional }|
|
||||
{ ID id-SRBs-ToBeReleased-List CRITICALITY reject TYPE SRBs-ToBeReleased-List PRESENCE optional }|
|
||||
{ ID id-DRBs-ToBeReleased-List CRITICALITY reject TYPE DRBs-ToBeReleased-List PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
DRBs-ToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ToBeModified-ItemIEs} }
|
||||
SRBs-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-ToBeReleased-ItemIEs} }
|
||||
DRBs-ToBeReleased-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ToBeReleased-ItemIEs} }
|
||||
|
||||
DRBs-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-DRBID CRITICALITY reject TYPE DRBID PRESENCE mandatory}|
|
||||
{ ID id-EUTRANQoS CRITICALITY reject TYPE EUTRANQoS PRESENCE optional}|
|
||||
{ ID id-ULTunnels-ToBeSetup-list CRITICALITY reject TYPE ULTunnels-ToBeSetup-list PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
SRBs-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-SRBID CRITICALITY reject TYPE SRBID PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
DRBs-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-DRBID CRITICALITY reject TYPE DRBID PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE CONTEXT MODIFICATION RESPONSE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
UEContextModificationResponse ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { UEContextModificationResponseIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
UEContextModificationResponseIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY reject TYPE GNB-DU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-ResourceCoordinationTransferContainer CRITICALITY reject TYPE ResourceCoordinationTransferContainer PRESENCE optional }|
|
||||
{ ID id-DUtoCURRCInformation CRITICALITY reject TYPE DUtoCURRCInformation PRESENCE optional}|
|
||||
{ ID id-DRBs-Setup-List CRITICALITY ignore TYPE DRBs-Setup-List PRESENCE optional}|
|
||||
{ ID id-DRBs-Modified-List CRITICALITY ignore TYPE DRBs-Modified-List PRESENCE optional}|
|
||||
{ ID id-SRBs-FailedToBeSetup-List CRITICALITY ignore TYPE SRBs-FailedToBeSetup-List PRESENCE optional }|
|
||||
{ ID id-DRBs-FailedToBeSetup-List CRITICALITY ignore TYPE DRBs-FailedToBeSetup-List PRESENCE optional }|
|
||||
{ ID id-DRBs-FailedToBeModified-List CRITICALITY ignore TYPE DRBs-FailedToBeModified-List PRESENCE optional }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
DRBs-Modified-List::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-Modified-ItemIEs } }
|
||||
DRBs-FailedToBeModified-List ::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-FailedToBeModified-ItemIEs} }
|
||||
|
||||
DRBs-Modified-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-DRBID CRITICALITY ignore TYPE DRBID PRESENCE mandatory}|
|
||||
{ ID id-DLTunnels-ToBeSetup-list CRITICALITY ignore TYPE DLTunnels-ToBeSetup-list PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
DRBs-FailedToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-DRBID CRITICALITY ignore TYPE DRBID PRESENCE mandatory}|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE optional},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE CONTEXT MODIFICATION FAILURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
UEContextModificationFailure ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { UEContextModificationFailureIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationFailureIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY reject TYPE GNB-DU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE Context Modification Required (gNB-DU initiated) ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE CONTEXT MODIFICATION REQUIRED
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
UEContextModificationRequired ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { UEContextModificationRequiredIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
UEContextModificationRequiredIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY reject TYPE GNB-DU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-ResourceCoordinationTransferContainer CRITICALITY reject TYPE ResourceCoordinationTransferContainer PRESENCE optional }|
|
||||
{ ID id-DUtoCURRCInformation CRITICALITY reject TYPE DUtoCURRCInformation PRESENCE optional}|
|
||||
{ ID id-DRBs-Required-ToBeModified-List CRITICALITY reject TYPE DRBs-Required-ToBeModified-List PRESENCE optional}|
|
||||
{ ID id-SRBs-Required-ToBeReleased-List CRITICALITY reject TYPE SRBs-Required-ToBeReleased-List PRESENCE optional}|
|
||||
{ ID id-DRBs-Required-ToBeReleased-List CRITICALITY reject TYPE DRBs-Required-ToBeReleased-List PRESENCE optional}|
|
||||
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
DRBs-Required-ToBeModified-List::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-Required-ToBeModified-ItemIEs } }
|
||||
DRBs-Required-ToBeReleased-List::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-Required-ToBeReleased-ItemIEs } }
|
||||
|
||||
SRBs-Required-ToBeReleased-List::= SEQUENCE (SIZE(1..maxnoofSRBs)) OF ProtocolIE-SingleContainer { { SRBs-Required-ToBeReleased-ItemIEs } }
|
||||
|
||||
DRBs-Required-ToBeModified-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-DRBID CRITICALITY reject TYPE DRBID PRESENCE mandatory}|
|
||||
{ ID id-DLTunnels-ToBeSetup-list CRITICALITY reject TYPE DLTunnels-ToBeSetup-list PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
DRBs-Required-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-DRBID CRITICALITY reject TYPE DRBID PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
SRBs-Required-ToBeReleased-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-SRBID CRITICALITY reject TYPE SRBID PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UE CONTEXT MODIFICATION CONFIRM
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
UEContextModificationConfirm::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container { { UEContextModificationConfirmIEs} },
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
UEContextModificationConfirmIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY reject TYPE GNB-DU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-ResourceCoordinationTransferContainer CRITICALITY reject TYPE ResourceCoordinationTransferContainer PRESENCE optional }|
|
||||
{ ID id-DRBs-ModifiedConf-List CRITICALITY ignore TYPE DRBs-ModifiedConf-List PRESENCE optional}|
|
||||
{ ID id-DRBs-FailedToBeModified-List CRITICALITY ignore TYPE DRBs-FailedToBeModified-List PRESENCE mandatory }|
|
||||
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
|
||||
...
|
||||
}
|
||||
|
||||
DRBs-ModifiedConf-List::= SEQUENCE (SIZE(1..maxnoofDRBs)) OF ProtocolIE-SingleContainer { { DRBs-ModifiedConf-ItemIEs } }
|
||||
|
||||
DRBs-ModifiedConf-ItemIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-DRBID CRITICALITY ignore TYPE DRBID PRESENCE mandatory}|
|
||||
{ ID id-ULTunnels-ToBeSetup-list CRITICALITY ignore TYPE ULTunnels-ToBeSetup-list PRESENCE mandatory},
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- DL RRC Message Transfer ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- DL RRC Message Transfer
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
DLRRCMessageTransfer ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ DLRRCMessageTransferIEs}},
|
||||
...
|
||||
}
|
||||
|
||||
DLRRCMessageTransferIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY reject TYPE GNB-DU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-oldgNB-DU-F1AP-ID CRITICALITY reject TYPE GNB-DU-F1AP-ID PRESENCE optional }|
|
||||
{ ID id-SRBID CRITICALITY reject TYPE SRBID PRESENCE mandatory }|
|
||||
{ ID id-RRCContainer CRITICALITY reject TYPE RRCContainer PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UL RRC Message Transfer ELEMENTARY PROCEDURE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- UL RRC Message Transfer
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
ULRRCMessageTransfer ::= SEQUENCE {
|
||||
protocolIEs ProtocolIE-Container {{ ULRRCMessageTransferIEs}},
|
||||
...
|
||||
}
|
||||
|
||||
ULRRCMessageTransferIEs F1AP-PROTOCOL-IES ::= {
|
||||
{ ID id-gNB-CU-F1AP-ID CRITICALITY reject TYPE GNB-CU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-gNB-DU-F1AP-ID CRITICALITY reject TYPE GNB-DU-F1AP-ID PRESENCE mandatory }|
|
||||
{ ID id-SRBID CRITICALITY reject TYPE SRBID PRESENCE mandatory }|
|
||||
{ ID id-RRCContainer CRITICALITY reject TYPE RRCContainer PRESENCE mandatory },
|
||||
...
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- PRIVATE MESSAGE
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
PrivateMessage ::= SEQUENCE {
|
||||
privateIEs PrivateIE-Container {{PrivateMessage-IEs}},
|
||||
...
|
||||
}
|
||||
|
||||
PrivateMessage-IEs F1AP-PRIVATE-IES ::= {
|
||||
...
|
||||
}
|
||||
|
||||
END
|
|
@ -0,0 +1,260 @@
|
|||
-- 3GPP TS 38.473 V15.0.0 (2017-12)
|
||||
-- 9.4.3 Elementary Procedure Definitions
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Elementary Procedure definitions
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-PDU-Descriptions {
|
||||
itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
|
||||
ngran-access (22) modules (3) f1ap (3) version1 (1) f1ap-PDU-Descriptions (0)}
|
||||
|
||||
DEFINITIONS AUTOMATIC TAGS ::=
|
||||
|
||||
BEGIN
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- IE parameter types from other modules.
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
IMPORTS
|
||||
Criticality,
|
||||
ProcedureCode
|
||||
|
||||
FROM F1AP-CommonDataTypes
|
||||
Reset,
|
||||
ResetAcknowledge,
|
||||
F1SetupRequest,
|
||||
F1SetupResponse,
|
||||
F1SetupFailure,
|
||||
GNBDUConfigurationUpdate,
|
||||
GNBDUConfigurationUpdateAcknowledge,
|
||||
GNBDUConfigurationUpdateFailure,
|
||||
GNBCUConfigurationUpdate,
|
||||
GNBCUConfigurationUpdateAcknowledge,
|
||||
GNBCUConfigurationUpdateFailure,
|
||||
UEContextSetupRequest,
|
||||
UEContextSetupResponse,
|
||||
UEContextSetupFailure,
|
||||
UEContextReleaseCommand,
|
||||
UEContextReleaseComplete,
|
||||
UEContextModificationRequest,
|
||||
UEContextModificationResponse,
|
||||
UEContextModificationFailure,
|
||||
UEContextModificationRequired,
|
||||
UEContextModificationConfirm,
|
||||
ErrorIndication,
|
||||
UEContextReleaseRequest,
|
||||
DLRRCMessageTransfer,
|
||||
ULRRCMessageTransfer,
|
||||
PrivateMessage
|
||||
|
||||
FROM F1AP-PDU-Contents
|
||||
id-Reset,
|
||||
id-F1Setup,
|
||||
id-gNBDUConfigurationUpdate,
|
||||
id-gNBCUConfigurationUpdate,
|
||||
id-UEContextSetup,
|
||||
id-UEContextRelease,
|
||||
id-UEContextModification,
|
||||
id-UEContextModificationRequired,
|
||||
id-ErrorIndication,
|
||||
id-UEContextReleaseRequest,
|
||||
id-DLRRCMessageTransfer,
|
||||
id-ULRRCMessageTransfer,
|
||||
id-privateMessage
|
||||
|
||||
|
||||
FROM F1AP-Constants;
|
||||
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure Class
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-ELEMENTARY-PROCEDURE ::= CLASS {
|
||||
&InitiatingMessage ,
|
||||
&SuccessfulOutcome OPTIONAL,
|
||||
&UnsuccessfulOutcome OPTIONAL,
|
||||
&procedureCode ProcedureCode UNIQUE,
|
||||
&criticality Criticality DEFAULT ignore
|
||||
}
|
||||
WITH SYNTAX {
|
||||
INITIATING MESSAGE &InitiatingMessage
|
||||
[SUCCESSFUL OUTCOME &SuccessfulOutcome]
|
||||
[UNSUCCESSFUL OUTCOME &UnsuccessfulOutcome]
|
||||
PROCEDURE CODE &procedureCode
|
||||
[CRITICALITY &criticality]
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface PDU Definition
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-PDU ::= CHOICE {
|
||||
initiatingMessage InitiatingMessage,
|
||||
successfulOutcome SuccessfulOutcome,
|
||||
unsuccessfulOutcome UnsuccessfulOutcome,
|
||||
...
|
||||
}
|
||||
|
||||
InitiatingMessage ::= SEQUENCE {
|
||||
procedureCode F1AP-ELEMENTARY-PROCEDURE.&procedureCode ({F1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality F1AP-ELEMENTARY-PROCEDURE.&criticality ({F1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value F1AP-ELEMENTARY-PROCEDURE.&InitiatingMessage ({F1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
SuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode F1AP-ELEMENTARY-PROCEDURE.&procedureCode ({F1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality F1AP-ELEMENTARY-PROCEDURE.&criticality ({F1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value F1AP-ELEMENTARY-PROCEDURE.&SuccessfulOutcome ({F1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
UnsuccessfulOutcome ::= SEQUENCE {
|
||||
procedureCode F1AP-ELEMENTARY-PROCEDURE.&procedureCode ({F1AP-ELEMENTARY-PROCEDURES}),
|
||||
criticality F1AP-ELEMENTARY-PROCEDURE.&criticality ({F1AP-ELEMENTARY-PROCEDURES}{@procedureCode}),
|
||||
value F1AP-ELEMENTARY-PROCEDURE.&UnsuccessfulOutcome ({F1AP-ELEMENTARY-PROCEDURES}{@procedureCode})
|
||||
}
|
||||
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedure List
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
F1AP-ELEMENTARY-PROCEDURES F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
F1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
|
||||
F1AP-ELEMENTARY-PROCEDURES-CLASS-2,
|
||||
...
|
||||
}
|
||||
|
||||
|
||||
F1AP-ELEMENTARY-PROCEDURES-CLASS-1 F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
reset |
|
||||
f1Setup |
|
||||
gNBDUConfigurationUpdate |
|
||||
gNBCUConfigurationUpdate |
|
||||
uEContextSetup |
|
||||
uEContextRelease |
|
||||
uEContextModification |
|
||||
uEContextModificationRequired ,
|
||||
...}
|
||||
|
||||
F1AP-ELEMENTARY-PROCEDURES-CLASS-2 F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
errorIndication |
|
||||
uEContextReleaseRequest |
|
||||
dLRRCMessageTransfer |
|
||||
uLRRCMessageTransfer |
|
||||
privateMessage ,
|
||||
...
|
||||
}
|
||||
-- **************************************************************
|
||||
--
|
||||
-- Interface Elementary Procedures
|
||||
--
|
||||
-- **************************************************************
|
||||
|
||||
reset F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE Reset
|
||||
SUCCESSFUL OUTCOME ResetAcknowledge
|
||||
PROCEDURE CODE id-Reset
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
f1Setup F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE F1SetupRequest
|
||||
SUCCESSFUL OUTCOME F1SetupResponse
|
||||
UNSUCCESSFUL OUTCOME F1SetupFailure
|
||||
PROCEDURE CODE id-F1Setup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
gNBDUConfigurationUpdate F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE GNBDUConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME GNBDUConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME GNBDUConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-gNBDUConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
gNBCUConfigurationUpdate F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE GNBCUConfigurationUpdate
|
||||
SUCCESSFUL OUTCOME GNBCUConfigurationUpdateAcknowledge
|
||||
UNSUCCESSFUL OUTCOME GNBCUConfigurationUpdateFailure
|
||||
PROCEDURE CODE id-gNBCUConfigurationUpdate
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
uEContextSetup F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextSetupRequest
|
||||
SUCCESSFUL OUTCOME UEContextSetupResponse
|
||||
UNSUCCESSFUL OUTCOME UEContextSetupFailure
|
||||
PROCEDURE CODE id-UEContextSetup
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
uEContextRelease F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextReleaseCommand
|
||||
SUCCESSFUL OUTCOME UEContextReleaseComplete
|
||||
PROCEDURE CODE id-UEContextRelease
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
uEContextModification F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextModificationRequest
|
||||
SUCCESSFUL OUTCOME UEContextModificationResponse
|
||||
UNSUCCESSFUL OUTCOME UEContextModificationFailure
|
||||
PROCEDURE CODE id-UEContextModification
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
uEContextModificationRequired F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextModificationRequired
|
||||
SUCCESSFUL OUTCOME UEContextModificationConfirm
|
||||
PROCEDURE CODE id-UEContextModificationRequired
|
||||
CRITICALITY reject
|
||||
}
|
||||
|
||||
|
||||
errorIndication F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ErrorIndication
|
||||
PROCEDURE CODE id-ErrorIndication
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uEContextReleaseRequest F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE UEContextReleaseRequest
|
||||
PROCEDURE CODE id-UEContextReleaseRequest
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
|
||||
dLRRCMessageTransfer F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE DLRRCMessageTransfer
|
||||
PROCEDURE CODE id-DLRRCMessageTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
uLRRCMessageTransfer F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE ULRRCMessageTransfer
|
||||
PROCEDURE CODE id-ULRRCMessageTransfer
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
|
||||
privateMessage F1AP-ELEMENTARY-PROCEDURE ::= {
|
||||
INITIATING MESSAGE PrivateMessage
|
||||
PROCEDURE CODE id-privateMessage
|
||||
CRITICALITY ignore
|
||||
}
|
||||
|
||||
|
||||
|
||||
END
|
|
@ -0,0 +1,35 @@
|
|||
# Wireshark - Network traffic analyzer
|
||||
# By Gerald Combs <gerald@wireshark.org>
|
||||
# Copyright 1998 Gerald Combs
|
||||
#
|
||||
# SPDX-License-Identifier: GPL-2.0-or-later
|
||||
|
||||
include ../Makefile.inc
|
||||
|
||||
PROTOCOL_NAME = f1ap
|
||||
|
||||
EXPORT_FILES = $(PROTOCOL_NAME)-exp.cnf
|
||||
|
||||
EXT_ASN_FILE_LIST =
|
||||
|
||||
ASN_FILE_LIST = \
|
||||
F1AP-CommonDataTypes.asn \
|
||||
F1AP-Constants.asn \
|
||||
F1AP-Containers.asn \
|
||||
F1AP-IEs.asn \
|
||||
F1AP-PDU-Contents.asn \
|
||||
F1AP-PDU-Descriptions.asn
|
||||
|
||||
EXTRA_DIST = \
|
||||
$(EXTRA_DIST_COMMON) \
|
||||
$(ASN_FILE_LIST) \
|
||||
packet-$(PROTOCOL_NAME)-template.c \
|
||||
$(PROTOCOL_NAME).cnf
|
||||
|
||||
SRC_FILES = \
|
||||
$(EXTRA_DIST) \
|
||||
$(EXT_ASN_FILE_LIST)
|
||||
|
||||
A2W_FLAGS =
|
||||
|
||||
EXTRA_CNF =
|
|
@ -0,0 +1,497 @@
|
|||
# f1ap.cnf
|
||||
# f1ap conformation file
|
||||
|
||||
#.OPT
|
||||
PER
|
||||
ALIGNED
|
||||
#.END
|
||||
|
||||
#.USE_VALS_EXT
|
||||
LongDRXCycleLength
|
||||
ProcedureCode
|
||||
ProtocolIE-ID
|
||||
ShortDRXCycleLength
|
||||
|
||||
#.EXPORTS
|
||||
|
||||
#.PDU
|
||||
F1AP-PDU
|
||||
|
||||
#.MAKE_ENUM
|
||||
ProcedureCode
|
||||
ProtocolIE-ID
|
||||
|
||||
#.NO_EMIT
|
||||
|
||||
#.OMIT_ASSIGNMENT
|
||||
# Get rid of unused code warnings
|
||||
Presence
|
||||
ProtocolIE-ContainerList
|
||||
ProtocolIE-ContainerPair
|
||||
ProtocolIE-ContainerPairList
|
||||
ProtocolIE-FieldPair
|
||||
#.END
|
||||
|
||||
|
||||
#.TYPE_RENAME
|
||||
|
||||
InitiatingMessage/value InitiatingMessage_value
|
||||
SuccessfulOutcome/value SuccessfulOutcome_value
|
||||
UnsuccessfulOutcome/value UnsuccessfulOutcome_value
|
||||
|
||||
#.FIELD_RENAME
|
||||
|
||||
InitiatingMessage/value initiatingMessagevalue
|
||||
UnsuccessfulOutcome/value unsuccessfulOutcome_value
|
||||
SuccessfulOutcome/value successfulOutcome_value
|
||||
|
||||
|
||||
PrivateIE-Field/id private_id
|
||||
ProtocolExtensionField/id ext_id
|
||||
|
||||
#PrivateIE-Field/value private_value
|
||||
ProtocolIE-Field/value ie_field_value
|
||||
|
||||
#.FN_BODY ProtocolIE-ID VAL_PTR=&f1ap_data->protocol_ie_id
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
#.FN_FTR ProtocolIE-ID
|
||||
if (tree) {
|
||||
proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
|
||||
val_to_str_ext(f1ap_data->protocol_ie_id, &f1ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
|
||||
}
|
||||
|
||||
#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
|
||||
|
||||
#.FN_BODY ProtocolExtensionID VAL_PTR=&f1ap_data->protocol_extension_id
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue
|
||||
|
||||
#.FN_BODY ProcedureCode VAL_PTR = &f1ap_data->procedure_code
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
|
||||
%(DEFAULT_BODY)s
|
||||
#.END
|
||||
|
||||
#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue
|
||||
#.FN_HDR InitiatingMessage/value
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
|
||||
f1ap_data->message_type = INITIATING_MESSAGE;
|
||||
#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue
|
||||
#.FN_HDR SuccessfulOutcome/value
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
|
||||
f1ap_data->message_type = SUCCESSFUL_OUTCOME;
|
||||
#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue
|
||||
#.FN_HDR UnsuccessfulOutcome/value
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
|
||||
f1ap_data->message_type = UNSUCCESSFUL_OUTCOME;
|
||||
#.END
|
||||
|
||||
#--- Parameterization is not supported in asn2wrs ---
|
||||
|
||||
#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, F1AP-PROTOCOL-IES : IEsSetParam} ::=
|
||||
# SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
# ProtocolIE-Container {{IEsSetParam}}
|
||||
|
||||
# .FN_PARS ProtocolIE-ContainerList
|
||||
#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
|
||||
#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
|
||||
#.FN_HDR ProtocolIE-ContainerList
|
||||
# static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
|
||||
# { "lowerBound", ASN1_PAR_INTEGER },
|
||||
# { "upperBound", ASN1_PAR_INTEGER },
|
||||
# { NULL, (asn1_par_type)0 }
|
||||
# };
|
||||
# asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars);
|
||||
#.END
|
||||
|
||||
#ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, F1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
|
||||
# SEQUENCE (SIZE (lowerBound..upperBound)) OF
|
||||
# ProtocolIE-ContainerPair {{IEsSetParam}}
|
||||
|
||||
# Currently not used
|
||||
# FN_PARS ProtocolIE-ContainerPairList
|
||||
#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound")
|
||||
#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound")
|
||||
# FN_HDR ProtocolIE-ContainerPairList
|
||||
# static const asn1_par_def_t ProtocolIE_ContainerPairList_pars[] = {
|
||||
# { "lowerBound", ASN1_PAR_INTEGER },
|
||||
# { "upperBound", ASN1_PAR_INTEGER },
|
||||
# { NULL, 0 }
|
||||
# };
|
||||
# asn1_stack_frame_check(actx, "ProtocolIE-ContainerPairList", ProtocolIE_ContainerPairList_pars);
|
||||
# END
|
||||
|
||||
#.FN_HDR PrivateIE-ID
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
|
||||
f1ap_data->obj_id = NULL;
|
||||
|
||||
#.FN_BODY PrivateIE-ID/global FN_VARIANT = _str VAL_PTR = &f1ap_data->obj_id
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
|
||||
%(DEFAULT_BODY)s
|
||||
|
||||
#.FN_BODY PrivateIE-Field/value
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
|
||||
if (f1ap_data->obj_id) {
|
||||
offset = call_per_oid_callback(f1ap_data->obj_id, tvb, actx->pinfo, tree, offset, actx, hf_index);
|
||||
} else {
|
||||
%(DEFAULT_BODY)s
|
||||
}
|
||||
|
||||
#.ASSIGN_VALUE_TO_TYPE # F1AP does not have constants assigned to types, they are pure INTEGER
|
||||
# ProcedureCode
|
||||
|
||||
id-Reset ProcedureCode
|
||||
id-F1Setup ProcedureCode
|
||||
id-ErrorIndication ProcedureCode
|
||||
id-gNBDUConfigurationUpdate ProcedureCode
|
||||
id-gNBCUConfigurationUpdate ProcedureCode
|
||||
id-UEContextSetup ProcedureCode
|
||||
id-UEContextRelease ProcedureCode
|
||||
id-UEContextModification ProcedureCode
|
||||
id-UEContextModificationRequired ProcedureCode
|
||||
id-UEMobilityCommand ProcedureCode
|
||||
id-UEContextReleaseRequest ProcedureCode
|
||||
id-InitialULRRCMessageTransfer ProcedureCode
|
||||
id-DLRRCMessageTransfer ProcedureCode
|
||||
id-ULRRCMessageTransfer ProcedureCode
|
||||
id-SystemInformationDelivery ProcedureCode
|
||||
id-Paging ProcedureCode
|
||||
|
||||
# ProtocolIE-ID
|
||||
id-Cause ProtocolIE-ID
|
||||
id-CriticalityDiagnostics ProtocolIE-ID
|
||||
id-gNB-DU-F1AP-ID ProtocolIE-ID
|
||||
id-gNB-CU-F1AP-ID ProtocolIE-ID
|
||||
id-ResetType ProtocolIE-ID
|
||||
id-TimeToWait ProtocolIE-ID
|
||||
id-UE-associatedLogicalF1-ConnectionItem ProtocolIE-ID
|
||||
id-UE-associatedLogicalF1-ConnectionListResAck ProtocolIE-ID
|
||||
id-RRCContainer ProtocolIE-ID
|
||||
id-SRBID ProtocolIE-ID
|
||||
id-gNB-DU-ID ProtocolIE-ID
|
||||
id-gNB-Name ProtocolIE-ID
|
||||
id-NRCellID ProtocolIE-ID
|
||||
id-PCI ProtocolIE-ID
|
||||
id-gNB-DU-Served-Cells-List ProtocolIE-ID
|
||||
id-Cells-to-be-Activated-List ProtocolIE-ID
|
||||
id-Served-Cells-To-Add-List ProtocolIE-ID
|
||||
id-Served-Cells-To-Modify-List ProtocolIE-ID
|
||||
id-Served-Cells-To-Delete-List ProtocolIE-ID
|
||||
id-Cells-to-be-Deactivated-List ProtocolIE-ID
|
||||
id-Cells-Failed-to-be-Activated-List ProtocolIE-ID
|
||||
id-TransactionID ProtocolIE-ID
|
||||
id-Served-Cell-Information ProtocolIE-ID
|
||||
id-gNB-DU-System-Information ProtocolIE-ID
|
||||
id-NCGI ProtocolIE-ID
|
||||
id-gNB-CU-System-Information ProtocolIE-ID
|
||||
id-OldNCGI ProtocolIE-ID
|
||||
id-DRBID ProtocolIE-ID
|
||||
id-PSCell-ID ProtocolIE-ID
|
||||
id-EUTRANQoS ProtocolIE-ID
|
||||
id-SRBs-ToBeSetup-List ProtocolIE-ID
|
||||
id-DRBs-ToBeSetup-List ProtocolIE-ID
|
||||
id-DLTunnels-ToBeSetup-List ProtocolIE-ID
|
||||
id-ULTunnels-ToBeSetup-List ProtocolIE-ID
|
||||
id-UL-GTP-Tunnel-EndPoint ProtocolIE-ID
|
||||
id-DL-GTP-Tunnel-EndPoint ProtocolIE-ID
|
||||
id-CUtoDURRCInformation ProtocolIE-ID
|
||||
id-DUtoCURRCInformation ProtocolIE-ID
|
||||
id-UERadioCapability ProtocolIE-ID
|
||||
id-UEAggregateMaximumBitRate ProtocolIE-ID
|
||||
id-SCell-ToBeSetup-List ProtocolIE-ID
|
||||
id-ResourceCoordinationTransferContainer ProtocolIE-ID
|
||||
id-DRBs-ToBeModified-List ProtocolIE-ID
|
||||
id-DRBs-ToBeReleased-List ProtocolIE-ID
|
||||
id-DRBs-Modified-List ProtocolIE-ID
|
||||
id-DRBs-FailedToSetup-List ProtocolIE-ID
|
||||
id-DRBs-FailedToBeModified-List ProtocolIE-ID
|
||||
id-SCell-ID ProtocolIE-ID
|
||||
id-DRXCycle ProtocolIE-ID
|
||||
id-DRBs-Setup-List ProtocolIE-ID
|
||||
id-SRBs-Setup-List ProtocolIE-ID
|
||||
id-DRBs-FailedToBeSetup-List ProtocolIE-ID
|
||||
id-SRBs-FailedToBeSetup-List ProtocolIE-ID
|
||||
id-DLTunnels-ToBeSetup-list ProtocolIE-ID
|
||||
id-ULTunnels-ToBeSetup-list ProtocolIE-ID
|
||||
id-TransmissionStopIndicator ProtocolIE-ID
|
||||
id-DRBs-Required-ToBeModified-List ProtocolIE-ID
|
||||
id-DRBs-Required-ToBeReleased-List ProtocolIE-ID
|
||||
id-SRBs-Required-ToBeReleased-List ProtocolIE-ID
|
||||
id-oldgNB-DU-F1AP-ID ProtocolIE-ID
|
||||
id-SRBs-ToBeReleased-List ProtocolIE-ID
|
||||
id-DRBs-ModifiedConf-List ProtocolIE-ID
|
||||
id-privateMessage ProtocolIE-ID
|
||||
#.END
|
||||
|
||||
#.REGISTER
|
||||
|
||||
#F1AP-PROTOCOL-IES
|
||||
Cause N f1ap.ies id-Cause
|
||||
CriticalityDiagnostics N f1ap.ies id-CriticalityDiagnostics
|
||||
GNB-DU-F1AP-ID N f1ap.ies id-gNB-DU-F1AP-ID
|
||||
GNB-CU-F1AP-ID N f1ap.ies id-gNB-CU-F1AP-ID
|
||||
ResetType N f1ap.ies id-ResetType
|
||||
TimeToWait N f1ap.ies id-TimeToWait
|
||||
UE-associatedLogicalF1-ConnectionItem N f1ap.ies id-UE-associatedLogicalF1-ConnectionItem
|
||||
UE-associatedLogicalF1-ConnectionListResAck N f1ap.ies id-UE-associatedLogicalF1-ConnectionListResAck
|
||||
RRCContainer N f1ap.ies id-RRCContainer
|
||||
SRBID N f1ap.ies id-SRBID
|
||||
GNB-DU-ID N f1ap.ies id-gNB-DU-ID
|
||||
GNB-Name N f1ap.ies id-gNB-Name
|
||||
PCI N f1ap.ies id-PCI
|
||||
GNB-DU-Served-Cells-List N f1ap.ies id-gNB-DU-Served-Cells-List
|
||||
Cells-to-be-Activated-List N f1ap.ies id-Cells-to-be-Activated-List
|
||||
Served-Cells-To-Add-List N f1ap.ies id-Served-Cells-To-Add-List
|
||||
Served-Cells-To-Modify-List N f1ap.ies id-Served-Cells-To-Modify-List
|
||||
Served-Cells-To-Delete-List N f1ap.ies id-Served-Cells-To-Delete-List
|
||||
Cells-to-be-Deactivated-List N f1ap.ies id-Cells-to-be-Deactivated-List
|
||||
Cells-Failed-to-be-Activated-List N f1ap.ies id-Cells-Failed-to-be-Activated-List
|
||||
TransactionID N f1ap.ies id-TransactionID
|
||||
Served-Cell-Information N f1ap.ies id-Served-Cell-Information
|
||||
GNB-DU-System-Information N f1ap.ies id-gNB-DU-System-Information
|
||||
NCGI N f1ap.ies id-NCGI
|
||||
NCGI N f1ap.ies id-OldNCGI
|
||||
DRBID N f1ap.ies id-DRBID
|
||||
NCGI N f1ap.ies id-PSCell-ID
|
||||
EUTRANQoS N f1ap.ies id-EUTRANQoS
|
||||
SRBs-ToBeSetup-List N f1ap.ies id-SRBs-ToBeSetup-List
|
||||
DRBs-ToBeSetup-List N f1ap.ies id-DRBs-ToBeSetup-List
|
||||
DLTunnels-ToBeSetup-list N f1ap.ies id-DLTunnels-ToBeSetup-List
|
||||
ULTunnels-ToBeSetup-list N f1ap.ies id-ULTunnels-ToBeSetup-List
|
||||
GTPTunnelEndpoint N f1ap.ies id-UL-GTP-Tunnel-EndPoint
|
||||
GTPTunnelEndpoint N f1ap.ies id-DL-GTP-Tunnel-EndPoint
|
||||
CUtoDURRCInformation N f1ap.ies id-CUtoDURRCInformation
|
||||
DUtoCURRCInformation N f1ap.ies id-DUtoCURRCInformation
|
||||
SCell-ToBeSetup-List N f1ap.ies id-SCell-ToBeSetup-List
|
||||
ResourceCoordinationTransferContainer N f1ap.ies id-ResourceCoordinationTransferContainer
|
||||
DRBs-ToBeModified-List N f1ap.ies id-DRBs-ToBeModified-List
|
||||
DRBs-ToBeReleased-List N f1ap.ies id-DRBs-ToBeReleased-List
|
||||
DRBs-Modified-List N f1ap.ies id-DRBs-Modified-List
|
||||
DRBs-FailedToBeModified-List N f1ap.ies id-DRBs-FailedToBeModified-List
|
||||
NCGI N f1ap.ies id-SCell-ID
|
||||
DRXCycle N f1ap.ies id-DRXCycle
|
||||
DRBs-Setup-List N f1ap.ies id-DRBs-Setup-List
|
||||
SRBs-Setup-List N f1ap.ies id-SRBs-Setup-List
|
||||
DRBs-FailedToBeSetup-List N f1ap.ies id-DRBs-FailedToBeSetup-List
|
||||
SRBs-FailedToBeSetup-List N f1ap.ies id-SRBs-FailedToBeSetup-List
|
||||
DLTunnels-ToBeSetup-list N f1ap.ies id-DLTunnels-ToBeSetup-list
|
||||
ULTunnels-ToBeSetup-list N f1ap.ies id-ULTunnels-ToBeSetup-list
|
||||
TransmissionStopIndicator N f1ap.ies id-TransmissionStopIndicator
|
||||
DRBs-Required-ToBeModified-List N f1ap.ies id-DRBs-Required-ToBeModified-List
|
||||
DRBs-Required-ToBeReleased-List N f1ap.ies id-DRBs-Required-ToBeReleased-List
|
||||
SRBs-Required-ToBeReleased-List N f1ap.ies id-SRBs-Required-ToBeReleased-List
|
||||
GNB-DU-F1AP-ID N f1ap.ies id-oldgNB-DU-F1AP-ID
|
||||
SRBs-ToBeReleased-List N f1ap.ies id-SRBs-ToBeReleased-List
|
||||
DRBs-ModifiedConf-List N f1ap.ies id-DRBs-ModifiedConf-List
|
||||
|
||||
#F1AP-PROTOCOL-EXTENSION
|
||||
|
||||
#F1AP-ELEMENTARY-PROCEDURE
|
||||
Reset N f1ap.proc.imsg id-Reset
|
||||
ResetAcknowledge N f1ap.proc.sout id-Reset
|
||||
|
||||
F1SetupRequest N f1ap.proc.imsg id-F1Setup
|
||||
F1SetupResponse N f1ap.proc.sout id-F1Setup
|
||||
F1SetupFailure N f1ap.proc.uout id-F1Setup
|
||||
|
||||
GNBDUConfigurationUpdate N f1ap.proc.imsg id-gNBDUConfigurationUpdate
|
||||
GNBDUConfigurationUpdateAcknowledge N f1ap.proc.sout id-gNBDUConfigurationUpdate
|
||||
GNBDUConfigurationUpdateFailure N f1ap.proc.uout id-gNBDUConfigurationUpdate
|
||||
|
||||
GNBCUConfigurationUpdate N f1ap.proc.imsg id-gNBCUConfigurationUpdate
|
||||
GNBCUConfigurationUpdateAcknowledge N f1ap.proc.sout id-gNBCUConfigurationUpdate
|
||||
GNBCUConfigurationUpdateFailure N f1ap.proc.uout id-gNBCUConfigurationUpdate
|
||||
|
||||
UEContextSetupRequest N f1ap.proc.imsg id-UEContextSetup
|
||||
UEContextSetupResponse N f1ap.proc.sout id-UEContextSetup
|
||||
UEContextSetupFailure N f1ap.proc.uout id-UEContextSetup
|
||||
|
||||
UEContextReleaseCommand N f1ap.proc.imsg id-UEContextRelease
|
||||
UEContextReleaseComplete N f1ap.proc.sout id-UEContextRelease
|
||||
|
||||
UEContextModificationRequest N f1ap.proc.imsg id-UEContextModification
|
||||
UEContextModificationResponse N f1ap.proc.sout id-UEContextModification
|
||||
UEContextModificationFailure N f1ap.proc.uout id-UEContextModification
|
||||
|
||||
UEContextModificationRequired N f1ap.proc.imsg id-UEContextModificationRequired
|
||||
UEContextModificationConfirm N f1ap.proc.sout id-UEContextModificationRequired
|
||||
|
||||
ErrorIndication N f1ap.proc.imsg id-ErrorIndication
|
||||
|
||||
UEContextReleaseRequest N f1ap.proc.imsg id-UEContextReleaseRequest
|
||||
|
||||
DLRRCMessageTransfer N f1ap.proc.imsg id-DLRRCMessageTransfer
|
||||
|
||||
ULRRCMessageTransfer N f1ap.proc.imsg id-ULRRCMessageTransfer
|
||||
|
||||
PrivateMessage N f1ap.proc.imsg id-privateMessage
|
||||
|
||||
|
||||
#.FN_BODY ResourceCoordinationTransferContainer VAL_PTR=¶m_tvb
|
||||
tvbuff_t *param_tvb = NULL;
|
||||
%(DEFAULT_BODY)s
|
||||
if (param_tvb) {
|
||||
proto_tree *subtree;
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(actx->pinfo);
|
||||
|
||||
subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_ResourceCoordinationTransferContainer);
|
||||
switch (f1ap_data->message_type) {
|
||||
case INITIATING_MESSAGE:
|
||||
switch (f1ap_data->procedure_code) {
|
||||
case id_UEContextSetup:
|
||||
case id_UEContextModification:
|
||||
dissect_x2ap_MeNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
|
||||
break;
|
||||
case id_UEContextModificationRequired:
|
||||
dissect_x2ap_SgNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case SUCCESSFUL_OUTCOME:
|
||||
switch (f1ap_data->procedure_code) {
|
||||
case id_UEContextSetup:
|
||||
case id_UEContextModification:
|
||||
dissect_x2ap_SgNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
|
||||
break;
|
||||
case id_UEContextModificationRequired:
|
||||
dissect_x2ap_MeNBResourceCoordinationInformation_PDU(param_tvb, actx->pinfo, subtree, NULL);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
#.FN_BODY PLMN-Identity VAL_PTR = ¶m_tvb
|
||||
tvbuff_t *param_tvb = NULL;
|
||||
%(DEFAULT_BODY)s
|
||||
if (param_tvb) {
|
||||
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_PLMN_Identity);
|
||||
dissect_e212_mcc_mnc(param_tvb, actx->pinfo, subtree, 0, E212_NONE, FALSE);
|
||||
}
|
||||
|
||||
#.FN_BODY MIB-message VAL_PTR = ¶m_tvb
|
||||
tvbuff_t *param_tvb = NULL;
|
||||
%(DEFAULT_BODY)s
|
||||
if (param_tvb) {
|
||||
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_MIB_message);
|
||||
dissect_nr_rrc_MIB_PDU(param_tvb, actx->pinfo, subtree, NULL);
|
||||
}
|
||||
|
||||
#.TYPE_ATTR
|
||||
BitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
|
||||
|
||||
#.FN_BODY SCG-Config-Info VAL_PTR = ¶m_tvb
|
||||
tvbuff_t *param_tvb = NULL;
|
||||
%(DEFAULT_BODY)s
|
||||
if (param_tvb) {
|
||||
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_SCG_Config_Info);
|
||||
dissect_nr_rrc_SCG_ConfigInfo_PDU(param_tvb, actx->pinfo, subtree, NULL);
|
||||
}
|
||||
|
||||
#.FN_BODY CellGroupConfig VAL_PTR = ¶m_tvb
|
||||
tvbuff_t *param_tvb = NULL;
|
||||
%(DEFAULT_BODY)s
|
||||
if (param_tvb) {
|
||||
proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_CellGroupConfig);
|
||||
dissect_nr_rrc_CellGroupConfig_PDU(param_tvb, actx->pinfo, subtree, NULL);
|
||||
}
|
||||
|
||||
#.FN_BODY TransportLayerAddress VAL_PTR = ¶m_tvb
|
||||
tvbuff_t *param_tvb = NULL;
|
||||
%(DEFAULT_BODY)s
|
||||
if (param_tvb) {
|
||||
proto_tree *subtree;
|
||||
gint tvb_len;
|
||||
|
||||
tvb_len = tvb_reported_length(param_tvb);
|
||||
subtree = proto_item_add_subtree(actx->created_item, ett_f1ap_TransportLayerAddress);
|
||||
if (tvb_len == 4) {
|
||||
/* IPv4 */
|
||||
proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN);
|
||||
} else if (tvb_len == 16) {
|
||||
/* IPv6 */
|
||||
proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv6, param_tvb, 0, 16, ENC_NA);
|
||||
} else if (tvb_len == 20) {
|
||||
/* IPv4 */
|
||||
proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv4, param_tvb, 0, 4, ENC_BIG_ENDIAN);
|
||||
/* IPv6 */
|
||||
proto_tree_add_item(subtree, hf_f1ap_transportLayerAddressIPv6, param_tvb, 4, 16, ENC_NA);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
#.FN_HDR Reset
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
|
||||
#.FN_HDR ResetAcknowledge
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge");
|
||||
#.FN_HDR F1SetupRequest
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupRequest");
|
||||
#.FN_HDR F1SetupResponse
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupResponse");
|
||||
#.FN_HDR F1SetupFailure
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "F1SetupFailure");
|
||||
#.FN_HDR GNBDUConfigurationUpdate
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdate");
|
||||
#.FN_HDR GNBDUConfigurationUpdateAcknowledge
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdateAcknowledge");
|
||||
#.FN_HDR GNBDUConfigurationUpdateFailure
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBDUConfigurationUpdateFailure");
|
||||
#.FN_HDR GNBCUConfigurationUpdate
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdate");
|
||||
#.FN_HDR GNBCUConfigurationUpdateAcknowledge
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdateAcknowledge");
|
||||
#.FN_HDR GNBCUConfigurationUpdateFailure
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNBCUConfigurationUpdateFailure");
|
||||
#.FN_HDR UEContextSetupRequest
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupRequest");
|
||||
#.FN_HDR UEContextSetupResponse
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupResponse");
|
||||
#.FN_HDR UEContextSetupFailure
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSetupFailure");
|
||||
#.FN_HDR UEContextReleaseCommand
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand");
|
||||
#.FN_HDR UEContextReleaseComplete
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete");
|
||||
#.FN_HDR UEContextModificationRequest
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest");
|
||||
#.FN_HDR UEContextModificationResponse
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse");
|
||||
#.FN_HDR UEContextModificationFailure
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure");
|
||||
#.FN_HDR UEContextModificationRequired
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequired");
|
||||
#.FN_HDR UEContextModificationConfirm
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationConfirm");
|
||||
#.FN_HDR ErrorIndication
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
|
||||
#.FN_HDR UEContextReleaseRequest
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest");
|
||||
#.FN_HDR DLRRCMessageTransfer
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLRRCMessageTransfer");
|
||||
#.FN_HDR ULRRCMessageTransfer
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULRRCMessageTransfer");
|
||||
#.FN_HDR PrivateMessage
|
||||
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
|
||||
#.END
|
||||
|
||||
#
|
||||
# Editor modelines - http://www.wireshark.org/tools/modelines.html
|
||||
#
|
||||
# Local variables:
|
||||
# c-basic-offset: 2
|
||||
# tab-width: 8
|
||||
# indent-tabs-mode: nil
|
||||
# End:
|
||||
#
|
||||
# vi: set shiftwidth=2 tabstop=8 expandtab:
|
||||
# :indentSize=2:tabSize=8:noTabs=true:
|
||||
#
|
|
@ -0,0 +1,235 @@
|
|||
/* packet-f1ap.c
|
||||
* Routines for E-UTRAN F1 Application Protocol (F1AP) packet dissection
|
||||
* Copyright 2018, Pascal Quantin <pascal.quantin@gmail.com>
|
||||
*
|
||||
* Wireshark - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@wireshark.org>
|
||||
* Copyright 1998 Gerald Combs
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*
|
||||
* References: 3GPP TS 38.473 V15.0.0 (2017-12)
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include <epan/packet.h>
|
||||
|
||||
#include <epan/asn1.h>
|
||||
#include <epan/sctpppids.h>
|
||||
#include <epan/proto_data.h>
|
||||
|
||||
#include "packet-per.h"
|
||||
#include "packet-x2ap.h"
|
||||
#include "packet-nr-rrc.h"
|
||||
#include "packet-e212.h"
|
||||
|
||||
#define PNAME "F1 Application Protocol"
|
||||
#define PSNAME "F1AP"
|
||||
#define PFNAME "f1ap"
|
||||
|
||||
#define SCTP_PORT_F1AP 38472
|
||||
|
||||
void proto_register_f1ap(void);
|
||||
void proto_reg_handoff_f1ap(void);
|
||||
|
||||
#include "packet-f1ap-val.h"
|
||||
|
||||
/* Initialize the protocol and registered fields */
|
||||
static int proto_f1ap = -1;
|
||||
|
||||
static int hf_f1ap_transportLayerAddressIPv4 = -1;
|
||||
static int hf_f1ap_transportLayerAddressIPv6 = -1;
|
||||
#include "packet-f1ap-hf.c"
|
||||
|
||||
/* Initialize the subtree pointers */
|
||||
static gint ett_f1ap = -1;
|
||||
static gint ett_f1ap_ResourceCoordinationTransferContainer = -1;
|
||||
static gint ett_f1ap_PLMN_Identity = -1;
|
||||
static gint ett_f1ap_MIB_message = -1;
|
||||
static gint ett_f1ap_SCG_Config_Info = -1;
|
||||
static gint ett_f1ap_CellGroupConfig = -1;
|
||||
static gint ett_f1ap_TransportLayerAddress = -1;
|
||||
#include "packet-f1ap-ett.c"
|
||||
|
||||
enum{
|
||||
INITIATING_MESSAGE,
|
||||
SUCCESSFUL_OUTCOME,
|
||||
UNSUCCESSFUL_OUTCOME
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
guint32 message_type;
|
||||
guint32 procedure_code;
|
||||
guint32 protocol_ie_id;
|
||||
guint32 protocol_extension_id;
|
||||
const char *obj_id;
|
||||
} f1ap_private_data_t;
|
||||
|
||||
typedef struct {
|
||||
guint32 message_type;
|
||||
guint32 ProcedureCode;
|
||||
guint32 ProtocolIE_ID;
|
||||
guint32 ProtocolExtensionID;
|
||||
} f1ap_ctx_t;
|
||||
|
||||
/* Global variables */
|
||||
static dissector_handle_t f1ap_handle;
|
||||
|
||||
/* Dissector tables */
|
||||
static dissector_table_t f1ap_ies_dissector_table;
|
||||
static dissector_table_t f1ap_extension_dissector_table;
|
||||
static dissector_table_t f1ap_proc_imsg_dissector_table;
|
||||
static dissector_table_t f1ap_proc_sout_dissector_table;
|
||||
static dissector_table_t f1ap_proc_uout_dissector_table;
|
||||
|
||||
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
||||
static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
||||
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
||||
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
||||
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *);
|
||||
|
||||
static f1ap_private_data_t*
|
||||
f1ap_get_private_data(packet_info *pinfo)
|
||||
{
|
||||
f1ap_private_data_t *f1ap_data = (f1ap_private_data_t*)p_get_proto_data(pinfo->pool, pinfo, proto_f1ap, 0);
|
||||
if (!f1ap_data) {
|
||||
f1ap_data = wmem_new0(pinfo->pool, f1ap_private_data_t);
|
||||
p_add_proto_data(pinfo->pool, pinfo, proto_f1ap, 0, f1ap_data);
|
||||
}
|
||||
return f1ap_data;
|
||||
}
|
||||
|
||||
#include "packet-f1ap-fn.c"
|
||||
|
||||
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
||||
{
|
||||
f1ap_ctx_t f1ap_ctx;
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);
|
||||
|
||||
f1ap_ctx.message_type = f1ap_data->message_type;
|
||||
f1ap_ctx.ProcedureCode = f1ap_data->procedure_code;
|
||||
f1ap_ctx.ProtocolIE_ID = f1ap_data->protocol_ie_id;
|
||||
f1ap_ctx.ProtocolExtensionID = f1ap_data->protocol_extension_id;
|
||||
|
||||
return (dissector_try_uint_new(f1ap_ies_dissector_table, f1ap_data->protocol_ie_id, tvb, pinfo, tree, FALSE, &f1ap_ctx)) ? tvb_captured_length(tvb) : 0;
|
||||
}
|
||||
|
||||
static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
||||
{
|
||||
f1ap_ctx_t f1ap_ctx;
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);
|
||||
|
||||
f1ap_ctx.message_type = f1ap_data->message_type;
|
||||
f1ap_ctx.ProcedureCode = f1ap_data->procedure_code;
|
||||
f1ap_ctx.ProtocolIE_ID = f1ap_data->protocol_ie_id;
|
||||
f1ap_ctx.ProtocolExtensionID = f1ap_data->protocol_extension_id;
|
||||
|
||||
return (dissector_try_uint_new(f1ap_extension_dissector_table, f1ap_data->protocol_extension_id, tvb, pinfo, tree, FALSE, &f1ap_ctx)) ? tvb_captured_length(tvb) : 0;
|
||||
}
|
||||
|
||||
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
||||
{
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);
|
||||
|
||||
return (dissector_try_uint_new(f1ap_proc_imsg_dissector_table, f1ap_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
|
||||
}
|
||||
|
||||
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
||||
{
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);
|
||||
|
||||
return (dissector_try_uint_new(f1ap_proc_sout_dissector_table, f1ap_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
|
||||
}
|
||||
|
||||
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data)
|
||||
{
|
||||
f1ap_private_data_t *f1ap_data = f1ap_get_private_data(pinfo);
|
||||
|
||||
return (dissector_try_uint_new(f1ap_proc_uout_dissector_table, f1ap_data->procedure_code, tvb, pinfo, tree, FALSE, data)) ? tvb_captured_length(tvb) : 0;
|
||||
}
|
||||
|
||||
|
||||
static int
|
||||
dissect_f1ap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
|
||||
{
|
||||
proto_item *f1ap_item = NULL;
|
||||
proto_tree *f1ap_tree = NULL;
|
||||
|
||||
/* make entry in the Protocol column on summary display */
|
||||
col_set_str(pinfo->cinfo, COL_PROTOCOL, "F1AP");
|
||||
col_clear(pinfo->cinfo, COL_INFO);
|
||||
|
||||
/* create the f1ap protocol tree */
|
||||
f1ap_item = proto_tree_add_item(tree, proto_f1ap, tvb, 0, -1, ENC_NA);
|
||||
f1ap_tree = proto_item_add_subtree(f1ap_item, ett_f1ap);
|
||||
|
||||
dissect_F1AP_PDU_PDU(tvb, pinfo, f1ap_tree, NULL);
|
||||
return tvb_captured_length(tvb);
|
||||
}
|
||||
|
||||
void proto_register_f1ap(void) {
|
||||
|
||||
/* List of fields */
|
||||
|
||||
static hf_register_info hf[] = {
|
||||
{ &hf_f1ap_transportLayerAddressIPv4,
|
||||
{ "IPv4 transportLayerAddress", "f1ap.transportLayerAddressIPv4",
|
||||
FT_IPv4, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
{ &hf_f1ap_transportLayerAddressIPv6,
|
||||
{ "IPv6 transportLayerAddress", "f1ap.transportLayerAddressIPv6",
|
||||
FT_IPv6, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
#include "packet-f1ap-hfarr.c"
|
||||
};
|
||||
|
||||
/* List of subtrees */
|
||||
static gint *ett[] = {
|
||||
&ett_f1ap,
|
||||
&ett_f1ap_ResourceCoordinationTransferContainer,
|
||||
&ett_f1ap_PLMN_Identity,
|
||||
&ett_f1ap_MIB_message,
|
||||
&ett_f1ap_SCG_Config_Info,
|
||||
&ett_f1ap_CellGroupConfig,
|
||||
&ett_f1ap_TransportLayerAddress,
|
||||
#include "packet-f1ap-ettarr.c"
|
||||
};
|
||||
|
||||
/* Register protocol */
|
||||
proto_f1ap = proto_register_protocol(PNAME, PSNAME, PFNAME);
|
||||
/* Register fields and subtrees */
|
||||
proto_register_field_array(proto_f1ap, hf, array_length(hf));
|
||||
proto_register_subtree_array(ett, array_length(ett));
|
||||
|
||||
/* Register dissector */
|
||||
f1ap_handle = register_dissector("f1ap", dissect_f1ap, proto_f1ap);
|
||||
|
||||
/* Register dissector tables */
|
||||
f1ap_ies_dissector_table = register_dissector_table("f1ap.ies", "F1AP-PROTOCOL-IES", proto_f1ap, FT_UINT32, BASE_DEC);
|
||||
f1ap_extension_dissector_table = register_dissector_table("f1ap.extension", "F1AP-PROTOCOL-EXTENSION", proto_f1ap, FT_UINT32, BASE_DEC);
|
||||
f1ap_proc_imsg_dissector_table = register_dissector_table("f1ap.proc.imsg", "F1AP-ELEMENTARY-PROCEDURE InitiatingMessage", proto_f1ap, FT_UINT32, BASE_DEC);
|
||||
f1ap_proc_sout_dissector_table = register_dissector_table("f1ap.proc.sout", "F1AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", proto_f1ap, FT_UINT32, BASE_DEC);
|
||||
f1ap_proc_uout_dissector_table = register_dissector_table("f1ap.proc.uout", "F1AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", proto_f1ap, FT_UINT32, BASE_DEC);
|
||||
}
|
||||
|
||||
void
|
||||
proto_reg_handoff_f1ap(void)
|
||||
{
|
||||
dissector_add_uint_with_preference("sctp.port", SCTP_PORT_F1AP, f1ap_handle);
|
||||
dissector_add_uint("sctp.ppi", F1AP_PROTOCOL_ID, f1ap_handle);
|
||||
#include "packet-f1ap-dis-tab.c"
|
||||
}
|
||||
|
||||
/*
|
||||
* Editor modelines
|
||||
*
|
||||
* Local Variables:
|
||||
* c-basic-offset: 2
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: nil
|
||||
* End:
|
||||
*
|
||||
* ex: set shiftwidth=2 tabstop=8 expandtab:
|
||||
* :indentSize=2:tabSize=8:noTabs=true:
|
||||
*/
|
|
@ -27,7 +27,9 @@ T-Reassembly
|
|||
T-StatusProhibit
|
||||
|
||||
#.EXPORTS
|
||||
CellGroupConfig_PDU
|
||||
MeasResults_PDU
|
||||
MIB_PDU
|
||||
SCG-ConfigInfo_PDU
|
||||
RadioBearerConfig_PDU
|
||||
RRCReconfiguration_PDU
|
||||
|
@ -38,7 +40,9 @@ UE-NR-Capability_PDU
|
|||
|
||||
#.PDU
|
||||
BCCH-BCH-Message @bcch.bch
|
||||
CellGroupConfig
|
||||
DL-DCCH-Message @dl.dcch
|
||||
MIB
|
||||
MeasResults
|
||||
RadioBearerConfig
|
||||
RRCReconfiguration
|
||||
|
|
|
@ -26,6 +26,7 @@ set( ASN_FILE_LIST
|
|||
set( EXTRA_DIST
|
||||
${ASN_FILE_LIST}
|
||||
packet-${PROTOCOL_NAME}-template.c
|
||||
packet-${PROTOCOL_NAME}-template.h
|
||||
${PROTOCOL_NAME}.cnf
|
||||
)
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ EXTRA_DIST = \
|
|||
$(EXTRA_DIST_COMMON) \
|
||||
$(ASN_FILE_LIST) \
|
||||
packet-$(PROTOCOL_NAME)-template.c \
|
||||
packet-$(PROTOCOL_NAME)-template.h \
|
||||
$(PROTOCOL_NAME).cnf
|
||||
|
||||
SRC_FILES = \
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
/* packet-x2ap.h
|
||||
* Routines for E-UTRAN X2 Application Protocol (S1AP) packet dissection
|
||||
*
|
||||
* Wireshark - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@wireshark.org>
|
||||
* Copyright 1998 Gerald Combs
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#ifndef PACKET_X2AP_H
|
||||
#define PACKET_X2AP_H
|
||||
|
||||
#include "packet-x2ap-exp.h"
|
||||
|
||||
#endif /* PACKET_X2AP_H */
|
||||
|
||||
/*
|
||||
* Editor modelines
|
||||
*
|
||||
* Local Variables:
|
||||
* c-basic-offset: 2
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: nil
|
||||
* End:
|
||||
*
|
||||
* ex: set shiftwidth=2 tabstop=8 expandtab:
|
||||
* :indentSize=2:tabSize=8:noTabs=true:
|
||||
*/
|
|
@ -25,6 +25,14 @@ ProcedureCode
|
|||
ProtocolIE-ID
|
||||
OffsetOfNbiotChannelNumberToEARFCN
|
||||
|
||||
#.EXPORTS
|
||||
MeNBResourceCoordinationInformation_PDU
|
||||
SgNBResourceCoordinationInformation_PDU
|
||||
|
||||
#.PDU
|
||||
MeNBResourceCoordinationInformation
|
||||
SgNBResourceCoordinationInformation
|
||||
|
||||
#.TYPE_RENAME
|
||||
ProtocolIE-Field/value ProtocolIE_Field_value
|
||||
PrivateIE-Field/value PrivateIE_Field_value
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -140,8 +140,10 @@ static int hf_nr_rrc_nr_rrc_SCG_ConfigInfo_PDU = -1; /* SCG_ConfigInfo */
|
|||
static int hf_nr_rrc_BCCH_BCH_Message_PDU = -1; /* BCCH_BCH_Message */
|
||||
static int hf_nr_rrc_DL_DCCH_Message_PDU = -1; /* DL_DCCH_Message */
|
||||
static int hf_nr_rrc_nr_rrc_UL_DCCH_Message_PDU = -1; /* UL_DCCH_Message */
|
||||
static int hf_nr_rrc_nr_rrc_MIB_PDU = -1; /* MIB */
|
||||
static int hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU = -1; /* RRCReconfiguration */
|
||||
static int hf_nr_rrc_nr_rrc_RRCReconfigurationComplete_PDU = -1; /* RRCReconfigurationComplete */
|
||||
static int hf_nr_rrc_nr_rrc_CellGroupConfig_PDU = -1; /* CellGroupConfig */
|
||||
static int hf_nr_rrc_nr_rrc_MeasResults_PDU = -1; /* MeasResults */
|
||||
static int hf_nr_rrc_nr_rrc_RadioBearerConfig_PDU = -1; /* RadioBearerConfig */
|
||||
static int hf_nr_rrc_nr_rrc_UE_MRDC_Capability_PDU = -1; /* UE_MRDC_Capability */
|
||||
|
@ -12624,6 +12626,14 @@ int dissect_nr_rrc_UL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_
|
|||
offset += 7; offset >>= 3;
|
||||
return offset;
|
||||
}
|
||||
int dissect_nr_rrc_MIB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
||||
int offset = 0;
|
||||
asn1_ctx_t asn1_ctx;
|
||||
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
||||
offset = dissect_nr_rrc_MIB(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_MIB_PDU);
|
||||
offset += 7; offset >>= 3;
|
||||
return offset;
|
||||
}
|
||||
int dissect_nr_rrc_RRCReconfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
||||
int offset = 0;
|
||||
asn1_ctx_t asn1_ctx;
|
||||
|
@ -12640,6 +12650,14 @@ int dissect_nr_rrc_RRCReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info
|
|||
offset += 7; offset >>= 3;
|
||||
return offset;
|
||||
}
|
||||
int dissect_nr_rrc_CellGroupConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
||||
int offset = 0;
|
||||
asn1_ctx_t asn1_ctx;
|
||||
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, FALSE, pinfo);
|
||||
offset = dissect_nr_rrc_CellGroupConfig(tvb, offset, &asn1_ctx, tree, hf_nr_rrc_nr_rrc_CellGroupConfig_PDU);
|
||||
offset += 7; offset >>= 3;
|
||||
return offset;
|
||||
}
|
||||
int dissect_nr_rrc_MeasResults_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
|
||||
int offset = 0;
|
||||
asn1_ctx_t asn1_ctx;
|
||||
|
@ -12717,6 +12735,10 @@ void proto_register_nr_rrc(void) {
|
|||
{ "UL-DCCH-Message", "nr-rrc.UL_DCCH_Message_element",
|
||||
FT_NONE, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
{ &hf_nr_rrc_nr_rrc_MIB_PDU,
|
||||
{ "MIB", "nr-rrc.MIB_element",
|
||||
FT_NONE, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
{ &hf_nr_rrc_nr_rrc_RRCReconfiguration_PDU,
|
||||
{ "RRCReconfiguration", "nr-rrc.RRCReconfiguration_element",
|
||||
FT_NONE, BASE_NONE, NULL, 0,
|
||||
|
@ -12725,6 +12747,10 @@ void proto_register_nr_rrc(void) {
|
|||
{ "RRCReconfigurationComplete", "nr-rrc.RRCReconfigurationComplete_element",
|
||||
FT_NONE, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
{ &hf_nr_rrc_nr_rrc_CellGroupConfig_PDU,
|
||||
{ "CellGroupConfig", "nr-rrc.CellGroupConfig_element",
|
||||
FT_NONE, BASE_NONE, NULL, 0,
|
||||
NULL, HFILL }},
|
||||
{ &hf_nr_rrc_nr_rrc_MeasResults_PDU,
|
||||
{ "MeasResults", "nr-rrc.MeasResults_element",
|
||||
FT_NONE, BASE_NONE, NULL, 0,
|
||||
|
|
|
@ -24,8 +24,10 @@
|
|||
#line 1 "./asn1/nr-rrc/packet-nr-rrc-exp.h"
|
||||
int dissect_nr_rrc_SCG_ConfigInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||
int dissect_nr_rrc_UL_DCCH_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||
int dissect_nr_rrc_MIB_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||
int dissect_nr_rrc_RRCReconfiguration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||
int dissect_nr_rrc_RRCReconfigurationComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||
int dissect_nr_rrc_CellGroupConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||
int dissect_nr_rrc_MeasResults_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||
int dissect_nr_rrc_RadioBearerConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||
int dissect_nr_rrc_UE_MRDC_Capability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,44 @@
|
|||
/* Do not modify this file. Changes will be overwritten. */
|
||||
/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
|
||||
/* packet-x2ap.h */
|
||||
/* asn2wrs.py -p x2ap -c ./x2ap.cnf -s ./packet-x2ap-template -D . -O ../.. X2AP-CommonDataTypes.asn X2AP-Constants.asn X2AP-Containers.asn X2AP-IEs.asn X2AP-PDU-Contents.asn X2AP-PDU-Descriptions.asn */
|
||||
|
||||
/* Input file: packet-x2ap-template.h */
|
||||
|
||||
#line 1 "./asn1/x2ap/packet-x2ap-template.h"
|
||||
/* packet-x2ap.h
|
||||
* Routines for E-UTRAN X2 Application Protocol (S1AP) packet dissection
|
||||
*
|
||||
* Wireshark - Network traffic analyzer
|
||||
* By Gerald Combs <gerald@wireshark.org>
|
||||
* Copyright 1998 Gerald Combs
|
||||
*
|
||||
* SPDX-License-Identifier: GPL-2.0-or-later
|
||||
*/
|
||||
|
||||
#ifndef PACKET_X2AP_H
|
||||
#define PACKET_X2AP_H
|
||||
|
||||
|
||||
/*--- Included file: packet-x2ap-exp.h ---*/
|
||||
#line 1 "./asn1/x2ap/packet-x2ap-exp.h"
|
||||
int dissect_x2ap_MeNBResourceCoordinationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||
int dissect_x2ap_SgNBResourceCoordinationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
|
||||
|
||||
/*--- End of included file: packet-x2ap-exp.h ---*/
|
||||
#line 15 "./asn1/x2ap/packet-x2ap-template.h"
|
||||
|
||||
#endif /* PACKET_X2AP_H */
|
||||
|
||||
/*
|
||||
* Editor modelines
|
||||
*
|
||||
* Local Variables:
|
||||
* c-basic-offset: 2
|
||||
* tab-width: 8
|
||||
* indent-tabs-mode: nil
|
||||
* End:
|
||||
*
|
||||
* ex: set shiftwidth=2 tabstop=8 expandtab:
|
||||
* :indentSize=2:tabSize=8:noTabs=true:
|
||||
*/
|
Loading…
Reference in New Issue