aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2009-12-20 21:47:43 +0000
committeretxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7>2009-12-20 21:47:43 +0000
commit12b943c08a0027c7b12a41adcdbb886d76d74335 (patch)
tree495efbfa2b093217157b2619ac6cf48f32ef0381
parent4a30d7b951a106dcb8d9150f8de86fe2c3b4a5ef (diff)
Update to V9.1.0 (2009-12)
git-svn-id: http://anonsvn.wireshark.org/wireshark/trunk@31327 f5534014-38df-0310-8fa8-9805f1628bb7
-rw-r--r--asn1/s1ap/S1AP-CommonDataTypes.asn3
-rw-r--r--asn1/s1ap/S1AP-Constants.asn29
-rw-r--r--asn1/s1ap/S1AP-Containers.asn3
-rw-r--r--asn1/s1ap/S1AP-IEs.asn34
-rw-r--r--asn1/s1ap/S1AP-PDU-Contents.asn127
-rw-r--r--asn1/s1ap/S1AP-PDU-Descriptions.asn40
-rw-r--r--asn1/s1ap/s1ap.cnf24
-rw-r--r--asn1/x2ap/X2AP-CommonDataTypes.asn2
-rw-r--r--asn1/x2ap/X2AP-Constants.asn23
-rw-r--r--asn1/x2ap/X2AP-Containers.asn5
-rw-r--r--asn1/x2ap/X2AP-IEs.asn79
-rw-r--r--asn1/x2ap/X2AP-PDU-Contents.asn135
-rw-r--r--asn1/x2ap/X2AP-PDU-Descriptions.asn50
-rw-r--r--asn1/x2ap/x2ap.cnf40
-rw-r--r--epan/dissectors/packet-s1ap.c307
-rw-r--r--epan/dissectors/packet-x2ap.c576
16 files changed, 1401 insertions, 76 deletions
diff --git a/asn1/s1ap/S1AP-CommonDataTypes.asn b/asn1/s1ap/S1AP-CommonDataTypes.asn
index d2f2bd39ce..b24a4d220f 100644
--- a/asn1/s1ap/S1AP-CommonDataTypes.asn
+++ b/asn1/s1ap/S1AP-CommonDataTypes.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.413 V9.0.0 (2009-09)
+-- 3GPP TS 36.413 V9.1.0 (2009-12)
-- 9.3.5 Common Definitions
-- **************************************************************
--
@@ -35,3 +35,4 @@ TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuc
END
+
diff --git a/asn1/s1ap/S1AP-Constants.asn b/asn1/s1ap/S1AP-Constants.asn
index 7195226427..4ac7b26530 100644
--- a/asn1/s1ap/S1AP-Constants.asn
+++ b/asn1/s1ap/S1AP-Constants.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.413 V9.0.0 (2009-09)
+-- 3GPP TS 36.413 V9.1.0 (2009-12)
-- 9.3.6 Constant Definitions
-- **************************************************************
--
@@ -78,6 +78,10 @@ id-eNBConfigurationTransfer ProcedureCode ::= 40
id-MMEConfigurationTransfer ProcedureCode ::= 41
id-CellTrafficTrace ProcedureCode ::= 42
id-Kill ProcedureCode ::= 43
+id-downlinkUEAssociatedLPPaTransport ProcedureCode ::= 44
+id-uplinkUEAssociatedLPPaTransport ProcedureCode ::= 45
+id-downlinkNonUEAssociatedLPPaTransport ProcedureCode ::= 46
+id-uplinkNonUEAssociatedLPPaTransport ProcedureCode ::= 47
-- **************************************************************
--
@@ -103,10 +107,10 @@ maxnoofBPLMNs INTEGER ::= 6
maxnoofPLMNsPerMME INTEGER ::= 32
maxnoofEPLMNs INTEGER ::= 15
maxnoofEPLMNsPlusOne INTEGER ::= 16
-maxnoofForbLACs INTEGER ::= 4096
-maxnoofForbTACs INTEGER ::= 4096
+maxnoofForbLACs INTEGER ::= 4096
+maxnoofForbTACs INTEGER ::= 4096
maxNrOfIndividualS1ConnectionsToReset INTEGER ::= 256
-maxnoofCells INTEGER ::= 16
+maxnoofCells INTEGER ::= 16
maxnoofTAIforWarning INTEGER ::= 65535
maxnoofCellID INTEGER ::= 65535
maxnoofEmergencyAreaID INTEGER ::= 65535
@@ -160,11 +164,11 @@ id-E-RABModifyItemBearerModRes ProtocolIE-ID ::= 37
id-E-RABReleaseItem ProtocolIE-ID ::= 38
id-E-RABSetupItemBearerSURes ProtocolIE-ID ::= 39
id-SecurityContext ProtocolIE-ID ::= 40
-id-HandoverRestrictionList ProtocolIE-ID ::= 41
-id-UEPagingID ProtocolIE-ID ::= 43
-id-pagingDRX ProtocolIE-ID ::= 44
-id-TAIList ProtocolIE-ID ::= 46
-id-TAIItem ProtocolIE-ID ::= 47
+id-HandoverRestrictionList ProtocolIE-ID ::= 41
+id-UEPagingID ProtocolIE-ID ::= 43
+id-pagingDRX ProtocolIE-ID ::= 44
+id-TAIList ProtocolIE-ID ::= 46
+id-TAIItem ProtocolIE-ID ::= 47
id-E-RABFailedToSetupListCtxtSURes ProtocolIE-ID ::= 48
id-E-RABReleaseItemHOCmd ProtocolIE-ID ::= 49
id-E-RABSetupItemCtxtSURes ProtocolIE-ID ::= 50
@@ -251,7 +255,14 @@ id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID ::= 139
id-EUTRANRoundTripDelayEstimationInfo ProtocolIE-ID ::= 140
id-BroadcastCancelledAreaList ProtocolIE-ID ::= 141
id-ConcurrentWarningMessageIndicator ProtocolIE-ID ::= 142
+id-Data-Forwarding-Not-Possible ProtocolIE-ID ::= 143
+id-ExtendedRepetitionPeriod ProtocolIE-ID ::= 144
+id-CellAccessMode ProtocolIE-ID ::= 145
+id-CSGMembershipStatus ProtocolIE-ID ::= 146
+id-LPPa-PDU ProtocolIE-ID ::= 147
+id-Routing-ID ProtocolIE-ID ::= 148
END
+
diff --git a/asn1/s1ap/S1AP-Containers.asn b/asn1/s1ap/S1AP-Containers.asn
index 6b9351416b..c9c6fb85d1 100644
--- a/asn1/s1ap/S1AP-Containers.asn
+++ b/asn1/s1ap/S1AP-Containers.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.413 V9.0.0 (2009-09)
+-- 3GPP TS 36.413 V9.1.0 (2009-12)
-- 9.3.7 Container Definitions
-- **************************************************************
--
@@ -201,3 +201,4 @@ PrivateIE-Field {S1AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
END
+
diff --git a/asn1/s1ap/S1AP-IEs.asn b/asn1/s1ap/S1AP-IEs.asn
index 0d843d8cfb..d9a0cb6e80 100644
--- a/asn1/s1ap/S1AP-IEs.asn
+++ b/asn1/s1ap/S1AP-IEs.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.413 V9.0.0 (2009-09)
+-- 3GPP TS 36.413 V9.1.0 (2009-12)
-- 9.3.4 Information Element Definitions
-- **************************************************************
--
@@ -212,7 +212,8 @@ CauseRadioNetwork ::= ENUMERATED {
x2-handover-triggered,
...,
redirection-towards-1xRTT,
- not-supported-QCI-value
+ not-supported-QCI-value,
+ invalid-CSG-Id
}
@@ -230,6 +231,11 @@ CauseNas ::= ENUMERATED {
...
}
+CellAccessMode ::= ENUMERATED {
+ hybrid,
+ ...
+}
+
CellIdentity ::= BIT STRING (SIZE (28))
CellID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Broadcast-Item
@@ -334,7 +340,6 @@ CNDomain ::= ENUMERATED {
ConcurrentWarningMessageIndicator ::= ENUMERATED {
true
}
-
CSFallbackIndicator ::= ENUMERATED {
cs-fallback-required,
...,
@@ -356,6 +361,12 @@ CSG-IdList-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
...
}
+CSGMembershipStatus ::= ENUMERATED {
+ member,
+ not-member
+}
+
+
COUNTvalue ::= SEQUENCE {
pDCP-SN PDCP-SN,
hFN HFN,
@@ -408,6 +419,10 @@ Direct-Forwarding-Path-Availability ::= ENUMERATED {
...
}
+Data-Forwarding-Not-Possible ::= ENUMERATED {
+ data-Forwarding-not-Possible,
+ ...
+}
-- E
@@ -550,8 +565,6 @@ E-RABItem-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
}
-
-
E-RABLevelQoSParameters ::= SEQUENCE {
qCI QCI,
allocationRetentionPriority AllocationAndRetentionPriority,
@@ -580,6 +593,8 @@ EUTRANRoundTripDelayEstimationInfo ::= INTEGER (0..255)
ExtendedRNC-ID ::= INTEGER (4096..65535)
+ExtendedRepetitionPeriod ::= INTEGER (4096..131071)
+
-- F
ForbiddenInterRATs ::= ENUMERATED {
@@ -730,6 +745,7 @@ LastVisitedGERANCellInformation ::= CHOICE {
L3-Information ::= OCTET STRING
+LPPa-PDU ::= OCTET STRING
-- M
@@ -741,7 +757,7 @@ MME-Group-ID ::= OCTET STRING (SIZE (2))
MME-Code ::= OCTET STRING (SIZE (1))
-MME-UE-S1AP-ID ::= INTEGER (0..4294967295)
+MME-UE-S1AP-ID ::= INTEGER (0..4294967295)
M-TMSI ::= OCTET STRING (SIZE (4))
MSClassmark2 ::= OCTET STRING
@@ -831,7 +847,7 @@ RIMTransfer ::= SEQUENCE {
rIMInformation RIMInformation,
rIMRoutingAddress RIMRoutingAddress OPTIONAL,
iE-Extensions ProtocolExtensionContainer { { RIMTransfer-ExtIEs} } OPTIONAL,
-...
+ ...
}
RIMTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
@@ -866,6 +882,8 @@ RRC-Establishment-Cause ::= ENUMERATED {
...
}
+Routing-ID ::= OCTET STRING (SIZE (4))
+
-- S
@@ -926,6 +944,7 @@ SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
Source-ToTarget-TransparentContainer ::= OCTET STRING
SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING
+
SourceeNB-ID ::= SEQUENCE {
global-ENB-ID Global-ENB-ID,
selected-TAI TAI,
@@ -1256,3 +1275,4 @@ X2TNLConfigurationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
END
+
diff --git a/asn1/s1ap/S1AP-PDU-Contents.asn b/asn1/s1ap/S1AP-PDU-Contents.asn
index 978413a980..f78c5ec5d8 100644
--- a/asn1/s1ap/S1AP-PDU-Contents.asn
+++ b/asn1/s1ap/S1AP-PDU-Contents.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.413V9.0.0 (2009-09)
+-- 3GPP TS 36.413 V9.1.0 (2009-12)
-- 9.3.3 PDU Definitions
-- **************************************************************
--
@@ -25,6 +25,7 @@ IMPORTS
UEAggregateMaximumBitrate,
Cause,
+ CellAccessMode,
Cdma2000HORequiredIndication,
Cdma2000HOStatus,
Cdma2000OneXSRVCCInfo,
@@ -38,17 +39,21 @@ IMPORTS
CriticalityDiagnostics,
CSFallbackIndicator,
CSG-Id,
- CSG-IdList,
+ CSG-IdList,
+ CSGMembershipStatus,
+ Data-Forwarding-Not-Possible,
Direct-Forwarding-Path-Availability,
Global-ENB-ID,
EUTRAN-CGI,
ENBname,
ENB-StatusTransfer-TransparentContainer,
ENB-UE-S1AP-ID,
+ ExtendedRepetitionPeriod,
GTP-TEID,
GUMMEI,
HandoverRestrictionList,
HandoverType,
+ LPPa-PDU,
MMEname,
MME-UE-S1AP-ID,
MSClassmark2,
@@ -65,6 +70,7 @@ IMPORTS
E-RAB-ID,
E-RABLevelQoSParameters,
E-RABList,
+Routing-ID,
SecurityKey,
SecurityContext,
ServedGUMMEIs,
@@ -125,6 +131,7 @@ FROM S1AP-Containers
id-uEaggregateMaximumBitrate,
id-Cause,
+ id-CellAccessMode,
id-cdma2000HORequiredIndication,
id-cdma2000HOStatus,
id-cdma2000OneXSRVCCInfo,
@@ -138,7 +145,9 @@ FROM S1AP-Containers
id-CriticalityDiagnostics,
id-CSFallbackIndicator,
id-CSG-Id,
- id-CSG-IdList,
+ id-CSG-IdList,
+ id-CSGMembershipStatus,
+ id-Data-Forwarding-Not-Possible,
id-DefaultPagingDRX,
id-Direct-Forwarding-Path-Availability,
id-Global-ENB-ID,
@@ -153,6 +162,7 @@ FROM S1AP-Containers
id-InitialContextSetup,
id-Inter-SystemInformationTransferTypeEDT,
id-Inter-SystemInformationTransferTypeMDT,
+ id-LPPa-PDU,
id-NAS-DownlinkCount,
id-MMEname,
id-MME-UE-S1AP-ID,
@@ -165,6 +175,7 @@ FROM S1AP-Containers
id-pagingDRX,
id-RelativeMMECapacity,
id-RequestType,
+ id-Routing-ID,
id-E-RABAdmittedItem,
id-E-RABAdmittedList,
id-E-RABDataForwardingItem,
@@ -247,8 +258,7 @@ FROM S1AP-Containers
id-BroadcastCompletedAreaList,
id-BroadcastCancelledAreaList,
id-RRC-Establishment-Cause,
- id-TraceCollectionEntityIPAddress,
- maxnoofTAIs,
+ id-TraceCollectionEntityIPAddress, maxnoofTAIs,
maxNrOfErrors,
maxNrOfE-RABs,
maxNrOfIndividualS1ConnectionsToReset,
@@ -256,7 +266,8 @@ FROM S1AP-Containers
maxnoofCellID,
maxnoofTAIforWarning,
maxnoofCellinTAI,
- maxnoofCellinEAI
+ maxnoofCellinEAI,
+ id-ExtendedRepetitionPeriod
FROM S1AP-Constants;
@@ -299,7 +310,9 @@ HandoverRequiredIEs S1AP-PROTOCOL-IES ::= {
{ ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory }|
{ ID id-Source-ToTarget-TransparentContainer-Secondary CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE optional }|
{ ID id-MSClassmark2 CRITICALITY reject TYPE MSClassmark2 PRESENCE conditional }|
- { ID id-MSClassmark3 CRITICALITY ignore TYPE MSClassmark3 PRESENCE conditional },
+ { ID id-MSClassmark3 CRITICALITY ignore TYPE MSClassmark3 PRESENCE conditional } |
+ { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional} |
+ { ID id-CellAccessMode CRITICALITY reject TYPE CellAccessMode PRESENCE optional},
...
}
@@ -402,7 +415,9 @@ HandoverRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
{ ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}|
{ ID id-NASSecurityParameterstoE-UTRAN CRITICALITY reject TYPE NASSecurityParameterstoE-UTRAN PRESENCE conditional
- -- This IE shall be present if the Handover Type IE is set to the value "UTRANtoLTE" or "GERANtoLTE" -- },
+ -- This IE shall be present if the Handover Type IE is set to the value "UTRANtoLTE" or "GERANtoLTE" -- } |
+ { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional} |
+ { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional} ,
...
}
@@ -423,6 +438,7 @@ E-RABToBeSetupItemHOReq ::= SEQUENCE {
}
E-RABToBeSetupItemHOReq-ExtIEs S1AP-PROTOCOL-EXTENSION ::= {
+ {ID id-Data-Forwarding-Not-Possible CRITICALITY ignore EXTENSION Data-Forwarding-Not-Possible PRESENCE optional},
...
}
@@ -981,7 +997,8 @@ InitialContextSetupRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional }|
{ ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional }|
{ ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional }|
- { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional },
+ { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional }|
+ { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional },
...
}
@@ -1203,7 +1220,8 @@ UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional }|
{ ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional }|
{ ID id-CSFallbackIndicator CRITICALITY reject TYPE CSFallbackIndicator PRESENCE optional }|
- { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE optional },
+ { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE optional }|
+ { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional },
...
}
-- **************************************************************
@@ -1286,7 +1304,8 @@ InitialUEMessage-IEs S1AP-PROTOCOL-IES ::= {
{ ID id-RRC-Establishment-Cause CRITICALITY ignore TYPE RRC-Establishment-Cause PRESENCE mandatory} |
{ ID id-S-TMSI CRITICALITY reject TYPE S-TMSI PRESENCE optional} |
{ ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional} |
- { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE optional},
+ { ID id-GUMMEI-ID CRITICALITY reject TYPE GUMMEI PRESENCE optional} |
+ { ID id-CellAccessMode CRITICALITY reject TYPE CellAccessMode PRESENCE optional},
...
}
@@ -1542,7 +1561,7 @@ ENBConfigurationUpdateFailure ::= SEQUENCE {
ENBConfigurationUpdateFailureIEs S1AP-PROTOCOL-IES ::= {
{ ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
{ ID id-TimeToWait CRITICALITY ignore TYPE TimeToWait PRESENCE optional }|
- { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
...
}
@@ -1626,7 +1645,7 @@ DownlinkS1cdma2000tunneling ::= SEQUENCE {
DownlinkS1cdma2000tunnelingIEs 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-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABSubjecttoDataForwardingList PRESENCE optional } |
+ { ID id-E-RABSubjecttoDataForwardingList CRITICALITY ignore TYPE E-RABSubjecttoDataForwardingList PRESENCE optional } |
{ ID id-cdma2000HOStatus CRITICALITY ignore TYPE Cdma2000HOStatus PRESENCE optional } |
{ ID id-cdma2000RATType CRITICALITY reject TYPE Cdma2000RATType PRESENCE mandatory } |
{ ID id-cdma2000PDU CRITICALITY reject TYPE Cdma2000PDU PRESENCE mandatory },
@@ -1951,6 +1970,7 @@ WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= {
{ ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
{ ID id-WarningAreaList CRITICALITY ignore TYPE WarningAreaList PRESENCE optional }|
{ ID id-RepetitionPeriod CRITICALITY reject TYPE RepetitionPeriod PRESENCE mandatory }|
+ { ID id-ExtendedRepetitionPeriod CRITICALITY reject TYPE ExtendedRepetitionPeriod PRESENCE optional }|
{ ID id-NumberofBroadcastRequest CRITICALITY reject TYPE NumberofBroadcastRequest PRESENCE mandatory }|
{ ID id-WarningType CRITICALITY ignore TYPE WarningType PRESENCE optional }|
{ ID id-WarningSecurityInfo CRITICALITY ignore TYPE WarningSecurityInfo PRESENCE optional }|
@@ -1973,7 +1993,7 @@ WriteReplaceWarningResponse ::= SEQUENCE {
WriteReplaceWarningResponseIEs S1AP-PROTOCOL-IES ::= {
{ ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }|
{ ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }|
- { ID id-BroadcastCompletedAreaList CRITICALITY reject TYPE BroadcastCompletedAreaList PRESENCE mandatory }|
+ { ID id-BroadcastCompletedAreaList CRITICALITY ignore TYPE BroadcastCompletedAreaList PRESENCE optional }|
{ ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional},
...
}
@@ -2129,5 +2149,84 @@ KillResponseIEs S1AP-PROTOCOL-IES ::= {
...
}
+-- **************************************************************
+--
+-- LPPA TRANSPORT ELEMENTARY PROCEDURES
+--
+-- **************************************************************
+
+-- **************************************************************
+--
+-- DOWNLINK UE ASSOCIATED LPPA TRANSPORT
+--
+-- **************************************************************
+
+DownlinkUEAssociatedLPPaTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DownlinkUEAssociatedLPPaTransport-IEs}},
+ ...
+}
+
+DownlinkUEAssociatedLPPaTransport-IEs 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-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory} |
+ { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory} ,
+ ...
+}
+
+-- **************************************************************
+--
+-- UPLINK UE ASSOCIATED LPPA TRANSPORT
+--
+-- **************************************************************
+
+UplinkUEAssociatedLPPaTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UplinkUEAssociatedLPPaTransport-IEs}},
+ ...
+}
+
+UplinkUEAssociatedLPPaTransport-IEs 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-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory} |
+ { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory} ,
+ ...
+}
+
+-- **************************************************************
+--
+-- DOWNLINK NON UE ASSOCIATED LPPA TRANSPORT
+--
+-- **************************************************************
+
+DownlinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{DownlinkNonUEAssociatedLPPaTransport-IEs}},
+ ...
+}
+
+DownlinkNonUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory} |
+ { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory} ,
+ ...
+}
+
+-- **************************************************************
+--
+-- UPLINK NON UE ASSOCIATED LPPA TRANSPORT
+--
+-- **************************************************************
+
+UplinkNonUEAssociatedLPPaTransport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{UplinkNonUEAssociatedLPPaTransport-IEs}},
+ ...
+}
+
+UplinkNonUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= {
+ { ID id-Routing-ID CRITICALITY reject TYPE Routing-ID PRESENCE mandatory} |
+ { ID id-LPPa-PDU CRITICALITY reject TYPE LPPa-PDU PRESENCE mandatory} ,
+ ...
+}
+
END
+
diff --git a/asn1/s1ap/S1AP-PDU-Descriptions.asn b/asn1/s1ap/S1AP-PDU-Descriptions.asn
index de5b91d37b..9258903d0d 100644
--- a/asn1/s1ap/S1AP-PDU-Descriptions.asn
+++ b/asn1/s1ap/S1AP-PDU-Descriptions.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.413 V9.0.0 (2009-09)
+-- 3GPP TS 36.413 V9.1.0 (2009-12)
-- 9.3.2 Elementary Procedure Definitions
-- **************************************************************
--
@@ -28,7 +28,9 @@ FROM S1AP-CommonDataTypes
CellTrafficTrace,
DeactivateTrace,
+ DownlinkUEAssociatedLPPaTransport,
DownlinkNASTransport,
+ DownlinkNonUEAssociatedLPPaTransport,
DownlinkS1cdma2000tunneling,
ENBDirectInformationTransfer,
ENBStatusTransfer,
@@ -88,7 +90,9 @@ FROM S1AP-CommonDataTypes
UEContextReleaseCommand,
UEContextReleaseComplete,
UEContextReleaseRequest,
+ UplinkUEAssociatedLPPaTransport,
UplinkNASTransport,
+ UplinkNonUEAssociatedLPPaTransport,
UplinkS1cdma2000tunneling,
WriteReplaceWarningRequest,
WriteReplaceWarningResponse,
@@ -100,7 +104,9 @@ FROM S1AP-PDU-Contents
id-CellTrafficTrace,
id-DeactivateTrace,
+ id-downlinkUEAssociatedLPPaTransport,
id-downlinkNASTransport,
+ id-downlinkNonUEAssociatedLPPaTransport,
id-DownlinkS1cdma2000tunneling,
id-eNBStatusTransfer,
id-ErrorIndication,
@@ -137,7 +143,9 @@ FROM S1AP-PDU-Contents
id-UEContextModification,
id-UEContextRelease,
id-UEContextReleaseRequest,
+ id-uplinkUEAssociatedLPPaTransport,
id-uplinkNASTransport,
+ id-uplinkNonUEAssociatedLPPaTransport,
id-UplinkS1cdma2000tunneling,
id-WriteReplaceWarning,
id-eNBConfigurationTransfer,
@@ -259,7 +267,11 @@ S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= {
eNBConfigurationTransfer |
mMEConfigurationTransfer |
privateMessage ,
- ...
+ ...,
+ downlinkUEAssociatedLPPaTransport |
+ uplinkUEAssociatedLPPaTransport |
+ downlinkNonUEAssociatedLPPaTransport |
+ uplinkNonUEAssociatedLPPaTransport
}
-- **************************************************************
@@ -556,5 +568,29 @@ kill S1AP-ELEMENTARY-PROCEDURE ::= {
CRITICALITY reject
}
+downlinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkUEAssociatedLPPaTransport
+ PROCEDURE CODE id-downlinkUEAssociatedLPPaTransport
+ CRITICALITY ignore
+}
+
+uplinkUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkUEAssociatedLPPaTransport
+ PROCEDURE CODE id-uplinkUEAssociatedLPPaTransport
+ CRITICALITY ignore
+}
+downlinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE DownlinkNonUEAssociatedLPPaTransport
+ PROCEDURE CODE id-downlinkNonUEAssociatedLPPaTransport
+ CRITICALITY ignore
+}
+
+uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE UplinkNonUEAssociatedLPPaTransport
+ PROCEDURE CODE id-uplinkNonUEAssociatedLPPaTransport
+ CRITICALITY ignore
+}
+
END
+
diff --git a/asn1/s1ap/s1ap.cnf b/asn1/s1ap/s1ap.cnf
index 40f4fe67c7..7d3e9ba1ea 100644
--- a/asn1/s1ap/s1ap.cnf
+++ b/asn1/s1ap/s1ap.cnf
@@ -463,6 +463,10 @@ id-eNBConfigurationTransfer ProcedureCode
id-MMEConfigurationTransfer ProcedureCode
id-CellTrafficTrace ProcedureCode
id-Kill ProcedureCode
+id-downlinkUEAssociatedLPPaTransport ProcedureCode
+id-uplinkUEAssociatedLPPaTransport ProcedureCode
+id-downlinkNonUEAssociatedLPPaTransport ProcedureCode
+id-uplinkNonUEAssociatedLPPaTransport ProcedureCode
# ProtocolIE-ID
id-MME-UE-S1AP-ID ProtocolIE-ID
@@ -591,6 +595,12 @@ id-Target-ToSource-TransparentContainer-Secondary ProtocolIE-ID
id-EUTRANRoundTripDelayEstimationInfo ProtocolIE-ID
id-BroadcastCancelledAreaList ProtocolIE-ID
id-ConcurrentWarningMessageIndicator ProtocolIE-ID
+id-Data-Forwarding-Not-Possible ProtocolIE-ID
+id-ExtendedRepetitionPeriod ProtocolIE-ID
+id-CellAccessMode ProtocolIE-ID
+id-CSGMembershipStatus ProtocolIE-ID
+id-LPPa-PDU ProtocolIE-ID
+id-Routing-ID ProtocolIE-ID
#.END
#.REGISTER_NEW
@@ -718,6 +728,11 @@ Target-ToSource-TransparentContainer N s1ap.ies id-Target-ToSource-TransparentCo
EUTRANRoundTripDelayEstimationInfo N s1ap.ies id-EUTRANRoundTripDelayEstimationInfo
BroadcastCancelledAreaList N s1ap.ies id-BroadcastCancelledAreaList
ConcurrentWarningMessageIndicator N s1ap.ies id-ConcurrentWarningMessageIndicator
+ExtendedRepetitionPeriod N s1ap.ies id-ExtendedRepetitionPeriod
+CellAccessMode N s1ap.ies id-CellAccessMode
+CSGMembershipStatus N s1ap.ies id-CSGMembershipStatus
+LPPa-PDU N s1ap.ies id-LPPa-PDU
+Routing-ID N s1ap.ies id-Routing-ID
#S1AP-PROTOCOL-IES-PAIR
#RAB-SetupOrModifyItemFirst N s1ap.ies.pair.first id-RAB-SetupOrModifyItem
@@ -726,6 +741,7 @@ ConcurrentWarningMessageIndicator N s1ap.ies id-ConcurrentWarningMessageIndicat
#S1AP-PROTOCOL-EXTENSION
#RAB-Parameters N s1ap.extension id-AlternativeRABConfiguration
#Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf N s1ap.extension id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf
+Data-Forwarding-Not-Possible N s1ap.extension id-Data-Forwarding-Not-Possible
#S1AP-ELEMENTARY-PROCEDURE
HandoverRequired N s1ap.proc.imsg id-HandoverPreparation
@@ -840,6 +856,14 @@ CellTrafficTrace N s1ap.proc.imsg id-CellTrafficTrace
KillRequest N s1ap.proc.imsg id-Kill
KillResponse N s1ap.proc.sout id-Kill
+DownlinkUEAssociatedLPPaTransport N s1ap.proc.imsg id-downlinkUEAssociatedLPPaTransport
+
+UplinkUEAssociatedLPPaTransport N s1ap.proc.imsg id-uplinkUEAssociatedLPPaTransport
+
+DownlinkNonUEAssociatedLPPaTransport N s1ap.proc.imsg id-downlinkNonUEAssociatedLPPaTransport
+
+UplinkNonUEAssociatedLPPaTransport N s1ap.proc.imsg id-uplinkNonUEAssociatedLPPaTransport
+
#.TYPE_ATTR
BitRate TYPE = FT_UINT64 DISPLAY = BASE_DEC STRINGS = NULL
diff --git a/asn1/x2ap/X2AP-CommonDataTypes.asn b/asn1/x2ap/X2AP-CommonDataTypes.asn
index 710cce9b52..451391fc1d 100644
--- a/asn1/x2ap/X2AP-CommonDataTypes.asn
+++ b/asn1/x2ap/X2AP-CommonDataTypes.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.0.0 (2009-09)
+-- 3GPP TS 36.423 V9.1.0 (2009-12)
-- 9.3.6 Common definitions
-- **************************************************************
diff --git a/asn1/x2ap/X2AP-Constants.asn b/asn1/x2ap/X2AP-Constants.asn
index 1e384a02f7..1117c809aa 100644
--- a/asn1/x2ap/X2AP-Constants.asn
+++ b/asn1/x2ap/X2AP-Constants.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.0.0 (2009-09)
+-- 3GPP TS 36.423 V9.1.0 (2009-12)
-- 9.3.7 Constant Definitions
-- **************************************************************
--
@@ -37,7 +37,10 @@ id-reset ProcedureCode ::= 7
id-eNBConfigurationUpdate ProcedureCode ::= 8
id-resourceStatusReportingInitiation ProcedureCode ::= 9
id-resourceStatusReporting ProcedureCode ::= 10
-id-privateMessage ProcedureCode ::= 11
+id-privateMessage ProcedureCode ::= 11
+id-mobilitySettingsChange ProcedureCode ::= 12
+id-rLFIndication ProcedureCode ::= 13
+id-handoverReport ProcedureCode ::= 14
@@ -114,7 +117,19 @@ id-ReportCharacteristics ProtocolIE-ID ::= 38
id-ENB1-Measurement-ID ProtocolIE-ID ::= 39
id-ENB2-Measurement-ID ProtocolIE-ID ::= 40
id-Number-of-Antennaports ProtocolIE-ID ::= 41
-
-
+id-CompositeAvailableCapacityGroup ProtocolIE-ID ::= 42
+id-ENB1-Cell-ID ProtocolIE-ID ::= 43
+id-ENB2-Cell-ID ProtocolIE-ID ::= 44
+id-ENB2-Proposed-Mobility-Parameters ProtocolIE-ID ::= 45
+id-ENB1-Mobility-Parameters ProtocolIE-ID ::= 46
+id-ENB2-Mobility-Parameters-Modification-Range ProtocolIE-ID ::= 47
+id-FailureCellPCI ProtocolIE-ID ::= 48
+id-Re-establishmentCellECGI ProtocolIE-ID ::= 49
+id-FailureCellCRNTI ProtocolIE-ID ::= 50
+id-ShortMAC-I ProtocolIE-ID ::= 51
+id-SourceCellECGI ProtocolIE-ID ::= 52
+id-FailureCellECGI ProtocolIE-ID ::= 53
+id-HandoverReportType ProtocolIE-ID ::= 54
+id-PRACH-Configuration ProtocolIE-ID ::= 55
END
diff --git a/asn1/x2ap/X2AP-Containers.asn b/asn1/x2ap/X2AP-Containers.asn
index 209f70c16e..debbcf53cc 100644
--- a/asn1/x2ap/X2AP-Containers.asn
+++ b/asn1/x2ap/X2AP-Containers.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.0.0 (2009-09)
+-- 3GPP TS 36.423 V9.1.0 (2009-12)
-- 9.3.8 Container Definitions
-- **************************************************************
--
@@ -194,6 +194,3 @@ PrivateIE-Field {X2AP-PRIVATE-IES : IEsSetParam} ::= SEQUENCE {
}
END
-
-
-
diff --git a/asn1/x2ap/X2AP-IEs.asn b/asn1/x2ap/X2AP-IEs.asn
index d20d3fe31c..d56845a224 100644
--- a/asn1/x2ap/X2AP-IEs.asn
+++ b/asn1/x2ap/X2AP-IEs.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.0.0 (2009-09)
+-- 3GPP TS 36.423 V9.1.0 (2009-12)
-- 9.3.5 Information Element Definitions
-- **************************************************************
--
@@ -19,9 +19,10 @@ IMPORTS
id-E-RAB-Item,
id-Number-of-Antennaports,
+ id-PRACH-Configuration,
-
- maxnoofBearers, maxCellineNB,
+ maxnoofBearers,
+ maxCellineNB,
maxEARFCN,
maxInterfaces,
@@ -87,6 +88,10 @@ BroadcastPLMNs-Item ::= SEQUENCE (SIZE(1..maxnoofBPLMNs)) OF PLMN-Identity
-- C
+CapacityValue ::= INTEGER (0..100)
+
+CellCapacityClassValue ::= INTEGER (1..100, ...)
+
Cause ::= CHOICE {
radioNetwork CauseRadioNetwork,
transport CauseTransport,
@@ -138,7 +143,10 @@ CauseRadioNetwork ::= ENUMERATED {
unknown-eNB-Measurement-ID,
measurement-temporarily-not-available,
unspecified,
- ...
+ ...,
+ load-balancing,
+ handover-optimisation,
+ value-out-of-allowed-range
}
@@ -162,6 +170,27 @@ CellType-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
...
}
+CompositeAvailableCapacityGroup ::= SEQUENCE {
+ dL-CompositeAvailableCapacity CompositeAvailableCapacity,
+ uL-CompositeAvailableCapacity CompositeAvailableCapacity,
+ iE-Extensions ProtocolExtensionContainer { { CompositeAvailableCapacityGroup-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompositeAvailableCapacityGroup-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
+CompositeAvailableCapacity ::= SEQUENCE {
+ cellCapacityClassValue CellCapacityClassValue OPTIONAL,
+ capacityValue CapacityValue,
+ iE-Extensions ProtocolExtensionContainer { { CompositeAvailableCapacity-ExtIEs} } OPTIONAL,
+ ...
+}
+
+CompositeAvailableCapacity-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
COUNTvalue ::= SEQUENCE {
pDCP-SN PDCP-SN,
@@ -202,6 +231,8 @@ CriticalityDiagnostics-IE-List-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
...
}
+CRNTI ::= BIT STRING (SIZE (16))
+
CyclicPrefixDL ::= ENUMERATED {
normal,
extended,
@@ -433,6 +464,12 @@ GUMMEI-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
-- H
+HandoverReportType ::= ENUMERATED {
+ hoTooEarly,
+ hoToWrongCell,
+ ...
+}
+
HandoverRestrictionList ::= SEQUENCE {
servingPLMN PLMN-Identity,
equivalentPLMNs EPLMNs OPTIONAL,
@@ -532,7 +569,19 @@ MME-Group-ID ::= OCTET STRING (SIZE (2))
MME-Code ::= OCTET STRING (SIZE (1))
-Measurement-ID ::= INTEGER (1..4095, ...)
+Measurement-ID ::= INTEGER (1..4095, ...)
+
+MobilityParametersModificationRange ::= SEQUENCE {
+ handoverTriggerChangeLowerLimit INTEGER (-20..20),
+ handoverTriggerChangeUpperLimit INTEGER (-20..20),
+ ...
+}
+
+MobilityParametersInformation ::= SEQUENCE {
+ handoverTriggerChange INTEGER (-20..20),
+ ...
+}
+
-- N
@@ -567,6 +616,20 @@ PCI ::= INTEGER (0..503, ...)
PLMN-Identity ::= OCTET STRING (SIZE(3))
+PRACH-Configuration ::= SEQUENCE {
+ rootSequenceIndex INTEGER (0..837),
+ zeroCorrelationIndex INTEGER (0..15),
+ highSpeedFlag BOOLEAN,
+ prach-FreqOffset INTEGER (0..94),
+ prach-ConfigIndex INTEGER (0..63) OPTIONAL, -- present for TDD --
+ iE-Extensions ProtocolExtensionContainer { {PRACH-Configuration-ExtIEs} } OPTIONAL,
+ ...
+}
+
+PRACH-Configuration-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+ ...
+}
+
Pre-emptionCapability ::= ENUMERATED {
shall-not-trigger-pre-emption,
may-trigger-pre-emption
@@ -705,10 +768,13 @@ ServedCell-Information ::= SEQUENCE {
}
ServedCell-Information-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
- { ID id-Number-of-Antennaports CRITICALITY ignore EXTENSION Number-of-Antennaports PRESENCE optional },
+ { ID id-Number-of-Antennaports CRITICALITY ignore EXTENSION Number-of-Antennaports PRESENCE optional }|
+ { ID id-PRACH-Configuration CRITICALITY ignore EXTENSION PRACH-Configuration PRESENCE optional },
...
}
+ShortMAC-I ::= BIT STRING (SIZE(16))
+
SRVCCOperationPossible ::= ENUMERATED {
possible,
...
@@ -885,4 +951,3 @@ UL-HighInterferenceIndication ::= BIT STRING (SIZE(1..110, ...))
-- Z
END
-
diff --git a/asn1/x2ap/X2AP-PDU-Contents.asn b/asn1/x2ap/X2AP-PDU-Contents.asn
index 6da4b9735b..a39869083c 100644
--- a/asn1/x2ap/X2AP-PDU-Contents.asn
+++ b/asn1/x2ap/X2AP-PDU-Contents.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.0.0 (2009-09)
+-- 3GPP TS 36.423 V9.1.0 (2009-12)
-- 9.3.4 PDU Definitions
-- **************************************************************
--
@@ -26,9 +26,10 @@ IMPORTS
AS-SecurityInformation,
Cause,
-
+ CompositeAvailableCapacityGroup,
COUNTvalue,
- CriticalityDiagnostics,
+ CriticalityDiagnostics,
+ CRNTI,
DL-Forwarding,
ECGI,
E-RAB-ID,
@@ -38,10 +39,12 @@ IMPORTS
GlobalENB-ID,
GTPtunnelEndpoint,
GUGroupIDList,
- GUMMEI,
+ GUMMEI,
+ HandoverReportType,
HandoverRestrictionList,
LocationReportingInformation,
- Neighbour-Information,
+ Neighbour-Information,
+ PCI,
PDCP-SN,
PLMN-Identity,
ReceiveStatusofULPDCPSDUs,
@@ -50,7 +53,8 @@ IMPORTS
RadioResourceStatus,
RRC-Context,
ServedCell-Information,
- ServedCells,
+ ServedCells,
+ ShortMAC-I,
SRVCCOperationPossible,
SubscriberProfileIDforRFP,
TargeteNBtoSource-eNBTransparentContainer,
@@ -69,7 +73,10 @@ IMPORTS
HWLoadIndicator,
S1TNLLoadIndicator,
Measurement-ID,
- ReportCharacteristics
+ ReportCharacteristics,
+ MobilityParametersInformation,
+ MobilityParametersModificationRange
+
@@ -95,7 +102,8 @@ FROM X2AP-Containers
id-CellMeasurementResult,
id-CellMeasurementResult-Item,
id-CellToReport,
- id-CellToReport-Item,
+ id-CellToReport-Item,
+ id-CompositeAvailableCapacityGroup,
id-CriticalityDiagnostics,
id-E-RABs-Admitted-Item,
id-E-RABs-Admitted-List,
@@ -127,8 +135,20 @@ FROM X2AP-Containers
id-Measurement-ID,
id-ReportCharacteristics,
id-ENB1-Measurement-ID,
- id-ENB2-Measurement-ID,
-
+ id-ENB2-Measurement-ID,
+ id-ENB1-Cell-ID,
+ id-ENB2-Cell-ID,
+ id-ENB2-Proposed-Mobility-Parameters,
+ id-ENB1-Mobility-Parameters,
+ id-ENB2-Mobility-Parameters-Modification-Range,
+ id-FailureCellPCI,
+ id-Re-establishmentCellECGI,
+ id-FailureCellCRNTI,
+ id-ShortMAC-I,
+ id-SourceCellECGI,
+ id-FailureCellECGI,
+ id-Re-establishmentCellECGI,
+ id-HandoverReportType,
maxCellineNB,
@@ -262,6 +282,26 @@ HandoverPreparationFailure-IEs X2AP-PROTOCOL-IES ::= {
-- **************************************************************
--
+-- Handover Report
+--
+-- **************************************************************
+
+HandoverReport ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{HandoverReport-IEs}},
+ ...
+}
+
+HandoverReport-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-HandoverReportType CRITICALITY ignore TYPE HandoverReportType PRESENCE mandatory}|
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} |
+ { ID id-SourceCellECGI CRITICALITY ignore TYPE ECGI PRESENCE mandatory}|
+ { ID id-FailureCellECGI CRITICALITY ignore TYPE ECGI PRESENCE mandatory} |
+ { ID id-Re-establishmentCellECGI CRITICALITY ignore TYPE ECGI PRESENCE conditional} -- The IE shall be present if the Handover Report Type IE is set to “HO to Wrong Cell” -- ,
+ ...
+}
+
+-- **************************************************************
+--
-- SN Status Transfer
--
-- **************************************************************
@@ -680,6 +720,7 @@ CellMeasurementResult-Item ::= SEQUENCE {
}
CellMeasurementResult-Item-ExtIEs X2AP-PROTOCOL-EXTENSION ::= {
+{ ID id-CompositeAvailableCapacityGroup CRITICALITY ignore EXTENSION CompositeAvailableCapacityGroup PRESENCE optional },
...
}
@@ -699,4 +740,78 @@ PrivateMessage-IEs X2AP-PRIVATE-IES ::= {
...
}
+-- **************************************************************
+--
+-- MOBILITY CHANGE REQUEST
+--
+-- **************************************************************
+
+MobilityChangeRequest ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MobilityChangeRequest-IEs}},
+ ...
+}
+
+MobilityChangeRequest-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-ENB1-Cell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory }|
+ { ID id-ENB2-Cell-ID CRITICALITY reject TYPE ECGI PRESENCE mandatory }|
+ { ID id-ENB1-Mobility-Parameters CRITICALITY ignore TYPE MobilityParametersInformation PRESENCE optional }|
+ { ID id-ENB2-Proposed-Mobility-Parameters CRITICALITY reject TYPE MobilityParametersInformation PRESENCE mandatory }|
+ { ID id-Cause CRITICALITY reject TYPE Cause PRESENCE mandatory },
+ ...
+}
+
+-- **************************************************************
+--
+-- MOBILITY CHANGE ACKNOWLEDGE
+--
+-- **************************************************************
+
+MobilityChangeAcknowledge ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MobilityChangeAcknowledge-IEs}},
+ ...
+}
+
+MobilityChangeAcknowledge-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+
+-- **************************************************************
+--
+-- MOBILITY CHANGE FAILURE
+--
+-- **************************************************************
+
+MobilityChangeFailure ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{MobilityChangeFailure-IEs}},
+ ...
+}
+
+MobilityChangeFailure-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }|
+ { ID id-ENB2-Mobility-Parameters-Modification-Range CRITICALITY ignore TYPE MobilityParametersModificationRange PRESENCE optional }|
+ { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional },
+ ...
+}
+
+-- **************************************************************
+--
+-- Radio Link Failure Indication
+--
+-- **************************************************************
+
+RLFIndication ::= SEQUENCE {
+ protocolIEs ProtocolIE-Container {{RLFIndication-IEs}},
+ ...
+}
+
+RLFIndication-IEs X2AP-PROTOCOL-IES ::= {
+ { ID id-FailureCellPCI CRITICALITY ignore TYPE PCI PRESENCE mandatory}|
+ { ID id-Re-establishmentCellECGI CRITICALITY ignore TYPE ECGI PRESENCE mandatory}|
+ { ID id-FailureCellCRNTI CRITICALITY ignore TYPE CRNTI PRESENCE mandatory}|
+ { ID id-ShortMAC-I CRITICALITY ignore TYPE ShortMAC-I PRESENCE optional},
+ ...
+}
+
END
diff --git a/asn1/x2ap/X2AP-PDU-Descriptions.asn b/asn1/x2ap/X2AP-PDU-Descriptions.asn
index 7ff0707118..e9d2c2b8c2 100644
--- a/asn1/x2ap/X2AP-PDU-Descriptions.asn
+++ b/asn1/x2ap/X2AP-PDU-Descriptions.asn
@@ -1,5 +1,5 @@
-- $Id$
--- 3GPP TS 36.423 V9.0.0 (2009-09)
+-- 3GPP TS 36.423 V9.1.0 (2009-12)
-- 9.3.3 Elementary Procedure Definitions
-- **************************************************************
--
@@ -31,7 +31,8 @@ FROM X2AP-CommonDataTypes
ENBConfigurationUpdateAcknowledge,
ENBConfigurationUpdateFailure,
ErrorIndication,
- HandoverCancel,
+ HandoverCancel,
+ HandoverReport,
HandoverPreparationFailure,
HandoverRequest,
HandoverRequestAcknowledge,
@@ -42,12 +43,15 @@ FROM X2AP-CommonDataTypes
ResourceStatusFailure,
ResourceStatusRequest,
ResourceStatusResponse,
- ResourceStatusUpdate,
+ ResourceStatusUpdate,
+ RLFIndication,
SNStatusTransfer,
UEContextRelease,
X2SetupFailure, X2SetupRequest,
- X2SetupResponse
-
+ X2SetupResponse,
+ MobilityChangeRequest,
+ MobilityChangeAcknowledge,
+ MobilityChangeFailure
@@ -55,7 +59,8 @@ FROM X2AP-PDU-Contents
id-eNBConfigurationUpdate,
id-errorIndication,
- id-handoverCancel,
+ id-handoverCancel,
+ id-handoverReport,
id-handoverPreparation,
id-loadIndication,
@@ -63,10 +68,12 @@ FROM X2AP-PDU-Contents
id-reset,
id-resourceStatusReporting,
- id-resourceStatusReportingInitiation,
+ id-resourceStatusReportingInitiation,
+ id-rLFIndication,
id-snStatusTransfer,
id-uEContextRelease,
- id-x2Setup
+ id-x2Setup,
+ id-mobilitySettingsChange
@@ -143,7 +150,8 @@ X2AP-ELEMENTARY-PROCEDURES-CLASS-1 X2AP-ELEMENTARY-PROCEDURE ::= {
reset |
x2Setup |
resourceStatusReportingInitiation |
- eNBConfigurationUpdate ,
+ eNBConfigurationUpdate |
+ mobilitySettingsChange ,
...
}
@@ -154,7 +162,8 @@ X2AP-ELEMENTARY-PROCEDURES-CLASS-2 X2AP-ELEMENTARY-PROCEDURE ::= {
errorIndication |
resourceStatusReporting |
loadIndication |
- privateMessage ,
+ privateMessage |
+ rLFIndication | handoverReport,
...
}
@@ -193,6 +202,12 @@ handoverCancel X2AP-ELEMENTARY-PROCEDURE ::= {
CRITICALITY ignore
}
+handoverReport X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE HandoverReport
+ PROCEDURE CODE id-handoverReport
+ CRITICALITY ignore
+}
+
errorIndication X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE ErrorIndication
PROCEDURE CODE id-errorIndication
@@ -243,10 +258,25 @@ resourceStatusReporting X2AP-ELEMENTARY-PROCEDURE ::= {
CRITICALITY ignore
}
+rLFIndication X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE RLFIndication
+ PROCEDURE CODE id-rLFIndication
+ CRITICALITY ignore
+}
+
privateMessage X2AP-ELEMENTARY-PROCEDURE ::= {
INITIATING MESSAGE PrivateMessage
PROCEDURE CODE id-privateMessage
CRITICALITY ignore
}
+mobilitySettingsChange X2AP-ELEMENTARY-PROCEDURE ::= {
+ INITIATING MESSAGE MobilityChangeRequest
+ SUCCESSFUL OUTCOME MobilityChangeAcknowledge
+ UNSUCCESSFUL OUTCOME MobilityChangeFailure
+ PROCEDURE CODE id-mobilitySettingsChange
+ CRITICALITY reject
+}
+
+
END
diff --git a/asn1/x2ap/x2ap.cnf b/asn1/x2ap/x2ap.cnf
index bbbe272b5b..7f9075161c 100644
--- a/asn1/x2ap/x2ap.cnf
+++ b/asn1/x2ap/x2ap.cnf
@@ -158,6 +158,9 @@ id-eNBConfigurationUpdate ProcedureCode
id-resourceStatusReportingInitiation ProcedureCode
id-resourceStatusReporting ProcedureCode
id-privateMessage ProcedureCode
+id-mobilitySettingsChange ProcedureCode
+id-rLFIndication ProcedureCode
+id-handoverReport ProcedureCode
# ProtocolIE-ID
@@ -202,6 +205,21 @@ id-ReportCharacteristics ProtocolIE-ID
id-ENB1-Measurement-ID ProtocolIE-ID
id-ENB2-Measurement-ID ProtocolIE-ID
id-Number-of-Antennaports ProtocolIE-ID
+id-CompositeAvailableCapacityGroup ProtocolIE-ID
+id-ENB1-Cell-ID ProtocolIE-ID
+id-ENB2-Cell-ID ProtocolIE-ID
+id-ENB2-Proposed-Mobility-Parameters ProtocolIE-ID
+id-ENB1-Mobility-Parameters ProtocolIE-ID
+id-ENB2-Mobility-Parameters-Modification-Range ProtocolIE-ID
+id-FailureCellPCI ProtocolIE-ID
+id-Re-establishmentCellECGI ProtocolIE-ID
+id-FailureCellCRNTI ProtocolIE-ID
+id-ShortMAC-I ProtocolIE-ID
+id-SourceCellECGI ProtocolIE-ID
+id-FailureCellECGI ProtocolIE-ID
+id-HandoverReportType ProtocolIE-ID
+id-PRACH-Configuration ProtocolIE-ID
+
#.REGISTER_NEW
#X2AP-PROTOCOL-IES
@@ -245,9 +263,23 @@ SRVCCOperationPossible N x2ap.ies id-SRVCCOperationPossible
ReportCharacteristics N x2ap.ies id-ReportCharacteristics
Measurement-ID N x2ap.ies id-ENB1-Measurement-ID
Measurement-ID N x2ap.ies id-ENB2-Measurement-ID
+ECGI N x2ap.ies id-ENB1-Cell-ID
+ECGI N x2ap.ies id-ENB2-Cell-ID
+MobilityParametersInformation N x2ap.ies id-ENB2-Proposed-Mobility-Parameters
+MobilityParametersInformation N x2ap.ies id-ENB1-Mobility-Parameters
+MobilityParametersModificationRange N x2ap.ies id-ENB2-Mobility-Parameters-Modification-Range
+PCI N x2ap.ies id-FailureCellPCI
+ECGI N x2ap.ies id-Re-establishmentCellECGI
+CRNTI N x2ap.ies id-FailureCellCRNTI
+ShortMAC-I N x2ap.ies id-ShortMAC-I
+ECGI N x2ap.ies id-SourceCellECGI
+ECGI N x2ap.ies id-FailureCellECGI
+HandoverReportType N x2ap.ies id-HandoverReportType
#X2AP-PROTOCOL-EXTENSION
Number-of-Antennaports N x2ap.extension id-Number-of-Antennaports
+CompositeAvailableCapacityGroup N x2ap.extension id-CompositeAvailableCapacityGroup
+PRACH-Configuration N x2ap.extension id-PRACH-Configuration
# X2AP-PDU-Descriptions.asn Interface Elementary Procedures
#X2AP-ELEMENTARY-PROCEDURE
@@ -284,6 +316,14 @@ ResourceStatusUpdate N x2ap.proc.imsg id-resourceStatusReporting
PrivateMessage N x2ap.proc.imsg id-privateMessage
+HandoverReport N x2ap.proc.imsg id-handoverReport
+
+RLFIndication N x2ap.proc.imsg id-rLFIndication
+
+MobilityChangeRequest N x2ap.proc.imsg id-mobilitySettingsChange
+MobilityChangeAcknowledge N x2ap.proc.sout id-mobilitySettingsChange
+MobilityChangeFailure N x2ap.proc.uout id-mobilitySettingsChange
+
#.TYPE_ATTR
BitRate TYPE = FT_UINT64 DISPLAY = BASE_DEC STRINGS = NULL
#.END
diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c
index 8890ce3a65..49cca2f0f7 100644
--- a/epan/dissectors/packet-s1ap.c
+++ b/epan/dissectors/packet-s1ap.c
@@ -143,7 +143,11 @@ typedef enum _ProcedureCode_enum {
id_eNBConfigurationTransfer = 40,
id_MMEConfigurationTransfer = 41,
id_CellTrafficTrace = 42,
- id_Kill = 43
+ id_Kill = 43,
+ id_downlinkUEAssociatedLPPaTransport = 44,
+ id_uplinkUEAssociatedLPPaTransport = 45,
+ id_downlinkNonUEAssociatedLPPaTransport = 46,
+ id_uplinkNonUEAssociatedLPPaTransport = 47
} ProcedureCode_enum;
typedef enum _ProtocolIE_ID_enum {
@@ -272,7 +276,13 @@ typedef enum _ProtocolIE_ID_enum {
id_Target_ToSource_TransparentContainer_Secondary = 139,
id_EUTRANRoundTripDelayEstimationInfo = 140,
id_BroadcastCancelledAreaList = 141,
- id_ConcurrentWarningMessageIndicator = 142
+ id_ConcurrentWarningMessageIndicator = 142,
+ id_Data_Forwarding_Not_Possible = 143,
+ id_ExtendedRepetitionPeriod = 144,
+ id_CellAccessMode = 145,
+ id_CSGMembershipStatus = 146,
+ id_LPPa_PDU = 147,
+ id_Routing_ID = 148
} ProtocolIE_ID_enum;
/*--- End of included file: packet-s1ap-val.h ---*/
@@ -290,6 +300,7 @@ static int hf_s1ap_Bearers_SubjectToStatusTransfer_Item_PDU = -1; /* Bearers_Su
static int hf_s1ap_BroadcastCancelledAreaList_PDU = -1; /* BroadcastCancelledAreaList */
static int hf_s1ap_BroadcastCompletedAreaList_PDU = -1; /* BroadcastCompletedAreaList */
static int hf_s1ap_Cause_PDU = -1; /* Cause */
+static int hf_s1ap_CellAccessMode_PDU = -1; /* CellAccessMode */
static int hf_s1ap_Cdma2000PDU_PDU = -1; /* Cdma2000PDU */
static int hf_s1ap_Cdma2000RATType_PDU = -1; /* Cdma2000RATType */
static int hf_s1ap_Cdma2000SectorID_PDU = -1; /* Cdma2000SectorID */
@@ -302,9 +313,11 @@ static int hf_s1ap_ConcurrentWarningMessageIndicator_PDU = -1; /* ConcurrentWar
static int hf_s1ap_CSFallbackIndicator_PDU = -1; /* CSFallbackIndicator */
static int hf_s1ap_CSG_Id_PDU = -1; /* CSG_Id */
static int hf_s1ap_CSG_IdList_PDU = -1; /* CSG_IdList */
+static int hf_s1ap_CSGMembershipStatus_PDU = -1; /* CSGMembershipStatus */
static int hf_s1ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
static int hf_s1ap_DataCodingScheme_PDU = -1; /* DataCodingScheme */
static int hf_s1ap_Direct_Forwarding_Path_Availability_PDU = -1; /* Direct_Forwarding_Path_Availability */
+static int hf_s1ap_Data_Forwarding_Not_Possible_PDU = -1; /* Data_Forwarding_Not_Possible */
static int hf_s1ap_Global_ENB_ID_PDU = -1; /* Global_ENB_ID */
static int hf_s1ap_ENB_StatusTransfer_TransparentContainer_PDU = -1; /* ENB_StatusTransfer_TransparentContainer */
static int hf_s1ap_ENB_UE_S1AP_ID_PDU = -1; /* ENB_UE_S1AP_ID */
@@ -314,9 +327,11 @@ static int hf_s1ap_E_RABList_PDU = -1; /* E_RABList */
static int hf_s1ap_E_RABItem_PDU = -1; /* E_RABItem */
static int hf_s1ap_EUTRAN_CGI_PDU = -1; /* EUTRAN_CGI */
static int hf_s1ap_EUTRANRoundTripDelayEstimationInfo_PDU = -1; /* EUTRANRoundTripDelayEstimationInfo */
+static int hf_s1ap_ExtendedRepetitionPeriod_PDU = -1; /* ExtendedRepetitionPeriod */
static int hf_s1ap_GUMMEI_PDU = -1; /* GUMMEI */
static int hf_s1ap_HandoverRestrictionList_PDU = -1; /* HandoverRestrictionList */
static int hf_s1ap_HandoverType_PDU = -1; /* HandoverType */
+static int hf_s1ap_LPPa_PDU_PDU = -1; /* LPPa_PDU */
static int hf_s1ap_MessageIdentifier_PDU = -1; /* MessageIdentifier */
static int hf_s1ap_MMEname_PDU = -1; /* MMEname */
static int hf_s1ap_MME_UE_S1AP_ID_PDU = -1; /* MME_UE_S1AP_ID */
@@ -332,6 +347,7 @@ static int hf_s1ap_RelativeMMECapacity_PDU = -1; /* RelativeMMECapacity */
static int hf_s1ap_RequestType_PDU = -1; /* RequestType */
static int hf_s1ap_RepetitionPeriod_PDU = -1; /* RepetitionPeriod */
static int hf_s1ap_RRC_Establishment_Cause_PDU = -1; /* RRC_Establishment_Cause */
+static int hf_s1ap_Routing_ID_PDU = -1; /* Routing_ID */
static int hf_s1ap_SecurityKey_PDU = -1; /* SecurityKey */
static int hf_s1ap_SecurityContext_PDU = -1; /* SecurityContext */
static int hf_s1ap_SerialNumber_PDU = -1; /* SerialNumber */
@@ -466,6 +482,10 @@ static int hf_s1ap_MMEConfigurationTransfer_PDU = -1; /* MMEConfigurationTransf
static int hf_s1ap_PrivateMessage_PDU = -1; /* PrivateMessage */
static int hf_s1ap_KillRequest_PDU = -1; /* KillRequest */
static int hf_s1ap_KillResponse_PDU = -1; /* KillResponse */
+static int hf_s1ap_DownlinkUEAssociatedLPPaTransport_PDU = -1; /* DownlinkUEAssociatedLPPaTransport */
+static int hf_s1ap_UplinkUEAssociatedLPPaTransport_PDU = -1; /* UplinkUEAssociatedLPPaTransport */
+static int hf_s1ap_DownlinkNonUEAssociatedLPPaTransport_PDU = -1; /* DownlinkNonUEAssociatedLPPaTransport */
+static int hf_s1ap_UplinkNonUEAssociatedLPPaTransport_PDU = -1; /* UplinkNonUEAssociatedLPPaTransport */
static int hf_s1ap_S1AP_PDU_PDU = -1; /* S1AP_PDU */
static int hf_s1ap_local = -1; /* INTEGER_0_65535 */
static int hf_s1ap_global = -1; /* OBJECT_IDENTIFIER */
@@ -881,6 +901,10 @@ static gint ett_s1ap_MMEConfigurationTransfer = -1;
static gint ett_s1ap_PrivateMessage = -1;
static gint ett_s1ap_KillRequest = -1;
static gint ett_s1ap_KillResponse = -1;
+static gint ett_s1ap_DownlinkUEAssociatedLPPaTransport = -1;
+static gint ett_s1ap_UplinkUEAssociatedLPPaTransport = -1;
+static gint ett_s1ap_DownlinkNonUEAssociatedLPPaTransport = -1;
+static gint ett_s1ap_UplinkNonUEAssociatedLPPaTransport = -1;
static gint ett_s1ap_S1AP_PDU = -1;
static gint ett_s1ap_InitiatingMessage = -1;
static gint ett_s1ap_SuccessfulOutcome = -1;
@@ -1036,6 +1060,10 @@ static const value_string s1ap_ProcedureCode_vals[] = {
{ id_MMEConfigurationTransfer, "id-MMEConfigurationTransfer" },
{ id_CellTrafficTrace, "id-CellTrafficTrace" },
{ id_Kill, "id-Kill" },
+ { id_downlinkUEAssociatedLPPaTransport, "id-downlinkUEAssociatedLPPaTransport" },
+ { id_uplinkUEAssociatedLPPaTransport, "id-uplinkUEAssociatedLPPaTransport" },
+ { id_downlinkNonUEAssociatedLPPaTransport, "id-downlinkNonUEAssociatedLPPaTransport" },
+ { id_uplinkNonUEAssociatedLPPaTransport, "id-uplinkNonUEAssociatedLPPaTransport" },
{ 0, NULL }
};
@@ -1191,6 +1219,12 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = {
{ id_EUTRANRoundTripDelayEstimationInfo, "id-EUTRANRoundTripDelayEstimationInfo" },
{ id_BroadcastCancelledAreaList, "id-BroadcastCancelledAreaList" },
{ id_ConcurrentWarningMessageIndicator, "id-ConcurrentWarningMessageIndicator" },
+ { id_Data_Forwarding_Not_Possible, "id-Data-Forwarding-Not-Possible" },
+ { id_ExtendedRepetitionPeriod, "id-ExtendedRepetitionPeriod" },
+ { id_CellAccessMode, "id-CellAccessMode" },
+ { id_CSGMembershipStatus, "id-CSGMembershipStatus" },
+ { id_LPPa_PDU, "id-LPPa-PDU" },
+ { id_Routing_ID, "id-Routing-ID" },
{ 0, NULL }
};
@@ -2030,6 +2064,7 @@ static const value_string s1ap_CauseRadioNetwork_vals[] = {
{ 35, "x2-handover-triggered" },
{ 36, "redirection-towards-1xRTT" },
{ 37, "not-supported-QCI-value" },
+ { 38, "invalid-CSG-Id" },
{ 0, NULL }
};
@@ -2037,7 +2072,7 @@ static const value_string s1ap_CauseRadioNetwork_vals[] = {
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_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 36, NULL, TRUE, 2, NULL);
+ 36, NULL, TRUE, 3, NULL);
return offset;
}
@@ -2146,6 +2181,21 @@ dissect_s1ap_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, prot
}
+static const value_string s1ap_CellAccessMode_vals[] = {
+ { 0, "hybrid" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_CellAccessMode(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 int
dissect_s1ap_Cdma2000PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -2437,6 +2487,22 @@ dissect_s1ap_CSG_IdList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
+static const value_string s1ap_CSGMembershipStatus_vals[] = {
+ { 0, "member" },
+ { 1, "not-member" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_CSGMembershipStatus(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, FALSE, 0, NULL);
+
+ return offset;
+}
+
+
static const value_string s1ap_TypeOfError_vals[] = {
{ 0, "not-understood" },
{ 1, "missing" },
@@ -2542,6 +2608,21 @@ dissect_s1ap_Direct_Forwarding_Path_Availability(tvbuff_t *tvb _U_, int offset _
}
+static const value_string s1ap_Data_Forwarding_Not_Possible_vals[] = {
+ { 0, "data-Forwarding-not-Possible" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_Data_Forwarding_Not_Possible(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 ECGIList_sequence_of[1] = {
{ &hf_s1ap_ECGIList_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
};
@@ -2907,6 +2988,16 @@ dissect_s1ap_ExtendedRNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+
+static int
+dissect_s1ap_ExtendedRepetitionPeriod(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,
+ 4096U, 131071U, NULL, FALSE);
+
+ return offset;
+}
+
+
static const value_string s1ap_ForbiddenInterRATs_vals[] = {
{ 0, "all" },
{ 1, "geran" },
@@ -3225,6 +3316,16 @@ 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_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE, NULL);
+
+ return offset;
+}
+
+
+
+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_) {
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
16, 16, FALSE, NULL);
@@ -3556,6 +3657,16 @@ dissect_s1ap_RRC_Establishment_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
static int
+dissect_s1ap_Routing_ID(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,
+ 4, 4, FALSE, NULL);
+
+ return offset;
+}
+
+
+
+static int
dissect_s1ap_SecurityKey(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,
256, 256, FALSE, NULL);
@@ -5885,6 +5996,62 @@ dissect_s1ap_KillResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
+static const per_sequence_t DownlinkUEAssociatedLPPaTransport_sequence[] = {
+ { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+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_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_DownlinkUEAssociatedLPPaTransport, DownlinkUEAssociatedLPPaTransport_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UplinkUEAssociatedLPPaTransport_sequence[] = {
+ { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+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_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_UplinkUEAssociatedLPPaTransport, UplinkUEAssociatedLPPaTransport_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t DownlinkNonUEAssociatedLPPaTransport_sequence[] = {
+ { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+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_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_DownlinkNonUEAssociatedLPPaTransport, DownlinkNonUEAssociatedLPPaTransport_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UplinkNonUEAssociatedLPPaTransport_sequence[] = {
+ { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+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_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_UplinkNonUEAssociatedLPPaTransport, UplinkNonUEAssociatedLPPaTransport_sequence);
+
+ return offset;
+}
+
+
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_) {
@@ -6029,6 +6196,14 @@ static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tr
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_CellAccessMode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_s1ap_CellAccessMode(tvb, offset, &asn1_ctx, tree, hf_s1ap_CellAccessMode_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_Cdma2000PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -6125,6 +6300,14 @@ static int dissect_CSG_IdList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_CSGMembershipStatus_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_s1ap_CSGMembershipStatus(tvb, offset, &asn1_ctx, tree, hf_s1ap_CSGMembershipStatus_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -6149,6 +6332,14 @@ static int dissect_Direct_Forwarding_Path_Availability_PDU(tvbuff_t *tvb _U_, pa
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_Data_Forwarding_Not_Possible_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_s1ap_Data_Forwarding_Not_Possible(tvb, offset, &asn1_ctx, tree, hf_s1ap_Data_Forwarding_Not_Possible_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_Global_ENB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -6221,6 +6412,14 @@ static int dissect_EUTRANRoundTripDelayEstimationInfo_PDU(tvbuff_t *tvb _U_, pac
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_ExtendedRepetitionPeriod_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_s1ap_ExtendedRepetitionPeriod(tvb, offset, &asn1_ctx, tree, hf_s1ap_ExtendedRepetitionPeriod_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_GUMMEI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -6245,6 +6444,14 @@ static int dissect_HandoverType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_LPPa_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_s1ap_LPPa_PDU(tvb, offset, &asn1_ctx, tree, hf_s1ap_LPPa_PDU_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_MessageIdentifier_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -6365,6 +6572,14 @@ static int dissect_RRC_Establishment_Cause_PDU(tvbuff_t *tvb _U_, packet_info *p
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_Routing_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_s1ap_Routing_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_Routing_ID_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_SecurityKey_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -7437,6 +7652,38 @@ static int dissect_KillResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_DownlinkUEAssociatedLPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_s1ap_DownlinkUEAssociatedLPPaTransport(tvb, offset, &asn1_ctx, tree, hf_s1ap_DownlinkUEAssociatedLPPaTransport_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_UplinkUEAssociatedLPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_s1ap_UplinkUEAssociatedLPPaTransport(tvb, offset, &asn1_ctx, tree, hf_s1ap_UplinkUEAssociatedLPPaTransport_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_DownlinkNonUEAssociatedLPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_s1ap_DownlinkNonUEAssociatedLPPaTransport(tvb, offset, &asn1_ctx, tree, hf_s1ap_DownlinkNonUEAssociatedLPPaTransport_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_UplinkNonUEAssociatedLPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_s1ap_UplinkNonUEAssociatedLPPaTransport(tvb, offset, &asn1_ctx, tree, hf_s1ap_UplinkNonUEAssociatedLPPaTransport_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_S1AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -7638,6 +7885,12 @@ proto_reg_handoff_s1ap(void)
dissector_add("s1ap.ies", id_EUTRANRoundTripDelayEstimationInfo, new_create_dissector_handle(dissect_EUTRANRoundTripDelayEstimationInfo_PDU, proto_s1ap));
dissector_add("s1ap.ies", id_BroadcastCancelledAreaList, new_create_dissector_handle(dissect_BroadcastCancelledAreaList_PDU, proto_s1ap));
dissector_add("s1ap.ies", id_ConcurrentWarningMessageIndicator, new_create_dissector_handle(dissect_ConcurrentWarningMessageIndicator_PDU, proto_s1ap));
+ dissector_add("s1ap.ies", id_ExtendedRepetitionPeriod, new_create_dissector_handle(dissect_ExtendedRepetitionPeriod_PDU, proto_s1ap));
+ dissector_add("s1ap.ies", id_CellAccessMode, new_create_dissector_handle(dissect_CellAccessMode_PDU, proto_s1ap));
+ dissector_add("s1ap.ies", id_CSGMembershipStatus, new_create_dissector_handle(dissect_CSGMembershipStatus_PDU, proto_s1ap));
+ dissector_add("s1ap.ies", id_LPPa_PDU, new_create_dissector_handle(dissect_LPPa_PDU_PDU, proto_s1ap));
+ dissector_add("s1ap.ies", id_Routing_ID, new_create_dissector_handle(dissect_Routing_ID_PDU, proto_s1ap));
+ dissector_add("s1ap.extension", id_Data_Forwarding_Not_Possible, new_create_dissector_handle(dissect_Data_Forwarding_Not_Possible_PDU, proto_s1ap));
dissector_add("s1ap.proc.imsg", id_HandoverPreparation, new_create_dissector_handle(dissect_HandoverRequired_PDU, proto_s1ap));
dissector_add("s1ap.proc.sout", id_HandoverPreparation, new_create_dissector_handle(dissect_HandoverCommand_PDU, proto_s1ap));
dissector_add("s1ap.proc.uout", id_HandoverPreparation, new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_s1ap));
@@ -7706,6 +7959,10 @@ proto_reg_handoff_s1ap(void)
dissector_add("s1ap.proc.imsg", id_CellTrafficTrace, new_create_dissector_handle(dissect_CellTrafficTrace_PDU, proto_s1ap));
dissector_add("s1ap.proc.imsg", id_Kill, new_create_dissector_handle(dissect_KillRequest_PDU, proto_s1ap));
dissector_add("s1ap.proc.sout", id_Kill, new_create_dissector_handle(dissect_KillResponse_PDU, proto_s1ap));
+ dissector_add("s1ap.proc.imsg", id_downlinkUEAssociatedLPPaTransport, new_create_dissector_handle(dissect_DownlinkUEAssociatedLPPaTransport_PDU, proto_s1ap));
+ dissector_add("s1ap.proc.imsg", id_uplinkUEAssociatedLPPaTransport, new_create_dissector_handle(dissect_UplinkUEAssociatedLPPaTransport_PDU, proto_s1ap));
+ dissector_add("s1ap.proc.imsg", id_downlinkNonUEAssociatedLPPaTransport, new_create_dissector_handle(dissect_DownlinkNonUEAssociatedLPPaTransport_PDU, proto_s1ap));
+ dissector_add("s1ap.proc.imsg", id_uplinkNonUEAssociatedLPPaTransport, new_create_dissector_handle(dissect_UplinkNonUEAssociatedLPPaTransport_PDU, proto_s1ap));
/*--- End of included file: packet-s1ap-dis-tab.c ---*/
@@ -7756,6 +8013,10 @@ void proto_register_s1ap(void) {
{ "Cause", "s1ap.Cause",
FT_UINT32, BASE_DEC, VALS(s1ap_Cause_vals), 0,
"s1ap.Cause", HFILL }},
+ { &hf_s1ap_CellAccessMode_PDU,
+ { "CellAccessMode", "s1ap.CellAccessMode",
+ FT_UINT32, BASE_DEC, VALS(s1ap_CellAccessMode_vals), 0,
+ "s1ap.CellAccessMode", HFILL }},
{ &hf_s1ap_Cdma2000PDU_PDU,
{ "Cdma2000PDU", "s1ap.Cdma2000PDU",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -7804,6 +8065,10 @@ void proto_register_s1ap(void) {
{ "CSG-IdList", "s1ap.CSG_IdList",
FT_UINT32, BASE_DEC, NULL, 0,
"s1ap.CSG_IdList", HFILL }},
+ { &hf_s1ap_CSGMembershipStatus_PDU,
+ { "CSGMembershipStatus", "s1ap.CSGMembershipStatus",
+ FT_UINT32, BASE_DEC, VALS(s1ap_CSGMembershipStatus_vals), 0,
+ "s1ap.CSGMembershipStatus", HFILL }},
{ &hf_s1ap_CriticalityDiagnostics_PDU,
{ "CriticalityDiagnostics", "s1ap.CriticalityDiagnostics",
FT_NONE, BASE_NONE, NULL, 0,
@@ -7816,6 +8081,10 @@ void proto_register_s1ap(void) {
{ "Direct-Forwarding-Path-Availability", "s1ap.Direct_Forwarding_Path_Availability",
FT_UINT32, BASE_DEC, VALS(s1ap_Direct_Forwarding_Path_Availability_vals), 0,
"s1ap.Direct_Forwarding_Path_Availability", HFILL }},
+ { &hf_s1ap_Data_Forwarding_Not_Possible_PDU,
+ { "Data-Forwarding-Not-Possible", "s1ap.Data_Forwarding_Not_Possible",
+ FT_UINT32, BASE_DEC, VALS(s1ap_Data_Forwarding_Not_Possible_vals), 0,
+ "s1ap.Data_Forwarding_Not_Possible", HFILL }},
{ &hf_s1ap_Global_ENB_ID_PDU,
{ "Global-ENB-ID", "s1ap.Global_ENB_ID",
FT_NONE, BASE_NONE, NULL, 0,
@@ -7852,6 +8121,10 @@ void proto_register_s1ap(void) {
{ "EUTRANRoundTripDelayEstimationInfo", "s1ap.EUTRANRoundTripDelayEstimationInfo",
FT_UINT32, BASE_DEC, NULL, 0,
"s1ap.EUTRANRoundTripDelayEstimationInfo", HFILL }},
+ { &hf_s1ap_ExtendedRepetitionPeriod_PDU,
+ { "ExtendedRepetitionPeriod", "s1ap.ExtendedRepetitionPeriod",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "s1ap.ExtendedRepetitionPeriod", HFILL }},
{ &hf_s1ap_GUMMEI_PDU,
{ "GUMMEI", "s1ap.GUMMEI",
FT_NONE, BASE_NONE, NULL, 0,
@@ -7864,6 +8137,10 @@ void proto_register_s1ap(void) {
{ "HandoverType", "s1ap.HandoverType",
FT_UINT32, BASE_DEC, VALS(s1ap_HandoverType_vals), 0,
"s1ap.HandoverType", HFILL }},
+ { &hf_s1ap_LPPa_PDU_PDU,
+ { "LPPa-PDU", "s1ap.LPPa_PDU",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "s1ap.LPPa_PDU", HFILL }},
{ &hf_s1ap_MessageIdentifier_PDU,
{ "MessageIdentifier", "s1ap.MessageIdentifier",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -7924,6 +8201,10 @@ void proto_register_s1ap(void) {
{ "RRC-Establishment-Cause", "s1ap.RRC_Establishment_Cause",
FT_UINT32, BASE_DEC, VALS(s1ap_RRC_Establishment_Cause_vals), 0,
"s1ap.RRC_Establishment_Cause", HFILL }},
+ { &hf_s1ap_Routing_ID_PDU,
+ { "Routing-ID", "s1ap.Routing_ID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "s1ap.Routing_ID", HFILL }},
{ &hf_s1ap_SecurityKey_PDU,
{ "SecurityKey", "s1ap.SecurityKey",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -8460,6 +8741,22 @@ void proto_register_s1ap(void) {
{ "KillResponse", "s1ap.KillResponse",
FT_NONE, BASE_NONE, NULL, 0,
"s1ap.KillResponse", HFILL }},
+ { &hf_s1ap_DownlinkUEAssociatedLPPaTransport_PDU,
+ { "DownlinkUEAssociatedLPPaTransport", "s1ap.DownlinkUEAssociatedLPPaTransport",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "s1ap.DownlinkUEAssociatedLPPaTransport", HFILL }},
+ { &hf_s1ap_UplinkUEAssociatedLPPaTransport_PDU,
+ { "UplinkUEAssociatedLPPaTransport", "s1ap.UplinkUEAssociatedLPPaTransport",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "s1ap.UplinkUEAssociatedLPPaTransport", HFILL }},
+ { &hf_s1ap_DownlinkNonUEAssociatedLPPaTransport_PDU,
+ { "DownlinkNonUEAssociatedLPPaTransport", "s1ap.DownlinkNonUEAssociatedLPPaTransport",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "s1ap.DownlinkNonUEAssociatedLPPaTransport", HFILL }},
+ { &hf_s1ap_UplinkNonUEAssociatedLPPaTransport_PDU,
+ { "UplinkNonUEAssociatedLPPaTransport", "s1ap.UplinkNonUEAssociatedLPPaTransport",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "s1ap.UplinkNonUEAssociatedLPPaTransport", HFILL }},
{ &hf_s1ap_S1AP_PDU_PDU,
{ "S1AP-PDU", "s1ap.S1AP_PDU",
FT_UINT32, BASE_DEC, VALS(s1ap_S1AP_PDU_vals), 0,
@@ -9482,6 +9779,10 @@ void proto_register_s1ap(void) {
&ett_s1ap_PrivateMessage,
&ett_s1ap_KillRequest,
&ett_s1ap_KillResponse,
+ &ett_s1ap_DownlinkUEAssociatedLPPaTransport,
+ &ett_s1ap_UplinkUEAssociatedLPPaTransport,
+ &ett_s1ap_DownlinkNonUEAssociatedLPPaTransport,
+ &ett_s1ap_UplinkNonUEAssociatedLPPaTransport,
&ett_s1ap_S1AP_PDU,
&ett_s1ap_InitiatingMessage,
&ett_s1ap_SuccessfulOutcome,
diff --git a/epan/dissectors/packet-x2ap.c b/epan/dissectors/packet-x2ap.c
index df5756a3fc..9a42b50dbd 100644
--- a/epan/dissectors/packet-x2ap.c
+++ b/epan/dissectors/packet-x2ap.c
@@ -99,7 +99,10 @@ typedef enum _ProcedureCode_enum {
id_eNBConfigurationUpdate = 8,
id_resourceStatusReportingInitiation = 9,
id_resourceStatusReporting = 10,
- id_privateMessage = 11
+ id_privateMessage = 11,
+ id_mobilitySettingsChange = 12,
+ id_rLFIndication = 13,
+ id_handoverReport = 14
} ProcedureCode_enum;
typedef enum _ProtocolIE_ID_enum {
@@ -143,7 +146,21 @@ typedef enum _ProtocolIE_ID_enum {
id_ReportCharacteristics = 38,
id_ENB1_Measurement_ID = 39,
id_ENB2_Measurement_ID = 40,
- id_Number_of_Antennaports = 41
+ id_Number_of_Antennaports = 41,
+ id_CompositeAvailableCapacityGroup = 42,
+ id_ENB1_Cell_ID = 43,
+ id_ENB2_Cell_ID = 44,
+ id_ENB2_Proposed_Mobility_Parameters = 45,
+ id_ENB1_Mobility_Parameters = 46,
+ id_ENB2_Mobility_Parameters_Modification_Range = 47,
+ id_FailureCellPCI = 48,
+ id_Re_establishmentCellECGI = 49,
+ id_FailureCellCRNTI = 50,
+ id_ShortMAC_I = 51,
+ id_SourceCellECGI = 52,
+ id_FailureCellECGI = 53,
+ id_HandoverReportType = 54,
+ id_PRACH_Configuration = 55
} ProtocolIE_ID_enum;
/*--- End of included file: packet-x2ap-val.h ---*/
@@ -157,18 +174,26 @@ static int hf_x2ap_transportLayerAddressIPv6 = -1;
/*--- Included file: packet-x2ap-hf.c ---*/
#line 1 "packet-x2ap-hf.c"
static int hf_x2ap_Cause_PDU = -1; /* Cause */
+static int hf_x2ap_CompositeAvailableCapacityGroup_PDU = -1; /* CompositeAvailableCapacityGroup */
static int hf_x2ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
+static int hf_x2ap_CRNTI_PDU = -1; /* CRNTI */
static int hf_x2ap_ECGI_PDU = -1; /* ECGI */
static int hf_x2ap_E_RAB_List_PDU = -1; /* E_RAB_List */
static int hf_x2ap_E_RAB_Item_PDU = -1; /* E_RAB_Item */
static int hf_x2ap_GlobalENB_ID_PDU = -1; /* GlobalENB_ID */
static int hf_x2ap_GUGroupIDList_PDU = -1; /* GUGroupIDList */
static int hf_x2ap_GUMMEI_PDU = -1; /* GUMMEI */
+static int hf_x2ap_HandoverReportType_PDU = -1; /* HandoverReportType */
static int hf_x2ap_Measurement_ID_PDU = -1; /* Measurement_ID */
+static int hf_x2ap_MobilityParametersModificationRange_PDU = -1; /* MobilityParametersModificationRange */
+static int hf_x2ap_MobilityParametersInformation_PDU = -1; /* MobilityParametersInformation */
static int hf_x2ap_Number_of_Antennaports_PDU = -1; /* Number_of_Antennaports */
+static int hf_x2ap_PCI_PDU = -1; /* PCI */
+static int hf_x2ap_PRACH_Configuration_PDU = -1; /* PRACH_Configuration */
static int hf_x2ap_Registration_Request_PDU = -1; /* Registration_Request */
static int hf_x2ap_ReportCharacteristics_PDU = -1; /* ReportCharacteristics */
static int hf_x2ap_ServedCells_PDU = -1; /* ServedCells */
+static int hf_x2ap_ShortMAC_I_PDU = -1; /* ShortMAC_I */
static int hf_x2ap_SRVCCOperationPossible_PDU = -1; /* SRVCCOperationPossible */
static int hf_x2ap_TargeteNBtoSource_eNBTransparentContainer_PDU = -1; /* TargeteNBtoSource_eNBTransparentContainer */
static int hf_x2ap_TimeToWait_PDU = -1; /* TimeToWait */
@@ -182,6 +207,7 @@ static int hf_x2ap_HandoverRequestAcknowledge_PDU = -1; /* HandoverRequestAckno
static int hf_x2ap_E_RABs_Admitted_List_PDU = -1; /* E_RABs_Admitted_List */
static int hf_x2ap_E_RABs_Admitted_Item_PDU = -1; /* E_RABs_Admitted_Item */
static int hf_x2ap_HandoverPreparationFailure_PDU = -1; /* HandoverPreparationFailure */
+static int hf_x2ap_HandoverReport_PDU = -1; /* HandoverReport */
static int hf_x2ap_SNStatusTransfer_PDU = -1; /* SNStatusTransfer */
static int hf_x2ap_E_RABs_SubjectToStatusTransfer_List_PDU = -1; /* E_RABs_SubjectToStatusTransfer_List */
static int hf_x2ap_E_RABs_SubjectToStatusTransfer_Item_PDU = -1; /* E_RABs_SubjectToStatusTransfer_Item */
@@ -211,6 +237,10 @@ static int hf_x2ap_ResourceStatusUpdate_PDU = -1; /* ResourceStatusUpdate */
static int hf_x2ap_CellMeasurementResult_List_PDU = -1; /* CellMeasurementResult_List */
static int hf_x2ap_CellMeasurementResult_Item_PDU = -1; /* CellMeasurementResult_Item */
static int hf_x2ap_PrivateMessage_PDU = -1; /* PrivateMessage */
+static int hf_x2ap_MobilityChangeRequest_PDU = -1; /* MobilityChangeRequest */
+static int hf_x2ap_MobilityChangeAcknowledge_PDU = -1; /* MobilityChangeAcknowledge */
+static int hf_x2ap_MobilityChangeFailure_PDU = -1; /* MobilityChangeFailure */
+static int hf_x2ap_RLFIndication_PDU = -1; /* RLFIndication */
static int hf_x2ap_X2AP_PDU_PDU = -1; /* X2AP_PDU */
static int hf_x2ap_local = -1; /* INTEGER_0_maxPrivateIEs */
static int hf_x2ap_global = -1; /* OBJECT_IDENTIFIER */
@@ -236,6 +266,10 @@ static int hf_x2ap_transport = -1; /* CauseTransport */
static int hf_x2ap_protocol = -1; /* CauseProtocol */
static int hf_x2ap_misc = -1; /* CauseMisc */
static int hf_x2ap_cell_Size = -1; /* Cell_Size */
+static int hf_x2ap_dL_CompositeAvailableCapacity = -1; /* CompositeAvailableCapacity */
+static int hf_x2ap_uL_CompositeAvailableCapacity = -1; /* CompositeAvailableCapacity */
+static int hf_x2ap_cellCapacityClassValue = -1; /* CellCapacityClassValue */
+static int hf_x2ap_capacityValue = -1; /* CapacityValue */
static int hf_x2ap_pDCP_SN = -1; /* PDCP_SN */
static int hf_x2ap_hFN = -1; /* HFN */
static int hf_x2ap_procedureCode = -1; /* ProcedureCode */
@@ -300,9 +334,17 @@ static int hf_x2ap_time_UE_StayedInCell = -1; /* Time_UE_StayedInCell */
static int hf_x2ap_undefined = -1; /* NULL */
static int hf_x2ap_eventType = -1; /* EventType */
static int hf_x2ap_reportArea = -1; /* ReportArea */
+static int hf_x2ap_handoverTriggerChangeLowerLimit = -1; /* INTEGER_M20_20 */
+static int hf_x2ap_handoverTriggerChangeUpperLimit = -1; /* INTEGER_M20_20 */
+static int hf_x2ap_handoverTriggerChange = -1; /* INTEGER_M20_20 */
static int hf_x2ap_Neighbour_Information_item = -1; /* Neighbour_Information_item */
static int hf_x2ap_eCGI = -1; /* ECGI */
static int hf_x2ap_pCI = -1; /* PCI */
+static int hf_x2ap_rootSequenceIndex = -1; /* INTEGER_0_837 */
+static int hf_x2ap_zeroCorrelationIndex = -1; /* INTEGER_0_15 */
+static int hf_x2ap_highSpeedFlag = -1; /* BOOLEAN */
+static int hf_x2ap_prach_FreqOffset = -1; /* INTEGER_0_94 */
+static int hf_x2ap_prach_ConfigIndex = -1; /* INTEGER_0_63 */
static int hf_x2ap_rNTP_PerPRB = -1; /* BIT_STRING_SIZE_6_110_ */
static int hf_x2ap_rNTP_Threshold = -1; /* RNTP_Threshold */
static int hf_x2ap_numberOfCellSpecificAntennaPorts = -1; /* T_numberOfCellSpecificAntennaPorts */
@@ -402,6 +444,8 @@ static gint ett_x2ap_AllocationAndRetentionPriority = -1;
static gint ett_x2ap_BroadcastPLMNs_Item = -1;
static gint ett_x2ap_Cause = -1;
static gint ett_x2ap_CellType = -1;
+static gint ett_x2ap_CompositeAvailableCapacityGroup = -1;
+static gint ett_x2ap_CompositeAvailableCapacity = -1;
static gint ett_x2ap_COUNTvalue = -1;
static gint ett_x2ap_CriticalityDiagnostics = -1;
static gint ett_x2ap_CriticalityDiagnostics_IE_List = -1;
@@ -433,8 +477,11 @@ static gint ett_x2ap_LastVisitedCell_Item = -1;
static gint ett_x2ap_LastVisitedEUTRANCellInformation = -1;
static gint ett_x2ap_LastVisitedGERANCellInformation = -1;
static gint ett_x2ap_LocationReportingInformation = -1;
+static gint ett_x2ap_MobilityParametersModificationRange = -1;
+static gint ett_x2ap_MobilityParametersInformation = -1;
static gint ett_x2ap_Neighbour_Information = -1;
static gint ett_x2ap_Neighbour_Information_item = -1;
+static gint ett_x2ap_PRACH_Configuration = -1;
static gint ett_x2ap_RelativeNarrowbandTxPower = -1;
static gint ett_x2ap_RadioResourceStatus = -1;
static gint ett_x2ap_S1TNLLoadIndicator = -1;
@@ -457,6 +504,7 @@ static gint ett_x2ap_HandoverRequestAcknowledge = -1;
static gint ett_x2ap_E_RABs_Admitted_List = -1;
static gint ett_x2ap_E_RABs_Admitted_Item = -1;
static gint ett_x2ap_HandoverPreparationFailure = -1;
+static gint ett_x2ap_HandoverReport = -1;
static gint ett_x2ap_SNStatusTransfer = -1;
static gint ett_x2ap_E_RABs_SubjectToStatusTransfer_List = -1;
static gint ett_x2ap_E_RABs_SubjectToStatusTransfer_Item = -1;
@@ -486,6 +534,10 @@ static gint ett_x2ap_ResourceStatusUpdate = -1;
static gint ett_x2ap_CellMeasurementResult_List = -1;
static gint ett_x2ap_CellMeasurementResult_Item = -1;
static gint ett_x2ap_PrivateMessage = -1;
+static gint ett_x2ap_MobilityChangeRequest = -1;
+static gint ett_x2ap_MobilityChangeAcknowledge = -1;
+static gint ett_x2ap_MobilityChangeFailure = -1;
+static gint ett_x2ap_RLFIndication = -1;
static gint ett_x2ap_X2AP_PDU = -1;
static gint ett_x2ap_InitiatingMessage = -1;
static gint ett_x2ap_SuccessfulOutcome = -1;
@@ -586,6 +638,9 @@ static const value_string x2ap_ProcedureCode_vals[] = {
{ id_resourceStatusReportingInitiation, "id-resourceStatusReportingInitiation" },
{ id_resourceStatusReporting, "id-resourceStatusReporting" },
{ id_privateMessage, "id-privateMessage" },
+ { id_mobilitySettingsChange, "id-mobilitySettingsChange" },
+ { id_rLFIndication, "id-rLFIndication" },
+ { id_handoverReport, "id-handoverReport" },
{ 0, NULL }
};
@@ -649,6 +704,20 @@ static const value_string x2ap_ProtocolIE_ID_vals[] = {
{ id_ENB1_Measurement_ID, "id-ENB1-Measurement-ID" },
{ id_ENB2_Measurement_ID, "id-ENB2-Measurement-ID" },
{ id_Number_of_Antennaports, "id-Number-of-Antennaports" },
+ { id_CompositeAvailableCapacityGroup, "id-CompositeAvailableCapacityGroup" },
+ { id_ENB1_Cell_ID, "id-ENB1-Cell-ID" },
+ { id_ENB2_Cell_ID, "id-ENB2-Cell-ID" },
+ { id_ENB2_Proposed_Mobility_Parameters, "id-ENB2-Proposed-Mobility-Parameters" },
+ { id_ENB1_Mobility_Parameters, "id-ENB1-Mobility-Parameters" },
+ { id_ENB2_Mobility_Parameters_Modification_Range, "id-ENB2-Mobility-Parameters-Modification-Range" },
+ { id_FailureCellPCI, "id-FailureCellPCI" },
+ { id_Re_establishmentCellECGI, "id-Re-establishmentCellECGI" },
+ { id_FailureCellCRNTI, "id-FailureCellCRNTI" },
+ { id_ShortMAC_I, "id-ShortMAC-I" },
+ { id_SourceCellECGI, "id-SourceCellECGI" },
+ { id_FailureCellECGI, "id-FailureCellECGI" },
+ { id_HandoverReportType, "id-HandoverReportType" },
+ { id_PRACH_Configuration, "id-PRACH-Configuration" },
{ 0, NULL }
};
@@ -959,6 +1028,26 @@ dissect_x2ap_BroadcastPLMNs_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
}
+
+static int
+dissect_x2ap_CapacityValue(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, 100U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_CellCapacityClassValue(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,
+ 1U, 100U, NULL, TRUE);
+
+ return offset;
+}
+
+
static const value_string x2ap_CauseRadioNetwork_vals[] = {
{ 0, "handover-desirable-for-radio-reasons" },
{ 1, "time-critical-handover" },
@@ -982,6 +1071,9 @@ static const value_string x2ap_CauseRadioNetwork_vals[] = {
{ 19, "unknown-eNB-Measurement-ID" },
{ 20, "measurement-temporarily-not-available" },
{ 21, "unspecified" },
+ { 22, "load-balancing" },
+ { 23, "handover-optimisation" },
+ { 24, "value-out-of-allowed-range" },
{ 0, NULL }
};
@@ -989,7 +1081,7 @@ static const value_string x2ap_CauseRadioNetwork_vals[] = {
static int
dissect_x2ap_CauseRadioNetwork(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,
- 22, NULL, TRUE, 0, NULL);
+ 22, NULL, TRUE, 3, NULL);
return offset;
}
@@ -1110,6 +1202,38 @@ dissect_x2ap_CellType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
}
+static const per_sequence_t CompositeAvailableCapacity_sequence[] = {
+ { &hf_x2ap_cellCapacityClassValue, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_CellCapacityClassValue },
+ { &hf_x2ap_capacityValue , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CapacityValue },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_CompositeAvailableCapacity(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_x2ap_CompositeAvailableCapacity, CompositeAvailableCapacity_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t CompositeAvailableCapacityGroup_sequence[] = {
+ { &hf_x2ap_dL_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CompositeAvailableCapacity },
+ { &hf_x2ap_uL_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_CompositeAvailableCapacity },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_CompositeAvailableCapacityGroup(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_x2ap_CompositeAvailableCapacityGroup, CompositeAvailableCapacityGroup_sequence);
+
+ return offset;
+}
+
+
static int
dissect_x2ap_PDCP_SN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -1211,6 +1335,16 @@ dissect_x2ap_CriticalityDiagnostics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
+
+static int
+dissect_x2ap_CRNTI(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,
+ 16, 16, FALSE, NULL);
+
+ return offset;
+}
+
+
static const value_string x2ap_CyclicPrefixDL_vals[] = {
{ 0, "normal" },
{ 1, "extended" },
@@ -1874,6 +2008,22 @@ dissect_x2ap_GUMMEI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
}
+static const value_string x2ap_HandoverReportType_vals[] = {
+ { 0, "hoTooEarly" },
+ { 1, "hoToWrongCell" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_x2ap_HandoverReportType(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 per_sequence_t HandoverRestrictionList_sequence[] = {
{ &hf_x2ap_servingPLMN , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_PLMN_Identity },
{ &hf_x2ap_equivalentPLMNs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_EPLMNs },
@@ -2080,6 +2230,45 @@ dissect_x2ap_Measurement_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
+dissect_x2ap_INTEGER_M20_20(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,
+ -20, 20U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t MobilityParametersModificationRange_sequence[] = {
+ { &hf_x2ap_handoverTriggerChangeLowerLimit, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 },
+ { &hf_x2ap_handoverTriggerChangeUpperLimit, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_MobilityParametersModificationRange(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_x2ap_MobilityParametersModificationRange, MobilityParametersModificationRange_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MobilityParametersInformation_sequence[] = {
+ { &hf_x2ap_handoverTriggerChange, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_M20_20 },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_MobilityParametersInformation(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_x2ap_MobilityParametersInformation, MobilityParametersInformation_sequence);
+
+ return offset;
+}
+
+
+
+static int
dissect_x2ap_PCI(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, 503U, NULL, TRUE);
@@ -2138,6 +2327,74 @@ dissect_x2ap_Number_of_Antennaports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
static int
+dissect_x2ap_INTEGER_0_837(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, 837U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_INTEGER_0_15(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, 15U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_INTEGER_0_94(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, 94U, NULL, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_x2ap_INTEGER_0_63(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, 63U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const per_sequence_t PRACH_Configuration_sequence[] = {
+ { &hf_x2ap_rootSequenceIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_837 },
+ { &hf_x2ap_zeroCorrelationIndex, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_15 },
+ { &hf_x2ap_highSpeedFlag , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_BOOLEAN },
+ { &hf_x2ap_prach_FreqOffset, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_INTEGER_0_94 },
+ { &hf_x2ap_prach_ConfigIndex, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_INTEGER_0_63 },
+ { &hf_x2ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_x2ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_PRACH_Configuration(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_x2ap_PRACH_Configuration, PRACH_Configuration_sequence);
+
+ return offset;
+}
+
+
+
+static int
dissect_x2ap_ReceiveStatusofULPDCPSDUs(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,
4096, 4096, FALSE, NULL);
@@ -2435,6 +2692,16 @@ dissect_x2ap_ServedCells(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
}
+
+static int
+dissect_x2ap_ShortMAC_I(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,
+ 16, 16, FALSE, NULL);
+
+ return offset;
+}
+
+
static const value_string x2ap_SRVCCOperationPossible_vals[] = {
{ 0, "possible" },
{ 0, NULL }
@@ -2813,6 +3080,20 @@ dissect_x2ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_
}
+static const per_sequence_t HandoverReport_sequence[] = {
+ { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_HandoverReport(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_x2ap_HandoverReport, HandoverReport_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t SNStatusTransfer_sequence[] = {
{ &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
@@ -3253,6 +3534,62 @@ dissect_x2ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
+static const per_sequence_t MobilityChangeRequest_sequence[] = {
+ { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_MobilityChangeRequest(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_x2ap_MobilityChangeRequest, MobilityChangeRequest_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MobilityChangeAcknowledge_sequence[] = {
+ { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_MobilityChangeAcknowledge(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_x2ap_MobilityChangeAcknowledge, MobilityChangeAcknowledge_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MobilityChangeFailure_sequence[] = {
+ { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_MobilityChangeFailure(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_x2ap_MobilityChangeFailure, MobilityChangeFailure_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t RLFIndication_sequence[] = {
+ { &hf_x2ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_x2ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_x2ap_RLFIndication(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_x2ap_RLFIndication, RLFIndication_sequence);
+
+ return offset;
+}
+
+
static int
dissect_x2ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -3361,6 +3698,14 @@ static int dissect_Cause_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tr
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_CompositeAvailableCapacityGroup_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_CompositeAvailableCapacityGroup(tvb, offset, &asn1_ctx, tree, hf_x2ap_CompositeAvailableCapacityGroup_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -3369,6 +3714,14 @@ static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pi
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_CRNTI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_CRNTI(tvb, offset, &asn1_ctx, tree, hf_x2ap_CRNTI_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_ECGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -3417,6 +3770,14 @@ static int dissect_GUMMEI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_t
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_HandoverReportType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_HandoverReportType(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverReportType_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_Measurement_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -3425,6 +3786,22 @@ static int dissect_Measurement_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_,
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_MobilityParametersModificationRange_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_MobilityParametersModificationRange(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityParametersModificationRange_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_MobilityParametersInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_MobilityParametersInformation(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityParametersInformation_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_Number_of_Antennaports_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -3433,6 +3810,22 @@ static int dissect_Number_of_Antennaports_PDU(tvbuff_t *tvb _U_, packet_info *pi
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_PCI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_PCI(tvb, offset, &asn1_ctx, tree, hf_x2ap_PCI_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_PRACH_Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_PRACH_Configuration(tvb, offset, &asn1_ctx, tree, hf_x2ap_PRACH_Configuration_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_Registration_Request_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -3457,6 +3850,14 @@ static int dissect_ServedCells_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pr
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_ShortMAC_I_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_ShortMAC_I(tvb, offset, &asn1_ctx, tree, hf_x2ap_ShortMAC_I_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_SRVCCOperationPossible_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -3561,6 +3962,14 @@ static int dissect_HandoverPreparationFailure_PDU(tvbuff_t *tvb _U_, packet_info
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_HandoverReport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_HandoverReport(tvb, offset, &asn1_ctx, tree, hf_x2ap_HandoverReport_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_SNStatusTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -3793,6 +4202,38 @@ static int dissect_PrivateMessage_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_,
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_MobilityChangeRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_MobilityChangeRequest(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_MobilityChangeAcknowledge_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_MobilityChangeAcknowledge(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeAcknowledge_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_MobilityChangeFailure_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_MobilityChangeFailure(tvb, offset, &asn1_ctx, tree, hf_x2ap_MobilityChangeFailure_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_RLFIndication_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_x2ap_RLFIndication(tvb, offset, &asn1_ctx, tree, hf_x2ap_RLFIndication_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static void dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
@@ -3866,10 +4307,18 @@ void proto_register_x2ap(void) {
{ "Cause", "x2ap.Cause",
FT_UINT32, BASE_DEC, VALS(x2ap_Cause_vals), 0,
"x2ap.Cause", HFILL }},
+ { &hf_x2ap_CompositeAvailableCapacityGroup_PDU,
+ { "CompositeAvailableCapacityGroup", "x2ap.CompositeAvailableCapacityGroup",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.CompositeAvailableCapacityGroup", HFILL }},
{ &hf_x2ap_CriticalityDiagnostics_PDU,
{ "CriticalityDiagnostics", "x2ap.CriticalityDiagnostics",
FT_NONE, BASE_NONE, NULL, 0,
"x2ap.CriticalityDiagnostics", HFILL }},
+ { &hf_x2ap_CRNTI_PDU,
+ { "CRNTI", "x2ap.CRNTI",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "x2ap.CRNTI", HFILL }},
{ &hf_x2ap_ECGI_PDU,
{ "ECGI", "x2ap.ECGI",
FT_NONE, BASE_NONE, NULL, 0,
@@ -3894,14 +4343,34 @@ void proto_register_x2ap(void) {
{ "GUMMEI", "x2ap.GUMMEI",
FT_NONE, BASE_NONE, NULL, 0,
"x2ap.GUMMEI", HFILL }},
+ { &hf_x2ap_HandoverReportType_PDU,
+ { "HandoverReportType", "x2ap.HandoverReportType",
+ FT_UINT32, BASE_DEC, VALS(x2ap_HandoverReportType_vals), 0,
+ "x2ap.HandoverReportType", HFILL }},
{ &hf_x2ap_Measurement_ID_PDU,
{ "Measurement-ID", "x2ap.Measurement_ID",
FT_UINT32, BASE_DEC, NULL, 0,
"x2ap.Measurement_ID", HFILL }},
+ { &hf_x2ap_MobilityParametersModificationRange_PDU,
+ { "MobilityParametersModificationRange", "x2ap.MobilityParametersModificationRange",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.MobilityParametersModificationRange", HFILL }},
+ { &hf_x2ap_MobilityParametersInformation_PDU,
+ { "MobilityParametersInformation", "x2ap.MobilityParametersInformation",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.MobilityParametersInformation", HFILL }},
{ &hf_x2ap_Number_of_Antennaports_PDU,
{ "Number-of-Antennaports", "x2ap.Number_of_Antennaports",
FT_UINT32, BASE_DEC, VALS(x2ap_Number_of_Antennaports_vals), 0,
"x2ap.Number_of_Antennaports", HFILL }},
+ { &hf_x2ap_PCI_PDU,
+ { "PCI", "x2ap.PCI",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x2ap.PCI", HFILL }},
+ { &hf_x2ap_PRACH_Configuration_PDU,
+ { "PRACH-Configuration", "x2ap.PRACH_Configuration",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.PRACH_Configuration", HFILL }},
{ &hf_x2ap_Registration_Request_PDU,
{ "Registration-Request", "x2ap.Registration_Request",
FT_UINT32, BASE_DEC, VALS(x2ap_Registration_Request_vals), 0,
@@ -3914,6 +4383,10 @@ void proto_register_x2ap(void) {
{ "ServedCells", "x2ap.ServedCells",
FT_UINT32, BASE_DEC, NULL, 0,
"x2ap.ServedCells", HFILL }},
+ { &hf_x2ap_ShortMAC_I_PDU,
+ { "ShortMAC-I", "x2ap.ShortMAC_I",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "x2ap.ShortMAC_I", HFILL }},
{ &hf_x2ap_SRVCCOperationPossible_PDU,
{ "SRVCCOperationPossible", "x2ap.SRVCCOperationPossible",
FT_UINT32, BASE_DEC, VALS(x2ap_SRVCCOperationPossible_vals), 0,
@@ -3966,6 +4439,10 @@ void proto_register_x2ap(void) {
{ "HandoverPreparationFailure", "x2ap.HandoverPreparationFailure",
FT_NONE, BASE_NONE, NULL, 0,
"x2ap.HandoverPreparationFailure", HFILL }},
+ { &hf_x2ap_HandoverReport_PDU,
+ { "HandoverReport", "x2ap.HandoverReport",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.HandoverReport", HFILL }},
{ &hf_x2ap_SNStatusTransfer_PDU,
{ "SNStatusTransfer", "x2ap.SNStatusTransfer",
FT_NONE, BASE_NONE, NULL, 0,
@@ -4082,6 +4559,22 @@ void proto_register_x2ap(void) {
{ "PrivateMessage", "x2ap.PrivateMessage",
FT_NONE, BASE_NONE, NULL, 0,
"x2ap.PrivateMessage", HFILL }},
+ { &hf_x2ap_MobilityChangeRequest_PDU,
+ { "MobilityChangeRequest", "x2ap.MobilityChangeRequest",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.MobilityChangeRequest", HFILL }},
+ { &hf_x2ap_MobilityChangeAcknowledge_PDU,
+ { "MobilityChangeAcknowledge", "x2ap.MobilityChangeAcknowledge",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.MobilityChangeAcknowledge", HFILL }},
+ { &hf_x2ap_MobilityChangeFailure_PDU,
+ { "MobilityChangeFailure", "x2ap.MobilityChangeFailure",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.MobilityChangeFailure", HFILL }},
+ { &hf_x2ap_RLFIndication_PDU,
+ { "RLFIndication", "x2ap.RLFIndication",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.RLFIndication", HFILL }},
{ &hf_x2ap_X2AP_PDU_PDU,
{ "X2AP-PDU", "x2ap.X2AP_PDU",
FT_UINT32, BASE_DEC, VALS(x2ap_X2AP_PDU_vals), 0,
@@ -4182,6 +4675,22 @@ void proto_register_x2ap(void) {
{ "cell-Size", "x2ap.cell_Size",
FT_UINT32, BASE_DEC, VALS(x2ap_Cell_Size_vals), 0,
"x2ap.Cell_Size", HFILL }},
+ { &hf_x2ap_dL_CompositeAvailableCapacity,
+ { "dL-CompositeAvailableCapacity", "x2ap.dL_CompositeAvailableCapacity",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.CompositeAvailableCapacity", HFILL }},
+ { &hf_x2ap_uL_CompositeAvailableCapacity,
+ { "uL-CompositeAvailableCapacity", "x2ap.uL_CompositeAvailableCapacity",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "x2ap.CompositeAvailableCapacity", HFILL }},
+ { &hf_x2ap_cellCapacityClassValue,
+ { "cellCapacityClassValue", "x2ap.cellCapacityClassValue",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x2ap.CellCapacityClassValue", HFILL }},
+ { &hf_x2ap_capacityValue,
+ { "capacityValue", "x2ap.capacityValue",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x2ap.CapacityValue", HFILL }},
{ &hf_x2ap_pDCP_SN,
{ "pDCP-SN", "x2ap.pDCP_SN",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -4438,6 +4947,18 @@ void proto_register_x2ap(void) {
{ "reportArea", "x2ap.reportArea",
FT_UINT32, BASE_DEC, VALS(x2ap_ReportArea_vals), 0,
"x2ap.ReportArea", HFILL }},
+ { &hf_x2ap_handoverTriggerChangeLowerLimit,
+ { "handoverTriggerChangeLowerLimit", "x2ap.handoverTriggerChangeLowerLimit",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "x2ap.INTEGER_M20_20", HFILL }},
+ { &hf_x2ap_handoverTriggerChangeUpperLimit,
+ { "handoverTriggerChangeUpperLimit", "x2ap.handoverTriggerChangeUpperLimit",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "x2ap.INTEGER_M20_20", HFILL }},
+ { &hf_x2ap_handoverTriggerChange,
+ { "handoverTriggerChange", "x2ap.handoverTriggerChange",
+ FT_INT32, BASE_DEC, NULL, 0,
+ "x2ap.INTEGER_M20_20", HFILL }},
{ &hf_x2ap_Neighbour_Information_item,
{ "Neighbour-Information item", "x2ap.Neighbour_Information_item",
FT_NONE, BASE_NONE, NULL, 0,
@@ -4450,6 +4971,26 @@ void proto_register_x2ap(void) {
{ "pCI", "x2ap.pCI",
FT_UINT32, BASE_DEC, NULL, 0,
"x2ap.PCI", HFILL }},
+ { &hf_x2ap_rootSequenceIndex,
+ { "rootSequenceIndex", "x2ap.rootSequenceIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x2ap.INTEGER_0_837", HFILL }},
+ { &hf_x2ap_zeroCorrelationIndex,
+ { "zeroCorrelationIndex", "x2ap.zeroCorrelationIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x2ap.INTEGER_0_15", HFILL }},
+ { &hf_x2ap_highSpeedFlag,
+ { "highSpeedFlag", "x2ap.highSpeedFlag",
+ FT_BOOLEAN, BASE_NONE, NULL, 0,
+ "x2ap.BOOLEAN", HFILL }},
+ { &hf_x2ap_prach_FreqOffset,
+ { "prach-FreqOffset", "x2ap.prach_FreqOffset",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x2ap.INTEGER_0_94", HFILL }},
+ { &hf_x2ap_prach_ConfigIndex,
+ { "prach-ConfigIndex", "x2ap.prach_ConfigIndex",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "x2ap.INTEGER_0_63", HFILL }},
{ &hf_x2ap_rNTP_PerPRB,
{ "rNTP-PerPRB", "x2ap.rNTP_PerPRB",
FT_BYTES, BASE_NONE, NULL, 0,
@@ -4782,6 +5323,8 @@ void proto_register_x2ap(void) {
&ett_x2ap_BroadcastPLMNs_Item,
&ett_x2ap_Cause,
&ett_x2ap_CellType,
+ &ett_x2ap_CompositeAvailableCapacityGroup,
+ &ett_x2ap_CompositeAvailableCapacity,
&ett_x2ap_COUNTvalue,
&ett_x2ap_CriticalityDiagnostics,
&ett_x2ap_CriticalityDiagnostics_IE_List,
@@ -4813,8 +5356,11 @@ void proto_register_x2ap(void) {
&ett_x2ap_LastVisitedEUTRANCellInformation,
&ett_x2ap_LastVisitedGERANCellInformation,
&ett_x2ap_LocationReportingInformation,
+ &ett_x2ap_MobilityParametersModificationRange,
+ &ett_x2ap_MobilityParametersInformation,
&ett_x2ap_Neighbour_Information,
&ett_x2ap_Neighbour_Information_item,
+ &ett_x2ap_PRACH_Configuration,
&ett_x2ap_RelativeNarrowbandTxPower,
&ett_x2ap_RadioResourceStatus,
&ett_x2ap_S1TNLLoadIndicator,
@@ -4837,6 +5383,7 @@ void proto_register_x2ap(void) {
&ett_x2ap_E_RABs_Admitted_List,
&ett_x2ap_E_RABs_Admitted_Item,
&ett_x2ap_HandoverPreparationFailure,
+ &ett_x2ap_HandoverReport,
&ett_x2ap_SNStatusTransfer,
&ett_x2ap_E_RABs_SubjectToStatusTransfer_List,
&ett_x2ap_E_RABs_SubjectToStatusTransfer_Item,
@@ -4866,6 +5413,10 @@ void proto_register_x2ap(void) {
&ett_x2ap_CellMeasurementResult_List,
&ett_x2ap_CellMeasurementResult_Item,
&ett_x2ap_PrivateMessage,
+ &ett_x2ap_MobilityChangeRequest,
+ &ett_x2ap_MobilityChangeAcknowledge,
+ &ett_x2ap_MobilityChangeFailure,
+ &ett_x2ap_RLFIndication,
&ett_x2ap_X2AP_PDU,
&ett_x2ap_InitiatingMessage,
&ett_x2ap_SuccessfulOutcome,
@@ -4947,7 +5498,21 @@ proto_reg_handoff_x2ap(void)
dissector_add("x2ap.ies", id_ReportCharacteristics, new_create_dissector_handle(dissect_ReportCharacteristics_PDU, proto_x2ap));
dissector_add("x2ap.ies", id_ENB1_Measurement_ID, new_create_dissector_handle(dissect_Measurement_ID_PDU, proto_x2ap));
dissector_add("x2ap.ies", id_ENB2_Measurement_ID, new_create_dissector_handle(dissect_Measurement_ID_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_ENB1_Cell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_ENB2_Cell_ID, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_ENB2_Proposed_Mobility_Parameters, new_create_dissector_handle(dissect_MobilityParametersInformation_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_ENB1_Mobility_Parameters, new_create_dissector_handle(dissect_MobilityParametersInformation_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_ENB2_Mobility_Parameters_Modification_Range, new_create_dissector_handle(dissect_MobilityParametersModificationRange_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_FailureCellPCI, new_create_dissector_handle(dissect_PCI_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_Re_establishmentCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_FailureCellCRNTI, new_create_dissector_handle(dissect_CRNTI_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_ShortMAC_I, new_create_dissector_handle(dissect_ShortMAC_I_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_SourceCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_FailureCellECGI, new_create_dissector_handle(dissect_ECGI_PDU, proto_x2ap));
+ dissector_add("x2ap.ies", id_HandoverReportType, new_create_dissector_handle(dissect_HandoverReportType_PDU, proto_x2ap));
dissector_add("x2ap.extension", id_Number_of_Antennaports, new_create_dissector_handle(dissect_Number_of_Antennaports_PDU, proto_x2ap));
+ dissector_add("x2ap.extension", id_CompositeAvailableCapacityGroup, new_create_dissector_handle(dissect_CompositeAvailableCapacityGroup_PDU, proto_x2ap));
+ dissector_add("x2ap.extension", id_PRACH_Configuration, new_create_dissector_handle(dissect_PRACH_Configuration_PDU, proto_x2ap));
dissector_add("x2ap.proc.imsg", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap));
dissector_add("x2ap.proc.sout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap));
dissector_add("x2ap.proc.uout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap));
@@ -4969,6 +5534,11 @@ proto_reg_handoff_x2ap(void)
dissector_add("x2ap.proc.uout", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusFailure_PDU, proto_x2ap));
dissector_add("x2ap.proc.imsg", id_resourceStatusReporting, new_create_dissector_handle(dissect_ResourceStatusUpdate_PDU, proto_x2ap));
dissector_add("x2ap.proc.imsg", id_privateMessage, new_create_dissector_handle(dissect_PrivateMessage_PDU, proto_x2ap));
+ dissector_add("x2ap.proc.imsg", id_handoverReport, new_create_dissector_handle(dissect_HandoverReport_PDU, proto_x2ap));
+ dissector_add("x2ap.proc.imsg", id_rLFIndication, new_create_dissector_handle(dissect_RLFIndication_PDU, proto_x2ap));
+ dissector_add("x2ap.proc.imsg", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeRequest_PDU, proto_x2ap));
+ dissector_add("x2ap.proc.sout", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeAcknowledge_PDU, proto_x2ap));
+ dissector_add("x2ap.proc.uout", id_mobilitySettingsChange, new_create_dissector_handle(dissect_MobilityChangeFailure_PDU, proto_x2ap));
/*--- End of included file: packet-x2ap-dis-tab.c ---*/