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:
Pascal Quantin 2018-03-16 16:18:46 +01:00
parent b96f889e44
commit 6280c153bb
27 changed files with 7404 additions and 132 deletions

View File

@ -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

View File

@ -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)

View File

@ -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

View File

@ -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

View File

@ -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 \

View File

@ -32,6 +32,7 @@ set(ASN1_SRC_DIRS
dop
dsp
ess
f1ap
ftam
goose
gprscdr

View File

@ -32,6 +32,7 @@ SUBDIRS = \
dop \
dsp \
ess \
f1ap \
ftam \
goose \
gprscdr \

View File

@ -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()

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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 =

View File

@ -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=&param_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 = &param_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 = &param_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 = &param_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 = &param_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 = &param_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:
#

View File

@ -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:
*/

View File

@ -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

View File

@ -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
)

View File

@ -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 = \

View File

@ -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:
*/

View File

@ -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

View File

@ -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,

View File

@ -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

View File

@ -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:
*/