diff options
author | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-12-20 21:47:43 +0000 |
---|---|---|
committer | etxrab <etxrab@f5534014-38df-0310-8fa8-9805f1628bb7> | 2009-12-20 21:47:43 +0000 |
commit | 12b943c08a0027c7b12a41adcdbb886d76d74335 (patch) | |
tree | 495efbfa2b093217157b2619ac6cf48f32ef0381 | |
parent | 4a30d7b951a106dcb8d9150f8de86fe2c3b4a5ef (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.asn | 3 | ||||
-rw-r--r-- | asn1/s1ap/S1AP-Constants.asn | 29 | ||||
-rw-r--r-- | asn1/s1ap/S1AP-Containers.asn | 3 | ||||
-rw-r--r-- | asn1/s1ap/S1AP-IEs.asn | 34 | ||||
-rw-r--r-- | asn1/s1ap/S1AP-PDU-Contents.asn | 127 | ||||
-rw-r--r-- | asn1/s1ap/S1AP-PDU-Descriptions.asn | 40 | ||||
-rw-r--r-- | asn1/s1ap/s1ap.cnf | 24 | ||||
-rw-r--r-- | asn1/x2ap/X2AP-CommonDataTypes.asn | 2 | ||||
-rw-r--r-- | asn1/x2ap/X2AP-Constants.asn | 23 | ||||
-rw-r--r-- | asn1/x2ap/X2AP-Containers.asn | 5 | ||||
-rw-r--r-- | asn1/x2ap/X2AP-IEs.asn | 79 | ||||
-rw-r--r-- | asn1/x2ap/X2AP-PDU-Contents.asn | 135 | ||||
-rw-r--r-- | asn1/x2ap/X2AP-PDU-Descriptions.asn | 50 | ||||
-rw-r--r-- | asn1/x2ap/x2ap.cnf | 40 | ||||
-rw-r--r-- | epan/dissectors/packet-s1ap.c | 307 | ||||
-rw-r--r-- | epan/dissectors/packet-x2ap.c | 576 |
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 ---*/ |