aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2018-06-22 09:52:40 +0200
committerPascal Quantin <pascal.quantin@gmail.com>2018-06-22 08:29:03 +0000
commit3909f8a8b919e9311fa0d5ac79ef218a84dfef9f (patch)
tree907283692c809c1c79d5c12c4a2a98ae2ef42065
parent23bef01ad30a8ef9726f156891f46e6196f6ea22 (diff)
S1AP: upgrade dissector to v15.2.0
Change-Id: I53feb77f91ac72f4e5f18c56453f2974b8b426be Reviewed-on: https://code.wireshark.org/review/28376 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
-rw-r--r--epan/dissectors/CMakeLists.txt1
-rw-r--r--epan/dissectors/asn1/ngap/ngap.cnf20
-rw-r--r--epan/dissectors/asn1/ngap/packet-ngap-template.c1
-rw-r--r--epan/dissectors/asn1/ngap/packet-ngap-template.h29
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn6
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-Constants.asn36
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-Containers.asn16
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-IEs.asn244
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn130
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn16
-rw-r--r--epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn8
-rw-r--r--epan/dissectors/asn1/s1ap/packet-s1ap-template.c20
-rw-r--r--epan/dissectors/asn1/s1ap/s1ap.cnf79
-rw-r--r--epan/dissectors/packet-ngap.c520
-rw-r--r--epan/dissectors/packet-ngap.h44
-rw-r--r--epan/dissectors/packet-s1ap.c963
16 files changed, 1649 insertions, 484 deletions
diff --git a/epan/dissectors/CMakeLists.txt b/epan/dissectors/CMakeLists.txt
index efa8cd7f13..da38363429 100644
--- a/epan/dissectors/CMakeLists.txt
+++ b/epan/dissectors/CMakeLists.txt
@@ -441,6 +441,7 @@ set(DISSECTOR_PUBLIC_HEADERS
packet-netbios.h
packet-netlink.h
packet-nfs.h
+ packet-ngap.h
packet-nisplus.h
packet-nlm.h
packet-nr-rrc.h
diff --git a/epan/dissectors/asn1/ngap/ngap.cnf b/epan/dissectors/asn1/ngap/ngap.cnf
index da65a7a560..b36f1a0ccc 100644
--- a/epan/dissectors/asn1/ngap/ngap.cnf
+++ b/epan/dissectors/asn1/ngap/ngap.cnf
@@ -13,9 +13,14 @@ ProtocolIE-ID
#.EXPORTS ONLY_VALS WS_DLL
#.EXPORTS
+SourceNGRANNode-ToTargetNGRANNode-TransparentContainer_PDU
+TargetNGRANNode-ToSourceNGRANNode-TransparentContainer_PDU
#.PDU
NGAP-PDU
+SourceNGRANNode-ToTargetNGRANNode-TransparentContainer
+TargetNGRANNode-ToSourceNGRANNode-TransparentContainer
+
#.MAKE_ENUM
ProcedureCode
@@ -31,22 +36,7 @@ ProtocolIE-ContainerPair
ProtocolIE-ContainerPairList
Presence
ReferenceID
-SourceNGRANNode-ToTargetNGRANNode-TransparentContainer
-TargetNGRANNode-ToSourceNGRANNode-TransparentContainer
AMFStatusIndication
-E-RABInformationList
-E-RABInformationItem
-PDUSessionResourceInformationList
-PDUSessionResourceInformationItem
-QosFlowInformationList
-QosFlowInformationItem
-DLForwarding
-DRBsToQosFlowsMappingList
-DRBsToQosFlowsMappingItem
-QosFlowMappingList
-QosFlowMappingItem
-
-RRCContainer
#.END
diff --git a/epan/dissectors/asn1/ngap/packet-ngap-template.c b/epan/dissectors/asn1/ngap/packet-ngap-template.c
index 0633543a52..c3349bc0ff 100644
--- a/epan/dissectors/asn1/ngap/packet-ngap-template.c
+++ b/epan/dissectors/asn1/ngap/packet-ngap-template.c
@@ -23,6 +23,7 @@
#include <epan/conversation.h>
#include <epan/proto_data.h>
+#include "packet-ngap.h"
#include "packet-ber.h"
#include "packet-per.h"
#include "packet-e212.h"
diff --git a/epan/dissectors/asn1/ngap/packet-ngap-template.h b/epan/dissectors/asn1/ngap/packet-ngap-template.h
new file mode 100644
index 0000000000..e682e087b9
--- /dev/null
+++ b/epan/dissectors/asn1/ngap/packet-ngap-template.h
@@ -0,0 +1,29 @@
+/* packet-s1ap.h
+ * Routines for E-UTRAN NG Application Protocol (NGAP) 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_NGAP_H
+#define PACKET_NGAP_H
+
+#include "packet-ngap-exp.h"
+
+#endif /* PACKET_NGAP_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:
+ */
diff --git a/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn b/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn
index a8ddb52705..dfeac62ed3 100644
--- a/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn
+++ b/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 36.413 V15.1.0 (2018-03)
+-- 3GPP TS 36.413 V15.2.0 (2018-06)
-- 9.3.5 Common Definitions
-- **************************************************************
--
@@ -7,10 +7,10 @@
-- **************************************************************
S1AP-CommonDataTypes {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) }
-DEFINITIONS AUTOMATIC TAGS ::=
+DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
diff --git a/epan/dissectors/asn1/s1ap/S1AP-Constants.asn b/epan/dissectors/asn1/s1ap/S1AP-Constants.asn
index 22a5b1848f..9bf28f8160 100644
--- a/epan/dissectors/asn1/s1ap/S1AP-Constants.asn
+++ b/epan/dissectors/asn1/s1ap/S1AP-Constants.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 36.413 V15.1.0 (2018-03)
+-- 3GPP TS 36.413 V15.2.0 (2018-06)
-- 9.3.6 Constant Definitions
-- **************************************************************
--
@@ -6,11 +6,11 @@
--
-- **************************************************************
-S1AP-Constants {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
-eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
+S1AP-Constants {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) }
-DEFINITIONS AUTOMATIC TAGS ::=
+DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
@@ -126,12 +126,12 @@ maxnoofForbTACs INTEGER ::= 4096
maxnoofIndividualS1ConnectionsToReset INTEGER ::= 256
maxnoofCells INTEGER ::= 16
maxnoofCellsineNB INTEGER ::= 256
-maxnoofTAIforWarning INTEGER ::= 65535
-maxnoofCellID INTEGER ::= 65535
-maxnoofDCNs INTEGER ::= 32
-maxnoofEmergencyAreaID INTEGER ::= 65535
-maxnoofCellinTAI INTEGER ::= 65535
-maxnoofCellinEAI INTEGER ::= 65535
+maxnoofTAIforWarning INTEGER ::= 65535
+maxnoofCellID INTEGER ::= 65535
+maxnoofDCNs INTEGER ::= 32
+maxnoofEmergencyAreaID INTEGER ::= 65535
+maxnoofCellinTAI INTEGER ::= 65535
+maxnoofCellinEAI INTEGER ::= 65535
maxnoofeNBX2TLAs INTEGER ::= 2
maxnoofeNBX2ExtTLAs INTEGER ::= 16
maxnoofeNBX2GTPTLAs INTEGER ::= 16
@@ -148,7 +148,7 @@ maxEARFCN INTEGER ::= 262143
maxnoofMBSFNAreaMDT INTEGER ::= 8
maxnoofRecommendedCells INTEGER ::= 16
maxnoofRecommendedENBs INTEGER ::= 16
-maxnooftimeperiods INTEGER ::= 2
+maxnooftimeperiods INTEGER ::= 2
maxnoofCellIDforQMC INTEGER ::= 32
maxnoofTAforQMC INTEGER ::= 8
maxnoofPLMNforQMC INTEGER ::= 16
@@ -445,5 +445,17 @@ id-SecondaryRATDataUsageRequest ProtocolIE-ID ::= 268
id-NRUESecurityCapabilities ProtocolIE-ID ::= 269
id-UnlicensedSpectrumRestriction ProtocolIE-ID ::= 270
id-CE-ModeBRestricted ProtocolIE-ID ::= 271
+id-LTE-M-Indication ProtocolIE-ID ::= 272
+id-DownlinkPacketLossRate ProtocolIE-ID ::= 273
+id-UplinkPacketLossRate ProtocolIE-ID ::= 274
+id-UECapabilityInfoRequest ProtocolIE-ID ::= 275
+id-serviceType ProtocolIE-ID ::= 276
+id-AerialUEsubscriptionInformation ProtocolIE-ID ::= 277
+--WS extension
+id-Unknown-278 ProtocolIE-ID ::= 278
+id-Unknown-279 ProtocolIE-ID ::= 279
+id-EndIndication ProtocolIE-ID ::= 280
+id-EDT-Session ProtocolIE-ID ::= 281
+id-CNTypeRestrictions ProtocolIE-ID ::= 282
END
diff --git a/epan/dissectors/asn1/s1ap/S1AP-Containers.asn b/epan/dissectors/asn1/s1ap/S1AP-Containers.asn
index db084f59b9..0c303df242 100644
--- a/epan/dissectors/asn1/s1ap/S1AP-Containers.asn
+++ b/epan/dissectors/asn1/s1ap/S1AP-Containers.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 36.413 V15.1.0 (2018-03)
+-- 3GPP TS 36.413 V15.2.0 (2018-06)
-- 9.3.7 Container Definitions
-- **************************************************************
--
@@ -7,10 +7,10 @@
-- **************************************************************
S1AP-Containers {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) }
-DEFINITIONS AUTOMATIC TAGS ::=
+DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
@@ -119,11 +119,11 @@ WITH SYNTAX {
--
-- **************************************************************
-ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::=
+ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::=
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
ProtocolIE-Field {{IEsSetParam}}
-ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
+ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::=
ProtocolIE-Field {{IEsSetParam}}
ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
@@ -138,7 +138,7 @@ ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE {
--
-- **************************************************************
-ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
+ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::=
SEQUENCE (SIZE (0..maxProtocolIEs)) OF
ProtocolIE-FieldPair {{IEsSetParam}}
@@ -170,7 +170,7 @@ ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-P
--
-- **************************************************************
-ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
+ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::=
SEQUENCE (SIZE (1..maxProtocolExtensions)) OF
ProtocolExtensionField {{ExtensionSetParam}}
@@ -186,7 +186,7 @@ ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENC
--
-- **************************************************************
-PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::=
+PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::=
SEQUENCE (SIZE (1.. maxPrivateIEs)) OF
PrivateIE-Field {{IEsSetParam}}
diff --git a/epan/dissectors/asn1/s1ap/S1AP-IEs.asn b/epan/dissectors/asn1/s1ap/S1AP-IEs.asn
index 14a48b6c55..e48dd815a3 100644
--- a/epan/dissectors/asn1/s1ap/S1AP-IEs.asn
+++ b/epan/dissectors/asn1/s1ap/S1AP-IEs.asn
@@ -7,10 +7,10 @@
-- **************************************************************
S1AP-IEs {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-IEs (2) }
-DEFINITIONS AUTOMATIC TAGS ::=
+DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
@@ -59,7 +59,10 @@ IMPORTS
id-SecondaryRATDataUsageReportItem,
id-E-RABUsageReportItem,
id-UEAppLayerMeasConfig,
- id-UnlicensedSpectrumRestriction,
+ id-serviceType,
+ id-UnlicensedSpectrumRestriction,
+ id-CNTypeRestrictions, id-DownlinkPacketLossRate,
+ id-UplinkPacketLossRate,
maxnoofCSGs,
maxnoofE-RABs,
maxnoofErrors,
@@ -114,7 +117,7 @@ FROM S1AP-CommonDataTypes
ProtocolIE-SingleContainer{},
S1AP-PROTOCOL-IES
-FROM S1AP-Containers;
+FROM S1AP-Containers;
-- A
@@ -129,7 +132,13 @@ Additional-GUTI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
-AreaScopeOfMDT ::= CHOICE {
+AerialUEsubscriptionInformation ::= ENUMERATED {
+ allowed,
+ not-allowed,
+ ...
+}
+
+AreaScopeOfMDT ::= CHOICE {
cellBased CellBasedMDT,
tABased TABasedMDT,
pLMNWide NULL,
@@ -138,7 +147,7 @@ AreaScopeOfMDT ::= CHOICE {
}
-AreaScopeOfQMC ::= CHOICE {
+AreaScopeOfQMC ::= CHOICE {
cellBased CellBasedQMC,
tABased TABasedQMC,
tAIBased TAIBasedQMC,
@@ -181,7 +190,7 @@ AssistanceDataForPaging-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
}
AssistanceDataForRecommendedCells ::= SEQUENCE {
- recommendedCellsForPaging RecommendedCellsForPaging,
+ recommendedCellsForPaging RecommendedCellsForPaging,
iE-Extensions ProtocolExtensionContainer { { AssistanceDataForRecommendedCells-ExtIEs} } OPTIONAL,
...
}
@@ -223,7 +232,7 @@ BearerType ::= ENUMERATED {
...
}
-BitRate ::= INTEGER (0..10000000000)
+BitRate ::= INTEGER (0..10000000000)
BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity
@@ -305,8 +314,8 @@ CauseRadioNetwork ::= ENUMERATED {
tx2relocoverall-expiry,
successful-handover,
release-due-to-eutran-generated-reason,
- handover-cancelled,
- partial-handover,
+ handover-cancelled,
+ partial-handover,
ho-failure-in-target-EPC-eNB-or-target-system,
ho-target-not-allowed,
tS1relocoverall-expiry,
@@ -361,7 +370,7 @@ CauseNas ::= ENUMERATED {
}
CellAccessMode ::= ENUMERATED {
- hybrid,
+ hybrid,
...
}
@@ -505,8 +514,26 @@ CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
CI ::= OCTET STRING (SIZE (2))
CNDomain ::= ENUMERATED {
- ps,
- cs
+ ps,
+ cs
+}
+
+CNTypeRestrictions::= SEQUENCE (SIZE(1.. maxnoofEPLMNsPlusOne)) OF CNTypeRestrictions-Item
+
+CNTypeRestrictions-Item ::= SEQUENCE {
+ pLMN-Identity PLMNidentity,
+ cNType CNType,
+ iE-Extensions ProtocolExtensionContainer { { CNTypeRestrictions-Item-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CNTypeRestrictions-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CNType ::= ENUMERATED {
+ fiveGCForbiddden,
+ ...
}
ConcurrentWarningMessageIndicator ::= ENUMERATED {
@@ -515,13 +542,13 @@ ConcurrentWarningMessageIndicator ::= ENUMERATED {
Correlation-ID ::= OCTET STRING (SIZE (4))
-CSFallbackIndicator ::= ENUMERATED {
+CSFallbackIndicator ::= ENUMERATED {
cs-fallback-required,
...,
- cs-fallback-high-priority
+ cs-fallback-high-priority
}
-AdditionalCSFallbackIndicator ::= ENUMERATED {
+AdditionalCSFallbackIndicator ::= ENUMERATED {
no-restriction,
restriction,
...
@@ -542,8 +569,8 @@ CSG-IdList-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
-CSGMembershipStatus ::= ENUMERATED {
- member,
+CSGMembershipStatus ::= ENUMERATED {
+ member,
not-member
}
@@ -672,6 +699,11 @@ ECGIList ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF EUTRAN-CGI
PWSfailedECGIList ::= SEQUENCE (SIZE(1..maxnoofCellsineNB)) OF EUTRAN-CGI
+EDT-Session ::= ENUMERATED {
+ true,
+ ...
+}
+
EmergencyAreaIDList ::= SEQUENCE (SIZE(1..maxnoofEmergencyAreaID)) OF EmergencyAreaID
EmergencyAreaID ::= OCTET STRING (SIZE (3))
@@ -728,7 +760,7 @@ ENB-ID ::= CHOICE {
GERAN-Cell-ID ::= SEQUENCE {
lAI LAI,
- rAC RAC,
+ rAC RAC,
cI CI,
iE-Extensions ProtocolExtensionContainer { { GERAN-Cell-ID-ExtIEs} } OPTIONAL,
...
@@ -769,6 +801,12 @@ ENBX2TLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2TLAs)) OF TransportLayerAddress
EncryptionAlgorithms ::= BIT STRING (SIZE (16,...))
+EndIndication ::= ENUMERATED {
+ no-further-data,
+ further-data-exists,
+ ...
+}
+
EnhancedCoverageRestricted ::= ENUMERATED {
restricted,
...
@@ -856,6 +894,9 @@ E-RABUsageReportItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
}
E-RABQoSParameters-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+-- Extended for introduction of downlink and uplink packet loss rate for enhanced Voice performance –-
+ { ID id-DownlinkPacketLossRate CRITICALITY ignore EXTENSION Packet-LossRate PRESENCE optional}|
+ { ID id-UplinkPacketLossRate CRITICALITY ignore EXTENSION Packet-LossRate PRESENCE optional},
...
}
@@ -911,16 +952,29 @@ ExpectedHOInterval ::= ENUMERATED {
...
}
-ExtendedBitRate ::= INTEGER (10000000001..4000000000000, ...)
+ExtendedBitRate ::= INTEGER (10000000001..4000000000000, ...)
ExtendedRNC-ID ::= INTEGER (4096..65535)
-ExtendedRepetitionPeriod ::= INTEGER (4096..131071)
+ExtendedRepetitionPeriod ::= INTEGER (4096..131071)
Extended-UEIdentityIndexValue ::= BIT STRING (SIZE (14))
-- F
+FiveGSTAC ::= OCTET STRING (SIZE (3))
+
+FiveGSTAI ::= SEQUENCE {
+ pLMNidentity PLMNidentity,
+ fiveGSTAC FiveGSTAC,
+ iE-Extensions ProtocolExtensionContainer { {FiveGSTAI-ExtIEs} } OPTIONAL,
+ ...
+}
+
+FiveGSTAI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
ForbiddenInterRATs ::= ENUMERATED {
all,
geran,
@@ -974,7 +1028,7 @@ GBR-QosInformation ::= SEQUENCE {
}
GBR-QosInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
--- Extension for maximum bitrate > 10G bps --
+-- Extension for maximum bitrate > 10G bps --
{ ID id-extended-e-RAB-MaximumBitrateDL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}|
{ ID id-extended-e-RAB-MaximumBitrateUL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}|
{ ID id-extended-e-RAB-GuaranteedBitrateDL CRITICALITY ignore EXTENSION ExtendedBitRate PRESENCE optional}|
@@ -1020,14 +1074,15 @@ HandoverRestrictionList ::= SEQUENCE {
equivalentPLMNs EPLMNs OPTIONAL,
forbiddenTAs ForbiddenTAs OPTIONAL,
forbiddenLAs ForbiddenLAs OPTIONAL,
- forbiddenInterRATs ForbiddenInterRATs OPTIONAL,
+ forbiddenInterRATs ForbiddenInterRATs OPTIONAL,
iE-Extensions ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} } OPTIONAL,
...
}
HandoverRestrictionList-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
{ ID id-NRrestriction CRITICALITY ignore EXTENSION NRrestriction PRESENCE optional}|
- { ID id-UnlicensedSpectrumRestriction CRITICALITY ignore EXTENSION UnlicensedSpectrumRestriction PRESENCE optional},
+ { ID id-UnlicensedSpectrumRestriction CRITICALITY ignore EXTENSION UnlicensedSpectrumRestriction PRESENCE optional}|
+ { ID id-CNTypeRestrictions CRITICALITY ignore EXTENSION CNTypeRestrictions PRESENCE optional},
...
}
@@ -1036,8 +1091,9 @@ HandoverType ::= ENUMERATED {
ltetoutran,
ltetogeran,
utrantolte,
- gerantolte,
- ...
+ gerantolte, ...,
+ ltetonr,
+ nrtolte
}
HFN ::= INTEGER (0..1048575)
@@ -1050,7 +1106,7 @@ HFNforPDCP-SNlength18 ::= INTEGER (0..16383)
Masked-IMEISV ::= BIT STRING (SIZE (64))
-ImmediateMDT ::= SEQUENCE {
+ImmediateMDT ::= SEQUENCE {
measurementsToActivate MeasurementsToActivate,
m1reportingTrigger M1ReportingTrigger,
m1thresholdeventA2 M1ThresholdEventA2 OPTIONAL,
@@ -1146,7 +1202,7 @@ LPPa-PDU ::= OCTET STRING
LHN-ID ::= OCTET STRING(SIZE (32..256))
-Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...}
+Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...}
ListeningSubframePattern ::= SEQUENCE {
pattern-period ENUMERATED {ms1280, ms2560, ms5120, ms10240, ...},
@@ -1186,6 +1242,8 @@ LoggedMBSFNMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
+LTE-M-Indication ::= ENUMERATED {lte-m, ... }
+
-- M
M3Configuration ::= SEQUENCE {
@@ -1198,7 +1256,7 @@ M3Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
-M3period ::= ENUMERATED {ms100, ms1000, ms10000, ...,ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, min1 }
+M3period ::= ENUMERATED {ms100, ms1000, ms10000, ...,ms1024, ms1280, ms2048, ms2560, ms5120, ms10240, min1 }
M4Configuration ::= SEQUENCE {
m4period M4period,
@@ -1211,7 +1269,7 @@ M4Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
-M4period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
+M4period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
M5Configuration ::= SEQUENCE {
m5period M5period,
@@ -1224,12 +1282,12 @@ M5Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
-M5period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
+M5period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... }
M6Configuration ::= SEQUENCE {
m6report-Interval M6report-Interval,
m6delay-threshold M6delay-threshold OPTIONAL,
--- This IE shall be present if the M6 Links to log IE is set to "uplink" or to "both-uplink-and-downlink" --
+-- This IE shall be present if the M6 Links to log IE is set to “uplink” or to “both-uplink-and-downlink” --
m6-links-to-log Links-to-log,
iE-Extensions ProtocolExtensionContainer { { M6Configuration-ExtIEs} } OPTIONAL,
...
@@ -1256,7 +1314,7 @@ M7Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
M7period ::= INTEGER(1..60, ...)
-MDT-Activation ::= ENUMERATED {
+MDT-Activation ::= ENUMERATED {
immediate-MDT-only,
immediate-MDT-and-Trace,
logged-MDT-only,
@@ -1284,7 +1342,7 @@ MBSFN-ResultToLog ::= SEQUENCE (SIZE(1..maxnoofMBSFNAreaMDT)) OF MBSFN-ResultToL
MBSFN-ResultToLogInfo ::= SEQUENCE {
mBSFN-AreaId INTEGER (0..255) OPTIONAL,
- carrierFreq EARFCN,
+ carrierFreq EARFCN,
iE-Extensions ProtocolExtensionContainer { { MBSFN-ResultToLogInfo-ExtIEs} } OPTIONAL,
...
}
@@ -1316,7 +1374,7 @@ MDTMode-ExtensionIE S1AP-PROTOCOL-IES ::= {
MeasurementsToActivate ::= BIT STRING (SIZE (8))
-MeasurementThresholdA2 ::= CHOICE {
+MeasurementThresholdA2 ::= CHOICE {
threshold-RSRP Threshold-RSRP,
threshold-RSRQ Threshold-RSRQ,
...
@@ -1380,7 +1438,7 @@ NB-IoT-DefaultPagingDRX ::= ENUMERATED {
...
}
-NB-IoT-Paging-eDRXInformation ::= SEQUENCE {
+NB-IoT-Paging-eDRXInformation ::= SEQUENCE {
nB-IoT-paging-eDRX-Cycle NB-IoT-Paging-eDRX-Cycle,
nB-IoT-pagingTimeWindow NB-IoT-PagingTimeWindow OPTIONAL,
iE-Extensions ProtocolExtensionContainer { { NB-IoT-Paging-eDRXInformation-ExtIEs} } OPTIONAL,
@@ -1450,6 +1508,8 @@ OverloadResponse ::= CHOICE {
-- P
+Packet-LossRate ::= INTEGER(0..1000)
+
PagingAttemptInformation ::= SEQUENCE {
pagingAttemptCount PagingAttemptCount,
intendedNumberOfPagingAttempts IntendedNumberOfPagingAttempts,
@@ -1464,7 +1524,7 @@ PagingAttemptInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
PagingAttemptCount ::= INTEGER (1..16, ...)
-Paging-eDRXInformation ::= SEQUENCE {
+Paging-eDRXInformation ::= SEQUENCE {
paging-eDRX-Cycle Paging-eDRX-Cycle,
pagingTimeWindow PagingTimeWindow OPTIONAL,
iE-Extensions ProtocolExtensionContainer { { Paging-eDRXInformation-ExtIEs} } OPTIONAL,
@@ -1505,7 +1565,7 @@ PDCP-SNExtended ::= INTEGER (0..32767)
PDCP-SNlength18 ::= INTEGER (0..262143)
-M1PeriodicReporting ::= SEQUENCE {
+M1PeriodicReporting ::= SEQUENCE {
reportInterval ReportIntervalMDT,
reportAmount ReportAmountMDT,
iE-Extensions ProtocolExtensionContainer { { M1PeriodicReporting-ExtIEs} } OPTIONAL,
@@ -1516,7 +1576,7 @@ M1PeriodicReporting-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
-PLMNidentity ::= TBCD-STRING
+PLMNidentity ::= TBCD-STRING
PLMNAreaBasedQMC ::= SEQUENCE {
plmnListforQMC PLMNListforQMC,
@@ -1556,7 +1616,7 @@ ProSeAuthorized-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
-ProSeDirectDiscovery ::= ENUMERATED {
+ProSeDirectDiscovery ::= ENUMERATED {
authorized,
not-authorized,
...
@@ -1568,7 +1628,7 @@ ProSeUEtoNetworkRelaying ::= ENUMERATED {
...
}
-ProSeDirectCommunication ::= ENUMERATED {
+ProSeDirectCommunication ::= ENUMERATED {
authorized,
not-authorized,
...
@@ -1662,7 +1722,7 @@ RAT-Type ::= ENUMERATED {
ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, rinfinity}
-ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60}
+ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60}
M1ReportingTrigger ::= ENUMERATED{
periodic,
@@ -1793,6 +1853,12 @@ SecondaryRATDataUsageReportItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
SerialNumber ::= BIT STRING (SIZE (16))
+ServiceType ::= ENUMERATED{
+ qMC-for-streaming-service,
+ qMC-for-MTSI-service,
+ ...
+}
+
SONInformation ::= CHOICE{
sONInformationRequest SONInformationRequest,
sONInformationReply SONInformationReply,
@@ -1806,7 +1872,7 @@ SONInformation-ExtensionIE S1AP-PROTOCOL-IES ::= {
{ ID id-SON-Information-Report CRITICALITY ignore TYPE SONInformationReport PRESENCE mandatory}
}
-SONInformationRequest ::= ENUMERATED {
+SONInformationRequest ::= ENUMERATED {
x2TNL-Configuration-Info,
...,
time-Synchronisation-Info,
@@ -1842,10 +1908,10 @@ SONConfigurationTransfer ::= SEQUENCE {
SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
-- Extension for Release 10 to transfer the IP addresses of the eNB initiating the ANR action --
{ID id-x2TNLConfigurationInfo CRITICALITY ignore EXTENSION X2TNLConfigurationInfo PRESENCE conditional
- -- This IE shall be present if the SON Information IE contains the SON Information Request IE and the SON Information Request IE is set to "X2TNL Configuration Info" --}|
+ -- This IE shall be present if the SON Information IE contains the SON Information Request IE and the SON Information Request IE is set to “X2TNL Configuration Info” --}|
-- Extension for Release 12 to transfer information concerning the source cell of synchronisation and the aggressor cell --
{ID id-Synchronisation-Information CRITICALITY ignore EXTENSION SynchronisationInformation PRESENCE conditional
- -- This IE shall be present if the SON Information IE contains the SON Information Request IE set to " Activate Muting " --},
+ -- This IE shall be present if the SON Information IE contains the SON Information Request IE set to “ Activate Muting ” --},
...
}
@@ -1864,7 +1930,7 @@ SynchronisationInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
Source-ToTarget-TransparentContainer ::= OCTET STRING
--- This IE includes a transparent container from the source RAN node to the target RAN node.
+-- This IE includes a transparent container from the source RAN node to the target RAN node.
-- The octets of the OCTET STRING are encoded according to the specifications of the target system.
SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING
@@ -1916,6 +1982,8 @@ SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
SourceRNC-ToTargetRNC-TransparentContainer ::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+SourceNgRanNode-ToTargetNgRanNode-TransparentContainer ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
ServedGUMMEIs ::= SEQUENCE (SIZE (1.. maxnoofRATs)) OF ServedGUMMEIsItem
@@ -1936,7 +2004,7 @@ ServedMMECs ::= SEQUENCE (SIZE(1.. maxnoofMMECs)) OF MME-Code
ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity
-SubscriberProfileIDforRFP ::= INTEGER (1..256)
+SubscriberProfileIDforRFP ::= INTEGER (1..256)
SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item
@@ -2090,6 +2158,8 @@ TargetID ::= CHOICE {
targeteNB-ID TargeteNB-ID,
targetRNC-ID TargetRNC-ID,
cGI CGI,
+ targetgNgRanNode-ID TargetNgRanNode-ID,
+
...
}
@@ -2118,6 +2188,60 @@ TargetRNC-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
+TargetNgRanNode-ID ::= SEQUENCE {
+ global-RAN-NODE-ID Global-RAN-NODE-ID,
+ selected-TAI FiveGSTAI,
+ iE-Extensions ProtocolExtensionContainer { { TargetNgRanNode-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+TargetNgRanNode-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Global-RAN-NODE-ID::= CHOICE {
+ gNB GNB,
+ ng-eNB NG-eNB,
+ ...
+}
+
+GNB ::= SEQUENCE {
+ global-gNB-ID Global-GNB-ID,
+ iE-Extensions ProtocolExtensionContainer { {GNB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+GNB-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+Global-GNB-ID ::= SEQUENCE {
+ pLMN-Identity PLMNidentity,
+ gNB-ID GNB-Identity,
+ iE-Extensions ProtocolExtensionContainer { { Global-GNB-ID-ExtIEs} } OPTIONAL,
+ ...
+}
+
+Global-GNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-Identity ::= CHOICE {
+ gNB-ID GNB-ID,
+ ...
+}
+
+NG-eNB ::= SEQUENCE {
+ global-ng-eNB-ID Global-ENB-ID,
+ iE-Extensions ProtocolExtensionContainer { { NG-eNB-ExtIEs} } OPTIONAL,
+ ...
+}
+
+NG-eNB-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+GNB-ID ::= BIT STRING (SIZE(22..32))
TargeteNB-ToSourceeNB-TransparentContainer ::= SEQUENCE {
rRC-Container RRC-Container,
@@ -2130,7 +2254,7 @@ TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
}
Target-ToSource-TransparentContainer ::= OCTET STRING
--- This IE includes a transparent container from the target RAN node to the source RAN node.
+-- This IE includes a transparent container from the target RAN node to the source RAN node.
-- The octets of the OCTET STRING are coded according to the specifications of the target system.
TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING
@@ -2139,7 +2263,10 @@ TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING
TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING
-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
-M1ThresholdEventA2 ::= SEQUENCE {
+TargetNgRanNode-ToSourceNgRanNode-TransparentContainer ::= OCTET STRING
+-- This is a dummy IE used only as a reference to the actual definition in relevant specification.
+
+M1ThresholdEventA2 ::= SEQUENCE {
measurementThreshold MeasurementThresholdA2,
iE-Extensions ProtocolExtensionContainer { { M1ThresholdEventA2-ExtIEs} } OPTIONAL,
...
@@ -2184,7 +2311,7 @@ TraceActivation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
-TraceDepth ::= ENUMERATED {
+TraceDepth ::= ENUMERATED {
minimum,
medium,
maximum,
@@ -2241,6 +2368,12 @@ UEAppLayerMeasConfig ::= SEQUENCE {
}
UEAppLayerMeasConfig-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-serviceType CRITICALITY ignore EXTENSION ServiceType PRESENCE optional},
+ ...
+}
+
+UECapabilityInfoRequest ::= ENUMERATED {
+ requested,
...
}
@@ -2321,7 +2454,7 @@ UE-Sidelink-Aggregate-MaximumBitrates-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
-UE-Usage-Type ::= INTEGER (0..255)
+UE-Usage-Type ::= INTEGER (0..255)
UL-CP-SecurityInformation ::= SEQUENCE {
ul-NAS-MAC UL-NAS-MAC,
@@ -2362,13 +2495,14 @@ UEUserPlaneCIoTSupportIndicator ::= ENUMERATED {
UE-Application-Layer-Measurement-Capability ::= BIT STRING (SIZE (8))
--- First bit: QoE Measurement
+-- First bit: QoE Measurement for streaming service
+-- Second bit: QoE Measurement for MTSI service
-- Note that undefined bits are considered as a spare bit and spare bits shall be set to 0 by the transmitter and shall be ignored by the receiver.
-- V
-VoiceSupportMatchIndicator ::= ENUMERATED {
+VoiceSupportMatchIndicator ::= ENUMERATED {
supported,
not-supported,
...
@@ -2385,13 +2519,13 @@ V2XServicesAuthorized-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
-VehicleUE ::= ENUMERATED {
+VehicleUE ::= ENUMERATED {
authorized,
not-authorized,
...
}
-PedestrianUE ::= ENUMERATED {
+PedestrianUE ::= ENUMERATED {
authorized,
not-authorized,
...
diff --git a/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn b/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn
index 8d041e7451..e617dc603b 100644
--- a/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn
+++ b/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 36.413 V15.1.0 (2018-03)
+-- 3GPP TS 36.413 V15.2.0 (2018-06)
-- 9.3.3 PDU Definitions
-- **************************************************************
--
@@ -6,11 +6,11 @@
--
-- **************************************************************
-S1AP-PDU-Contents {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+S1AP-PDU-Contents {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Contents (1) }
-DEFINITIONS AUTOMATIC TAGS ::=
+DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
@@ -21,7 +21,7 @@ BEGIN
-- **************************************************************
IMPORTS
-
+
UEAggregateMaximumBitrate,
BearerType,
Cause,
@@ -39,7 +39,7 @@ IMPORTS
CriticalityDiagnostics,
CSFallbackIndicator,
CSG-Id,
- CSG-IdList,
+ CSG-IdList,
CSGMembershipStatus,
Data-Forwarding-Not-Possible,
Direct-Forwarding-Path-Availability,
@@ -95,7 +95,7 @@ IMPORTS
SupportedTAs,
TAI,
Target-ToSource-TransparentContainer,
- TargetBSS-ToSourceBSS-TransparentContainer,
+ TargetBSS-ToSourceBSS-TransparentContainer,
TargeteNB-ToSourceeNB-TransparentContainer,
TargetID,
TargetRNC-ToSourceRNC-TransparentContainer,
@@ -169,7 +169,16 @@ IMPORTS
HandoverFlag,
NRUESecurityCapabilities,
UE-Application-Layer-Measurement-Capability,
- CE-ModeBRestricted
+ CE-ModeBRestricted,
+ Packet-LossRate,
+ UECapabilityInfoRequest,
+ SourceNgRanNode-ToTargetNgRanNode-TransparentContainer,
+ TargetNgRanNode-ToSourceNgRanNode-TransparentContainer,
+ EndIndication,
+ EDT-Session,
+ LTE-M-Indication,
+ AerialUEsubscriptionInformation
+
@@ -190,6 +199,7 @@ FROM S1AP-Containers
id-AssistanceDataForPaging,
+ id-AerialUEsubscriptionInformation,
id-uEaggregateMaximumBitrate,
id-BearerType,
id-Cause,
@@ -217,7 +227,7 @@ FROM S1AP-Containers
id-EUTRAN-CGI,
id-eNBname,
id-eNB-StatusTransfer-TransparentContainer,
- id-eNB-UE-S1AP-ID,
+ id-eNB-UE-S1AP-ID,
id-GERANtoLTEHOInformationRes,
id-GUMMEI-ID,
id-GUMMEIType,
@@ -281,7 +291,7 @@ FROM S1AP-Containers
id-E-RABNotToBeModifiedItemBearerModInd,
id-E-RABModifyListBearerModConf,
id-E-RABModifyItemBearerModConf,
- id-E-RABFailedToModifyListBearerModConf,
+ id-E-RABFailedToModifyListBearerModConf,
id-E-RABToBeReleasedListBearerModConf,
id-E-RABToBeReleasedList,
id-E-RABReleasedList,
@@ -409,7 +419,14 @@ FROM S1AP-Containers
id-HandoverFlag,
id-NRUESecurityCapabilities,
id-UE-Application-Layer-Measurement-Capability,
- id-CE-ModeBRestricted
+ id-CE-ModeBRestricted,
+ id-DownlinkPacketLossRate,
+ id-UplinkPacketLossRate,
+ id-UECapabilityInfoRequest,
+ id-EndIndication,
+ id-EDT-Session,
+ id-LTE-M-Indication
+
FROM S1AP-Constants;
@@ -441,7 +458,7 @@ HandoverRequired ::= SEQUENCE {
...
}
-HandoverRequiredIEs S1AP-PROTOCOL-IES ::= {
+HandoverRequiredIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory}|
@@ -471,7 +488,7 @@ HandoverCommand ::= SEQUENCE {
...
}
-HandoverCommandIEs S1AP-PROTOCOL-IES ::= {
+HandoverCommandIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory}|
@@ -519,7 +536,7 @@ HandoverPreparationFailure ::= SEQUENCE {
...
}
-HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= {
+HandoverPreparationFailureIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
@@ -573,7 +590,8 @@ HandoverRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-UESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE UESidelinkAggregateMaximumBitrate PRESENCE optional}|
{ ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional}|
{ ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}|
- { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional},
+ { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}|
+ { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional},
...
}
@@ -676,7 +694,7 @@ HandoverFailure ::= SEQUENCE {
...
}
-HandoverFailureIEs S1AP-PROTOCOL-IES ::= {
+HandoverFailureIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
@@ -700,12 +718,12 @@ HandoverNotify ::= SEQUENCE {
...
}
-HandoverNotifyIEs S1AP-PROTOCOL-IES ::= {
+HandoverNotifyIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}|
{ ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}|
--- Extension for Release 11 to support BBAI --
+-- Extension for Release 11 to support BBAI --
{ ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional}|
{ ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional},
...
@@ -728,7 +746,7 @@ PathSwitchRequest ::= SEQUENCE {
...
}
-PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {
+PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-E-RABToBeSwitchedDLList CRITICALITY reject TYPE E-RABToBeSwitchedDLList PRESENCE mandatory}|
{ ID id-SourceMME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
@@ -739,7 +757,7 @@ PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-CellAccessMode CRITICALITY ignore TYPE CellAccessMode PRESENCE optional}|
{ ID id-SourceMME-GUMMEI CRITICALITY ignore TYPE GUMMEI PRESENCE optional}|
{ ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}|
--- Extension for Release 11 to support BBAI --
+-- Extension for Release 11 to support BBAI --
{ ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional}|
{ ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional}|
{ ID id-RRC-Resume-Cause CRITICALITY ignore TYPE RRC-Establishment-Cause PRESENCE optional }|
@@ -777,7 +795,7 @@ PathSwitchRequestAcknowledge ::= SEQUENCE {
...
}
-PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
+PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional}|
@@ -793,7 +811,8 @@ PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
{ ID id-UESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE UESidelinkAggregateMaximumBitrate PRESENCE optional}|
{ ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional}|
{ ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}|
- { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional},
+ { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}|
+ { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional},
...
}
@@ -828,7 +847,7 @@ PathSwitchRequestFailure ::= SEQUENCE {
...
}
-PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= {
+PathSwitchRequestFailureIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
@@ -853,7 +872,7 @@ HandoverCancel ::= SEQUENCE {
...
}
-HandoverCancelIEs S1AP-PROTOCOL-IES ::= {
+HandoverCancelIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory },
@@ -871,7 +890,7 @@ HandoverCancelAcknowledge ::= SEQUENCE {
...
}
-HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
+HandoverCancelAcknowledgeIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
@@ -1108,7 +1127,7 @@ E-RABReleaseResponseIEs S1AP-PROTOCOL-IES ::= {
{ ID id-E-RABReleaseListBearerRelComp CRITICALITY ignore TYPE E-RABReleaseListBearerRelComp PRESENCE optional }|
{ ID id-E-RABFailedToReleaseList CRITICALITY ignore TYPE E-RABList PRESENCE optional }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }|
--- Extension for Release 12 to support User Location Information --
+-- Extension for Release 12 to support User Location Information --
{ ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }|
{ ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE optional },
...
@@ -1156,7 +1175,7 @@ E-RABReleaseIndicationIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-E-RABReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE mandatory }|
--- Extension for Release 12 to support User Location Information --
+-- Extension for Release 12 to support User Location Information --
{ ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional }|
{ ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE optional },
...
@@ -1206,7 +1225,8 @@ InitialContextSetupRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-UESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE UESidelinkAggregateMaximumBitrate PRESENCE optional}|
{ ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional}|
{ ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}|
- { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional},
+ { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}|
+ { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional},
...
}
@@ -1327,7 +1347,7 @@ PagingIEs S1AP-PROTOCOL-IES ::= {
{ ID id-CSG-IdList CRITICALITY ignore TYPE CSG-IdList PRESENCE optional}|
{ ID id-PagingPriority CRITICALITY ignore TYPE PagingPriority PRESENCE optional}|
{ ID id-UERadioCapabilityForPaging CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional}|
--- Extension for Release 13 to support Paging Optimisation and Coverage Enhancement paging --
+-- Extension for Release 13 to support Paging Optimisation and Coverage Enhancement paging –-
{ ID id-AssistanceDataForPaging CRITICALITY ignore TYPE AssistanceDataForPaging PRESENCE optional}|
{ ID id-Paging-eDRXInformation CRITICALITY ignore TYPE Paging-eDRXInformation PRESENCE optional}|
{ ID id-extended-UEIdentityIndexValue CRITICALITY ignore TYPE Extended-UEIdentityIndexValue PRESENCE optional}|
@@ -1414,11 +1434,11 @@ UEContextReleaseComplete-IEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}|
--- Extension for Release 12 to support User Location Information --
+-- Extension for Release 12 to support User Location Information --
{ ID id-UserLocationInformation CRITICALITY ignore TYPE UserLocationInformation PRESENCE optional}|
-- Extension for Release 13 to support Paging Optimisation
{ ID id-InformationOnRecommendedCellsAndENBsForPaging CRITICALITY ignore TYPE InformationOnRecommendedCellsAndENBsForPaging PRESENCE optional}|
--- Extension for Release 13 to support coverage enhancement paging -
+-- Extension for Release 13 to support coverage enhancement paging –
{ ID id-CellIdentifierAndCELevelForCECapableUEs CRITICALITY ignore TYPE CellIdentifierAndCELevelForCECapableUEs PRESENCE optional}|
{ ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE optional },
...
@@ -1442,7 +1462,7 @@ UEContextModificationRequest ::= SEQUENCE {
...
}
-UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {
+UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional}|
@@ -1458,7 +1478,8 @@ UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-SRVCCOperationNotPossible CRITICALITY ignore TYPE SRVCCOperationNotPossible PRESENCE optional}|
{ ID id-V2XServicesAuthorized CRITICALITY ignore TYPE V2XServicesAuthorized PRESENCE optional}|
{ ID id-UESidelinkAggregateMaximumBitrate CRITICALITY ignore TYPE UESidelinkAggregateMaximumBitrate PRESENCE optional}|
- { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional},
+ { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}|
+ { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional},
...
}
-- **************************************************************
@@ -1472,7 +1493,7 @@ UEContextModificationResponse ::= SEQUENCE {
...
}
-UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= {
+UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
@@ -1489,7 +1510,7 @@ UEContextModificationFailure ::= SEQUENCE {
...
}
-UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= {
+UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
@@ -1514,7 +1535,7 @@ UERadioCapabilityMatchRequest ::= SEQUENCE {
...
}
-UERadioCapabilityMatchRequestIEs S1AP-PROTOCOL-IES ::= {
+UERadioCapabilityMatchRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional },
@@ -1532,7 +1553,7 @@ UERadioCapabilityMatchResponse ::= SEQUENCE {
...
}
-UERadioCapabilityMatchResponseIEs S1AP-PROTOCOL-IES ::= {
+UERadioCapabilityMatchResponseIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }|
{ ID id-VoiceSupportMatchIndicator CRITICALITY reject TYPE VoiceSupportMatchIndicator PRESENCE mandatory }|
@@ -1568,7 +1589,9 @@ DownlinkNASTransport-IEs S1AP-PROTOCOL-IES ::= {
{ ID id-DLNASPDUDeliveryAckRequest CRITICALITY ignore TYPE DLNASPDUDeliveryAckRequest PRESENCE optional}|
{ ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional}|
{ ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}|
- { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional},
+ { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}|
+ { ID id-UECapabilityInfoRequest CRITICALITY ignore TYPE UECapabilityInfoRequest PRESENCE optional}|
+ { ID id-EndIndication CRITICALITY ignore TYPE EndIndication PRESENCE optional},
...
}
@@ -1597,7 +1620,7 @@ InitialUEMessage-IEs S1AP-PROTOCOL-IES ::= {
{ ID id-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}|
{ ID id-RelayNode-Indicator CRITICALITY reject TYPE RelayNode-Indicator PRESENCE optional}|
{ ID id-GUMMEIType CRITICALITY ignore TYPE GUMMEIType PRESENCE optional}|
--- Extension for Release 11 to support BBAI --
+-- Extension for Release 11 to support BBAI --
{ ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional}|
{ ID id-SIPTO-L-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}|
{ ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional}|
@@ -1606,7 +1629,8 @@ InitialUEMessage-IEs S1AP-PROTOCOL-IES ::= {
{ ID id-CE-mode-B-SupportIndicator CRITICALITY ignore TYPE CE-mode-B-SupportIndicator PRESENCE optional}|
{ ID id-DCN-ID CRITICALITY ignore TYPE DCN-ID PRESENCE optional}|
{ ID id-Coverage-Level CRITICALITY ignore TYPE Coverage-Level PRESENCE optional}|
- { ID id-UE-Application-Layer-Measurement-Capability CRITICALITY ignore TYPE UE-Application-Layer-Measurement-Capability PRESENCE optional},
+ { ID id-UE-Application-Layer-Measurement-Capability CRITICALITY ignore TYPE UE-Application-Layer-Measurement-Capability PRESENCE optional}|
+ { ID id-EDT-Session CRITICALITY ignore TYPE EDT-Session PRESENCE optional},
...
}
@@ -1867,7 +1891,7 @@ S1SetupFailureIEs S1AP-PROTOCOL-IES ::= {
-- **************************************************************
--
--- eNB Configuration Update
+-- eNB Configuration Update
--
-- **************************************************************
@@ -1929,7 +1953,7 @@ ENBConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
-- **************************************************************
--
--- MME Configuration Update
+-- MME Configuration Update
--
-- **************************************************************
@@ -2062,7 +2086,8 @@ UECapabilityInfoIndicationIEs S1AP-PROTOCOL-IES ::= {
{ ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}|
{ ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE mandatory}|
{ ID id-UERadioCapabilityForPaging CRITICALITY ignore TYPE UERadioCapabilityForPaging PRESENCE optional}|
- { ID id-UE-Application-Layer-Measurement-Capability CRITICALITY ignore TYPE UE-Application-Layer-Measurement-Capability PRESENCE optional},
+ { ID id-UE-Application-Layer-Measurement-Capability CRITICALITY ignore TYPE UE-Application-Layer-Measurement-Capability PRESENCE optional}|
+ { ID id-LTE-M-Indication CRITICALITY ignore TYPE LTE-M-Indication PRESENCE optional},
...
}
@@ -2253,7 +2278,7 @@ LocationReportingFailureIndicationIEs S1AP-PROTOCOL-IES ::= {
-- **************************************************************
--
--- Location Report
+-- Location Report
--
-- **************************************************************
@@ -2288,7 +2313,7 @@ OverloadStart ::= SEQUENCE {
...
}
-OverloadStartIEs S1AP-PROTOCOL-IES ::= {
+OverloadStartIEs S1AP-PROTOCOL-IES ::= {
{ ID id-OverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE mandatory }|
{ ID id-GUMMEIList CRITICALITY ignore TYPE GUMMEIList PRESENCE optional }|
{ ID id-TrafficLoadReductionIndication CRITICALITY ignore TYPE TrafficLoadReductionIndication PRESENCE optional },
@@ -2305,13 +2330,13 @@ OverloadStop ::= SEQUENCE {
...
}
-OverloadStopIEs S1AP-PROTOCOL-IES ::= {
+OverloadStopIEs S1AP-PROTOCOL-IES ::= {
{ ID id-GUMMEIList CRITICALITY ignore TYPE GUMMEIList PRESENCE optional },
...
}
-- **************************************************************
--
--- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE
+-- WRITE-REPLACE WARNING ELEMENTARY PROCEDURE
--
-- **************************************************************
@@ -2327,7 +2352,7 @@ WriteReplaceWarningRequest ::= SEQUENCE {
...
}
-WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= {
+WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
{ ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
{ ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }|
@@ -2491,7 +2516,7 @@ KillRequest ::= SEQUENCE {
...
}
-KillRequestIEs S1AP-PROTOCOL-IES ::= {
+KillRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory}|
{ ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory}|
{ ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional}|
@@ -2662,7 +2687,7 @@ E-RABModificationIndicationIEs S1AP-PROTOCOL-IES ::= {
{ ID id-E-RABToBeModifiedListBearerModInd CRITICALITY reject TYPE E-RABToBeModifiedListBearerModInd PRESENCE mandatory}|
{ ID id-E-RABNotToBeModifiedListBearerModInd CRITICALITY reject TYPE E-RABNotToBeModifiedListBearerModInd PRESENCE optional}|
{ ID id-CSGMembershipInfo CRITICALITY reject TYPE CSGMembershipInfo PRESENCE optional}|
--- Extension for Release 11 to support BBAI --
+-- Extension for Release 11 to support BBAI --
{ ID id-Tunnel-Information-for-BBF CRITICALITY ignore TYPE TunnelInformation PRESENCE optional}|
{ ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE optional },
...
@@ -2966,13 +2991,14 @@ ConnectionEstablishmentIndicationIEs S1AP-PROTOCOL-IES ::= {
{ ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
{ ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional }|
{ ID id-DL-CP-SecurityInformation CRITICALITY ignore TYPE DL-CP-SecurityInformation PRESENCE optional }|
- { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional},
+ { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}|
+ { ID id-EndIndication CRITICALITY ignore TYPE EndIndication PRESENCE optional},
...
}
-- **************************************************************
--
--- Retrieve UE Information
+-- Retrieve UE Information
--
-- **************************************************************
diff --git a/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn b/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn
index 6f46bc532e..a73d440bd3 100644
--- a/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn
+++ b/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn
@@ -1,4 +1,4 @@
--- 3GPP TS 36.413 V15.1.0 (2018-03)
+-- 3GPP TS 36.413 V15.2.0 (2018-06)
-- 9.3.2 Elementary Procedure Definitions
-- **************************************************************
--
@@ -6,11 +6,11 @@
--
-- **************************************************************
-S1AP-PDU-Descriptions {
-itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
+S1AP-PDU-Descriptions {
+itu-t (0) identified-organization (4) etsi (0) mobileDomain (0)
eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Descriptions (0)}
-DEFINITIONS AUTOMATIC TAGS ::=
+DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
@@ -66,7 +66,7 @@ FROM S1AP-CommonDataTypes
Paging,
PathSwitchRequest,
PathSwitchRequestAcknowledge,
- PathSwitchRequestFailure,
+ PathSwitchRequestFailure,
PrivateMessage,
Reset,
ResetAcknowledge,
@@ -121,7 +121,7 @@ FROM S1AP-CommonDataTypes
FROM S1AP-PDU-Contents
-
+
id-CellTrafficTrace,
id-DeactivateTrace,
id-downlinkUEAssociatedLPPaTransport,
@@ -250,7 +250,7 @@ UnsuccessfulOutcome ::= SEQUENCE {
S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= {
S1AP-ELEMENTARY-PROCEDURES-CLASS-1 |
- S1AP-ELEMENTARY-PROCEDURES-CLASS-2,
+ S1AP-ELEMENTARY-PROCEDURES-CLASS-2,
...
}
@@ -280,7 +280,7 @@ S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= {
uEContextResume
}
-S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
+S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
handoverNotification |
e-RABReleaseIndication |
paging |
diff --git a/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn b/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn
index f6bbdcf00f..e5583fc055 100644
--- a/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn
+++ b/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn
@@ -1,15 +1,15 @@
--- 3GPP TS 36.413 V15.1.0 (2018-03)
+-- 3GPP TS 36.413 V15.2.0 (2018-06)
-- B.2 ASN.1 definition
-- **************************************************************
--
-- IE definitions for the SON Transfer application
-- The IEs in this ASN.1 module shall be defined and encoded
-- using the same rules as applicable for the S1AP-IEs module.
---
+--
-- **************************************************************
SonTransfer-IEs
-DEFINITIONS AUTOMATIC TAGS ::=
+DEFINITIONS AUTOMATIC TAGS ::=
BEGIN
@@ -152,7 +152,7 @@ ReportingCellList ::= SEQUENCE (SIZE(1.. maxnoofIRATReportingCells)) OF Reportin
MultiCellLoadReportingResponse ::= SEQUENCE (SIZE(1.. maxnoofIRATReportingCells)) OF MultiCellLoadReportingResponse-Item
-MultiCellLoadReportingResponse-Item ::= CHOICE{
+MultiCellLoadReportingResponse-Item ::= CHOICE{
eUTRANResponse EUTRANResponse,
uTRANResponse OCTET STRING,
gERANResponse OCTET STRING,
diff --git a/epan/dissectors/asn1/s1ap/packet-s1ap-template.c b/epan/dissectors/asn1/s1ap/packet-s1ap-template.c
index 9ec44c7262..e0a8db8dc7 100644
--- a/epan/dissectors/asn1/s1ap/packet-s1ap-template.c
+++ b/epan/dissectors/asn1/s1ap/packet-s1ap-template.c
@@ -38,6 +38,7 @@
#include "packet-cell_broadcast.h"
#include "packet-gsm_a_common.h"
#include "packet-ntp.h"
+#include "packet-ngap.h"
#define PNAME "S1 Application Protocol"
#define PSNAME "S1AP"
@@ -105,7 +106,8 @@ static int hf_s1ap_NRintegrityProtectionAlgorithms_NIA1 = -1;
static int hf_s1ap_NRintegrityProtectionAlgorithms_NIA2 = -1;
static int hf_s1ap_NRintegrityProtectionAlgorithms_NIA3 = -1;
static int hf_s1ap_NRintegrityProtectionAlgorithms_Reserved = -1;
-static int hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement = -1;
+static int hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_streaming_service = -1;
+static int hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_MTSI_service = -1;
static int hf_s1ap_UE_Application_Layer_Measurement_Capability_Reserved = -1;
#include "packet-s1ap-hf.c"
@@ -311,6 +313,12 @@ static const true_false_string s1ap_tfs_activate_do_not_activate = {
"Do not activate"
};
+static void
+s1ap_Packet_LossRate_fmt(gchar *s, guint32 v)
+{
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f %% (%u)", (float)v/10, v);
+}
+
static struct s1ap_private_data*
s1ap_get_private_data(packet_info *pinfo)
{
@@ -657,13 +665,17 @@ void proto_register_s1ap(void) {
{ "Reserved", "s1ap.NRintegrityProtectionAlgorithms.Reserved",
FT_UINT16, BASE_HEX, NULL, 0x1fff,
NULL, HFILL }},
- { &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement,
- { "QoE Measurement", "s1ap.UE_Application_Layer_Measurement_Capability.QoE_Measurement",
+ { &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_streaming_service,
+ { "QoE Measurement for streaming service", "s1ap.UE_Application_Layer_Measurement_Capability.QoE_Measurement_for_streaming_service",
FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x80,
NULL, HFILL }},
+ { &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_MTSI_service,
+ { "QoE Measurement for MTSI service", "s1ap.UE_Application_Layer_Measurement_Capability.QoE_Measurement_for_MTSI_service",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x40,
+ NULL, HFILL }},
{ &hf_s1ap_UE_Application_Layer_Measurement_Capability_Reserved,
{ "Reserved", "s1ap.UE_Application_Layer_Measurement_Capability.Reserved",
- FT_UINT8, BASE_HEX, NULL, 0x7f,
+ FT_UINT8, BASE_HEX, NULL, 0x3f,
NULL, HFILL }},
#include "packet-s1ap-hfarr.c"
};
diff --git a/epan/dissectors/asn1/s1ap/s1ap.cnf b/epan/dissectors/asn1/s1ap/s1ap.cnf
index ee31c9646f..c11b35bdc2 100644
--- a/epan/dissectors/asn1/s1ap/s1ap.cnf
+++ b/epan/dissectors/asn1/s1ap/s1ap.cnf
@@ -43,6 +43,7 @@ SONtransferCause
UE-HistoryInformation
#.MAKE_ENUM
+HandoverType
ProcedureCode
ProtocolIE-ID
RAT-Type
@@ -53,6 +54,8 @@ SourceBSS-ToTargetBSS-TransparentContainer
TargetBSS-ToSourceBSS-TransparentContainer
SourceRNC-ToTargetRNC-TransparentContainer
TargetRNC-ToSourceRNC-TransparentContainer
+SourceNgRanNode-ToTargetNgRanNode-TransparentContainer
+TargetNgRanNode-ToSourceNgRanNode-TransparentContainer
ReportingCellList
ReportingCellList-Item
@@ -356,19 +359,19 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
%(DEFAULT_BODY)s
-#Zero the value before use
+#Undef the value before use
#.FN_HDR HandoverRequired
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
- s1ap_data->handover_type_value = 0;
+ s1ap_data->handover_type_value = 0xff;
#.FN_HDR HandoverCommand
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
- s1ap_data->handover_type_value = 0;
+ s1ap_data->handover_type_value = 0xff;
#.FN_HDR HandoverRequest
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
- s1ap_data->handover_type_value = 0;
+ s1ap_data->handover_type_value = 0xff;
#.FN_HDR HandoverRequestAcknowledge
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
- s1ap_data->handover_type_value = 0;
+ s1ap_data->handover_type_value = 0xff;
#.FN_BODY Source-ToTarget-TransparentContainer VAL_PTR = &parameter_tvb
# I think the message is "directly encoded" into the octet string(no "double encoding")
@@ -398,36 +401,44 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC
utrantolte,
gerantolte,
...
+ ltetonr,
+ nrtolte
} */
- case 0:
+ case intralte:
/* intralte
Intra E-UTRAN handover Source eNB to Target eNB
Transparent Container 36.413
*/
dissect_SourceeNB_ToTargeteNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
- case 1:
+ case ltetoutran:
/* ltetoutran
Source RNC to Target RNC
Transparent Container 25.413
*/
dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
- case 2:
+ case ltetogeran:
/* ltetogeran
Source BSS to Target BSS
Transparent Container 48.018
*/
de_bssgp_source_BSS_to_target_BSS_transp_cont(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
break;
- case 3:
+ case utrantolte:
/* utrantolte */
break;
- case 4:
+ case gerantolte:
/* gerantolte */
break;
+ case ltetonr:
+ /* ltetonr */
+ dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case nrtolte:
+ /* nrtolte */
+ break;
default:
- DISSECTOR_ASSERT_NOT_REACHED();
break;
}
/* Enable writing of the column again */
@@ -455,37 +466,44 @@ Port-Number TYPE = FT_UINT16 DISPLAY = BASE_DEC
utrantolte,
gerantolte,
...
+ ltetonr,
+ nrtolte
} */
- case 0:
+ case intralte:
/* intralte
Intra E-UTRAN handover Target eNB to Source eNB
Transparent Container 36.413
*/
dissect_TargeteNB_ToSourceeNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
- case 1:
+ case ltetoutran:
/* ltetoutran
Target RNC to Source RNC
Transparent Container 25.413
*/
dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
- case 2:
+ case ltetogeran:
/* ltetogeran
Target BSS to Source BSS
Transparent Container 48.018
*/
de_bssgp_target_BSS_to_source_BSS_transp_cont(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
-
break;
- case 3:
+ case utrantolte:
/* utrantolte */
break;
- case 4:
+ case gerantolte:
/* gerantolte */
break;
+ case ltetonr:
+ /* ltetonr */
+ dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case nrtolte:
+ /* nrtolte */
+ break;
default:
- DISSECTOR_ASSERT_NOT_REACHED();
break;
}
}
@@ -1028,7 +1046,8 @@ ExtendedBitRate DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_bit_sec
%(DEFAULT_BODY)s
if(parameter_tvb){
const gint *fields[] = {
- &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement,
+ &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_streaming_service,
+ &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_MTSI_service,
&hf_s1ap_UE_Application_Layer_Measurement_Capability_Reserved,
NULL
};
@@ -1162,6 +1181,9 @@ M-TMSI TYPE = FT_UINT32 DISPLAY = BASE_DEC_HEX
}
}
+#.TYPE_ATTR
+Packet-LossRate DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_Packet_LossRate_fmt)
+
#.ASSIGN_VALUE_TO_TYPE # S1AP does not have constants assigned to types, they are pure INTEGER
# ProcedureCode
@@ -1483,6 +1505,16 @@ id-SecondaryRATDataUsageRequest ProtocolIE-ID
id-NRUESecurityCapabilities ProtocolIE-ID
id-UnlicensedSpectrumRestriction ProtocolIE-ID
id-CE-ModeBRestricted ProtocolIE-ID
+id-LTE-M-Indication ProtocolIE-ID
+id-DownlinkPacketLossRate ProtocolIE-ID
+id-UplinkPacketLossRate ProtocolIE-ID
+id-UECapabilityInfoRequest ProtocolIE-ID
+id-serviceType ProtocolIE-ID
+id-AerialUEsubscriptionInformation ProtocolIE-ID
+id-EndIndication ProtocolIE-ID
+id-EDT-Session ProtocolIE-ID
+id-CNTypeRestrictions ProtocolIE-ID
+
#.END
#.REGISTER
@@ -1697,6 +1729,11 @@ UE-Application-Layer-Measurement-Capability N s1ap.ies id-UE-Application-Lay
HandoverFlag N s1ap.ies id-HandoverFlag
EmergencyAreaIDListForRestart N s1ap.ies id-EmergencyAreaIDListForRestart
CE-ModeBRestricted N s1ap.ies id-CE-ModeBRestricted
+AerialUEsubscriptionInformation N s1ap.ies id-AerialUEsubscriptionInformation
+UECapabilityInfoRequest N s1ap.ies id-UECapabilityInfoRequest
+EndIndication N s1ap.ies id-EndIndication
+EDT-Session N s1ap.ies id-EDT-Session
+LTE-M-Indication N s1ap.ies id-LTE-M-Indication
#S1AP-PROTOCOL-IES-PAIR
#RAB-SetupOrModifyItemFirst N s1ap.ies.pair.first id-RAB-SetupOrModifyItem
@@ -1747,6 +1784,10 @@ UEAppLayerMeasConfig N s1ap.extension id-UEAppLayerMeasConfig
ExtendedBitRate N s1ap.extension id-extended-uEaggregateMaximumBitRateDL
ExtendedBitRate N s1ap.extension id-extended-uEaggregateMaximumBitRateUL
UnlicensedSpectrumRestriction N s1ap.extension id-UnlicensedSpectrumRestriction
+CNTypeRestrictions N s1ap.extension id-CNTypeRestrictions
+Packet-LossRate N s1ap.extension id-DownlinkPacketLossRate
+Packet-LossRate N s1ap.extension id-UplinkPacketLossRate
+ServiceType N s1ap.extension id-serviceType
#S1AP-ELEMENTARY-PROCEDURE
HandoverRequired N s1ap.proc.imsg id-HandoverPreparation
diff --git a/epan/dissectors/packet-ngap.c b/epan/dissectors/packet-ngap.c
index eb766cbdcb..8f01741377 100644
--- a/epan/dissectors/packet-ngap.c
+++ b/epan/dissectors/packet-ngap.c
@@ -31,6 +31,7 @@
#include <epan/conversation.h>
#include <epan/proto_data.h>
+#include "packet-ngap.h"
#include "packet-ber.h"
#include "packet-per.h"
#include "packet-e212.h"
@@ -286,7 +287,7 @@ typedef enum _ProtocolIE_ID_enum {
} ProtocolIE_ID_enum;
/*--- End of included file: packet-ngap-val.h ---*/
-#line 51 "./asn1/ngap/packet-ngap-template.c"
+#line 52 "./asn1/ngap/packet-ngap-template.c"
/* Initialize the protocol and registered fields */
static int proto_ngap = -1;
@@ -351,11 +352,13 @@ static int hf_ngap_SerialNumber_PDU = -1; /* SerialNumber */
static int hf_ngap_ServedGUAMIList_PDU = -1; /* ServedGUAMIList */
static int hf_ngap_SliceSupportList_PDU = -1; /* SliceSupportList */
static int hf_ngap_SONConfigurationTransfer_PDU = -1; /* SONConfigurationTransfer */
+static int hf_ngap_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU = -1; /* SourceNGRANNode_ToTargetNGRANNode_TransparentContainer */
static int hf_ngap_SourceToTarget_TransparentContainer_PDU = -1; /* SourceToTarget_TransparentContainer */
static int hf_ngap_SupportedTAList_PDU = -1; /* SupportedTAList */
static int hf_ngap_TAI_PDU = -1; /* TAI */
static int hf_ngap_TAIListForRestart_PDU = -1; /* TAIListForRestart */
static int hf_ngap_TargetID_PDU = -1; /* TargetID */
+static int hf_ngap_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU = -1; /* TargetNGRANNode_ToSourceNGRANNode_TransparentContainer */
static int hf_ngap_TargetToSource_TransparentContainer_PDU = -1; /* TargetToSource_TransparentContainer */
static int hf_ngap_TimeStamp_PDU = -1; /* TimeStamp */
static int hf_ngap_TimeToWait_PDU = -1; /* TimeToWait */
@@ -586,6 +589,8 @@ static int hf_ngap_DataForwardingResponseDRBList_item = -1; /* DataForwardingRe
static int hf_ngap_dRB_ID = -1; /* DRB_ID */
static int hf_ngap_dLForwardingUP_TNLInformation = -1; /* UPTransportLayerInformation */
static int hf_ngap_uLForwardingUP_TNLInformation = -1; /* UPTransportLayerInformation */
+static int hf_ngap_DRBsToQosFlowsMappingList_item = -1; /* DRBsToQosFlowsMappingItem */
+static int hf_ngap_qosFlowMappingList = -1; /* QosFlowMappingList */
static int hf_ngap_priorityLevelQos = -1; /* PriorityLevelQos */
static int hf_ngap_packetDelayBudget = -1; /* PacketDelayBudget */
static int hf_ngap_packetErrorRate = -1; /* PacketErrorRate */
@@ -605,6 +610,9 @@ static int hf_ngap_EmergencyAreaIDList_item = -1; /* EmergencyAreaID */
static int hf_ngap_EmergencyAreaIDListForRestart_item = -1; /* EmergencyAreaID */
static int hf_ngap_EquivalentPLMNs_item = -1; /* PLMNIdentity */
static int hf_ngap_ePS_TAC = -1; /* EPS_TAC */
+static int hf_ngap_E_RABInformationList_item = -1; /* E_RABInformationItem */
+static int hf_ngap_e_RAB_ID = -1; /* E_RAB_ID */
+static int hf_ngap_dLForwarding = -1; /* DLForwarding */
static int hf_ngap_eUTRACellIdentity = -1; /* EUTRACellIdentity */
static int hf_ngap_EUTRA_CGIList_item = -1; /* EUTRA_CGI */
static int hf_ngap_EUTRA_CGIListForWarning_item = -1; /* EUTRA_CGI */
@@ -666,6 +674,9 @@ static int hf_ngap_qosFlowAcceptedList = -1; /* QosFlowAcceptedList */
static int hf_ngap_PDUSessionList_item = -1; /* PDUSessionItem */
static int hf_ngap_pDUSessionID = -1; /* PDUSessionID */
static int hf_ngap_cause = -1; /* Cause */
+static int hf_ngap_PDUSessionResourceInformationList_item = -1; /* PDUSessionResourceInformationItem */
+static int hf_ngap_qosFlowInformationList = -1; /* QosFlowInformationList */
+static int hf_ngap_dRBsToQosFlowsMappingList = -1; /* DRBsToQosFlowsMappingList */
static int hf_ngap_qosFlowModifyConfirmList = -1; /* QosFlowModifyConfirmList */
static int hf_ngap_qosFlowFailedToModifyList = -1; /* QosFlowList */
static int hf_ngap_pDUSessionAggregateMaximumBitRate = -1; /* BitRate */
@@ -690,8 +701,8 @@ static int hf_ngap_dynamic5QI = -1; /* Dynamic5QIDescriptor */
static int hf_ngap_QosFlowAcceptedList_item = -1; /* QosFlowAcceptedItem */
static int hf_ngap_QosFlowAddOrModifyRequestList_item = -1; /* QosFlowAddOrModifyRequestItem */
static int hf_ngap_qosFlowLevelQosParameters = -1; /* QosFlowLevelQosParameters */
-static int hf_ngap_e_RAB_ID = -1; /* E_RAB_ID */
static int hf_ngap_QosFlowAddOrModifyResponseList_item = -1; /* QosFlowAddOrModifyResponseItem */
+static int hf_ngap_QosFlowInformationList_item = -1; /* QosFlowInformationItem */
static int hf_ngap_qosCharacteristics = -1; /* QosCharacteristics */
static int hf_ngap_allocationAndRetentionPriority = -1; /* AllocationAndRetentionPriority */
static int hf_ngap_gBR_QosInformation = -1; /* GBR_QosInformation */
@@ -699,6 +710,7 @@ static int hf_ngap_reflectiveQosAttribute = -1; /* ReflectiveQosAttribute */
static int hf_ngap_additionalQosFlowInformation = -1; /* AdditionalQosFlowInformation */
static int hf_ngap_pPI = -1; /* PPI */
static int hf_ngap_QosFlowList_item = -1; /* QosFlowItem */
+static int hf_ngap_QosFlowMappingList_item = -1; /* QosFlowMappingItem */
static int hf_ngap_QosFlowModifyConfirmList_item = -1; /* QosFlowModifyConfirmItem */
static int hf_ngap_QosFlowNotifyList_item = -1; /* QosFlowNotifyItem */
static int hf_ngap_notificationCause = -1; /* NotificationCause */
@@ -740,6 +752,11 @@ static int hf_ngap_sONInformation = -1; /* SONInformation */
static int hf_ngap_xnTNLConfigurationInfo = -1; /* XnTNLConfigurationInfo */
static int hf_ngap_sONInformationRequest = -1; /* SONInformationRequest */
static int hf_ngap_sONInformationReply = -1; /* SONInformationReply */
+static int hf_ngap_rRCContainer = -1; /* RRCContainer */
+static int hf_ngap_pDUSessionResourceInformationList = -1; /* PDUSessionResourceInformationList */
+static int hf_ngap_e_RABInformationList = -1; /* E_RABInformationList */
+static int hf_ngap_targetCell_ID = -1; /* NGRAN_CGI */
+static int hf_ngap_indexToRFSP = -1; /* IndexToRFSP */
static int hf_ngap_globalRANNodeID = -1; /* GlobalRANNodeID */
static int hf_ngap_selectedTAI = -1; /* TAI */
static int hf_ngap_SupportedTAList_item = -1; /* SupportedTAItem */
@@ -856,7 +873,7 @@ static int hf_ngap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */
static int hf_ngap_unsuccessfulOutcome_value = -1; /* UnsuccessfulOutcome_value */
/*--- End of included file: packet-ngap-hf.c ---*/
-#line 57 "./asn1/ngap/packet-ngap-template.c"
+#line 58 "./asn1/ngap/packet-ngap-template.c"
/* Initialize the subtree pointers */
static int ett_ngap = -1;
@@ -919,6 +936,8 @@ static gint ett_ngap_CriticalityDiagnostics_IE_List = -1;
static gint ett_ngap_CriticalityDiagnostics_IE_Item = -1;
static gint ett_ngap_DataForwardingResponseDRBList = -1;
static gint ett_ngap_DataForwardingResponseDRBItem = -1;
+static gint ett_ngap_DRBsToQosFlowsMappingList = -1;
+static gint ett_ngap_DRBsToQosFlowsMappingItem = -1;
static gint ett_ngap_Dynamic5QIDescriptor = -1;
static gint ett_ngap_EmergencyAreaIDBroadcastEUTRA = -1;
static gint ett_ngap_EmergencyAreaIDBroadcastEUTRA_Item = -1;
@@ -932,6 +951,8 @@ static gint ett_ngap_EmergencyAreaIDList = -1;
static gint ett_ngap_EmergencyAreaIDListForRestart = -1;
static gint ett_ngap_EquivalentPLMNs = -1;
static gint ett_ngap_EPS_TAI = -1;
+static gint ett_ngap_E_RABInformationList = -1;
+static gint ett_ngap_E_RABInformationItem = -1;
static gint ett_ngap_EUTRA_CGI = -1;
static gint ett_ngap_EUTRA_CGIList = -1;
static gint ett_ngap_EUTRA_CGIListForWarning = -1;
@@ -965,6 +986,8 @@ static gint ett_ngap_PathSwitchRequestAcknowledgeTransfer = -1;
static gint ett_ngap_PathSwitchRequestTransfer = -1;
static gint ett_ngap_PDUSessionList = -1;
static gint ett_ngap_PDUSessionItem = -1;
+static gint ett_ngap_PDUSessionResourceInformationList = -1;
+static gint ett_ngap_PDUSessionResourceInformationItem = -1;
static gint ett_ngap_PDUSessionResourceModifyConfirmTransfer = -1;
static gint ett_ngap_PDUSessionResourceModifyRequestTransfer = -1;
static gint ett_ngap_PDUSessionResourceModifyResponseTransfer = -1;
@@ -982,9 +1005,13 @@ static gint ett_ngap_QosFlowAddOrModifyRequestList = -1;
static gint ett_ngap_QosFlowAddOrModifyRequestItem = -1;
static gint ett_ngap_QosFlowAddOrModifyResponseList = -1;
static gint ett_ngap_QosFlowAddOrModifyResponseItem = -1;
+static gint ett_ngap_QosFlowInformationList = -1;
+static gint ett_ngap_QosFlowInformationItem = -1;
static gint ett_ngap_QosFlowLevelQosParameters = -1;
static gint ett_ngap_QosFlowList = -1;
static gint ett_ngap_QosFlowItem = -1;
+static gint ett_ngap_QosFlowMappingList = -1;
+static gint ett_ngap_QosFlowMappingItem = -1;
static gint ett_ngap_QosFlowModifyConfirmList = -1;
static gint ett_ngap_QosFlowModifyConfirmItem = -1;
static gint ett_ngap_QosFlowNotifyList = -1;
@@ -1017,6 +1044,7 @@ static gint ett_ngap_S_NSSAI = -1;
static gint ett_ngap_SONConfigurationTransfer = -1;
static gint ett_ngap_SONInformation = -1;
static gint ett_ngap_SONInformationReply = -1;
+static gint ett_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer = -1;
static gint ett_ngap_SourceRANNodeID = -1;
static gint ett_ngap_SupportedTAList = -1;
static gint ett_ngap_SupportedTAItem = -1;
@@ -1033,6 +1061,7 @@ static gint ett_ngap_TAIListForRestart = -1;
static gint ett_ngap_TAIListForWarning = -1;
static gint ett_ngap_TargeteNB_ID = -1;
static gint ett_ngap_TargetID = -1;
+static gint ett_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer = -1;
static gint ett_ngap_TargetRANNodeID = -1;
static gint ett_ngap_TNLAssociationList = -1;
static gint ett_ngap_TNLAssociationItem = -1;
@@ -1185,7 +1214,7 @@ static gint ett_ngap_SuccessfulOutcome = -1;
static gint ett_ngap_UnsuccessfulOutcome = -1;
/*--- End of included file: packet-ngap-ett.c ---*/
-#line 61 "./asn1/ngap/packet-ngap-template.c"
+#line 62 "./asn1/ngap/packet-ngap-template.c"
static expert_field ei_ngap_number_pages_le15 = EI_INIT;
@@ -1442,7 +1471,7 @@ static value_string_ext ngap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(ngap
static int
dissect_ngap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 98 "./asn1/ngap/ngap.cnf"
+#line 88 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, &ngap_data->procedure_code, FALSE);
@@ -1456,7 +1485,7 @@ dissect_ngap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_ngap_ProtocolExtensionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 92 "./asn1/ngap/ngap.cnf"
+#line 82 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, &ngap_data->protocol_extension_id, FALSE);
@@ -1612,7 +1641,7 @@ static value_string_ext ngap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(ngap
static int
dissect_ngap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 74 "./asn1/ngap/ngap.cnf"
+#line 64 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, &ngap_data->protocol_ie_id, FALSE);
@@ -1620,7 +1649,7 @@ dissect_ngap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
-#line 78 "./asn1/ngap/ngap.cnf"
+#line 68 "./asn1/ngap/ngap.cnf"
if (tree) {
proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
val_to_str_ext(ngap_data->protocol_ie_id, &ngap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
@@ -3611,6 +3640,21 @@ dissect_ngap_DelayCritical(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
+static const value_string ngap_DLForwarding_vals[] = {
+ { 0, "dl-forwarding-proposed" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_ngap_DLForwarding(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
static const value_string ngap_DirectForwardingPathAvailability_vals[] = {
{ 0, "direct-path-available" },
{ 0, NULL }
@@ -3626,6 +3670,65 @@ dissect_ngap_DirectForwardingPathAvailability(tvbuff_t *tvb _U_, int offset _U_,
}
+static const per_sequence_t QosFlowMappingItem_sequence[] = {
+ { &hf_ngap_qosFlowIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIndicator },
+ { &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_ngap_QosFlowMappingItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_ngap_QosFlowMappingItem, QosFlowMappingItem_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t QosFlowMappingList_sequence_of[1] = {
+ { &hf_ngap_QosFlowMappingList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowMappingItem },
+};
+
+static int
+dissect_ngap_QosFlowMappingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_ngap_QosFlowMappingList, QosFlowMappingList_sequence_of,
+ 1, maxnoofQosFlows, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t DRBsToQosFlowsMappingItem_sequence[] = {
+ { &hf_ngap_dRB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_DRB_ID },
+ { &hf_ngap_qosFlowMappingList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowMappingList },
+ { &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_ngap_DRBsToQosFlowsMappingItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_ngap_DRBsToQosFlowsMappingItem, DRBsToQosFlowsMappingItem_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t DRBsToQosFlowsMappingList_sequence_of[1] = {
+ { &hf_ngap_DRBsToQosFlowsMappingList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_DRBsToQosFlowsMappingItem },
+};
+
+static int
+dissect_ngap_DRBsToQosFlowsMappingList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_ngap_DRBsToQosFlowsMappingList, DRBsToQosFlowsMappingList_sequence_of,
+ 1, maxnoofDRBs, FALSE);
+
+ return offset;
+}
+
+
static int
dissect_ngap_PriorityLevelQos(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -3779,6 +3882,36 @@ dissect_ngap_E_RAB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
}
+static const per_sequence_t E_RABInformationItem_sequence[] = {
+ { &hf_ngap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_E_RAB_ID },
+ { &hf_ngap_dLForwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_DLForwarding },
+ { &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_ngap_E_RABInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_ngap_E_RABInformationItem, E_RABInformationItem_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t E_RABInformationList_sequence_of[1] = {
+ { &hf_ngap_E_RABInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_E_RABInformationItem },
+};
+
+static int
+dissect_ngap_E_RABInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_ngap_E_RABInformationList, E_RABInformationList_sequence_of,
+ 1, maxnoofE_RABs, FALSE);
+
+ return offset;
+}
+
+
static const per_sequence_t EUTRA_CGIListForWarning_sequence_of[1] = {
{ &hf_ngap_EUTRA_CGIListForWarning_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_EUTRA_CGI },
};
@@ -4436,7 +4569,7 @@ static const value_string ngap_HandoverType_vals[] = {
static int
dissect_ngap_HandoverType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 220 "./asn1/ngap/ngap.cnf"
+#line 210 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, &ngap_data->handover_type_value, TRUE, 0, NULL);
@@ -4642,7 +4775,7 @@ dissect_ngap_MultipleTNLInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
dissect_ngap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 198 "./asn1/ngap/ngap.cnf"
+#line 188 "./asn1/ngap/ngap.cnf"
tvbuff_t *parameter_tvb=NULL;
@@ -4949,6 +5082,67 @@ dissect_ngap_PDUSessionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+static const per_sequence_t QosFlowInformationItem_sequence[] = {
+ { &hf_ngap_qosFlowIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIndicator },
+ { &hf_ngap_dLForwarding , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_DLForwarding },
+ { &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_ngap_QosFlowInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_ngap_QosFlowInformationItem, QosFlowInformationItem_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t QosFlowInformationList_sequence_of[1] = {
+ { &hf_ngap_QosFlowInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowInformationItem },
+};
+
+static int
+dissect_ngap_QosFlowInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_ngap_QosFlowInformationList, QosFlowInformationList_sequence_of,
+ 1, maxnoofQosFlows, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDUSessionResourceInformationItem_sequence[] = {
+ { &hf_ngap_pDUSessionID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionID },
+ { &hf_ngap_qosFlowInformationList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowInformationList },
+ { &hf_ngap_dRBsToQosFlowsMappingList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_DRBsToQosFlowsMappingList },
+ { &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_ngap_PDUSessionResourceInformationItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_ngap_PDUSessionResourceInformationItem, PDUSessionResourceInformationItem_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t PDUSessionResourceInformationList_sequence_of[1] = {
+ { &hf_ngap_PDUSessionResourceInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ngap_PDUSessionResourceInformationItem },
+};
+
+static int
+dissect_ngap_PDUSessionResourceInformationList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_ngap_PDUSessionResourceInformationList, PDUSessionResourceInformationList_sequence_of,
+ 1, maxnoofPDUSessions, FALSE);
+
+ return offset;
+}
+
+
static const per_sequence_t QosFlowModifyConfirmItem_sequence[] = {
{ &hf_ngap_qosFlowIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_QosFlowIndicator },
{ &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
@@ -5526,6 +5720,16 @@ dissect_ngap_RoutingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
+dissect_ngap_RRCContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, NULL);
+
+ return offset;
+}
+
+
+
+static int
dissect_ngap_RRCEstablishmentCause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, NULL);
@@ -5829,6 +6033,25 @@ dissect_ngap_SONConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
}
+static const per_sequence_t SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_sequence[] = {
+ { &hf_ngap_rRCContainer , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RRCContainer },
+ { &hf_ngap_pDUSessionResourceInformationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_PDUSessionResourceInformationList },
+ { &hf_ngap_e_RABInformationList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_E_RABInformationList },
+ { &hf_ngap_targetCell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_NGRAN_CGI },
+ { &hf_ngap_indexToRFSP , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_IndexToRFSP },
+ { &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer, SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_sequence);
+
+ return offset;
+}
+
+
static int
dissect_ngap_SourceToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -5935,6 +6158,21 @@ dissect_ngap_TargetID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
}
+static const per_sequence_t TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_sequence[] = {
+ { &hf_ngap_rRCContainer , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ngap_RRCContainer },
+ { &hf_ngap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ngap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer, TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_sequence);
+
+ return offset;
+}
+
+
static int
dissect_ngap_TargetToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -6441,7 +6679,7 @@ static const per_sequence_t PDUSessionResourceSetupRequest_sequence[] = {
static int
dissect_ngap_PDUSessionResourceSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 873 "./asn1/ngap/ngap.cnf"
+#line 863 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceSetupRequest");
@@ -6501,7 +6739,7 @@ static const per_sequence_t PDUSessionResourceSetupResponse_sequence[] = {
static int
dissect_ngap_PDUSessionResourceSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 876 "./asn1/ngap/ngap.cnf"
+#line 866 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceSetupResponse");
@@ -6570,7 +6808,7 @@ static const per_sequence_t PDUSessionResourceReleaseCommand_sequence[] = {
static int
dissect_ngap_PDUSessionResourceReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 867 "./asn1/ngap/ngap.cnf"
+#line 857 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceReleaseCommand");
@@ -6588,7 +6826,7 @@ static const per_sequence_t PDUSessionResourceReleaseResponse_sequence[] = {
static int
dissect_ngap_PDUSessionResourceReleaseResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 870 "./asn1/ngap/ngap.cnf"
+#line 860 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceReleaseResponse");
@@ -6606,7 +6844,7 @@ static const per_sequence_t PDUSessionResourceModifyRequest_sequence[] = {
static int
dissect_ngap_PDUSessionResourceModifyRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 852 "./asn1/ngap/ngap.cnf"
+#line 842 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceModifyRequest");
@@ -6665,7 +6903,7 @@ static const per_sequence_t PDUSessionResourceModifyResponse_sequence[] = {
static int
dissect_ngap_PDUSessionResourceModifyResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 855 "./asn1/ngap/ngap.cnf"
+#line 845 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceModifyResponse");
@@ -6723,7 +6961,7 @@ static const per_sequence_t PDUSessionResourceNotify_sequence[] = {
static int
dissect_ngap_PDUSessionResourceNotify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 864 "./asn1/ngap/ngap.cnf"
+#line 854 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceNotify");
@@ -6781,7 +7019,7 @@ static const per_sequence_t PDUSessionResourceModifyIndication_sequence[] = {
static int
dissect_ngap_PDUSessionResourceModifyIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 858 "./asn1/ngap/ngap.cnf"
+#line 848 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceModifyIndication");
@@ -6839,7 +7077,7 @@ static const per_sequence_t PDUSessionResourceModifyConfirm_sequence[] = {
static int
dissect_ngap_PDUSessionResourceModifyConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 861 "./asn1/ngap/ngap.cnf"
+#line 851 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PDUSessionResourceModifyConfirm");
@@ -6897,7 +7135,7 @@ static const per_sequence_t InitialContextSetupRequest_sequence[] = {
static int
dissect_ngap_InitialContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 801 "./asn1/ngap/ngap.cnf"
+#line 791 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupRequest");
@@ -6957,7 +7195,7 @@ static const per_sequence_t InitialContextSetupResponse_sequence[] = {
static int
dissect_ngap_InitialContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 804 "./asn1/ngap/ngap.cnf"
+#line 794 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupResponse");
@@ -7026,7 +7264,7 @@ static const per_sequence_t InitialContextSetupFailure_sequence[] = {
static int
dissect_ngap_InitialContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 807 "./asn1/ngap/ngap.cnf"
+#line 797 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupFailure");
@@ -7044,7 +7282,7 @@ static const per_sequence_t UEContextReleaseRequest_sequence[] = {
static int
dissect_ngap_UEContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 930 "./asn1/ngap/ngap.cnf"
+#line 920 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest");
@@ -7062,7 +7300,7 @@ static const per_sequence_t UEContextReleaseCommand_sequence[] = {
static int
dissect_ngap_UEContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 924 "./asn1/ngap/ngap.cnf"
+#line 914 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand");
@@ -7080,7 +7318,7 @@ static const per_sequence_t UEContextReleaseComplete_sequence[] = {
static int
dissect_ngap_UEContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 927 "./asn1/ngap/ngap.cnf"
+#line 917 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete");
@@ -7098,7 +7336,7 @@ static const per_sequence_t UEContextModificationRequest_sequence[] = {
static int
dissect_ngap_UEContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 915 "./asn1/ngap/ngap.cnf"
+#line 905 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest");
@@ -7116,7 +7354,7 @@ static const per_sequence_t UEContextModificationResponse_sequence[] = {
static int
dissect_ngap_UEContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 918 "./asn1/ngap/ngap.cnf"
+#line 908 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse");
@@ -7134,7 +7372,7 @@ static const per_sequence_t UEContextModificationFailure_sequence[] = {
static int
dissect_ngap_UEContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 921 "./asn1/ngap/ngap.cnf"
+#line 911 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure");
@@ -7152,7 +7390,7 @@ static const per_sequence_t HandoverRequired_sequence[] = {
static int
dissect_ngap_HandoverRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 225 "./asn1/ngap/ngap.cnf"
+#line 215 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->handover_type_value = 0;
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequired");
@@ -7214,7 +7452,7 @@ static const per_sequence_t HandoverCommand_sequence[] = {
static int
dissect_ngap_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 228 "./asn1/ngap/ngap.cnf"
+#line 218 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->handover_type_value = 0;
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCommand");
@@ -7274,7 +7512,7 @@ static const per_sequence_t HandoverPreparationFailure_sequence[] = {
static int
dissect_ngap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 789 "./asn1/ngap/ngap.cnf"
+#line 779 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
@@ -7292,7 +7530,7 @@ static const per_sequence_t HandoverRequest_sequence[] = {
static int
dissect_ngap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 231 "./asn1/ngap/ngap.cnf"
+#line 221 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->handover_type_value = 0;
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
@@ -7353,7 +7591,7 @@ static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
static int
dissect_ngap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 234 "./asn1/ngap/ngap.cnf"
+#line 224 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->handover_type_value = 0;
@@ -7414,7 +7652,7 @@ static const per_sequence_t HandoverFailure_sequence[] = {
static int
dissect_ngap_HandoverFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 798 "./asn1/ngap/ngap.cnf"
+#line 788 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverFailure");
@@ -7432,7 +7670,7 @@ static const per_sequence_t HandoverNotify_sequence[] = {
static int
dissect_ngap_HandoverNotify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 780 "./asn1/ngap/ngap.cnf"
+#line 770 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverNotify");
@@ -7450,7 +7688,7 @@ static const per_sequence_t PathSwitchRequest_sequence[] = {
static int
dissect_ngap_PathSwitchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 843 "./asn1/ngap/ngap.cnf"
+#line 833 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequest");
@@ -7508,7 +7746,7 @@ static const per_sequence_t PathSwitchRequestAcknowledge_sequence[] = {
static int
dissect_ngap_PathSwitchRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 846 "./asn1/ngap/ngap.cnf"
+#line 836 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestAcknowledge");
@@ -7566,7 +7804,7 @@ static const per_sequence_t PathSwitchRequestFailure_sequence[] = {
static int
dissect_ngap_PathSwitchRequestFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 849 "./asn1/ngap/ngap.cnf"
+#line 839 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestFailure");
@@ -7584,7 +7822,7 @@ static const per_sequence_t HandoverCancel_sequence[] = {
static int
dissect_ngap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 774 "./asn1/ngap/ngap.cnf"
+#line 764 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
@@ -7602,7 +7840,7 @@ static const per_sequence_t HandoverCancelAcknowledge_sequence[] = {
static int
dissect_ngap_HandoverCancelAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 777 "./asn1/ngap/ngap.cnf"
+#line 767 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancelAcknowledge");
@@ -7620,7 +7858,7 @@ static const per_sequence_t UplinkRANStatusTransfer_sequence[] = {
static int
dissect_ngap_UplinkRANStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 951 "./asn1/ngap/ngap.cnf"
+#line 941 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkRANStatusTransfer");
@@ -7638,7 +7876,7 @@ static const per_sequence_t DownlinkRANStatusTransfer_sequence[] = {
static int
dissect_ngap_DownlinkRANStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 765 "./asn1/ngap/ngap.cnf"
+#line 755 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkRANStatusTransfer");
@@ -7656,7 +7894,7 @@ static const per_sequence_t Paging_sequence[] = {
static int
dissect_ngap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 840 "./asn1/ngap/ngap.cnf"
+#line 830 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
@@ -7689,7 +7927,7 @@ static const per_sequence_t InitialUEMessage_sequence[] = {
static int
dissect_ngap_InitialUEMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 208 "./asn1/ngap/ngap.cnf"
+#line 198 "./asn1/ngap/ngap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -7710,7 +7948,7 @@ static const per_sequence_t DownlinkNASTransport_sequence[] = {
static int
dissect_ngap_DownlinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 212 "./asn1/ngap/ngap.cnf"
+#line 202 "./asn1/ngap/ngap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -7731,7 +7969,7 @@ static const per_sequence_t UplinkNASTransport_sequence[] = {
static int
dissect_ngap_UplinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 216 "./asn1/ngap/ngap.cnf"
+#line 206 "./asn1/ngap/ngap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -7752,7 +7990,7 @@ static const per_sequence_t NASNonDeliveryIndication_sequence[] = {
static int
dissect_ngap_NASNonDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 822 "./asn1/ngap/ngap.cnf"
+#line 812 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASNonDeliveryIndication");
@@ -7770,7 +8008,7 @@ static const per_sequence_t RerouteNASRequest_sequence[] = {
static int
dissect_ngap_RerouteNASRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 903 "./asn1/ngap/ngap.cnf"
+#line 893 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RerouteNASRequest");
@@ -7788,7 +8026,7 @@ static const per_sequence_t NGSetupRequest_sequence[] = {
static int
dissect_ngap_NGSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 831 "./asn1/ngap/ngap.cnf"
+#line 821 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGSetupRequest");
@@ -7806,7 +8044,7 @@ static const per_sequence_t NGSetupResponse_sequence[] = {
static int
dissect_ngap_NGSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 834 "./asn1/ngap/ngap.cnf"
+#line 824 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGSetupResponse");
@@ -7824,7 +8062,7 @@ static const per_sequence_t NGSetupFailure_sequence[] = {
static int
dissect_ngap_NGSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 837 "./asn1/ngap/ngap.cnf"
+#line 827 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGSetupFailure");
@@ -7842,7 +8080,7 @@ static const per_sequence_t RANConfigurationUpdate_sequence[] = {
static int
dissect_ngap_RANConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 894 "./asn1/ngap/ngap.cnf"
+#line 884 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANConfigurationUpdate");
@@ -7860,7 +8098,7 @@ static const per_sequence_t RANConfigurationUpdateAcknowledge_sequence[] = {
static int
dissect_ngap_RANConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 897 "./asn1/ngap/ngap.cnf"
+#line 887 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANConfigurationUpdateAcknowledge");
@@ -7878,7 +8116,7 @@ static const per_sequence_t RANConfigurationUpdateFailure_sequence[] = {
static int
dissect_ngap_RANConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 900 "./asn1/ngap/ngap.cnf"
+#line 890 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RANConfigurationUpdateFailure");
@@ -7896,7 +8134,7 @@ static const per_sequence_t AMFConfigurationUpdate_sequence[] = {
static int
dissect_ngap_AMFConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 741 "./asn1/ngap/ngap.cnf"
+#line 731 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AMFConfigurationUpdate");
@@ -8005,7 +8243,7 @@ static const per_sequence_t AMFConfigurationUpdateAcknowledge_sequence[] = {
static int
dissect_ngap_AMFConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 744 "./asn1/ngap/ngap.cnf"
+#line 734 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AMFConfigurationUpdateAcknowledge");
@@ -8052,7 +8290,7 @@ static const per_sequence_t AMFConfigurationUpdateFailure_sequence[] = {
static int
dissect_ngap_AMFConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 747 "./asn1/ngap/ngap.cnf"
+#line 737 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "AMFConfigurationUpdateFailure");
@@ -8070,7 +8308,7 @@ static const per_sequence_t NGReset_sequence[] = {
static int
dissect_ngap_NGReset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 825 "./asn1/ngap/ngap.cnf"
+#line 815 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGReset");
@@ -8139,7 +8377,7 @@ static const per_sequence_t NGResetAcknowledge_sequence[] = {
static int
dissect_ngap_NGResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 828 "./asn1/ngap/ngap.cnf"
+#line 818 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NGResetAcknowledge");
@@ -8171,7 +8409,7 @@ static const per_sequence_t ErrorIndication_sequence[] = {
static int
dissect_ngap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 771 "./asn1/ngap/ngap.cnf"
+#line 761 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
@@ -8189,7 +8427,7 @@ static const per_sequence_t UplinkRANConfigurationTransfer_sequence[] = {
static int
dissect_ngap_UplinkRANConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 948 "./asn1/ngap/ngap.cnf"
+#line 938 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkRANConfigurationTransfer");
@@ -8207,7 +8445,7 @@ static const per_sequence_t DownlinkRANConfigurationTransfer_sequence[] = {
static int
dissect_ngap_DownlinkRANConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 762 "./asn1/ngap/ngap.cnf"
+#line 752 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkRANConfigurationTransfer");
@@ -8225,7 +8463,7 @@ static const per_sequence_t WriteReplaceWarningRequest_sequence[] = {
static int
dissect_ngap_WriteReplaceWarningRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 957 "./asn1/ngap/ngap.cnf"
+#line 947 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningRequest");
@@ -8243,7 +8481,7 @@ static const per_sequence_t WriteReplaceWarningResponse_sequence[] = {
static int
dissect_ngap_WriteReplaceWarningResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 960 "./asn1/ngap/ngap.cnf"
+#line 950 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningResponse");
@@ -8262,7 +8500,7 @@ static const per_sequence_t PWSCancelRequest_sequence[] = {
static int
dissect_ngap_PWSCancelRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 882 "./asn1/ngap/ngap.cnf"
+#line 872 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSCancelRequest");
@@ -8280,7 +8518,7 @@ static const per_sequence_t PWSCancelResponse_sequence[] = {
static int
dissect_ngap_PWSCancelResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 885 "./asn1/ngap/ngap.cnf"
+#line 875 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSCancelResponse");
@@ -8298,7 +8536,7 @@ static const per_sequence_t PWSRestartIndication_sequence[] = {
static int
dissect_ngap_PWSRestartIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 891 "./asn1/ngap/ngap.cnf"
+#line 881 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSRestartIndication");
@@ -8316,7 +8554,7 @@ static const per_sequence_t PWSFailureIndication_sequence[] = {
static int
dissect_ngap_PWSFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 888 "./asn1/ngap/ngap.cnf"
+#line 878 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSFailureIndication");
@@ -8334,7 +8572,7 @@ static const per_sequence_t DownlinkUEAssociatedNRPPaTransport_sequence[] = {
static int
dissect_ngap_DownlinkUEAssociatedNRPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 768 "./asn1/ngap/ngap.cnf"
+#line 758 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkUEAssociatedNRPPaTransport");
@@ -8352,7 +8590,7 @@ static const per_sequence_t UplinkUEAssociatedNRPPaTransport_sequence[] = {
static int
dissect_ngap_UplinkUEAssociatedNRPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 954 "./asn1/ngap/ngap.cnf"
+#line 944 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkUEAssociatedNRPPaTransport");
@@ -8370,7 +8608,7 @@ static const per_sequence_t DownlinkNonUEAssociatedNRPPaTransport_sequence[] = {
static int
dissect_ngap_DownlinkNonUEAssociatedNRPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 759 "./asn1/ngap/ngap.cnf"
+#line 749 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNonUEAssociatedNRPPaTransport");
@@ -8388,7 +8626,7 @@ static const per_sequence_t UplinkNonUEAssociatedNRPPaTransport_sequence[] = {
static int
dissect_ngap_UplinkNonUEAssociatedNRPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 945 "./asn1/ngap/ngap.cnf"
+#line 935 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNonUEAssociatedNRPPaTransport");
@@ -8406,7 +8644,7 @@ static const per_sequence_t TraceStart_sequence[] = {
static int
dissect_ngap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 909 "./asn1/ngap/ngap.cnf"
+#line 899 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart");
@@ -8424,7 +8662,7 @@ static const per_sequence_t TraceFailureIndication_sequence[] = {
static int
dissect_ngap_TraceFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 906 "./asn1/ngap/ngap.cnf"
+#line 896 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceFailureIndication");
@@ -8442,7 +8680,7 @@ static const per_sequence_t DeactivateTrace_sequence[] = {
static int
dissect_ngap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 753 "./asn1/ngap/ngap.cnf"
+#line 743 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace");
@@ -8460,7 +8698,7 @@ static const per_sequence_t CellTrafficTrace_sequence[] = {
static int
dissect_ngap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 750 "./asn1/ngap/ngap.cnf"
+#line 740 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace");
@@ -8478,7 +8716,7 @@ static const per_sequence_t LocationReportingControl_sequence[] = {
static int
dissect_ngap_LocationReportingControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 813 "./asn1/ngap/ngap.cnf"
+#line 803 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingControl");
@@ -8496,7 +8734,7 @@ static const per_sequence_t LocationReportingFailureIndication_sequence[] = {
static int
dissect_ngap_LocationReportingFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 816 "./asn1/ngap/ngap.cnf"
+#line 806 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingFailureIndication");
@@ -8514,7 +8752,7 @@ static const per_sequence_t LocationReport_sequence[] = {
static int
dissect_ngap_LocationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 819 "./asn1/ngap/ngap.cnf"
+#line 809 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReport");
@@ -8532,7 +8770,7 @@ static const per_sequence_t UETNLABindingReleaseRequest_sequence[] = {
static int
dissect_ngap_UETNLABindingReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 939 "./asn1/ngap/ngap.cnf"
+#line 929 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UETNLABindingReleaseRequest");
@@ -8550,7 +8788,7 @@ static const per_sequence_t UECapabilityInfoIndication_sequence[] = {
static int
dissect_ngap_UECapabilityInfoIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 912 "./asn1/ngap/ngap.cnf"
+#line 902 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityInfoIndication");
@@ -8568,7 +8806,7 @@ static const per_sequence_t UERadioCapabilityCheckRequest_sequence[] = {
static int
dissect_ngap_UERadioCapabilityCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 933 "./asn1/ngap/ngap.cnf"
+#line 923 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityCheckRequest");
@@ -8586,7 +8824,7 @@ static const per_sequence_t UERadioCapabilityCheckResponse_sequence[] = {
static int
dissect_ngap_UERadioCapabilityCheckResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 936 "./asn1/ngap/ngap.cnf"
+#line 926 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityCheckResponse");
@@ -8604,7 +8842,7 @@ static const per_sequence_t PrivateMessage_sequence[] = {
static int
dissect_ngap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 879 "./asn1/ngap/ngap.cnf"
+#line 869 "./asn1/ngap/ngap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
@@ -8618,7 +8856,7 @@ dissect_ngap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_ngap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 104 "./asn1/ngap/ngap.cnf"
+#line 94 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->message_type = INITIATING_MESSAGE;
@@ -8647,7 +8885,7 @@ dissect_ngap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_ngap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 108 "./asn1/ngap/ngap.cnf"
+#line 98 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->message_type = SUCCESSFUL_OUTCOME;
@@ -8676,7 +8914,7 @@ dissect_ngap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_ngap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 112 "./asn1/ngap/ngap.cnf"
+#line 102 "./asn1/ngap/ngap.cnf"
struct ngap_private_data *ngap_data = ngap_get_private_data(actx->pinfo);
ngap_data->message_type = UNSUCCESSFUL_OUTCOME;
@@ -9189,6 +9427,14 @@ static int dissect_SONConfigurationTransfer_PDU(tvbuff_t *tvb _U_, packet_info *
offset += 7; offset >>= 3;
return offset;
}
+int dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_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, TRUE, pinfo);
+ offset = dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_ngap_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_SourceToTarget_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -9229,6 +9475,14 @@ static int dissect_TargetID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto
offset += 7; offset >>= 3;
return offset;
}
+int dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_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, TRUE, pinfo);
+ offset = dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer(tvb, offset, &asn1_ctx, tree, hf_ngap_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_TargetToSource_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -10432,7 +10686,7 @@ static int dissect_PathSwitchRequestAcknowledgeTransfer_PDU(tvbuff_t *tvb _U_, p
/*--- End of included file: packet-ngap-fn.c ---*/
-#line 185 "./asn1/ngap/packet-ngap-template.c"
+#line 186 "./asn1/ngap/packet-ngap-template.c"
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
@@ -10760,7 +11014,7 @@ proto_reg_handoff_ngap(void)
/*--- End of included file: packet-ngap-dis-tab.c ---*/
-#line 299 "./asn1/ngap/packet-ngap-template.c"
+#line 300 "./asn1/ngap/packet-ngap-template.c"
} else {
if (SctpPort != 0) {
dissector_delete_uint("sctp.port", SctpPort, ngap_handle);
@@ -11007,6 +11261,10 @@ void proto_register_ngap(void) {
{ "SONConfigurationTransfer", "ngap.SONConfigurationTransfer_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_ngap_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU,
+ { "SourceNGRANNode-ToTargetNGRANNode-TransparentContainer", "ngap.SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_ngap_SourceToTarget_TransparentContainer_PDU,
{ "SourceToTarget-TransparentContainer", "ngap.SourceToTarget_TransparentContainer",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -11027,6 +11285,10 @@ void proto_register_ngap(void) {
{ "TargetID", "ngap.TargetID",
FT_UINT32, BASE_DEC, VALS(ngap_TargetID_vals), 0,
NULL, HFILL }},
+ { &hf_ngap_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU,
+ { "TargetNGRANNode-ToSourceNGRANNode-TransparentContainer", "ngap.TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_ngap_TargetToSource_TransparentContainer_PDU,
{ "TargetToSource-TransparentContainer", "ngap.TargetToSource_TransparentContainer",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -11947,6 +12209,14 @@ void proto_register_ngap(void) {
{ "uLForwardingUP-TNLInformation", "ngap.uLForwardingUP_TNLInformation",
FT_UINT32, BASE_DEC, VALS(ngap_UPTransportLayerInformation_vals), 0,
"UPTransportLayerInformation", HFILL }},
+ { &hf_ngap_DRBsToQosFlowsMappingList_item,
+ { "DRBsToQosFlowsMappingItem", "ngap.DRBsToQosFlowsMappingItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_qosFlowMappingList,
+ { "qosFlowMappingList", "ngap.qosFlowMappingList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_ngap_priorityLevelQos,
{ "priorityLevelQos", "ngap.priorityLevelQos",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -12023,6 +12293,18 @@ void proto_register_ngap(void) {
{ "ePS-TAC", "ngap.ePS_TAC",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_ngap_E_RABInformationList_item,
+ { "E-RABInformationItem", "ngap.E_RABInformationItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_e_RAB_ID,
+ { "e-RAB-ID", "ngap.e_RAB_ID",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_dLForwarding,
+ { "dLForwarding", "ngap.dLForwarding",
+ FT_UINT32, BASE_DEC, VALS(ngap_DLForwarding_vals), 0,
+ NULL, HFILL }},
{ &hf_ngap_eUTRACellIdentity,
{ "eUTRACellIdentity", "ngap.eUTRACellIdentity",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -12267,6 +12549,18 @@ void proto_register_ngap(void) {
{ "cause", "ngap.cause",
FT_UINT32, BASE_DEC, VALS(ngap_Cause_vals), 0,
NULL, HFILL }},
+ { &hf_ngap_PDUSessionResourceInformationList_item,
+ { "PDUSessionResourceInformationItem", "ngap.PDUSessionResourceInformationItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_qosFlowInformationList,
+ { "qosFlowInformationList", "ngap.qosFlowInformationList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_dRBsToQosFlowsMappingList,
+ { "dRBsToQosFlowsMappingList", "ngap.dRBsToQosFlowsMappingList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_ngap_qosFlowModifyConfirmList,
{ "qosFlowModifyConfirmList", "ngap.qosFlowModifyConfirmList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -12363,14 +12657,14 @@ void proto_register_ngap(void) {
{ "qosFlowLevelQosParameters", "ngap.qosFlowLevelQosParameters_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_ngap_e_RAB_ID,
- { "e-RAB-ID", "ngap.e_RAB_ID",
- FT_UINT32, BASE_DEC, NULL, 0,
- NULL, HFILL }},
{ &hf_ngap_QosFlowAddOrModifyResponseList_item,
{ "QosFlowAddOrModifyResponseItem", "ngap.QosFlowAddOrModifyResponseItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_ngap_QosFlowInformationList_item,
+ { "QosFlowInformationItem", "ngap.QosFlowInformationItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_ngap_qosCharacteristics,
{ "qosCharacteristics", "ngap.qosCharacteristics",
FT_UINT32, BASE_DEC, VALS(ngap_QosCharacteristics_vals), 0,
@@ -12399,6 +12693,10 @@ void proto_register_ngap(void) {
{ "QosFlowItem", "ngap.QosFlowItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_ngap_QosFlowMappingList_item,
+ { "QosFlowMappingItem", "ngap.QosFlowMappingItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_ngap_QosFlowModifyConfirmList_item,
{ "QosFlowModifyConfirmItem", "ngap.QosFlowModifyConfirmItem_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -12563,6 +12861,26 @@ void proto_register_ngap(void) {
{ "sONInformationReply", "ngap.sONInformationReply_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_ngap_rRCContainer,
+ { "rRCContainer", "ngap.rRCContainer",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_pDUSessionResourceInformationList,
+ { "pDUSessionResourceInformationList", "ngap.pDUSessionResourceInformationList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_e_RABInformationList,
+ { "e-RABInformationList", "ngap.e_RABInformationList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_ngap_targetCell_ID,
+ { "targetCell-ID", "ngap.targetCell_ID",
+ FT_UINT32, BASE_DEC, VALS(ngap_NGRAN_CGI_vals), 0,
+ "NGRAN_CGI", HFILL }},
+ { &hf_ngap_indexToRFSP,
+ { "indexToRFSP", "ngap.indexToRFSP",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_ngap_globalRANNodeID,
{ "globalRANNodeID", "ngap.globalRANNodeID",
FT_UINT32, BASE_DEC, VALS(ngap_GlobalRANNodeID_vals), 0,
@@ -13021,7 +13339,7 @@ void proto_register_ngap(void) {
"UnsuccessfulOutcome_value", HFILL }},
/*--- End of included file: packet-ngap-hfarr.c ---*/
-#line 319 "./asn1/ngap/packet-ngap-template.c"
+#line 320 "./asn1/ngap/packet-ngap-template.c"
};
/* List of subtrees */
@@ -13086,6 +13404,8 @@ void proto_register_ngap(void) {
&ett_ngap_CriticalityDiagnostics_IE_Item,
&ett_ngap_DataForwardingResponseDRBList,
&ett_ngap_DataForwardingResponseDRBItem,
+ &ett_ngap_DRBsToQosFlowsMappingList,
+ &ett_ngap_DRBsToQosFlowsMappingItem,
&ett_ngap_Dynamic5QIDescriptor,
&ett_ngap_EmergencyAreaIDBroadcastEUTRA,
&ett_ngap_EmergencyAreaIDBroadcastEUTRA_Item,
@@ -13099,6 +13419,8 @@ void proto_register_ngap(void) {
&ett_ngap_EmergencyAreaIDListForRestart,
&ett_ngap_EquivalentPLMNs,
&ett_ngap_EPS_TAI,
+ &ett_ngap_E_RABInformationList,
+ &ett_ngap_E_RABInformationItem,
&ett_ngap_EUTRA_CGI,
&ett_ngap_EUTRA_CGIList,
&ett_ngap_EUTRA_CGIListForWarning,
@@ -13132,6 +13454,8 @@ void proto_register_ngap(void) {
&ett_ngap_PathSwitchRequestTransfer,
&ett_ngap_PDUSessionList,
&ett_ngap_PDUSessionItem,
+ &ett_ngap_PDUSessionResourceInformationList,
+ &ett_ngap_PDUSessionResourceInformationItem,
&ett_ngap_PDUSessionResourceModifyConfirmTransfer,
&ett_ngap_PDUSessionResourceModifyRequestTransfer,
&ett_ngap_PDUSessionResourceModifyResponseTransfer,
@@ -13149,9 +13473,13 @@ void proto_register_ngap(void) {
&ett_ngap_QosFlowAddOrModifyRequestItem,
&ett_ngap_QosFlowAddOrModifyResponseList,
&ett_ngap_QosFlowAddOrModifyResponseItem,
+ &ett_ngap_QosFlowInformationList,
+ &ett_ngap_QosFlowInformationItem,
&ett_ngap_QosFlowLevelQosParameters,
&ett_ngap_QosFlowList,
&ett_ngap_QosFlowItem,
+ &ett_ngap_QosFlowMappingList,
+ &ett_ngap_QosFlowMappingItem,
&ett_ngap_QosFlowModifyConfirmList,
&ett_ngap_QosFlowModifyConfirmItem,
&ett_ngap_QosFlowNotifyList,
@@ -13184,6 +13512,7 @@ void proto_register_ngap(void) {
&ett_ngap_SONConfigurationTransfer,
&ett_ngap_SONInformation,
&ett_ngap_SONInformationReply,
+ &ett_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer,
&ett_ngap_SourceRANNodeID,
&ett_ngap_SupportedTAList,
&ett_ngap_SupportedTAItem,
@@ -13200,6 +13529,7 @@ void proto_register_ngap(void) {
&ett_ngap_TAIListForWarning,
&ett_ngap_TargeteNB_ID,
&ett_ngap_TargetID,
+ &ett_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer,
&ett_ngap_TargetRANNodeID,
&ett_ngap_TNLAssociationList,
&ett_ngap_TNLAssociationItem,
@@ -13352,7 +13682,7 @@ void proto_register_ngap(void) {
&ett_ngap_UnsuccessfulOutcome,
/*--- End of included file: packet-ngap-ettarr.c ---*/
-#line 325 "./asn1/ngap/packet-ngap-template.c"
+#line 326 "./asn1/ngap/packet-ngap-template.c"
};
static ei_register_info ei[] = {
diff --git a/epan/dissectors/packet-ngap.h b/epan/dissectors/packet-ngap.h
new file mode 100644
index 0000000000..77ddd6328f
--- /dev/null
+++ b/epan/dissectors/packet-ngap.h
@@ -0,0 +1,44 @@
+/* Do not modify this file. Changes will be overwritten. */
+/* Generated automatically by the ASN.1 to Wireshark dissector compiler */
+/* packet-ngap.h */
+/* asn2wrs.py -p ngap -c ./ngap.cnf -s ./packet-ngap-template -D . -O ../.. NGAP-CommonDataTypes.asn NGAP-Constants.asn NGAP-Containers.asn NGAP-IEs.asn NGAP-PDU-Contents.asn NGAP-PDU-Descriptions.asn */
+
+/* Input file: packet-ngap-template.h */
+
+#line 1 "./asn1/ngap/packet-ngap-template.h"
+/* packet-s1ap.h
+ * Routines for E-UTRAN NG Application Protocol (NGAP) 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_NGAP_H
+#define PACKET_NGAP_H
+
+
+/*--- Included file: packet-ngap-exp.h ---*/
+#line 1 "./asn1/ngap/packet-ngap-exp.h"
+int dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+int dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_);
+
+/*--- End of included file: packet-ngap-exp.h ---*/
+#line 15 "./asn1/ngap/packet-ngap-template.h"
+
+#endif /* PACKET_NGAP_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:
+ */
diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c
index 7f3afc36c1..d8c11c0037 100644
--- a/epan/dissectors/packet-s1ap.c
+++ b/epan/dissectors/packet-s1ap.c
@@ -46,6 +46,7 @@
#include "packet-cell_broadcast.h"
#include "packet-gsm_a_common.h"
#include "packet-ntp.h"
+#include "packet-ngap.h"
#define PNAME "S1 Application Protocol"
#define PSNAME "S1AP"
@@ -453,15 +454,36 @@ typedef enum _ProtocolIE_ID_enum {
id_SecondaryRATDataUsageRequest = 268,
id_NRUESecurityCapabilities = 269,
id_UnlicensedSpectrumRestriction = 270,
- id_CE_ModeBRestricted = 271
+ id_CE_ModeBRestricted = 271,
+ id_LTE_M_Indication = 272,
+ id_DownlinkPacketLossRate = 273,
+ id_UplinkPacketLossRate = 274,
+ id_UECapabilityInfoRequest = 275,
+ id_serviceType = 276,
+ id_AerialUEsubscriptionInformation = 277,
+ id_Unknown_278 = 278,
+ id_Unknown_279 = 279,
+ id_EndIndication = 280,
+ id_EDT_Session = 281,
+ id_CNTypeRestrictions = 282
} ProtocolIE_ID_enum;
+typedef enum _HandoverType_enum {
+ intralte = 0,
+ ltetoutran = 1,
+ ltetogeran = 2,
+ utrantolte = 3,
+ gerantolte = 4,
+ ltetonr = 5,
+ nrtolte = 6
+} HandoverType_enum;
+
typedef enum _RAT_Type_enum {
nbiot = 0
} RAT_Type_enum;
/*--- End of included file: packet-s1ap-val.h ---*/
-#line 61 "./asn1/s1ap/packet-s1ap-template.c"
+#line 62 "./asn1/s1ap/packet-s1ap-template.c"
/* Initialize the protocol and registered fields */
static int proto_s1ap = -1;
@@ -509,12 +531,14 @@ static int hf_s1ap_NRintegrityProtectionAlgorithms_NIA1 = -1;
static int hf_s1ap_NRintegrityProtectionAlgorithms_NIA2 = -1;
static int hf_s1ap_NRintegrityProtectionAlgorithms_NIA3 = -1;
static int hf_s1ap_NRintegrityProtectionAlgorithms_Reserved = -1;
-static int hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement = -1;
+static int hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_streaming_service = -1;
+static int hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_MTSI_service = -1;
static int hf_s1ap_UE_Application_Layer_Measurement_Capability_Reserved = -1;
/*--- Included file: packet-s1ap-hf.c ---*/
#line 1 "./asn1/s1ap/packet-s1ap-hf.c"
static int hf_s1ap_Additional_GUTI_PDU = -1; /* Additional_GUTI */
+static int hf_s1ap_AerialUEsubscriptionInformation_PDU = -1; /* AerialUEsubscriptionInformation */
static int hf_s1ap_AssistanceDataForPaging_PDU = -1; /* AssistanceDataForPaging */
static int hf_s1ap_Bearers_SubjectToStatusTransfer_Item_PDU = -1; /* Bearers_SubjectToStatusTransfer_Item */
static int hf_s1ap_BearerType_PDU = -1; /* BearerType */
@@ -532,6 +556,7 @@ static int hf_s1ap_Cdma2000HORequiredIndication_PDU = -1; /* Cdma2000HORequired
static int hf_s1ap_Cdma2000OneXSRVCCInfo_PDU = -1; /* Cdma2000OneXSRVCCInfo */
static int hf_s1ap_Cdma2000OneXRAND_PDU = -1; /* Cdma2000OneXRAND */
static int hf_s1ap_CNDomain_PDU = -1; /* CNDomain */
+static int hf_s1ap_CNTypeRestrictions_PDU = -1; /* CNTypeRestrictions */
static int hf_s1ap_ConcurrentWarningMessageIndicator_PDU = -1; /* ConcurrentWarningMessageIndicator */
static int hf_s1ap_Correlation_ID_PDU = -1; /* Correlation_ID */
static int hf_s1ap_CSFallbackIndicator_PDU = -1; /* CSFallbackIndicator */
@@ -551,12 +576,14 @@ static int hf_s1ap_Direct_Forwarding_Path_Availability_PDU = -1; /* Direct_Forw
static int hf_s1ap_Data_Forwarding_Not_Possible_PDU = -1; /* Data_Forwarding_Not_Possible */
static int hf_s1ap_DLNASPDUDeliveryAckRequest_PDU = -1; /* DLNASPDUDeliveryAckRequest */
static int hf_s1ap_PWSfailedECGIList_PDU = -1; /* PWSfailedECGIList */
+static int hf_s1ap_EDT_Session_PDU = -1; /* EDT_Session */
static int hf_s1ap_EmergencyAreaIDListForRestart_PDU = -1; /* EmergencyAreaIDListForRestart */
static int hf_s1ap_s1ap_Global_ENB_ID_PDU = -1; /* Global_ENB_ID */
static int hf_s1ap_GUMMEIList_PDU = -1; /* GUMMEIList */
static int hf_s1ap_s1ap_ENB_StatusTransfer_TransparentContainer_PDU = -1; /* ENB_StatusTransfer_TransparentContainer */
static int hf_s1ap_ENB_UE_S1AP_ID_PDU = -1; /* ENB_UE_S1AP_ID */
static int hf_s1ap_ENBname_PDU = -1; /* ENBname */
+static int hf_s1ap_EndIndication_PDU = -1; /* EndIndication */
static int hf_s1ap_EnhancedCoverageRestricted_PDU = -1; /* EnhancedCoverageRestricted */
static int hf_s1ap_CE_ModeBRestricted_PDU = -1; /* CE_ModeBRestricted */
static int hf_s1ap_E_RABInformationListItem_PDU = -1; /* E_RABInformationListItem */
@@ -583,6 +610,7 @@ static int hf_s1ap_LAI_PDU = -1; /* LAI */
static int hf_s1ap_LPPa_PDU_PDU = -1; /* LPPa_PDU */
static int hf_s1ap_LHN_ID_PDU = -1; /* LHN_ID */
static int hf_s1ap_LoggedMBSFNMDT_PDU = -1; /* LoggedMBSFNMDT */
+static int hf_s1ap_LTE_M_Indication_PDU = -1; /* LTE_M_Indication */
static int hf_s1ap_M3Configuration_PDU = -1; /* M3Configuration */
static int hf_s1ap_M4Configuration_PDU = -1; /* M4Configuration */
static int hf_s1ap_M5Configuration_PDU = -1; /* M5Configuration */
@@ -613,6 +641,7 @@ static int hf_s1ap_NRrestriction_PDU = -1; /* NRrestriction */
static int hf_s1ap_NRUESecurityCapabilities_PDU = -1; /* NRUESecurityCapabilities */
static int hf_s1ap_NumberofBroadcastRequest_PDU = -1; /* NumberofBroadcastRequest */
static int hf_s1ap_OverloadResponse_PDU = -1; /* OverloadResponse */
+static int hf_s1ap_Packet_LossRate_PDU = -1; /* Packet_LossRate */
static int hf_s1ap_Paging_eDRXInformation_PDU = -1; /* Paging_eDRXInformation */
static int hf_s1ap_PagingDRX_PDU = -1; /* PagingDRX */
static int hf_s1ap_PagingPriority_PDU = -1; /* PagingPriority */
@@ -637,6 +666,7 @@ static int hf_s1ap_SecondaryRATDataUsageRequest_PDU = -1; /* SecondaryRATDataUs
static int hf_s1ap_SecondaryRATDataUsageReportList_PDU = -1; /* SecondaryRATDataUsageReportList */
static int hf_s1ap_SecondaryRATDataUsageReportItem_PDU = -1; /* SecondaryRATDataUsageReportItem */
static int hf_s1ap_SerialNumber_PDU = -1; /* SerialNumber */
+static int hf_s1ap_ServiceType_PDU = -1; /* ServiceType */
static int hf_s1ap_SONInformationReport_PDU = -1; /* SONInformationReport */
static int hf_s1ap_SONConfigurationTransfer_PDU = -1; /* SONConfigurationTransfer */
static int hf_s1ap_SynchronisationInformation_PDU = -1; /* SynchronisationInformation */
@@ -666,6 +696,7 @@ static int hf_s1ap_TunnelInformation_PDU = -1; /* TunnelInformation */
static int hf_s1ap_TAIListForRestart_PDU = -1; /* TAIListForRestart */
static int hf_s1ap_UEAggregateMaximumBitrate_PDU = -1; /* UEAggregateMaximumBitrate */
static int hf_s1ap_UEAppLayerMeasConfig_PDU = -1; /* UEAppLayerMeasConfig */
+static int hf_s1ap_UECapabilityInfoRequest_PDU = -1; /* UECapabilityInfoRequest */
static int hf_s1ap_UE_RetentionInformation_PDU = -1; /* UE_RetentionInformation */
static int hf_s1ap_UE_S1AP_IDs_PDU = -1; /* UE_S1AP_IDs */
static int hf_s1ap_UE_associatedLogicalS1_ConnectionItem_PDU = -1; /* UE_associatedLogicalS1_ConnectionItem */
@@ -902,6 +933,9 @@ static int hf_s1ap_pLMNidentity = -1; /* PLMNidentity */
static int hf_s1ap_lAC = -1; /* LAC */
static int hf_s1ap_cI = -1; /* CI */
static int hf_s1ap_rAC = -1; /* RAC */
+static int hf_s1ap_CNTypeRestrictions_item = -1; /* CNTypeRestrictions_Item */
+static int hf_s1ap_pLMN_Identity = -1; /* PLMNidentity */
+static int hf_s1ap_cNType = -1; /* CNType */
static int hf_s1ap_CSG_IdList_item = -1; /* CSG_IdList_Item */
static int hf_s1ap_cSG_Id = -1; /* CSG_Id */
static int hf_s1ap_pDCP_SN = -1; /* PDCP_SN */
@@ -961,8 +995,8 @@ static int hf_s1ap_expectedHOInterval = -1; /* ExpectedHOInterval */
static int hf_s1ap_expectedActivityPeriod = -1; /* ExpectedActivityPeriod */
static int hf_s1ap_expectedIdlePeriod = -1; /* ExpectedIdlePeriod */
static int hf_s1ap_sourceofUEActivityBehaviourInformation = -1; /* SourceOfUEActivityBehaviourInformation */
+static int hf_s1ap_fiveGSTAC = -1; /* FiveGSTAC */
static int hf_s1ap_ForbiddenTAs_item = -1; /* ForbiddenTAs_Item */
-static int hf_s1ap_pLMN_Identity = -1; /* PLMNidentity */
static int hf_s1ap_forbiddenTACs = -1; /* ForbiddenTACs */
static int hf_s1ap_ForbiddenTACs_item = -1; /* TAC */
static int hf_s1ap_ForbiddenLAs_item = -1; /* ForbiddenLAs_Item */
@@ -1104,8 +1138,17 @@ static int hf_s1ap_tAIListforQMC = -1; /* TAIListforQMC */
static int hf_s1ap_TAIListforQMC_item = -1; /* TAI */
static int hf_s1ap_CompletedCellinTAI_item = -1; /* CompletedCellinTAI_Item */
static int hf_s1ap_cGI = -1; /* CGI */
+static int hf_s1ap_targetgNgRanNode_ID = -1; /* TargetNgRanNode_ID */
static int hf_s1ap_rNC_ID = -1; /* RNC_ID */
static int hf_s1ap_extendedRNC_ID = -1; /* ExtendedRNC_ID */
+static int hf_s1ap_global_RAN_NODE_ID = -1; /* Global_RAN_NODE_ID */
+static int hf_s1ap_selected_TAI_01 = -1; /* FiveGSTAI */
+static int hf_s1ap_gNB = -1; /* GNB */
+static int hf_s1ap_ng_eNB = -1; /* NG_eNB */
+static int hf_s1ap_global_gNB_ID = -1; /* Global_GNB_ID */
+static int hf_s1ap_gNB_ID = -1; /* GNB_Identity */
+static int hf_s1ap_gNB_ID_01 = -1; /* GNB_ID */
+static int hf_s1ap_global_ng_eNB_ID = -1; /* Global_ENB_ID */
static int hf_s1ap_measurementThreshold = -1; /* MeasurementThresholdA2 */
static int hf_s1ap_transportLayerAddress = -1; /* TransportLayerAddress */
static int hf_s1ap_uL_GTP_TEID = -1; /* GTP_TEID */
@@ -1247,7 +1290,7 @@ static int hf_s1ap_eHRPD_Sector_ID_01 = -1; /* EHRPD_Sector_ID */
static int hf_s1ap_eHRPDSectorLoadReportingResponse = -1; /* EHRPDSectorLoadReportingResponse */
/*--- End of included file: packet-s1ap-hf.c ---*/
-#line 111 "./asn1/s1ap/packet-s1ap-template.c"
+#line 113 "./asn1/s1ap/packet-s1ap-template.c"
/* Initialize the subtree pointers */
static int ett_s1ap = -1;
@@ -1322,6 +1365,8 @@ static gint ett_s1ap_CellIdListforQMC = -1;
static gint ett_s1ap_Cdma2000OneXSRVCCInfo = -1;
static gint ett_s1ap_CellType = -1;
static gint ett_s1ap_CGI = -1;
+static gint ett_s1ap_CNTypeRestrictions = -1;
+static gint ett_s1ap_CNTypeRestrictions_Item = -1;
static gint ett_s1ap_CSG_IdList = -1;
static gint ett_s1ap_CSG_IdList_Item = -1;
static gint ett_s1ap_COUNTvalue = -1;
@@ -1361,6 +1406,7 @@ static gint ett_s1ap_E_RABUsageReportItem = -1;
static gint ett_s1ap_EUTRAN_CGI = -1;
static gint ett_s1ap_ExpectedUEBehaviour = -1;
static gint ett_s1ap_ExpectedUEActivityBehaviour = -1;
+static gint ett_s1ap_FiveGSTAI = -1;
static gint ett_s1ap_ForbiddenTAs = -1;
static gint ett_s1ap_ForbiddenTAs_Item = -1;
static gint ett_s1ap_ForbiddenTACs = -1;
@@ -1450,6 +1496,12 @@ static gint ett_s1ap_CompletedCellinTAI_Item = -1;
static gint ett_s1ap_TargetID = -1;
static gint ett_s1ap_TargeteNB_ID = -1;
static gint ett_s1ap_TargetRNC_ID = -1;
+static gint ett_s1ap_TargetNgRanNode_ID = -1;
+static gint ett_s1ap_Global_RAN_NODE_ID = -1;
+static gint ett_s1ap_GNB = -1;
+static gint ett_s1ap_Global_GNB_ID = -1;
+static gint ett_s1ap_GNB_Identity = -1;
+static gint ett_s1ap_NG_eNB = -1;
static gint ett_s1ap_TargeteNB_ToSourceeNB_TransparentContainer = -1;
static gint ett_s1ap_M1ThresholdEventA2 = -1;
static gint ett_s1ap_TransportInformation = -1;
@@ -1639,7 +1691,7 @@ static gint ett_s1ap_EHRPDCompositeAvailableCapacity = -1;
static gint ett_s1ap_EHRPDMultiSectorLoadReportingResponseItem = -1;
/*--- End of included file: packet-s1ap-ett.c ---*/
-#line 146 "./asn1/s1ap/packet-s1ap-template.c"
+#line 148 "./asn1/s1ap/packet-s1ap-template.c"
static expert_field ei_s1ap_number_pages_le15 = EI_INIT;
@@ -1808,6 +1860,12 @@ static const true_false_string s1ap_tfs_activate_do_not_activate = {
"Do not activate"
};
+static void
+s1ap_Packet_LossRate_fmt(gchar *s, guint32 v)
+{
+ g_snprintf(s, ITEM_LABEL_LENGTH, "%.1f %% (%u)", (float)v/10, v);
+}
+
static struct s1ap_private_data*
s1ap_get_private_data(packet_info *pinfo)
{
@@ -1877,7 +1935,7 @@ dissect_s1ap_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_s1ap_T_global(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 202 "./asn1/s1ap/s1ap.cnf"
+#line 205 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
offset = dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &s1ap_data->obj_id);
@@ -1902,7 +1960,7 @@ static const per_choice_t PrivateIE_ID_choice[] = {
static int
dissect_s1ap_PrivateIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 198 "./asn1/s1ap/s1ap.cnf"
+#line 201 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
s1ap_data->obj_id = NULL;
@@ -1987,7 +2045,7 @@ static value_string_ext s1ap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(s1ap
static int
dissect_s1ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 116 "./asn1/s1ap/s1ap.cnf"
+#line 119 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, &s1ap_data->procedure_code, FALSE);
@@ -2001,7 +2059,7 @@ dissect_s1ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_s1ap_ProtocolExtensionID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 110 "./asn1/s1ap/s1ap.cnf"
+#line 113 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, &s1ap_data->protocol_extension_id, FALSE);
@@ -2286,6 +2344,17 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = {
{ id_NRUESecurityCapabilities, "id-NRUESecurityCapabilities" },
{ id_UnlicensedSpectrumRestriction, "id-UnlicensedSpectrumRestriction" },
{ id_CE_ModeBRestricted, "id-CE-ModeBRestricted" },
+ { id_LTE_M_Indication, "id-LTE-M-Indication" },
+ { id_DownlinkPacketLossRate, "id-DownlinkPacketLossRate" },
+ { id_UplinkPacketLossRate, "id-UplinkPacketLossRate" },
+ { id_UECapabilityInfoRequest, "id-UECapabilityInfoRequest" },
+ { id_serviceType, "id-serviceType" },
+ { id_AerialUEsubscriptionInformation, "id-AerialUEsubscriptionInformation" },
+ { id_Unknown_278, "id-Unknown-278" },
+ { id_Unknown_279, "id-Unknown-279" },
+ { id_EndIndication, "id-EndIndication" },
+ { id_EDT_Session, "id-EDT-Session" },
+ { id_CNTypeRestrictions, "id-CNTypeRestrictions" },
{ 0, NULL }
};
@@ -2294,7 +2363,7 @@ static value_string_ext s1ap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(s1ap
static int
dissect_s1ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 92 "./asn1/s1ap/s1ap.cnf"
+#line 95 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, &s1ap_data->protocol_ie_id, FALSE);
@@ -2302,7 +2371,7 @@ dissect_s1ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
-#line 96 "./asn1/s1ap/s1ap.cnf"
+#line 99 "./asn1/s1ap/s1ap.cnf"
if (tree) {
proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s",
val_to_str_ext(s1ap_data->protocol_ie_id, &s1ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
@@ -2383,7 +2452,7 @@ static const per_sequence_t ProtocolIE_ContainerList_sequence_of[1] = {
static int
dissect_s1ap_ProtocolIE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 143 "./asn1/s1ap/s1ap.cnf"
+#line 146 "./asn1/s1ap/s1ap.cnf"
static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = {
{ "lowerBound", ASN1_PAR_INTEGER },
{ "upperBound", ASN1_PAR_INTEGER },
@@ -2441,7 +2510,7 @@ dissect_s1ap_ProtocolExtensionContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_
static int
dissect_s1ap_T_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 206 "./asn1/s1ap/s1ap.cnf"
+#line 209 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
if (s1ap_data->obj_id) {
offset = call_per_oid_callback(s1ap_data->obj_id, tvb, actx->pinfo, tree, offset, actx, hf_index);
@@ -2492,7 +2561,7 @@ dissect_s1ap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
dissect_s1ap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 219 "./asn1/s1ap/s1ap.cnf"
+#line 222 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb=NULL;
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
@@ -2519,7 +2588,7 @@ dissect_s1ap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_s1ap_MME_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 793 "./asn1/s1ap/s1ap.cnf"
+#line 811 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, &parameter_tvb);
@@ -2537,7 +2606,7 @@ dissect_s1ap_MME_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_s1ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 784 "./asn1/s1ap/s1ap.cnf"
+#line 802 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
1, 1, FALSE, &parameter_tvb);
@@ -2572,7 +2641,7 @@ dissect_s1ap_GUMMEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
static int
dissect_s1ap_M_TMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1075 "./asn1/s1ap/s1ap.cnf"
+#line 1094 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
4, 4, FALSE, &parameter_tvb);
@@ -2603,10 +2672,26 @@ dissect_s1ap_Additional_GUTI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+static const value_string s1ap_AerialUEsubscriptionInformation_vals[] = {
+ { 0, "allowed" },
+ { 1, "not-allowed" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_AerialUEsubscriptionInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
static int
dissect_s1ap_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2129 "./asn1/s1ap/s1ap.cnf"
+#line 2170 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *cell_id_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
28, 28, FALSE, &cell_id_tvb, NULL);
@@ -2669,7 +2754,7 @@ dissect_s1ap_CellBasedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_s1ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1042 "./asn1/s1ap/s1ap.cnf"
+#line 1061 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
@@ -2737,7 +2822,7 @@ static const per_sequence_t TAI_sequence[] = {
static int
dissect_s1ap_TAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1141 "./asn1/s1ap/s1ap.cnf"
+#line 1160 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
s1ap_data->tai = wmem_new0(wmem_packet_scope(), struct s1ap_tai);
@@ -3037,7 +3122,7 @@ dissect_s1ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, a
static int
dissect_s1ap_CELevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 680 "./asn1/s1ap/s1ap.cnf"
+#line 698 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@@ -3748,7 +3833,7 @@ static value_string_ext s1ap_CauseRadioNetwork_vals_ext = VALUE_STRING_EXT_INIT(
static int
dissect_s1ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2100 "./asn1/s1ap/s1ap.cnf"
+#line 2141 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
36, &value, TRUE, 4, NULL);
@@ -3770,7 +3855,7 @@ const value_string s1ap_CauseTransport_vals[] = {
static int
dissect_s1ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2105 "./asn1/s1ap/s1ap.cnf"
+#line 2146 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, &value, TRUE, 0, NULL);
@@ -3795,7 +3880,7 @@ const value_string s1ap_CauseNas_vals[] = {
static int
dissect_s1ap_CauseNas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2110 "./asn1/s1ap/s1ap.cnf"
+#line 2151 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, &value, TRUE, 1, NULL);
@@ -3822,7 +3907,7 @@ const value_string s1ap_CauseProtocol_vals[] = {
static int
dissect_s1ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2115 "./asn1/s1ap/s1ap.cnf"
+#line 2156 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, &value, TRUE, 0, NULL);
@@ -3848,7 +3933,7 @@ const value_string s1ap_CauseMisc_vals[] = {
static int
dissect_s1ap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2120 "./asn1/s1ap/s1ap.cnf"
+#line 2161 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, &value, TRUE, 0, NULL);
@@ -3922,7 +4007,7 @@ dissect_s1ap_CE_mode_B_SupportIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_
static int
dissect_s1ap_Cdma2000PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 620 "./asn1/s1ap/s1ap.cnf"
+#line 638 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -3964,7 +4049,7 @@ dissect_s1ap_Cdma2000RATType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_s1ap_Cdma2000SectorID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 635 "./asn1/s1ap/s1ap.cnf"
+#line 653 "./asn1/s1ap/s1ap.cnf"
/* 9.2.1.25
* This IE is set to CDMA2000 Reference Cell ID
* corresponding to the HRPD/1xRTT sector under
@@ -4114,7 +4199,7 @@ dissect_s1ap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
static int
dissect_s1ap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1057 "./asn1/s1ap/s1ap.cnf"
+#line 1076 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, &parameter_tvb);
@@ -4142,7 +4227,7 @@ dissect_s1ap_CI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_t
static int
dissect_s1ap_RAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1066 "./asn1/s1ap/s1ap.cnf"
+#line 1085 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
1, 1, FALSE, &parameter_tvb);
@@ -4191,6 +4276,51 @@ dissect_s1ap_CNDomain(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
}
+static const value_string s1ap_CNType_vals[] = {
+ { 0, "fiveGCForbiddden" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_CNType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t CNTypeRestrictions_Item_sequence[] = {
+ { &hf_s1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
+ { &hf_s1ap_cNType , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CNType },
+ { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_CNTypeRestrictions_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_CNTypeRestrictions_Item, CNTypeRestrictions_Item_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CNTypeRestrictions_sequence_of[1] = {
+ { &hf_s1ap_CNTypeRestrictions_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_CNTypeRestrictions_Item },
+};
+
+static int
+dissect_s1ap_CNTypeRestrictions(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_CNTypeRestrictions, CNTypeRestrictions_sequence_of,
+ 1, maxnoofEPLMNsPlusOne, FALSE);
+
+ return offset;
+}
+
+
static const value_string s1ap_ConcurrentWarningMessageIndicator_vals[] = {
{ 0, "true" },
{ 0, NULL }
@@ -4458,7 +4588,7 @@ dissect_s1ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
dissect_s1ap_DataCodingScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 881 "./asn1/s1ap/s1ap.cnf"
+#line 899 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, &parameter_tvb, NULL);
@@ -4650,6 +4780,21 @@ dissect_s1ap_PWSfailedECGIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
+static const value_string s1ap_EDT_Session_vals[] = {
+ { 0, "true" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_EDT_Session(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
static const per_sequence_t EmergencyAreaIDList_sequence_of[1] = {
{ &hf_s1ap_EmergencyAreaIDList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EmergencyAreaID },
};
@@ -4839,7 +4984,7 @@ dissect_s1ap_ENB_StatusTransfer_TransparentContainer(tvbuff_t *tvb _U_, int offs
static int
dissect_s1ap_ENB_UE_S1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1135 "./asn1/s1ap/s1ap.cnf"
+#line 1154 "./asn1/s1ap/s1ap.cnf"
guint32 enb_ue_s1ap_id;
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
@@ -4856,7 +5001,7 @@ dissect_s1ap_ENB_UE_S1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_s1ap_ENBname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 239 "./asn1/s1ap/s1ap.cnf"
+#line 242 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb=NULL;
int length;
int p_offset;
@@ -4890,7 +5035,7 @@ dissect_s1ap_ENBname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
static int
dissect_s1ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 306 "./asn1/s1ap/s1ap.cnf"
+#line 309 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb=NULL;
proto_tree *subtree;
gint tvb_len;
@@ -4940,7 +5085,7 @@ dissect_s1ap_ENBX2TLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
dissect_s1ap_EncryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 800 "./asn1/s1ap/s1ap.cnf"
+#line 818 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, TRUE, &parameter_tvb, NULL);
@@ -4963,6 +5108,22 @@ dissect_s1ap_EncryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
+static const value_string s1ap_EndIndication_vals[] = {
+ { 0, "no-further-data" },
+ { 1, "further-data-exists" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_EndIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
static const value_string s1ap_EnhancedCoverageRestricted_vals[] = {
{ 0, "restricted" },
{ 0, NULL }
@@ -5147,7 +5308,7 @@ dissect_s1ap_E_RABUsageReportList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_s1ap_T_startTimestamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 970 "./asn1/s1ap/s1ap.cnf"
+#line 988 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *timestamp_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, &timestamp_tvb);
@@ -5155,7 +5316,7 @@ dissect_s1ap_T_startTimestamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
-#line 974 "./asn1/s1ap/s1ap.cnf"
+#line 992 "./asn1/s1ap/s1ap.cnf"
if (timestamp_tvb) {
proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
}
@@ -5168,7 +5329,7 @@ dissect_s1ap_T_startTimestamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static int
dissect_s1ap_T_endTimestamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 979 "./asn1/s1ap/s1ap.cnf"
+#line 997 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *timestamp_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, &timestamp_tvb);
@@ -5176,7 +5337,7 @@ dissect_s1ap_T_endTimestamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
-#line 983 "./asn1/s1ap/s1ap.cnf"
+#line 1001 "./asn1/s1ap/s1ap.cnf"
if (timestamp_tvb) {
proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
}
@@ -5354,6 +5515,32 @@ dissect_s1ap_Extended_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, as
}
+
+static int
+dissect_s1ap_FiveGSTAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t FiveGSTAI_sequence[] = {
+ { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
+ { &hf_s1ap_fiveGSTAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_FiveGSTAC },
+ { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_FiveGSTAI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_FiveGSTAI, FiveGSTAI_sequence);
+
+ return offset;
+}
+
+
static const value_string s1ap_ForbiddenInterRATs_vals[] = {
{ 0, "all" },
{ 1, "geran" },
@@ -5538,21 +5725,23 @@ dissect_s1ap_HandoverRestrictionList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static const value_string s1ap_HandoverType_vals[] = {
- { 0, "intralte" },
- { 1, "ltetoutran" },
- { 2, "ltetogeran" },
- { 3, "utrantolte" },
- { 4, "gerantolte" },
+ { intralte, "intralte" },
+ { ltetoutran, "ltetoutran" },
+ { ltetogeran, "ltetogeran" },
+ { utrantolte, "utrantolte" },
+ { gerantolte, "gerantolte" },
+ { ltetonr, "ltetonr" },
+ { nrtolte, "nrtolte" },
{ 0, NULL }
};
static int
dissect_s1ap_HandoverType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 356 "./asn1/s1ap/s1ap.cnf"
+#line 359 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 5, &s1ap_data->handover_type_value, TRUE, 0, NULL);
+ 5, &s1ap_data->handover_type_value, TRUE, 2, NULL);
@@ -5574,7 +5763,7 @@ dissect_s1ap_Masked_IMEISV(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_s1ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 923 "./asn1/s1ap/s1ap.cnf"
+#line 941 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, &parameter_tvb, NULL);
@@ -5761,7 +5950,7 @@ dissect_s1ap_ImmediateMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_s1ap_IMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1082 "./asn1/s1ap/s1ap.cnf"
+#line 1101 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3, 8, FALSE, &parameter_tvb);
@@ -5825,7 +6014,7 @@ dissect_s1ap_InformationOnRecommendedCellsAndENBsForPaging(tvbuff_t *tvb _U_, in
static int
dissect_s1ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 815 "./asn1/s1ap/s1ap.cnf"
+#line 833 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, TRUE, &parameter_tvb, NULL);
@@ -5851,7 +6040,7 @@ dissect_s1ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, as
static int
dissect_s1ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 764 "./asn1/s1ap/s1ap.cnf"
+#line 782 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, &parameter_tvb, NULL);
@@ -5919,7 +6108,7 @@ dissect_s1ap_LastVisitedEUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_s1ap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 836 "./asn1/s1ap/s1ap.cnf"
+#line 854 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@@ -5986,7 +6175,7 @@ dissect_s1ap_LastVisitedCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_s1ap_LPPa_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 297 "./asn1/s1ap/s1ap.cnf"
+#line 300 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb=NULL;
@@ -6006,7 +6195,7 @@ dissect_s1ap_LPPa_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
static int
dissect_s1ap_LHN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 958 "./asn1/s1ap/s1ap.cnf"
+#line 976 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
32, 256, FALSE, &parameter_tvb);
@@ -6194,6 +6383,21 @@ dissect_s1ap_LoggedMBSFNMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+static const value_string s1ap_LTE_M_Indication_vals[] = {
+ { 0, "lte-m" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_LTE_M_Indication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
static const value_string s1ap_M3period_vals[] = {
{ 0, "ms100" },
{ 1, "ms1000" },
@@ -6411,7 +6615,7 @@ dissect_s1ap_MDT_Activation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_s1ap_MDT_Location_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 942 "./asn1/s1ap/s1ap.cnf"
+#line 960 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, &parameter_tvb, NULL);
@@ -6531,7 +6735,7 @@ dissect_s1ap_PrivacyIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static int
dissect_s1ap_MessageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 851 "./asn1/s1ap/s1ap.cnf"
+#line 869 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
16, 16, FALSE, &parameter_tvb, NULL);
@@ -6559,7 +6763,7 @@ dissect_s1ap_MobilityInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
dissect_s1ap_MMEname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 262 "./asn1/s1ap/s1ap.cnf"
+#line 265 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb=NULL;
int length;
int p_offset;
@@ -6640,7 +6844,7 @@ dissect_s1ap_MME_UE_S1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_s1ap_MSClassmark2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 901 "./asn1/s1ap/s1ap.cnf"
+#line 919 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
@@ -6659,7 +6863,7 @@ dissect_s1ap_MSClassmark2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
dissect_s1ap_MSClassmark3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 909 "./asn1/s1ap/s1ap.cnf"
+#line 927 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
@@ -6729,7 +6933,7 @@ dissect_s1ap_MutingPatternInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ct
static int
dissect_s1ap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 288 "./asn1/s1ap/s1ap.cnf"
+#line 291 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb=NULL;
@@ -6749,7 +6953,7 @@ tvbuff_t *parameter_tvb=NULL;
static int
dissect_s1ap_NASSecurityParametersfromE_UTRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1090 "./asn1/s1ap/s1ap.cnf"
+#line 1109 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
@@ -6768,7 +6972,7 @@ dissect_s1ap_NASSecurityParametersfromE_UTRAN(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_s1ap_NASSecurityParameterstoE_UTRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1098 "./asn1/s1ap/s1ap.cnf"
+#line 1117 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &parameter_tvb);
@@ -6889,7 +7093,7 @@ dissect_s1ap_NB_IoT_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1
static int
dissect_s1ap_NRencryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 997 "./asn1/s1ap/s1ap.cnf"
+#line 1015 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, TRUE, &parameter_tvb, NULL);
@@ -6915,7 +7119,7 @@ dissect_s1ap_NRencryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
dissect_s1ap_NRintegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1012 "./asn1/s1ap/s1ap.cnf"
+#line 1030 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, TRUE, &parameter_tvb, NULL);
@@ -7020,6 +7224,16 @@ dissect_s1ap_OverloadResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
+
+static int
+dissect_s1ap_Packet_LossRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 1000U, NULL, FALSE);
+
+ return offset;
+}
+
+
static const value_string s1ap_Paging_eDRX_Cycle_vals[] = {
{ 0, "hfhalf" },
{ 1, "hf1" },
@@ -7137,7 +7351,7 @@ dissect_s1ap_PagingPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_s1ap_Port_Number(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 337 "./asn1/s1ap/s1ap.cnf"
+#line 340 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
2, 2, FALSE, &parameter_tvb);
@@ -7315,7 +7529,7 @@ static const value_string s1ap_RAT_Type_vals[] = {
static int
dissect_s1ap_RAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1120 "./asn1/s1ap/s1ap.cnf"
+#line 1139 "./asn1/s1ap/s1ap.cnf"
guint32 rat_type = 0xffffffff;
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
@@ -7372,7 +7586,7 @@ dissect_s1ap_RequestType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
static int
dissect_s1ap_RIMInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 604 "./asn1/s1ap/s1ap.cnf"
+#line 622 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -7487,7 +7701,7 @@ dissect_s1ap_RepetitionPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static int
dissect_s1ap_UE_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 699 "./asn1/s1ap/s1ap.cnf"
+#line 717 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@@ -7510,7 +7724,7 @@ dissect_s1ap_UE_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static int
dissect_s1ap_UE_RLF_Report_Container_for_extended_bands(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 713 "./asn1/s1ap/s1ap.cnf"
+#line 731 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@@ -7549,7 +7763,7 @@ dissect_s1ap_RLFReportInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_s1ap_RRC_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 498 "./asn1/s1ap/s1ap.cnf"
+#line 516 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
@@ -7737,7 +7951,7 @@ dissect_s1ap_SecondaryRATDataUsageReportItem(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_s1ap_SerialNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 858 "./asn1/s1ap/s1ap.cnf"
+#line 876 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, FALSE, &parameter_tvb, NULL);
@@ -7755,6 +7969,22 @@ dissect_s1ap_SerialNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
+static const value_string s1ap_ServiceType_vals[] = {
+ { 0, "qMC-for-streaming-service" },
+ { 1, "qMC-for-MTSI-service" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_ServiceType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
static const value_string s1ap_SONInformationRequest_vals[] = {
{ 0, "x2TNL-Configuration-Info" },
{ 1, "time-Synchronisation-Info" },
@@ -7935,7 +8165,7 @@ dissect_s1ap_SynchronisationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_
static int
dissect_s1ap_Source_ToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 381 "./asn1/s1ap/s1ap.cnf"
+#line 384 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -7958,36 +8188,44 @@ dissect_s1ap_Source_ToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset
utrantolte,
gerantolte,
...
+ ltetonr,
+ nrtolte
} */
- case 0:
+ case intralte:
/* intralte
Intra E-UTRAN handover Source eNB to Target eNB
Transparent Container 36.413
*/
dissect_SourceeNB_ToTargeteNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
- case 1:
+ case ltetoutran:
/* ltetoutran
Source RNC to Target RNC
Transparent Container 25.413
*/
dissect_ranap_SourceRNC_ToTargetRNC_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
- case 2:
+ case ltetogeran:
/* ltetogeran
Source BSS to Target BSS
Transparent Container 48.018
*/
de_bssgp_source_BSS_to_target_BSS_transp_cont(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
break;
- case 3:
+ case utrantolte:
/* utrantolte */
break;
- case 4:
+ case gerantolte:
/* gerantolte */
break;
+ case ltetonr:
+ /* ltetonr */
+ dissect_ngap_SourceNGRANNode_ToTargetNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case nrtolte:
+ /* nrtolte */
+ break;
default:
- DISSECTOR_ASSERT_NOT_REACHED();
break;
}
/* Enable writing of the column again */
@@ -8090,6 +8328,7 @@ dissect_s1ap_SourceeNB_ToTargeteNB_TransparentContainer(tvbuff_t *tvb _U_, int o
+
static const per_sequence_t ServedPLMNs_sequence_of[1] = {
{ &hf_s1ap_ServedPLMNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
};
@@ -8172,7 +8411,7 @@ static const per_sequence_t SupportedTAs_Item_sequence[] = {
static int
dissect_s1ap_SupportedTAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1106 "./asn1/s1ap/s1ap.cnf"
+#line 1125 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
if (!PINFO_FD_VISITED(actx->pinfo) &&
@@ -8187,7 +8426,7 @@ dissect_s1ap_SupportedTAs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_SupportedTAs_Item, SupportedTAs_Item_sequence);
-#line 1117 "./asn1/s1ap/s1ap.cnf"
+#line 1136 "./asn1/s1ap/s1ap.cnf"
s1ap_data->supported_ta = NULL;
@@ -8271,10 +8510,125 @@ dissect_s1ap_TAIListforWarning(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
}
+
+static int
+dissect_s1ap_GNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
+ 22, 32, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const value_string s1ap_GNB_Identity_vals[] = {
+ { 0, "gNB-ID" },
+ { 0, NULL }
+};
+
+static const per_choice_t GNB_Identity_choice[] = {
+ { 0, &hf_s1ap_gNB_ID_01 , ASN1_EXTENSION_ROOT , dissect_s1ap_GNB_ID },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_s1ap_GNB_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_GNB_Identity, GNB_Identity_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t Global_GNB_ID_sequence[] = {
+ { &hf_s1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
+ { &hf_s1ap_gNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GNB_Identity },
+ { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_Global_GNB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_Global_GNB_ID, Global_GNB_ID_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t GNB_sequence[] = {
+ { &hf_s1ap_global_gNB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Global_GNB_ID },
+ { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_GNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_GNB, GNB_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t NG_eNB_sequence[] = {
+ { &hf_s1ap_global_ng_eNB_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Global_ENB_ID },
+ { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_NG_eNB(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_NG_eNB, NG_eNB_sequence);
+
+ return offset;
+}
+
+
+static const value_string s1ap_Global_RAN_NODE_ID_vals[] = {
+ { 0, "gNB" },
+ { 1, "ng-eNB" },
+ { 0, NULL }
+};
+
+static const per_choice_t Global_RAN_NODE_ID_choice[] = {
+ { 0, &hf_s1ap_gNB , ASN1_EXTENSION_ROOT , dissect_s1ap_GNB },
+ { 1, &hf_s1ap_ng_eNB , ASN1_EXTENSION_ROOT , dissect_s1ap_NG_eNB },
+ { 0, NULL, 0, NULL }
+};
+
+static int
+dissect_s1ap_Global_RAN_NODE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_Global_RAN_NODE_ID, Global_RAN_NODE_ID_choice,
+ NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t TargetNgRanNode_ID_sequence[] = {
+ { &hf_s1ap_global_RAN_NODE_ID, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Global_RAN_NODE_ID },
+ { &hf_s1ap_selected_TAI_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_FiveGSTAI },
+ { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_TargetNgRanNode_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_TargetNgRanNode_ID, TargetNgRanNode_ID_sequence);
+
+ return offset;
+}
+
+
static const value_string s1ap_TargetID_vals[] = {
{ 0, "targeteNB-ID" },
{ 1, "targetRNC-ID" },
{ 2, "cGI" },
+ { 3, "targetgNgRanNode-ID" },
{ 0, NULL }
};
@@ -8282,6 +8636,7 @@ static const per_choice_t TargetID_choice[] = {
{ 0, &hf_s1ap_targeteNB_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_TargeteNB_ID },
{ 1, &hf_s1ap_targetRNC_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_TargetRNC_ID },
{ 2, &hf_s1ap_cGI , ASN1_EXTENSION_ROOT , dissect_s1ap_CGI },
+ { 3, &hf_s1ap_targetgNgRanNode_ID, ASN1_EXTENSION_ROOT , dissect_s1ap_TargetNgRanNode_ID },
{ 0, NULL, 0, NULL }
};
@@ -8313,7 +8668,7 @@ dissect_s1ap_TargeteNB_ToSourceeNB_TransparentContainer(tvbuff_t *tvb _U_, int o
static int
dissect_s1ap_Target_ToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 439 "./asn1/s1ap/s1ap.cnf"
+#line 450 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -8335,37 +8690,44 @@ dissect_s1ap_Target_ToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset
utrantolte,
gerantolte,
...
+ ltetonr,
+ nrtolte
} */
- case 0:
+ case intralte:
/* intralte
Intra E-UTRAN handover Target eNB to Source eNB
Transparent Container 36.413
*/
dissect_TargeteNB_ToSourceeNB_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
- case 1:
+ case ltetoutran:
/* ltetoutran
Target RNC to Source RNC
Transparent Container 25.413
*/
dissect_ranap_TargetRNC_ToSourceRNC_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
break;
- case 2:
+ case ltetogeran:
/* ltetogeran
Target BSS to Source BSS
Transparent Container 48.018
*/
de_bssgp_target_BSS_to_source_BSS_transp_cont(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0);
-
break;
- case 3:
+ case utrantolte:
/* utrantolte */
break;
- case 4:
+ case gerantolte:
/* gerantolte */
break;
+ case ltetonr:
+ /* ltetonr */
+ dissect_ngap_TargetNGRANNode_ToSourceNGRANNode_TransparentContainer_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
+ break;
+ case nrtolte:
+ /* nrtolte */
+ break;
default:
- DISSECTOR_ASSERT_NOT_REACHED();
break;
}
}
@@ -8378,6 +8740,7 @@ dissect_s1ap_Target_ToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset
+
static const value_string s1ap_TimeToWait_vals[] = {
{ 0, "v1s" },
{ 1, "v2s" },
@@ -8426,7 +8789,7 @@ dissect_s1ap_TransportInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_s1ap_E_UTRAN_Trace_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 753 "./asn1/s1ap/s1ap.cnf"
+#line 771 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@@ -8565,6 +8928,21 @@ dissect_s1ap_UEAppLayerMeasConfig(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
+static const value_string s1ap_UECapabilityInfoRequest_vals[] = {
+ { 0, "requested" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_UECapabilityInfoRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
static const value_string s1ap_UE_RetentionInformation_vals[] = {
{ 0, "ues-retained" },
{ 0, NULL }
@@ -8647,7 +9025,7 @@ dissect_s1ap_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_s1ap_UE_HistoryInformationFromTheUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 561 "./asn1/s1ap/s1ap.cnf"
+#line 579 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -8693,7 +9071,7 @@ dissect_s1ap_UEPagingID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
dissect_s1ap_UERadioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 574 "./asn1/s1ap/s1ap.cnf"
+#line 592 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -8726,7 +9104,7 @@ dissect_s1ap_UERadioCapability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_s1ap_UERadioCapabilityForPaging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 655 "./asn1/s1ap/s1ap.cnf"
+#line 673 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
@@ -8883,14 +9261,15 @@ dissect_s1ap_UEUserPlaneCIoTSupportIndicator(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_s1ap_UE_Application_Layer_Measurement_Capability(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1027 "./asn1/s1ap/s1ap.cnf"
+#line 1045 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, &parameter_tvb, NULL);
if(parameter_tvb){
const gint *fields[] = {
- &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement,
+ &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_streaming_service,
+ &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_MTSI_service,
&hf_s1ap_UE_Application_Layer_Measurement_Capability_Reserved,
NULL
};
@@ -8995,7 +9374,7 @@ dissect_s1ap_WarningAreaList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
dissect_s1ap_WarningType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 871 "./asn1/s1ap/s1ap.cnf"
+#line 889 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
2, 2, FALSE, &parameter_tvb);
@@ -9026,7 +9405,7 @@ dissect_s1ap_WarningSecurityInfo(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
dissect_s1ap_WarningMessageContents(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 892 "./asn1/s1ap/s1ap.cnf"
+#line 910 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1, 9600, FALSE, &parameter_tvb);
@@ -9104,7 +9483,7 @@ dissect_s1ap_ENBIndirectX2TransportLayerAddresses(tvbuff_t *tvb _U_, int offset
static int
dissect_s1ap_E_RAB_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 170 "./asn1/s1ap/s1ap.cnf"
+#line 173 "./asn1/s1ap/s1ap.cnf"
asn1_stack_frame_push(actx, "ProtocolIE-ContainerList");
asn1_param_push_integer(actx, 1);
asn1_param_push_integer(actx, maxnoofE_RABs);
@@ -9124,9 +9503,9 @@ static const per_sequence_t HandoverRequired_sequence[] = {
static int
dissect_s1ap_HandoverRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 361 "./asn1/s1ap/s1ap.cnf"
+#line 364 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
- s1ap_data->handover_type_value = 0;
+ s1ap_data->handover_type_value = 0xff;
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequired");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9143,9 +9522,9 @@ static const per_sequence_t HandoverCommand_sequence[] = {
static int
dissect_s1ap_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 364 "./asn1/s1ap/s1ap.cnf"
+#line 367 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
- s1ap_data->handover_type_value = 0;
+ s1ap_data->handover_type_value = 0xff;
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCommand");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9190,7 +9569,7 @@ static const per_sequence_t HandoverPreparationFailure_sequence[] = {
static int
dissect_s1ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1914 "./asn1/s1ap/s1ap.cnf"
+#line 1955 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9207,9 +9586,9 @@ static const per_sequence_t HandoverRequest_sequence[] = {
static int
dissect_s1ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 367 "./asn1/s1ap/s1ap.cnf"
+#line 370 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
- s1ap_data->handover_type_value = 0;
+ s1ap_data->handover_type_value = 0xff;
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9253,9 +9632,9 @@ static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
static int
dissect_s1ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 370 "./asn1/s1ap/s1ap.cnf"
+#line 373 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
- s1ap_data->handover_type_value = 0;
+ s1ap_data->handover_type_value = 0xff;
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge");
@@ -9328,7 +9707,7 @@ static const per_sequence_t HandoverFailure_sequence[] = {
static int
dissect_s1ap_HandoverFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1920 "./asn1/s1ap/s1ap.cnf"
+#line 1961 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9345,7 +9724,7 @@ static const per_sequence_t HandoverNotify_sequence[] = {
static int
dissect_s1ap_HandoverNotify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1922 "./asn1/s1ap/s1ap.cnf"
+#line 1963 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverNotify");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9362,7 +9741,7 @@ static const per_sequence_t PathSwitchRequest_sequence[] = {
static int
dissect_s1ap_PathSwitchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1924 "./asn1/s1ap/s1ap.cnf"
+#line 1965 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9405,7 +9784,7 @@ static const per_sequence_t PathSwitchRequestAcknowledge_sequence[] = {
static int
dissect_s1ap_PathSwitchRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1926 "./asn1/s1ap/s1ap.cnf"
+#line 1967 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9448,7 +9827,7 @@ static const per_sequence_t PathSwitchRequestFailure_sequence[] = {
static int
dissect_s1ap_PathSwitchRequestFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1928 "./asn1/s1ap/s1ap.cnf"
+#line 1969 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9465,7 +9844,7 @@ static const per_sequence_t HandoverCancel_sequence[] = {
static int
dissect_s1ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1930 "./asn1/s1ap/s1ap.cnf"
+#line 1971 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9482,7 +9861,7 @@ static const per_sequence_t HandoverCancelAcknowledge_sequence[] = {
static int
dissect_s1ap_HandoverCancelAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1932 "./asn1/s1ap/s1ap.cnf"
+#line 1973 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancelAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9499,7 +9878,7 @@ static const per_sequence_t E_RABSetupRequest_sequence[] = {
static int
dissect_s1ap_E_RABSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1934 "./asn1/s1ap/s1ap.cnf"
+#line 1975 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9549,7 +9928,7 @@ static const per_sequence_t E_RABSetupResponse_sequence[] = {
static int
dissect_s1ap_E_RABSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1936 "./asn1/s1ap/s1ap.cnf"
+#line 1977 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9597,7 +9976,7 @@ static const per_sequence_t E_RABModifyRequest_sequence[] = {
static int
dissect_s1ap_E_RABModifyRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1938 "./asn1/s1ap/s1ap.cnf"
+#line 1979 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9645,7 +10024,7 @@ static const per_sequence_t E_RABModifyResponse_sequence[] = {
static int
dissect_s1ap_E_RABModifyResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1940 "./asn1/s1ap/s1ap.cnf"
+#line 1981 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9691,7 +10070,7 @@ static const per_sequence_t E_RABReleaseCommand_sequence[] = {
static int
dissect_s1ap_E_RABReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1942 "./asn1/s1ap/s1ap.cnf"
+#line 1983 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseCommand");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9708,7 +10087,7 @@ static const per_sequence_t E_RABReleaseResponse_sequence[] = {
static int
dissect_s1ap_E_RABReleaseResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1944 "./asn1/s1ap/s1ap.cnf"
+#line 1985 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9754,7 +10133,7 @@ static const per_sequence_t E_RABReleaseIndication_sequence[] = {
static int
dissect_s1ap_E_RABReleaseIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1946 "./asn1/s1ap/s1ap.cnf"
+#line 1987 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9771,7 +10150,7 @@ static const per_sequence_t InitialContextSetupRequest_sequence[] = {
static int
dissect_s1ap_InitialContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1948 "./asn1/s1ap/s1ap.cnf"
+#line 1989 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9821,7 +10200,7 @@ static const per_sequence_t InitialContextSetupResponse_sequence[] = {
static int
dissect_s1ap_InitialContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1950 "./asn1/s1ap/s1ap.cnf"
+#line 1991 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9869,7 +10248,7 @@ static const per_sequence_t InitialContextSetupFailure_sequence[] = {
static int
dissect_s1ap_InitialContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1952 "./asn1/s1ap/s1ap.cnf"
+#line 1993 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9886,7 +10265,7 @@ static const per_sequence_t Paging_sequence[] = {
static int
dissect_s1ap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1954 "./asn1/s1ap/s1ap.cnf"
+#line 1995 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9932,7 +10311,7 @@ static const per_sequence_t UEContextReleaseRequest_sequence[] = {
static int
dissect_s1ap_UEContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1956 "./asn1/s1ap/s1ap.cnf"
+#line 1997 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9949,7 +10328,7 @@ static const per_sequence_t UEContextReleaseCommand_sequence[] = {
static int
dissect_s1ap_UEContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1958 "./asn1/s1ap/s1ap.cnf"
+#line 1999 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9966,7 +10345,7 @@ static const per_sequence_t UEContextReleaseComplete_sequence[] = {
static int
dissect_s1ap_UEContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1960 "./asn1/s1ap/s1ap.cnf"
+#line 2001 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -9983,7 +10362,7 @@ static const per_sequence_t UEContextModificationRequest_sequence[] = {
static int
dissect_s1ap_UEContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1962 "./asn1/s1ap/s1ap.cnf"
+#line 2003 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10000,7 +10379,7 @@ static const per_sequence_t UEContextModificationResponse_sequence[] = {
static int
dissect_s1ap_UEContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1964 "./asn1/s1ap/s1ap.cnf"
+#line 2005 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10017,7 +10396,7 @@ static const per_sequence_t UEContextModificationFailure_sequence[] = {
static int
dissect_s1ap_UEContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1966 "./asn1/s1ap/s1ap.cnf"
+#line 2007 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10034,7 +10413,7 @@ static const per_sequence_t UERadioCapabilityMatchRequest_sequence[] = {
static int
dissect_s1ap_UERadioCapabilityMatchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1968 "./asn1/s1ap/s1ap.cnf"
+#line 2009 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10051,7 +10430,7 @@ static const per_sequence_t UERadioCapabilityMatchResponse_sequence[] = {
static int
dissect_s1ap_UERadioCapabilityMatchResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1970 "./asn1/s1ap/s1ap.cnf"
+#line 2011 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10068,7 +10447,7 @@ static const per_sequence_t DownlinkNASTransport_sequence[] = {
static int
dissect_s1ap_DownlinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 348 "./asn1/s1ap/s1ap.cnf"
+#line 351 "./asn1/s1ap/s1ap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_DL;
@@ -10088,7 +10467,7 @@ static const per_sequence_t InitialUEMessage_sequence[] = {
static int
dissect_s1ap_InitialUEMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 344 "./asn1/s1ap/s1ap.cnf"
+#line 347 "./asn1/s1ap/s1ap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -10108,7 +10487,7 @@ static const per_sequence_t UplinkNASTransport_sequence[] = {
static int
dissect_s1ap_UplinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 352 "./asn1/s1ap/s1ap.cnf"
+#line 355 "./asn1/s1ap/s1ap.cnf"
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_UL;
@@ -10128,7 +10507,7 @@ static const per_sequence_t NASNonDeliveryIndication_sequence[] = {
static int
dissect_s1ap_NASNonDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1978 "./asn1/s1ap/s1ap.cnf"
+#line 2019 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASNonDeliveryIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10145,7 +10524,7 @@ static const per_sequence_t RerouteNASRequest_sequence[] = {
static int
dissect_s1ap_RerouteNASRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1980 "./asn1/s1ap/s1ap.cnf"
+#line 2021 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RerouteNASRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10158,7 +10537,7 @@ dissect_s1ap_RerouteNASRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_s1ap_S1_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 742 "./asn1/s1ap/s1ap.cnf"
+#line 760 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@@ -10184,7 +10563,7 @@ static const per_sequence_t NASDeliveryIndication_sequence[] = {
static int
dissect_s1ap_NASDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2084 "./asn1/s1ap/s1ap.cnf"
+#line 2125 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASDeliveryIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10201,7 +10580,7 @@ static const per_sequence_t Reset_sequence[] = {
static int
dissect_s1ap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1982 "./asn1/s1ap/s1ap.cnf"
+#line 2023 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10269,7 +10648,7 @@ static const per_sequence_t ResetAcknowledge_sequence[] = {
static int
dissect_s1ap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1984 "./asn1/s1ap/s1ap.cnf"
+#line 2025 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10314,7 +10693,7 @@ static const per_sequence_t S1SetupRequest_sequence[] = {
static int
dissect_s1ap_S1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1988 "./asn1/s1ap/s1ap.cnf"
+#line 2029 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10331,7 +10710,7 @@ static const per_sequence_t S1SetupResponse_sequence[] = {
static int
dissect_s1ap_S1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1990 "./asn1/s1ap/s1ap.cnf"
+#line 2031 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10348,7 +10727,7 @@ static const per_sequence_t S1SetupFailure_sequence[] = {
static int
dissect_s1ap_S1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1992 "./asn1/s1ap/s1ap.cnf"
+#line 2033 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10365,7 +10744,7 @@ static const per_sequence_t ENBConfigurationUpdate_sequence[] = {
static int
dissect_s1ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1994 "./asn1/s1ap/s1ap.cnf"
+#line 2035 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10382,7 +10761,7 @@ static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = {
static int
dissect_s1ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1996 "./asn1/s1ap/s1ap.cnf"
+#line 2037 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10399,7 +10778,7 @@ static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = {
static int
dissect_s1ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1998 "./asn1/s1ap/s1ap.cnf"
+#line 2039 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10416,7 +10795,7 @@ static const per_sequence_t MMEConfigurationUpdate_sequence[] = {
static int
dissect_s1ap_MMEConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2000 "./asn1/s1ap/s1ap.cnf"
+#line 2041 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdate");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10433,7 +10812,7 @@ static const per_sequence_t MMEConfigurationUpdateAcknowledge_sequence[] = {
static int
dissect_s1ap_MMEConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2002 "./asn1/s1ap/s1ap.cnf"
+#line 2043 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10450,7 +10829,7 @@ static const per_sequence_t MMEConfigurationUpdateFailure_sequence[] = {
static int
dissect_s1ap_MMEConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2004 "./asn1/s1ap/s1ap.cnf"
+#line 2045 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10467,7 +10846,7 @@ static const per_sequence_t DownlinkS1cdma2000tunnelling_sequence[] = {
static int
dissect_s1ap_DownlinkS1cdma2000tunnelling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2006 "./asn1/s1ap/s1ap.cnf"
+#line 2047 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkS1cdma2000tunnelling");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10484,7 +10863,7 @@ static const per_sequence_t UplinkS1cdma2000tunnelling_sequence[] = {
static int
dissect_s1ap_UplinkS1cdma2000tunnelling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2008 "./asn1/s1ap/s1ap.cnf"
+#line 2049 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkS1cdma2000tunnelling");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10501,7 +10880,7 @@ static const per_sequence_t UECapabilityInfoIndication_sequence[] = {
static int
dissect_s1ap_UECapabilityInfoIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2010 "./asn1/s1ap/s1ap.cnf"
+#line 2051 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityInfoIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10518,7 +10897,7 @@ static const per_sequence_t ENBStatusTransfer_sequence[] = {
static int
dissect_s1ap_ENBStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2012 "./asn1/s1ap/s1ap.cnf"
+#line 2053 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBStatusTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10535,7 +10914,7 @@ static const per_sequence_t MMEStatusTransfer_sequence[] = {
static int
dissect_s1ap_MMEStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2014 "./asn1/s1ap/s1ap.cnf"
+#line 2055 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEStatusTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10552,7 +10931,7 @@ static const per_sequence_t TraceStart_sequence[] = {
static int
dissect_s1ap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2016 "./asn1/s1ap/s1ap.cnf"
+#line 2057 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10569,7 +10948,7 @@ static const per_sequence_t TraceFailureIndication_sequence[] = {
static int
dissect_s1ap_TraceFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2018 "./asn1/s1ap/s1ap.cnf"
+#line 2059 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceFailureIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10586,7 +10965,7 @@ static const per_sequence_t DeactivateTrace_sequence[] = {
static int
dissect_s1ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2020 "./asn1/s1ap/s1ap.cnf"
+#line 2061 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10603,7 +10982,7 @@ static const per_sequence_t CellTrafficTrace_sequence[] = {
static int
dissect_s1ap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2022 "./asn1/s1ap/s1ap.cnf"
+#line 2063 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10620,7 +10999,7 @@ static const per_sequence_t LocationReportingControl_sequence[] = {
static int
dissect_s1ap_LocationReportingControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2024 "./asn1/s1ap/s1ap.cnf"
+#line 2065 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingControl");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10637,7 +11016,7 @@ static const per_sequence_t LocationReportingFailureIndication_sequence[] = {
static int
dissect_s1ap_LocationReportingFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2026 "./asn1/s1ap/s1ap.cnf"
+#line 2067 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingFailureIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10654,7 +11033,7 @@ static const per_sequence_t LocationReport_sequence[] = {
static int
dissect_s1ap_LocationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2028 "./asn1/s1ap/s1ap.cnf"
+#line 2069 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10671,7 +11050,7 @@ static const per_sequence_t OverloadStart_sequence[] = {
static int
dissect_s1ap_OverloadStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2030 "./asn1/s1ap/s1ap.cnf"
+#line 2071 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStart");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10688,7 +11067,7 @@ static const per_sequence_t OverloadStop_sequence[] = {
static int
dissect_s1ap_OverloadStop(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2032 "./asn1/s1ap/s1ap.cnf"
+#line 2073 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStop");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10705,7 +11084,7 @@ static const per_sequence_t WriteReplaceWarningRequest_sequence[] = {
static int
dissect_s1ap_WriteReplaceWarningRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2034 "./asn1/s1ap/s1ap.cnf"
+#line 2075 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10722,7 +11101,7 @@ static const per_sequence_t WriteReplaceWarningResponse_sequence[] = {
static int
dissect_s1ap_WriteReplaceWarningResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2036 "./asn1/s1ap/s1ap.cnf"
+#line 2077 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10739,7 +11118,7 @@ static const per_sequence_t ENBDirectInformationTransfer_sequence[] = {
static int
dissect_s1ap_ENBDirectInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2038 "./asn1/s1ap/s1ap.cnf"
+#line 2079 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBDirectInformationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10776,7 +11155,7 @@ static const per_sequence_t MMEDirectInformationTransfer_sequence[] = {
static int
dissect_s1ap_MMEDirectInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2040 "./asn1/s1ap/s1ap.cnf"
+#line 2081 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEDirectInformationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10793,7 +11172,7 @@ static const per_sequence_t ENBConfigurationTransfer_sequence[] = {
static int
dissect_s1ap_ENBConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2042 "./asn1/s1ap/s1ap.cnf"
+#line 2083 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10810,7 +11189,7 @@ static const per_sequence_t MMEConfigurationTransfer_sequence[] = {
static int
dissect_s1ap_MMEConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2044 "./asn1/s1ap/s1ap.cnf"
+#line 2085 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10827,7 +11206,7 @@ static const per_sequence_t PrivateMessage_sequence[] = {
static int
dissect_s1ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2046 "./asn1/s1ap/s1ap.cnf"
+#line 2087 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10844,7 +11223,7 @@ static const per_sequence_t KillRequest_sequence[] = {
static int
dissect_s1ap_KillRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2048 "./asn1/s1ap/s1ap.cnf"
+#line 2089 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10861,7 +11240,7 @@ static const per_sequence_t KillResponse_sequence[] = {
static int
dissect_s1ap_KillResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2050 "./asn1/s1ap/s1ap.cnf"
+#line 2091 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10878,7 +11257,7 @@ static const per_sequence_t PWSRestartIndication_sequence[] = {
static int
dissect_s1ap_PWSRestartIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2052 "./asn1/s1ap/s1ap.cnf"
+#line 2093 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSRestartIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10895,7 +11274,7 @@ static const per_sequence_t PWSFailureIndication_sequence[] = {
static int
dissect_s1ap_PWSFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2054 "./asn1/s1ap/s1ap.cnf"
+#line 2095 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSFailureIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10912,7 +11291,7 @@ static const per_sequence_t DownlinkUEAssociatedLPPaTransport_sequence[] = {
static int
dissect_s1ap_DownlinkUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2056 "./asn1/s1ap/s1ap.cnf"
+#line 2097 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkUEAssociatedLPPaTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10929,7 +11308,7 @@ static const per_sequence_t UplinkUEAssociatedLPPaTransport_sequence[] = {
static int
dissect_s1ap_UplinkUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2058 "./asn1/s1ap/s1ap.cnf"
+#line 2099 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkUEAssociatedLPPaTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10946,7 +11325,7 @@ static const per_sequence_t DownlinkNonUEAssociatedLPPaTransport_sequence[] = {
static int
dissect_s1ap_DownlinkNonUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2060 "./asn1/s1ap/s1ap.cnf"
+#line 2101 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNonUEAssociatedLPPaTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10963,7 +11342,7 @@ static const per_sequence_t UplinkNonUEAssociatedLPPaTransport_sequence[] = {
static int
dissect_s1ap_UplinkNonUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2062 "./asn1/s1ap/s1ap.cnf"
+#line 2103 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNonUEAssociatedLPPaTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -10980,7 +11359,7 @@ static const per_sequence_t E_RABModificationIndication_sequence[] = {
static int
dissect_s1ap_E_RABModificationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2064 "./asn1/s1ap/s1ap.cnf"
+#line 2105 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11067,7 +11446,7 @@ static const per_sequence_t E_RABModificationConfirm_sequence[] = {
static int
dissect_s1ap_E_RABModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2066 "./asn1/s1ap/s1ap.cnf"
+#line 2107 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationConfirm");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11113,7 +11492,7 @@ static const per_sequence_t UEContextModificationIndication_sequence[] = {
static int
dissect_s1ap_UEContextModificationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2068 "./asn1/s1ap/s1ap.cnf"
+#line 2109 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11130,7 +11509,7 @@ static const per_sequence_t UEContextModificationConfirm_sequence[] = {
static int
dissect_s1ap_UEContextModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2070 "./asn1/s1ap/s1ap.cnf"
+#line 2111 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationConfirm");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11147,7 +11526,7 @@ static const per_sequence_t UEContextSuspendRequest_sequence[] = {
static int
dissect_s1ap_UEContextSuspendRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2072 "./asn1/s1ap/s1ap.cnf"
+#line 2113 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11164,7 +11543,7 @@ static const per_sequence_t UEContextSuspendResponse_sequence[] = {
static int
dissect_s1ap_UEContextSuspendResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2074 "./asn1/s1ap/s1ap.cnf"
+#line 2115 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11181,7 +11560,7 @@ static const per_sequence_t UEContextResumeRequest_sequence[] = {
static int
dissect_s1ap_UEContextResumeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2076 "./asn1/s1ap/s1ap.cnf"
+#line 2117 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11223,7 +11602,7 @@ static const per_sequence_t UEContextResumeResponse_sequence[] = {
static int
dissect_s1ap_UEContextResumeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2078 "./asn1/s1ap/s1ap.cnf"
+#line 2119 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11265,7 +11644,7 @@ static const per_sequence_t UEContextResumeFailure_sequence[] = {
static int
dissect_s1ap_UEContextResumeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2080 "./asn1/s1ap/s1ap.cnf"
+#line 2121 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11282,7 +11661,7 @@ static const per_sequence_t ConnectionEstablishmentIndication_sequence[] = {
static int
dissect_s1ap_ConnectionEstablishmentIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2082 "./asn1/s1ap/s1ap.cnf"
+#line 2123 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConnectionEstablishmentIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11299,7 +11678,7 @@ static const per_sequence_t RetrieveUEInformation_sequence[] = {
static int
dissect_s1ap_RetrieveUEInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2086 "./asn1/s1ap/s1ap.cnf"
+#line 2127 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEInformation");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11316,7 +11695,7 @@ static const per_sequence_t UEInformationTransfer_sequence[] = {
static int
dissect_s1ap_UEInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2088 "./asn1/s1ap/s1ap.cnf"
+#line 2129 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11333,7 +11712,7 @@ static const per_sequence_t ENBCPRelocationIndication_sequence[] = {
static int
dissect_s1ap_ENBCPRelocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2090 "./asn1/s1ap/s1ap.cnf"
+#line 2131 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBCPRelocationIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11350,7 +11729,7 @@ static const per_sequence_t MMECPRelocationIndication_sequence[] = {
static int
dissect_s1ap_MMECPRelocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2092 "./asn1/s1ap/s1ap.cnf"
+#line 2133 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMECPRelocationIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11367,7 +11746,7 @@ static const per_sequence_t SecondaryRATDataUsageReport_sequence[] = {
static int
dissect_s1ap_SecondaryRATDataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2094 "./asn1/s1ap/s1ap.cnf"
+#line 2135 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11380,7 +11759,7 @@ dissect_s1ap_SecondaryRATDataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1
static int
dissect_s1ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 122 "./asn1/s1ap/s1ap.cnf"
+#line 125 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
s1ap_data->message_type = INITIATING_MESSAGE;
@@ -11409,7 +11788,7 @@ dissect_s1ap_InitiatingMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_s1ap_SuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 126 "./asn1/s1ap/s1ap.cnf"
+#line 129 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
s1ap_data->message_type = SUCCESSFUL_OUTCOME;
@@ -11438,7 +11817,7 @@ dissect_s1ap_SuccessfulOutcome(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_s1ap_UnsuccessfulOutcome_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 130 "./asn1/s1ap/s1ap.cnf"
+#line 133 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
s1ap_data->message_type = UNSUCCESSFUL_OUTCOME;
@@ -11838,7 +12217,7 @@ dissect_s1ap_CellStateIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
dissect_s1ap_T_uERLFReportContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 727 "./asn1/s1ap/s1ap.cnf"
+#line 745 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *parameter_tvb;
proto_tree *subtree;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
@@ -12327,6 +12706,14 @@ static int dissect_Additional_GUTI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_AerialUEsubscriptionInformation_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, TRUE, pinfo);
+ offset = dissect_s1ap_AerialUEsubscriptionInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_AerialUEsubscriptionInformation_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_AssistanceDataForPaging_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -12463,6 +12850,14 @@ static int dissect_CNDomain_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_CNTypeRestrictions_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, TRUE, pinfo);
+ offset = dissect_s1ap_CNTypeRestrictions(tvb, offset, &asn1_ctx, tree, hf_s1ap_CNTypeRestrictions_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_ConcurrentWarningMessageIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -12615,6 +13010,14 @@ static int dissect_PWSfailedECGIList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_EDT_Session_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, TRUE, pinfo);
+ offset = dissect_s1ap_EDT_Session(tvb, offset, &asn1_ctx, tree, hf_s1ap_EDT_Session_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_EmergencyAreaIDListForRestart_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -12663,6 +13066,14 @@ static int dissect_ENBname_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_EndIndication_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, TRUE, pinfo);
+ offset = dissect_s1ap_EndIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_EndIndication_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_EnhancedCoverageRestricted_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -12871,6 +13282,14 @@ static int dissect_LoggedMBSFNMDT_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_,
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_LTE_M_Indication_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, TRUE, pinfo);
+ offset = dissect_s1ap_LTE_M_Indication(tvb, offset, &asn1_ctx, tree, hf_s1ap_LTE_M_Indication_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_M3Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -13111,6 +13530,14 @@ static int dissect_OverloadResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_Packet_LossRate_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, TRUE, pinfo);
+ offset = dissect_s1ap_Packet_LossRate(tvb, offset, &asn1_ctx, tree, hf_s1ap_Packet_LossRate_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_Paging_eDRXInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -13303,6 +13730,14 @@ static int dissect_SerialNumber_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_ServiceType_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, TRUE, pinfo);
+ offset = dissect_s1ap_ServiceType(tvb, offset, &asn1_ctx, tree, hf_s1ap_ServiceType_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_SONInformationReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -13535,6 +13970,14 @@ static int dissect_UEAppLayerMeasConfig_PDU(tvbuff_t *tvb _U_, packet_info *pinf
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_UECapabilityInfoRequest_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, TRUE, pinfo);
+ offset = dissect_s1ap_UECapabilityInfoRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_UECapabilityInfoRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_UE_RetentionInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -14874,7 +15317,7 @@ int dissect_s1ap_SONtransferCause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_,
/*--- End of included file: packet-s1ap-fn.c ---*/
-#line 350 "./asn1/s1ap/packet-s1ap-template.c"
+#line 358 "./asn1/s1ap/packet-s1ap-template.c"
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
{
@@ -15202,6 +15645,11 @@ proto_reg_handoff_s1ap(void)
dissector_add_uint("s1ap.ies", id_HandoverFlag, create_dissector_handle(dissect_HandoverFlag_PDU, proto_s1ap));
dissector_add_uint("s1ap.ies", id_EmergencyAreaIDListForRestart, create_dissector_handle(dissect_EmergencyAreaIDListForRestart_PDU, proto_s1ap));
dissector_add_uint("s1ap.ies", id_CE_ModeBRestricted, create_dissector_handle(dissect_CE_ModeBRestricted_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_AerialUEsubscriptionInformation, create_dissector_handle(dissect_AerialUEsubscriptionInformation_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_UECapabilityInfoRequest, create_dissector_handle(dissect_UECapabilityInfoRequest_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_EndIndication, create_dissector_handle(dissect_EndIndication_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_EDT_Session, create_dissector_handle(dissect_EDT_Session_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_LTE_M_Indication, create_dissector_handle(dissect_LTE_M_Indication_PDU, proto_s1ap));
dissector_add_uint("s1ap.extension", id_Data_Forwarding_Not_Possible, create_dissector_handle(dissect_Data_Forwarding_Not_Possible_PDU, proto_s1ap));
dissector_add_uint("s1ap.extension", id_Time_Synchronisation_Info, create_dissector_handle(dissect_TimeSynchronisationInfo_PDU, proto_s1ap));
dissector_add_uint("s1ap.extension", id_x2TNLConfigurationInfo, create_dissector_handle(dissect_X2TNLConfigurationInfo_PDU, proto_s1ap));
@@ -15244,6 +15692,10 @@ proto_reg_handoff_s1ap(void)
dissector_add_uint("s1ap.extension", id_extended_uEaggregateMaximumBitRateDL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap));
dissector_add_uint("s1ap.extension", id_extended_uEaggregateMaximumBitRateUL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap));
dissector_add_uint("s1ap.extension", id_UnlicensedSpectrumRestriction, create_dissector_handle(dissect_UnlicensedSpectrumRestriction_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.extension", id_CNTypeRestrictions, create_dissector_handle(dissect_CNTypeRestrictions_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.extension", id_DownlinkPacketLossRate, create_dissector_handle(dissect_Packet_LossRate_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.extension", id_UplinkPacketLossRate, create_dissector_handle(dissect_Packet_LossRate_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.extension", id_serviceType, create_dissector_handle(dissect_ServiceType_PDU, proto_s1ap));
dissector_add_uint("s1ap.proc.imsg", id_HandoverPreparation, create_dissector_handle(dissect_HandoverRequired_PDU, proto_s1ap));
dissector_add_uint("s1ap.proc.sout", id_HandoverPreparation, create_dissector_handle(dissect_HandoverCommand_PDU, proto_s1ap));
dissector_add_uint("s1ap.proc.uout", id_HandoverPreparation, create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_s1ap));
@@ -15340,7 +15792,7 @@ proto_reg_handoff_s1ap(void)
/*--- End of included file: packet-s1ap-dis-tab.c ---*/
-#line 470 "./asn1/s1ap/packet-s1ap-template.c"
+#line 478 "./asn1/s1ap/packet-s1ap-template.c"
} else {
if (SctpPort != 0) {
dissector_delete_uint("sctp.port", SctpPort, s1ap_handle);
@@ -15531,13 +15983,17 @@ void proto_register_s1ap(void) {
{ "Reserved", "s1ap.NRintegrityProtectionAlgorithms.Reserved",
FT_UINT16, BASE_HEX, NULL, 0x1fff,
NULL, HFILL }},
- { &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement,
- { "QoE Measurement", "s1ap.UE_Application_Layer_Measurement_Capability.QoE_Measurement",
+ { &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_streaming_service,
+ { "QoE Measurement for streaming service", "s1ap.UE_Application_Layer_Measurement_Capability.QoE_Measurement_for_streaming_service",
FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x80,
NULL, HFILL }},
+ { &hf_s1ap_UE_Application_Layer_Measurement_Capability_QoE_Measurement_for_MTSI_service,
+ { "QoE Measurement for MTSI service", "s1ap.UE_Application_Layer_Measurement_Capability.QoE_Measurement_for_MTSI_service",
+ FT_BOOLEAN, 8, TFS(&tfs_supported_not_supported), 0x40,
+ NULL, HFILL }},
{ &hf_s1ap_UE_Application_Layer_Measurement_Capability_Reserved,
{ "Reserved", "s1ap.UE_Application_Layer_Measurement_Capability.Reserved",
- FT_UINT8, BASE_HEX, NULL, 0x7f,
+ FT_UINT8, BASE_HEX, NULL, 0x3f,
NULL, HFILL }},
/*--- Included file: packet-s1ap-hfarr.c ---*/
@@ -15546,6 +16002,10 @@ void proto_register_s1ap(void) {
{ "Additional-GUTI", "s1ap.Additional_GUTI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_AerialUEsubscriptionInformation_PDU,
+ { "AerialUEsubscriptionInformation", "s1ap.AerialUEsubscriptionInformation",
+ FT_UINT32, BASE_DEC, VALS(s1ap_AerialUEsubscriptionInformation_vals), 0,
+ NULL, HFILL }},
{ &hf_s1ap_AssistanceDataForPaging_PDU,
{ "AssistanceDataForPaging", "s1ap.AssistanceDataForPaging_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -15614,6 +16074,10 @@ void proto_register_s1ap(void) {
{ "CNDomain", "s1ap.CNDomain",
FT_UINT32, BASE_DEC, VALS(s1ap_CNDomain_vals), 0,
NULL, HFILL }},
+ { &hf_s1ap_CNTypeRestrictions_PDU,
+ { "CNTypeRestrictions", "s1ap.CNTypeRestrictions",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
{ &hf_s1ap_ConcurrentWarningMessageIndicator_PDU,
{ "ConcurrentWarningMessageIndicator", "s1ap.ConcurrentWarningMessageIndicator",
FT_UINT32, BASE_DEC, VALS(s1ap_ConcurrentWarningMessageIndicator_vals), 0,
@@ -15690,6 +16154,10 @@ void proto_register_s1ap(void) {
{ "PWSfailedECGIList", "s1ap.PWSfailedECGIList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_EDT_Session_PDU,
+ { "EDT-Session", "s1ap.EDT_Session",
+ FT_UINT32, BASE_DEC, VALS(s1ap_EDT_Session_vals), 0,
+ NULL, HFILL }},
{ &hf_s1ap_EmergencyAreaIDListForRestart_PDU,
{ "EmergencyAreaIDListForRestart", "s1ap.EmergencyAreaIDListForRestart",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -15714,6 +16182,10 @@ void proto_register_s1ap(void) {
{ "ENBname", "s1ap.ENBname",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_EndIndication_PDU,
+ { "EndIndication", "s1ap.EndIndication",
+ FT_UINT32, BASE_DEC, VALS(s1ap_EndIndication_vals), 0,
+ NULL, HFILL }},
{ &hf_s1ap_EnhancedCoverageRestricted_PDU,
{ "EnhancedCoverageRestricted", "s1ap.EnhancedCoverageRestricted",
FT_UINT32, BASE_DEC, VALS(s1ap_EnhancedCoverageRestricted_vals), 0,
@@ -15818,6 +16290,10 @@ void proto_register_s1ap(void) {
{ "LoggedMBSFNMDT", "s1ap.LoggedMBSFNMDT_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_LTE_M_Indication_PDU,
+ { "LTE-M-Indication", "s1ap.LTE_M_Indication",
+ FT_UINT32, BASE_DEC, VALS(s1ap_LTE_M_Indication_vals), 0,
+ NULL, HFILL }},
{ &hf_s1ap_M3Configuration_PDU,
{ "M3Configuration", "s1ap.M3Configuration_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -15938,6 +16414,10 @@ void proto_register_s1ap(void) {
{ "OverloadResponse", "s1ap.OverloadResponse",
FT_UINT32, BASE_DEC, VALS(s1ap_OverloadResponse_vals), 0,
NULL, HFILL }},
+ { &hf_s1ap_Packet_LossRate_PDU,
+ { "Packet-LossRate", "s1ap.Packet_LossRate",
+ FT_UINT32, BASE_CUSTOM, CF_FUNC(s1ap_Packet_LossRate_fmt), 0,
+ NULL, HFILL }},
{ &hf_s1ap_Paging_eDRXInformation_PDU,
{ "Paging-eDRXInformation", "s1ap.Paging_eDRXInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -16034,6 +16514,10 @@ void proto_register_s1ap(void) {
{ "SerialNumber", "s1ap.SerialNumber",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_ServiceType_PDU,
+ { "ServiceType", "s1ap.ServiceType",
+ FT_UINT32, BASE_DEC, VALS(s1ap_ServiceType_vals), 0,
+ NULL, HFILL }},
{ &hf_s1ap_SONInformationReport_PDU,
{ "SONInformationReport", "s1ap.SONInformationReport",
FT_UINT32, BASE_DEC, VALS(s1ap_SONInformationReport_vals), 0,
@@ -16150,6 +16634,10 @@ void proto_register_s1ap(void) {
{ "UEAppLayerMeasConfig", "s1ap.UEAppLayerMeasConfig_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_UECapabilityInfoRequest_PDU,
+ { "UECapabilityInfoRequest", "s1ap.UECapabilityInfoRequest",
+ FT_UINT32, BASE_DEC, VALS(s1ap_UECapabilityInfoRequest_vals), 0,
+ NULL, HFILL }},
{ &hf_s1ap_UE_RetentionInformation_PDU,
{ "UE-RetentionInformation", "s1ap.UE_RetentionInformation",
FT_UINT32, BASE_DEC, VALS(s1ap_UE_RetentionInformation_vals), 0,
@@ -17094,6 +17582,18 @@ void proto_register_s1ap(void) {
{ "rAC", "s1ap.rAC",
FT_UINT8, BASE_DEC_HEX, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_CNTypeRestrictions_item,
+ { "CNTypeRestrictions-Item", "s1ap.CNTypeRestrictions_Item_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_pLMN_Identity,
+ { "pLMN-Identity", "s1ap.pLMN_Identity",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "PLMNidentity", HFILL }},
+ { &hf_s1ap_cNType,
+ { "cNType", "s1ap.cNType",
+ FT_UINT32, BASE_DEC, VALS(s1ap_CNType_vals), 0,
+ NULL, HFILL }},
{ &hf_s1ap_CSG_IdList_item,
{ "CSG-IdList-Item", "s1ap.CSG_IdList_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -17330,14 +17830,14 @@ void proto_register_s1ap(void) {
{ "sourceofUEActivityBehaviourInformation", "s1ap.sourceofUEActivityBehaviourInformation",
FT_UINT32, BASE_DEC, VALS(s1ap_SourceOfUEActivityBehaviourInformation_vals), 0,
NULL, HFILL }},
+ { &hf_s1ap_fiveGSTAC,
+ { "fiveGSTAC", "s1ap.fiveGSTAC",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_s1ap_ForbiddenTAs_item,
{ "ForbiddenTAs-Item", "s1ap.ForbiddenTAs_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
- { &hf_s1ap_pLMN_Identity,
- { "pLMN-Identity", "s1ap.pLMN_Identity",
- FT_BYTES, BASE_NONE, NULL, 0,
- "PLMNidentity", HFILL }},
{ &hf_s1ap_forbiddenTACs,
{ "forbiddenTACs", "s1ap.forbiddenTACs",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -17902,6 +18402,10 @@ void proto_register_s1ap(void) {
{ "cGI", "s1ap.cGI_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_targetgNgRanNode_ID,
+ { "targetgNgRanNode-ID", "s1ap.targetgNgRanNode_ID_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "TargetNgRanNode_ID", HFILL }},
{ &hf_s1ap_rNC_ID,
{ "rNC-ID", "s1ap.rNC_ID",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -17910,6 +18414,38 @@ void proto_register_s1ap(void) {
{ "extendedRNC-ID", "s1ap.extendedRNC_ID",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_global_RAN_NODE_ID,
+ { "global-RAN-NODE-ID", "s1ap.global_RAN_NODE_ID",
+ FT_UINT32, BASE_DEC, VALS(s1ap_Global_RAN_NODE_ID_vals), 0,
+ NULL, HFILL }},
+ { &hf_s1ap_selected_TAI_01,
+ { "selected-TAI", "s1ap.selected_TAI_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "FiveGSTAI", HFILL }},
+ { &hf_s1ap_gNB,
+ { "gNB", "s1ap.gNB_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_ng_eNB,
+ { "ng-eNB", "s1ap.ng_eNB_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_global_gNB_ID,
+ { "global-gNB-ID", "s1ap.global_gNB_ID_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_gNB_ID,
+ { "gNB-ID", "s1ap.gNB_ID",
+ FT_UINT32, BASE_DEC, VALS(s1ap_GNB_Identity_vals), 0,
+ "GNB_Identity", HFILL }},
+ { &hf_s1ap_gNB_ID_01,
+ { "gNB-ID", "s1ap.gNB_ID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_global_ng_eNB_ID,
+ { "global-ng-eNB-ID", "s1ap.global_ng_eNB_ID_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "Global_ENB_ID", HFILL }},
{ &hf_s1ap_measurementThreshold,
{ "measurementThreshold", "s1ap.measurementThreshold",
FT_UINT32, BASE_DEC, VALS(s1ap_MeasurementThresholdA2_vals), 0,
@@ -18468,7 +19004,7 @@ void proto_register_s1ap(void) {
NULL, HFILL }},
/*--- End of included file: packet-s1ap-hfarr.c ---*/
-#line 669 "./asn1/s1ap/packet-s1ap-template.c"
+#line 681 "./asn1/s1ap/packet-s1ap-template.c"
};
/* List of subtrees */
@@ -18545,6 +19081,8 @@ void proto_register_s1ap(void) {
&ett_s1ap_Cdma2000OneXSRVCCInfo,
&ett_s1ap_CellType,
&ett_s1ap_CGI,
+ &ett_s1ap_CNTypeRestrictions,
+ &ett_s1ap_CNTypeRestrictions_Item,
&ett_s1ap_CSG_IdList,
&ett_s1ap_CSG_IdList_Item,
&ett_s1ap_COUNTvalue,
@@ -18584,6 +19122,7 @@ void proto_register_s1ap(void) {
&ett_s1ap_EUTRAN_CGI,
&ett_s1ap_ExpectedUEBehaviour,
&ett_s1ap_ExpectedUEActivityBehaviour,
+ &ett_s1ap_FiveGSTAI,
&ett_s1ap_ForbiddenTAs,
&ett_s1ap_ForbiddenTAs_Item,
&ett_s1ap_ForbiddenTACs,
@@ -18673,6 +19212,12 @@ void proto_register_s1ap(void) {
&ett_s1ap_TargetID,
&ett_s1ap_TargeteNB_ID,
&ett_s1ap_TargetRNC_ID,
+ &ett_s1ap_TargetNgRanNode_ID,
+ &ett_s1ap_Global_RAN_NODE_ID,
+ &ett_s1ap_GNB,
+ &ett_s1ap_Global_GNB_ID,
+ &ett_s1ap_GNB_Identity,
+ &ett_s1ap_NG_eNB,
&ett_s1ap_TargeteNB_ToSourceeNB_TransparentContainer,
&ett_s1ap_M1ThresholdEventA2,
&ett_s1ap_TransportInformation,
@@ -18862,7 +19407,7 @@ void proto_register_s1ap(void) {
&ett_s1ap_EHRPDMultiSectorLoadReportingResponseItem,
/*--- End of included file: packet-s1ap-ettarr.c ---*/
-#line 706 "./asn1/s1ap/packet-s1ap-template.c"
+#line 718 "./asn1/s1ap/packet-s1ap-template.c"
};
static ei_register_info ei[] = {