diff options
author | Anders Broman <anders.broman@ericsson.com> | 2011-12-09 18:55:45 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2011-12-09 18:55:45 +0000 |
commit | d5ebe40eaf34aae483dfd98609546b8c4686ab3e (patch) | |
tree | 31dbcc5ac4ed04b87d25368ab2dcf0c16374cdca | |
parent | da4a280a50dcc470c207fb0a4bf6e73c9ce7b049 (diff) |
Update to 3GPP TS 36.413 V10.3.0 (2011-09)
svn path=/trunk/; revision=40134
-rw-r--r-- | asn1/s1ap/S1AP-CommonDataTypes.asn | 3 | ||||
-rw-r--r-- | asn1/s1ap/S1AP-Constants.asn | 26 | ||||
-rw-r--r-- | asn1/s1ap/S1AP-Containers.asn | 2 | ||||
-rw-r--r-- | asn1/s1ap/S1AP-IEs.asn | 216 | ||||
-rw-r--r-- | asn1/s1ap/S1AP-PDU-Contents.asn | 243 | ||||
-rw-r--r-- | asn1/s1ap/S1AP-PDU-Descriptions.asn | 3 | ||||
-rw-r--r-- | asn1/s1ap/S1AP-SonTransfer-IEs.asn | 22 | ||||
-rw-r--r-- | asn1/s1ap/s1ap.cnf | 31 | ||||
-rw-r--r-- | epan/dissectors/packet-s1ap.c | 1102 |
9 files changed, 1427 insertions, 221 deletions
diff --git a/asn1/s1ap/S1AP-CommonDataTypes.asn b/asn1/s1ap/S1AP-CommonDataTypes.asn index 567d5ded84..2d755549dd 100644 --- a/asn1/s1ap/S1AP-CommonDataTypes.asn +++ b/asn1/s1ap/S1AP-CommonDataTypes.asn @@ -1,5 +1,5 @@ -- $Id$ --- 3GPP TS 36.413 V9.4.0 (2010-09) +-- 3GPP TS 36.413 V10.3.0 (2011-09) -- 9.3.5 Common Definitions -- ************************************************************** -- @@ -34,3 +34,4 @@ TriggeringMessage ::= ENUMERATED { initiating-message, successful-outcome, unsuc END + diff --git a/asn1/s1ap/S1AP-Constants.asn b/asn1/s1ap/S1AP-Constants.asn index ecd22589fb..b876888133 100644 --- a/asn1/s1ap/S1AP-Constants.asn +++ b/asn1/s1ap/S1AP-Constants.asn @@ -1,5 +1,5 @@ -- $Id$ --- 3GPP TS 36.413 V9.4.0 (2010-09) +-- 3GPP TS 36.413 V10.3.0 (2011-09) -- 9.3.6 Constant Definitions -- ************************************************************** -- @@ -72,7 +72,7 @@ id-OverloadStart ProcedureCode ::= 34 id-OverloadStop ProcedureCode ::= 35 id-WriteReplaceWarning ProcedureCode ::= 36 id-eNBDirectInformationTransfer ProcedureCode ::= 37 -id-MMEDirectInformationTransfer ProcedureCode ::= 38 +id-MMEDirectInformationTransfer ProcedureCode ::= 38 id-PrivateMessage ProcedureCode ::= 39 id-eNBConfigurationTransfer ProcedureCode ::= 40 id-MMEConfigurationTransfer ProcedureCode ::= 41 @@ -117,10 +117,13 @@ maxnoofEmergencyAreaID INTEGER ::= 65535 maxnoofCellinTAI INTEGER ::= 65535 maxnoofCellinEAI INTEGER ::= 65535 maxnoofeNBX2TLAs INTEGER ::= 2 +maxnoofeNBX2ExtTLAs INTEGER ::= 16 +maxnoofeNBX2GTPTLAs INTEGER ::= 16 maxnoofRATs INTEGER ::= 8 maxnoofGroupIDs INTEGER ::= 65535 maxnoofMMECs INTEGER ::= 256 - +maxnoofCellIDforMDT INTEGER ::= 32 +maxnoofTAforMDT INTEGER ::= 8 -- ************************************************************** @@ -283,7 +286,7 @@ 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-Data-Forwarding-Not-Possible ProtocolIE-ID ::= 143 id-ExtendedRepetitionPeriod ProtocolIE-ID ::= 144 id-CellAccessMode ProtocolIE-ID ::= 145 id-CSGMembershipStatus ProtocolIE-ID ::= 146 @@ -291,5 +294,20 @@ id-LPPa-PDU ProtocolIE-ID ::= 147 id-Routing-ID ProtocolIE-ID ::= 148 id-Time-Synchronization-Info ProtocolIE-ID ::= 149 id-PS-ServiceNotAvailable ProtocolIE-ID ::= 150 +id-PagingPriority ProtocolIE-ID ::= 151 +id-x2TNLConfigurationInfo ProtocolIE-ID ::= 152 +id-eNBX2ExtendedTransportLayerAddresses ProtocolIE-ID ::= 153 +id-GUMMEIList ProtocolIE-ID ::= 154 +id-GW-TransportLayerAddress ProtocolIE-ID ::= 155 +id-Correlation-ID ProtocolIE-ID ::= 156 +id-SourceMME-GUMMEI ProtocolIE-ID ::= 157 +id-MME-UE-S1AP-ID-2 ProtocolIE-ID ::= 158 +id-RegisteredLAI ProtocolIE-ID ::= 159 +id-RelayNode-Indicator ProtocolIE-ID ::= 160 +id-TrafficLoadReductionIndication ProtocolIE-ID ::= 161 +id-MDTConfiguration ProtocolIE-ID ::= 162 +id-MMERelaySupportIndicator ProtocolIE-ID ::= 163 +id-GWContextReleaseIndication ProtocolIE-ID ::= 164 +id-ManagementBasedMDTAllowed ProtocolIE-ID ::= 165 END diff --git a/asn1/s1ap/S1AP-Containers.asn b/asn1/s1ap/S1AP-Containers.asn index 4226b8030e..eca4e08899 100644 --- a/asn1/s1ap/S1AP-Containers.asn +++ b/asn1/s1ap/S1AP-Containers.asn @@ -1,5 +1,5 @@ -- $Id$ --- 3GPP TS 36.413 V9.4.0 (2010-09) +-- 3GPP TS 36.413 V10.3.0 (2011-09) -- 9.3.7 Container Definitions -- ************************************************************** -- diff --git a/asn1/s1ap/S1AP-IEs.asn b/asn1/s1ap/S1AP-IEs.asn index 651e37c605..a34f43175c 100644 --- a/asn1/s1ap/S1AP-IEs.asn +++ b/asn1/s1ap/S1AP-IEs.asn @@ -1,5 +1,5 @@ -- $Id$ --- 3GPP TS 36.413 V9.4.0 (2010-09) +-- 3GPP TS 36.413 V10.3.0 (2011-09) -- 9.3.4 Information Element Definitions -- ************************************************************** -- @@ -20,6 +20,9 @@ IMPORTS id-E-RABItem, id-Bearers-SubjectToStatusTransfer-Item, id-Time-Synchronization-Info, + id-x2TNLConfigurationInfo, + id-eNBX2ExtendedTransportLayerAddresses, + id-MDTConfiguration, maxNrOfCSGs, maxNrOfE-RABs, maxNrOfErrors, @@ -37,9 +40,13 @@ IMPORTS maxnoofCellinTAI, maxnoofCellinEAI, maxnoofeNBX2TLAs, + maxnoofeNBX2ExtTLAs, + maxnoofeNBX2GTPTLAs, maxnoofRATs, maxnoofGroupIDs, - maxnoofMMECs + maxnoofMMECs, + maxnoofTAforMDT, + maxnoofCellIDforMDT @@ -60,6 +67,12 @@ FROM S1AP-Containers; -- A +AreaScopeOfMDT ::= CHOICE { + cellBased CellBasedMDT, + tABased TABasedMDT, + pLMNWide NULL, + ... +} AllocationAndRetentionPriority ::= SEQUENCE { priorityLevel PriorityLevel, @@ -264,6 +277,18 @@ CellID-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } +CellBasedMDT::= SEQUENCE { + cellIdListforMDT CellIdListforMDT, + iE-Extensions ProtocolExtensionContainer { {CellBasedMDT-ExtIEs} } OPTIONAL, + ... +} + +CellBasedMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { + ... +} + +CellIdListforMDT ::= SEQUENCE (SIZE(1..maxnoofCellIDforMDT)) OF EUTRAN-CGI + Cdma2000PDU ::= OCTET STRING Cdma2000RATType ::= ENUMERATED { @@ -341,6 +366,9 @@ CNDomain ::= ENUMERATED { ConcurrentWarningMessageIndicator ::= ENUMERATED { true } + +Correlation-ID ::= OCTET STRING (SIZE (4)) + CSFallbackIndicator ::= ENUMERATED { cs-fallback-required, ..., @@ -500,6 +528,7 @@ GlobalENB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } +GUMMEIList::= SEQUENCE (SIZE (1.. maxnoofMMECs)) OF GUMMEI ENB-StatusTransfer-TransparentContainer ::= SEQUENCE { bearers-SubjectToStatusTransferList Bearers-SubjectToStatusTransferList, @@ -669,6 +698,11 @@ GUMMEI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } +GWContextReleaseIndication ::= ENUMERATED { + true, + ... +} + -- H HandoverRestrictionList ::= SEQUENCE { @@ -698,6 +732,21 @@ HFN ::= INTEGER (0..1048575) -- I +ImmediateMDT ::= SEQUENCE { + measurementsToActivate MeasurementsToActivate, + reportingTriggerMDT ReportingTriggerMDT, + thresholdeventA2 ThresholdEventA2 OPTIONAL, +-- Included in case of event-triggered reporting for measurement M1 + periodicReportingMDT PeriodicReportingMDT OPTIONAL, +-- Included in case of periodic reporting + iE-Extensions ProtocolExtensionContainer { { ImmediateMDT-ExtIEs} } OPTIONAL, + ... +} + +ImmediateMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { + ... +} + IMSI ::= OCTET STRING (SIZE (3..8)) IntegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...)) @@ -748,15 +797,67 @@ LastVisitedGERANCellInformation ::= CHOICE { } L3-Information ::= OCTET STRING +-- This is a dummy IE used only as a reference to the actual definition in relevant specification. LPPa-PDU ::= OCTET STRING +LoggedMDT ::= SEQUENCE { + loggingInterval LoggingInterval, + loggingDuration LoggingDuration, + iE-Extensions ProtocolExtensionContainer { {LoggedMDT-ExtIEs} } OPTIONAL, + ... +} + +LoggedMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { +... +} + +LoggingInterval ::= ENUMERATED {ms128, ms256, ms512, ms1024, ms2048, ms3072, ms4096, ms6144} + +LoggingDuration ::= ENUMERATED {m10, m20, m40, m60, m90, m120} + -- M +MDT-Activation ::= ENUMERATED { + immediate-MDT-only, + immediate-MDT-and-Trace, + logged-MDT-only, + ... +} + +MDT-Configuration ::= SEQUENCE { + mdt-Activation MDT-Activation, + areaScopeOfMDT AreaScopeOfMDT, + mDTMode MDTMode, + iE-Extensions ProtocolExtensionContainer { { MDT-Configuration-ExtIEs} } OPTIONAL, + ... +} +MDT-Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { + ... +} + +ManagementBasedMDTAllowed ::= ENUMERATED {allowed, ...} + +MDTMode ::= CHOICE { + immediateMDT ImmediateMDT, + loggedMDT LoggedMDT, + ... +} + +MeasurementsToActivate ::= BIT STRING (SIZE (8)) + +MeasurementThresholdA2 ::= CHOICE { + threshold-RSRP Threshold-RSRP, + threshold-RSRQ Threshold-RSRQ, + ... +} + MessageIdentifier ::= BIT STRING (SIZE (16)) MMEname ::= PrintableString (SIZE (1..150,...)) +MMERelaySupportIndicator ::= ENUMERATED {true, ...} + MME-Group-ID ::= OCTET STRING (SIZE (2)) MME-Code ::= OCTET STRING (SIZE (1)) @@ -781,12 +882,15 @@ NumberOfBroadcasts ::= INTEGER (0..65535) -- O OldBSS-ToNewBSS-Information ::= OCTET STRING +-- This is a dummy IE used only as a reference to the actual definition in relevant specification. OverloadAction ::= ENUMERATED { -reject-non-emergency-mo-dt, -reject-all-rrc-cr-signalling, -permit-emergency-sessions-and-mobile-terminated-services-only, - ... + reject-non-emergency-mo-dt, + reject-rrc-cr-signalling, + permit-emergency-sessions-and-mobile-terminated-services-only, + ..., + permit-high-priority-sessions-and-mobile-terminated-services-only, + reject-delay-tolerant-access } OverloadResponse ::= CHOICE { @@ -805,8 +909,31 @@ PagingDRX ::= ENUMERATED { ... } +PagingPriority ::= ENUMERATED { + priolevel1, + priolevel2, + priolevel3, + priolevel4, + priolevel5, + priolevel6, + priolevel7, + priolevel8, + ... +} + PDCP-SN ::= INTEGER (0..4095) +PeriodicReportingMDT ::= SEQUENCE { + reportInterval ReportIntervalMDT, + reportAmount ReportAmountMDT, + iE-Extensions ProtocolExtensionContainer { { PeriodicReportingMDT-ExtIEs} } OPTIONAL, + ... +} + +PeriodicReportingMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { + ... +} + PLMNidentity ::= TBCD-STRING Pre-emptionCapability ::= ENUMERATED { @@ -836,8 +963,22 @@ ReceiveStatusofULPDCPSDUs ::= BIT STRING (SIZE(4096)) RelativeMMECapacity ::= INTEGER (0..255) +RelayNode-Indicator ::= ENUMERATED { + true, + ... +} + RAC ::= OCTET STRING (SIZE (1)) +ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, rinfinity} + +ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60} + +ReportingTriggerMDT ::= ENUMERATED{ + periodic, + a2eventtriggered, + ... +} RequestType ::= SEQUENCE { eventType EventType, @@ -888,7 +1029,8 @@ RRC-Establishment-Cause ::= ENUMERATED { mt-Access, mo-Signalling, mo-Data, - ... + ..., + delay-TolerantAccess } Routing-ID ::= INTEGER (0..255) @@ -947,14 +1089,20 @@ SONConfigurationTransfer ::= SEQUENCE { } SONConfigurationTransfer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 10 to transfer the IP addresses of the eNB initiating the ANR action -- + {ID id-x2TNLConfigurationInfo CRITICALITY ignore EXTENSION X2TNLConfigurationInfo PRESENCE conditional + -- This IE shall be present if the SON Information IE contains the SON Information Request IE and the SON Information Request IE is set to “X2TNL Configuration Info” -- }, ... } Source-ToTarget-TransparentContainer ::= OCTET STRING +-- This IE includes a transparent container from the source RAN node to the target RAN node. +-- The octets of the OCTET STRING are encoded according to the specifications of the target system. SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING +-- This is a dummy IE used only as a reference to the actual definition in relevant specification. SourceeNB-ID ::= SEQUENCE { global-ENB-ID Global-ENB-ID, @@ -993,6 +1141,7 @@ SourceeNB-ToTargeteNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { SourceRNC-ToTargetRNC-TransparentContainer ::= OCTET STRING +-- This is a dummy IE used only as a reference to the actual definition in relevant specification. ServedGUMMEIs ::= SEQUENCE (SIZE (1.. maxnoofRATs)) OF ServedGUMMEIsItem @@ -1098,6 +1247,18 @@ TAI-Cancelled-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } +TABasedMDT ::= SEQUENCE { + tAListforMDT TAListforMDT, + iE-Extensions ProtocolExtensionContainer { {TABasedMDT-ExtIEs} } OPTIONAL, + ... +} + +TABasedMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { + ... +} + +TAListforMDT ::= SEQUENCE (SIZE(1..maxnoofTAforMDT)) OF TAC + CompletedCellinTAI ::= SEQUENCE (SIZE(1..maxnoofCellinTAI)) OF CompletedCellinTAI-Item CompletedCellinTAI-Item ::= SEQUENCE{ @@ -1156,8 +1317,28 @@ TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { } Target-ToSource-TransparentContainer ::= OCTET STRING +-- This IE includes a transparent container from the target RAN node to the source RAN node. +-- The octets of the OCTET STRING are coded according to the specifications of the target system. + TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING +-- This is a dummy IE used only as a reference to the actual definition in relevant specification. + TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING +-- This is a dummy IE used only as a reference to the actual definition in relevant specification. + +ThresholdEventA2 ::= SEQUENCE { + measurementThreshold MeasurementThresholdA2, + iE-Extensions ProtocolExtensionContainer { { ThresholdEventA2-ExtIEs} } OPTIONAL, + ... +} + +ThresholdEventA2-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { + ... +} + +Threshold-RSRP ::= INTEGER(0..97) + +Threshold-RSRQ ::= INTEGER(0..34) TimeToWait ::= ENUMERATED {v1s, v2s, v5s, v10s, v20s, v60s, ...} @@ -1175,6 +1356,8 @@ traceCollectionEntityIPAddress TransportLayerAddress, } TraceActivation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { +-- Extension for Rel-10 to support MDT -- + { ID id-MDTConfiguration CRITICALITY ignore EXTENSION MDT-Configuration PRESENCE optional }, ... } @@ -1190,6 +1373,8 @@ TraceDepth ::= ENUMERATED { E-UTRAN-Trace-ID ::= OCTET STRING (SIZE (8)) +TrafficLoadReductionIndication ::= INTEGER (1..99) + TypeOfError ::= ENUMERATED { not-understood, missing, @@ -1292,9 +1477,26 @@ X2TNLConfigurationInfo ::= SEQUENCE { } X2TNLConfigurationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { +-- Extension for Release 10 to transfer the IPsec and U-plane addresses during ANR action -- + {ID id-eNBX2ExtendedTransportLayerAddresses CRITICALITY ignore EXTENSION ENBX2ExtTLAs PRESENCE optional}, ... } +ENBX2ExtTLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2ExtTLAs)) OF ENBX2ExtTLA + +ENBX2ExtTLA ::= SEQUENCE { + iPsecTLA TransportLayerAddress OPTIONAL, + gTPTLAa ENBX2GTPTLAs OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { ENBX2ExtTLA-ExtIEs} } OPTIONAL, + ... +} + +ENBX2ExtTLA-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { + ... +} + +ENBX2GTPTLAs ::= SEQUENCE (SIZE(1.. maxnoofeNBX2GTPTLAs)) OF TransportLayerAddress + -- Y -- Z diff --git a/asn1/s1ap/S1AP-PDU-Contents.asn b/asn1/s1ap/S1AP-PDU-Contents.asn index f4d4fe67fa..d167adda5b 100644 --- a/asn1/s1ap/S1AP-PDU-Contents.asn +++ b/asn1/s1ap/S1AP-PDU-Contents.asn @@ -1,5 +1,5 @@ -- $Id$ --- 3GPP TS 36.413 V9.4.0 (2010-09) +-- 3GPP TS 36.413 V10.3.0 (2011-09) -- 9.3.3 PDU Definitions -- ************************************************************** -- @@ -53,8 +53,11 @@ IMPORTS GUMMEI, HandoverRestrictionList, HandoverType, + LAI, LPPa-PDU, + ManagementBasedMDTAllowed, MMEname, + MMERelaySupportIndicator, MME-UE-S1AP-ID, MSClassmark2, MSClassmark3, @@ -63,6 +66,7 @@ IMPORTS NASSecurityParameterstoE-UTRAN, OverloadResponse, PagingDRX, + PagingPriority, PLMNidentity, RIMTransfer, RelativeMMECapacity, @@ -70,7 +74,8 @@ IMPORTS E-RAB-ID, E-RABLevelQoSParameters, E-RABList, -Routing-ID, + RelayNode-Indicator, + Routing-ID, SecurityKey, SecurityContext, ServedGUMMEIs, @@ -91,6 +96,7 @@ Routing-ID, TargetRNC-ToSourceRNC-TransparentContainer, TimeToWait, TraceActivation, + TrafficLoadReductionIndication, E-UTRAN-Trace-ID, TransportLayerAddress, UEIdentityIndexValue, @@ -112,7 +118,12 @@ Routing-ID, BroadcastCompletedAreaList, RRC-Establishment-Cause, BroadcastCancelledAreaList, - PS-ServiceNotAvailable + PS-ServiceNotAvailable, + GUMMEIList, + Correlation-ID, + GWContextReleaseIndication + + FROM S1AP-IEs @@ -165,6 +176,7 @@ FROM S1AP-Containers id-Inter-SystemInformationTransferTypeMDT, id-LPPa-PDU, id-NAS-DownlinkCount, + id-ManagementBasedMDTAllowed, id-MMEname, id-MME-UE-S1AP-ID, id-MSClassmark2, @@ -174,6 +186,7 @@ FROM S1AP-Containers id-NASSecurityParameterstoE-UTRAN, id-OverloadResponse, id-pagingDRX, + id-PagingPriority, id-RelativeMMECapacity, id-RequestType, id-Routing-ID, @@ -237,6 +250,7 @@ FROM S1AP-Containers id-TargetID, id-TimeToWait, id-TraceActivation, + id-TrafficLoadReductionIndication, id-E-UTRAN-Trace-ID, id-UEIdentityIndexValue, id-UEPagingID, @@ -259,7 +273,8 @@ FROM S1AP-Containers id-BroadcastCompletedAreaList, id-BroadcastCancelledAreaList, id-RRC-Establishment-Cause, - id-TraceCollectionEntityIPAddress, maxnoofTAIs, + id-TraceCollectionEntityIPAddress, + maxnoofTAIs, maxNrOfErrors, maxNrOfE-RABs, maxNrOfIndividualS1ConnectionsToReset, @@ -269,7 +284,16 @@ FROM S1AP-Containers maxnoofCellinTAI, maxnoofCellinEAI, id-ExtendedRepetitionPeriod, - id-PS-ServiceNotAvailable + id-PS-ServiceNotAvailable, + id-RegisteredLAI, + id-GUMMEIList, + id-SourceMME-GUMMEI, + id-MME-UE-S1AP-ID-2, + id-GW-TransportLayerAddress, + id-RelayNode-Indicator, + id-Correlation-ID, + id-MMERelaySupportIndicator, + id-GWContextReleaseIndication FROM S1AP-Constants; @@ -405,22 +429,25 @@ HandoverRequest ::= SEQUENCE { } HandoverRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory } | - { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory }| - { ID id-E-RABToBeSetupListHOReq CRITICALITY reject TYPE E-RABToBeSetupListHOReq PRESENCE mandatory } | - { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory } | - { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }| - { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }| - { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }| - { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional }| - { 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" -- } | - { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional} | - { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional} , + { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}| + { ID id-HandoverType CRITICALITY reject TYPE HandoverType PRESENCE mandatory}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory}| + { ID id-E-RABToBeSetupListHOReq CRITICALITY reject TYPE E-RABToBeSetupListHOReq PRESENCE mandatory}| + { ID id-Source-ToTarget-TransparentContainer CRITICALITY reject TYPE Source-ToTarget-TransparentContainer PRESENCE mandatory}| + { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory}| + { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional}| + { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional}| + { ID id-RequestType CRITICALITY ignore TYPE RequestType PRESENCE optional}| + { 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" --}| + { ID id-CSG-Id CRITICALITY reject TYPE CSG-Id PRESENCE optional}| + { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}| + { ID id-GUMMEI-ID CRITICALITY ignore TYPE GUMMEI PRESENCE optional}| + { ID id-MME-UE-S1AP-ID-2 CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional}| + { ID id-ManagementBasedMDTAllowed CRITICALITY ignore TYPE ManagementBasedMDTAllowed PRESENCE optional}, ... } @@ -570,12 +597,15 @@ PathSwitchRequest ::= SEQUENCE { } PathSwitchRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABToBeSwitchedDLList CRITICALITY reject TYPE E-RABToBeSwitchedDLList PRESENCE mandatory }| - { ID id-SourceMME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory }| + { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}| + { ID id-E-RABToBeSwitchedDLList CRITICALITY reject TYPE E-RABToBeSwitchedDLList PRESENCE mandatory}| + { ID id-SourceMME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}| { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}| { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}| - { ID id-UESecurityCapabilities CRITICALITY ignore TYPE UESecurityCapabilities PRESENCE mandatory }, + { ID id-UESecurityCapabilities CRITICALITY ignore TYPE UESecurityCapabilities PRESENCE mandatory}| + { ID id-CSG-Id CRITICALITY ignore TYPE CSG-Id PRESENCE optional}| + { ID id-CellAccessMode CRITICALITY ignore TYPE CellAccessMode PRESENCE optional}| + { ID id-SourceMME-GUMMEI CRITICALITY ignore TYPE GUMMEI PRESENCE optional}, ... } @@ -610,13 +640,14 @@ PathSwitchRequestAcknowledge ::= SEQUENCE { } PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional }| - { ID id-E-RABToBeSwitchedULList CRITICALITY ignore TYPE E-RABToBeSwitchedULList PRESENCE optional }| - { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE optional }| - { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory}| + { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}| + { ID id-uEaggregateMaximumBitrate CRITICALITY ignore TYPE UEAggregateMaximumBitrate PRESENCE optional}| + { ID id-E-RABToBeSwitchedULList CRITICALITY ignore TYPE E-RABToBeSwitchedULList PRESENCE optional}| + { ID id-E-RABToBeReleasedList CRITICALITY ignore TYPE E-RABList PRESENCE optional}| + { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE mandatory}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| + { ID id-MME-UE-S1AP-ID-2 CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional}, ... } @@ -745,6 +776,7 @@ E-RABToBeSetupItemBearerSUReq ::= SEQUENCE { E-RABToBeSetupItemBearerSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= { + { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}, ... } @@ -990,19 +1022,23 @@ InitialContextSetupRequest ::= SEQUENCE { } InitialContextSetupRequestIEs 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-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory }| - { ID id-E-RABToBeSetupListCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupListCtxtSUReq PRESENCE mandatory }| - { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory }| - { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE mandatory }| - { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional }| - { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }| - { 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-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional }, + { 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-uEaggregateMaximumBitrate CRITICALITY reject TYPE UEAggregateMaximumBitrate PRESENCE mandatory}| + { ID id-E-RABToBeSetupListCtxtSUReq CRITICALITY reject TYPE E-RABToBeSetupListCtxtSUReq PRESENCE mandatory}| + { ID id-UESecurityCapabilities CRITICALITY reject TYPE UESecurityCapabilities PRESENCE mandatory}| + { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE mandatory}| + { ID id-TraceActivation CRITICALITY ignore TYPE TraceActivation PRESENCE optional}| + { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional}| + { 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-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}| + { ID id-RegisteredLAI CRITICALITY ignore TYPE LAI PRESENCE optional}| + { ID id-GUMMEI-ID CRITICALITY ignore TYPE GUMMEI PRESENCE optional}| + { ID id-MME-UE-S1AP-ID-2 CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE optional}| + { ID id-ManagementBasedMDTAllowed CRITICALITY ignore TYPE ManagementBasedMDTAllowed PRESENCE optional}, ... } @@ -1028,6 +1064,7 @@ E-RABToBeSetupItemCtxtSUReq ::= SEQUENCE { E-RABToBeSetupItemCtxtSUReqExtIEs S1AP-PROTOCOL-EXTENSION ::= { + { ID id-Correlation-ID CRITICALITY ignore EXTENSION Correlation-ID PRESENCE optional}, ... } @@ -1044,11 +1081,11 @@ InitialContextSetupResponse ::= SEQUENCE { } InitialContextSetupResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-E-RABSetupListCtxtSURes CRITICALITY ignore TYPE E-RABSetupListCtxtSURes PRESENCE mandatory }| - { ID id-E-RABFailedToSetupListCtxtSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| + { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| + { ID id-E-RABSetupListCtxtSURes CRITICALITY ignore TYPE E-RABSetupListCtxtSURes PRESENCE mandatory }| + { ID id-E-RABFailedToSetupListCtxtSURes CRITICALITY ignore TYPE E-RABList PRESENCE optional }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, ... } @@ -1086,10 +1123,10 @@ InitialContextSetupFailure ::= SEQUENCE { } InitialContextSetupFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| + { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, ... } @@ -1112,12 +1149,13 @@ Paging ::= SEQUENCE { } PagingIEs S1AP-PROTOCOL-IES ::= { - { ID id-UEIdentityIndexValue CRITICALITY ignore TYPE UEIdentityIndexValue PRESENCE mandatory } | - { ID id-UEPagingID CRITICALITY ignore TYPE UEPagingID PRESENCE mandatory } | - { ID id-pagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional } | - { ID id-CNDomain CRITICALITY ignore TYPE CNDomain PRESENCE mandatory } | - { ID id-TAIList CRITICALITY ignore TYPE TAIList PRESENCE mandatory }| - { ID id-CSG-IdList CRITICALITY ignore TYPE CSG-IdList PRESENCE optional }, + { ID id-UEIdentityIndexValue CRITICALITY ignore TYPE UEIdentityIndexValue PRESENCE mandatory}| + { ID id-UEPagingID CRITICALITY ignore TYPE UEPagingID PRESENCE mandatory}| + { ID id-pagingDRX CRITICALITY ignore TYPE PagingDRX PRESENCE optional}| + { ID id-CNDomain CRITICALITY ignore TYPE CNDomain PRESENCE mandatory}| + { ID id-TAIList CRITICALITY ignore TYPE TAIList PRESENCE mandatory}| + { ID id-CSG-IdList CRITICALITY ignore TYPE CSG-IdList PRESENCE optional}| + { ID id-PagingPriority CRITICALITY ignore TYPE PagingPriority PRESENCE optional}, ... } @@ -1157,9 +1195,10 @@ UEContextReleaseRequest ::= SEQUENCE { } UEContextReleaseRequest-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-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory} , + { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}| + { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory}| + { ID id-GWContextReleaseIndication CRITICALITY reject TYPE GWContextReleaseIndication PRESENCE optional}, ... } @@ -1193,9 +1232,9 @@ UEContextReleaseComplete ::= SEQUENCE { } UEContextReleaseComplete-IEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory} | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory} | + { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory} | + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, ... } @@ -1218,14 +1257,15 @@ UEContextModificationRequest ::= SEQUENCE { } UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional }| - { 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-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional }, + { ID id-MME-UE-S1AP-ID CRITICALITY reject TYPE MME-UE-S1AP-ID PRESENCE mandatory}| + { ID id-eNB-UE-S1AP-ID CRITICALITY reject TYPE ENB-UE-S1AP-ID PRESENCE mandatory}| + { ID id-SecurityKey CRITICALITY reject TYPE SecurityKey PRESENCE optional}| + { 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-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}| + { ID id-RegisteredLAI CRITICALITY ignore TYPE LAI PRESENCE optional}, ... } -- ************************************************************** @@ -1240,9 +1280,9 @@ UEContextModificationResponse ::= SEQUENCE { } UEContextModificationResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| + { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, ... }-- ************************************************************** -- @@ -1256,10 +1296,10 @@ UEContextModificationFailure ::= SEQUENCE { } UEContextModificationFailureIEs S1AP-PROTOCOL-IES ::= { - { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory } | - { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory } | - { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + { ID id-MME-UE-S1AP-ID CRITICALITY ignore TYPE MME-UE-S1AP-ID PRESENCE mandatory }| + { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory }| + { ID id-Cause CRITICALITY ignore TYPE Cause PRESENCE mandatory }| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, ... } @@ -1281,10 +1321,11 @@ DownlinkNASTransport ::= SEQUENCE { } DownlinkNASTransport-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-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} | - { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional }, + { 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-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} | + { ID id-HandoverRestrictionList CRITICALITY ignore TYPE HandoverRestrictionList PRESENCE optional} | + { ID id-SubscriberProfileIDforRFP CRITICALITY ignore TYPE SubscriberProfileIDforRFP PRESENCE optional}, ... } @@ -1309,7 +1350,9 @@ InitialUEMessage-IEs S1AP-PROTOCOL-IES ::= { { 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-CellAccessMode CRITICALITY reject TYPE CellAccessMode PRESENCE optional}, + { ID id-CellAccessMode CRITICALITY reject TYPE CellAccessMode PRESENCE optional} | + { ID id-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional} | + { ID id-RelayNode-Indicator CRITICALITY reject TYPE RelayNode-Indicator PRESENCE optional}, ... } @@ -1326,11 +1369,12 @@ UplinkNASTransport ::= SEQUENCE { } UplinkNASTransport-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-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} | - { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory}| - { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory}, + { 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-NAS-PDU CRITICALITY reject TYPE NAS-PDU PRESENCE mandatory} | + { ID id-EUTRAN-CGI CRITICALITY ignore TYPE EUTRAN-CGI PRESENCE mandatory} | + { ID id-TAI CRITICALITY ignore TYPE TAI PRESENCE mandatory} | + { ID id-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}, ... } -- ************************************************************** @@ -1484,10 +1528,11 @@ S1SetupResponse ::= SEQUENCE { S1SetupResponseIEs S1AP-PROTOCOL-IES ::= { - { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional }| - { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE mandatory }| - { ID id-RelativeMMECapacity CRITICALITY ignore TYPE RelativeMMECapacity PRESENCE mandatory }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, + { ID id-MMEname CRITICALITY ignore TYPE MMEname PRESENCE optional}| + { ID id-ServedGUMMEIs CRITICALITY reject TYPE ServedGUMMEIs PRESENCE mandatory}| + { ID id-RelativeMMECapacity CRITICALITY ignore TYPE RelativeMMECapacity PRESENCE mandatory}| + { ID id-MMERelaySupportIndicator CRITICALITY ignore TYPE MMERelaySupportIndicator PRESENCE optional}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}, ... } @@ -1934,7 +1979,9 @@ OverloadStart ::= SEQUENCE { } OverloadStartIEs S1AP-PROTOCOL-IES ::= { - { ID id-OverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE mandatory }, + { ID id-OverloadResponse CRITICALITY reject TYPE OverloadResponse PRESENCE mandatory}| + { ID id-GUMMEIList CRITICALITY ignore TYPE GUMMEIList PRESENCE optional}| + { ID id-TrafficLoadReductionIndication CRITICALITY ignore TYPE TrafficLoadReductionIndication PRESENCE optional}, ... } -- ************************************************************** @@ -1949,6 +1996,7 @@ OverloadStop ::= SEQUENCE { } OverloadStopIEs S1AP-PROTOCOL-IES ::= { +{ ID id-GUMMEIList CRITICALITY ignore TYPE GUMMEIList PRESENCE optional }, ... } -- ************************************************************** @@ -2148,7 +2196,7 @@ KillResponse ::= SEQUENCE { KillResponseIEs S1AP-PROTOCOL-IES ::= { { ID id-MessageIdentifier CRITICALITY reject TYPE MessageIdentifier PRESENCE mandatory }| { ID id-SerialNumber CRITICALITY reject TYPE SerialNumber PRESENCE mandatory }| - { ID id-BroadcastCancelledAreaList CRITICALITY ignore TYPE BroadcastCancelledAreaList PRESENCE mandatory }| + { ID id-BroadcastCancelledAreaList CRITICALITY ignore TYPE BroadcastCancelledAreaList PRESENCE optional }| { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }, ... } @@ -2232,3 +2280,4 @@ UplinkNonUEAssociatedLPPaTransport-IEs S1AP-PROTOCOL-IES ::= { } END + diff --git a/asn1/s1ap/S1AP-PDU-Descriptions.asn b/asn1/s1ap/S1AP-PDU-Descriptions.asn index a1898767a2..1d1b200b29 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.4.0 (2010-09) +-- 3GPP TS 36.413 V10.3.0 (2011-09) -- 9.3.2 Elementary Procedure Definitions -- ************************************************************** -- @@ -592,3 +592,4 @@ uplinkNonUEAssociatedLPPaTransport S1AP-ELEMENTARY-PROCEDURE ::= { } END + diff --git a/asn1/s1ap/S1AP-SonTransfer-IEs.asn b/asn1/s1ap/S1AP-SonTransfer-IEs.asn index cccf91b71a..6e2cfbb198 100644 --- a/asn1/s1ap/S1AP-SonTransfer-IEs.asn +++ b/asn1/s1ap/S1AP-SonTransfer-IEs.asn @@ -1,5 +1,5 @@ -- $Id$ --- 3GPP TS 36.413 V10.0.1 (2011-01) +-- 3GPP TS 36.413 V10.3.0 (2011-09) -- B.2 ASN.1 definition -- ************************************************************** -- @@ -87,8 +87,9 @@ EUTRANcellLoadReportingResponse ::= SEQUENCE { -- -- IEs for Multi-Cell Load Reporting application -- --- WS Allready in S1AP --- EUTRAN-CGI ::= OCTET STRING + +--- WS Allready in S1AP +--- EUTRAN-CGI ::= OCTET STRING IRAT-Cell-ID ::= CHOICE{ eUTRAN EUTRAN-CGI, @@ -117,13 +118,6 @@ MultiCellLoadReportingResponse ::= SEQUENCE { ... } --- ************************************************************** --- --- Constants --- --- ************************************************************** - -maxIRATReportingCells INTEGER ::= 128 -- Value is FFS -- -- IEs for Event-triggered Cell Load Reporting application @@ -184,4 +178,12 @@ maxnoofcandidateCells INTEGER ::= 16 CandidateCellList ::= SEQUENCE (SIZE(1..maxnoofcandidateCells)) OF IRAT-Cell-ID +-- ************************************************************** +-- +-- Constants +-- +-- ************************************************************** + +maxIRATReportingCells INTEGER ::= 128 -- Value is FFS + END diff --git a/asn1/s1ap/s1ap.cnf b/asn1/s1ap/s1ap.cnf index 53bc439a03..12628b0b05 100644 --- a/asn1/s1ap/s1ap.cnf +++ b/asn1/s1ap/s1ap.cnf @@ -685,6 +685,21 @@ id-LPPa-PDU ProtocolIE-ID id-Routing-ID ProtocolIE-ID id-Time-Synchronization-Info ProtocolIE-ID id-PS-ServiceNotAvailable ProtocolIE-ID +id-PagingPriority ProtocolIE-ID +id-x2TNLConfigurationInfo ProtocolIE-ID +id-eNBX2ExtendedTransportLayerAddresses ProtocolIE-ID +id-GUMMEIList ProtocolIE-ID +id-GW-TransportLayerAddress ProtocolIE-ID +id-Correlation-ID ProtocolIE-ID +id-SourceMME-GUMMEI ProtocolIE-ID +id-MME-UE-S1AP-ID-2 ProtocolIE-ID +id-RegisteredLAI ProtocolIE-ID +id-RelayNode-Indicator ProtocolIE-ID +id-TrafficLoadReductionIndication ProtocolIE-ID +id-MDTConfiguration ProtocolIE-ID +id-MMERelaySupportIndicator ProtocolIE-ID +id-GWContextReleaseIndication ProtocolIE-ID +id-ManagementBasedMDTAllowed ProtocolIE-ID #.END #.REGISTER_NEW @@ -819,6 +834,18 @@ LPPa-PDU N s1ap.ies id-LPPa-PDU Routing-ID N s1ap.ies id-Routing-ID PS-ServiceNotAvailable N s1ap.ies id-PS-ServiceNotAvailable +PagingPriority N s1ap.ies id-PagingPriority +GUMMEIList N s1ap.ies id-GUMMEIList +TransportLayerAddress N s1ap.ies id-GW-TransportLayerAddress +GUMMEI N s1ap.ies id-SourceMME-GUMMEI +MME-UE-S1AP-ID N s1ap.ies id-MME-UE-S1AP-ID-2 +LAI N s1ap.ies id-RegisteredLAI +RelayNode-Indicator N s1ap.ies id-RelayNode-Indicator +TrafficLoadReductionIndication N s1ap.ies id-TrafficLoadReductionIndication +MMERelaySupportIndicator N s1ap.ies id-MMERelaySupportIndicator +GWContextReleaseIndication N s1ap.ies id-GWContextReleaseIndication +ManagementBasedMDTAllowed N s1ap.ies id-ManagementBasedMDTAllowed + #S1AP-PROTOCOL-IES-PAIR #RAB-SetupOrModifyItemFirst N s1ap.ies.pair.first id-RAB-SetupOrModifyItem #RAB-SetupOrModifyItemSecond N s1ap.ies.pair.second id-RAB-SetupOrModifyItem @@ -828,6 +855,10 @@ PS-ServiceNotAvailable N s1ap.ies id-PS-ServiceNotAvailable #Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf N s1ap.extension id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf Data-Forwarding-Not-Possible N s1ap.extension id-Data-Forwarding-Not-Possible TimeSynchronizationInfo N s1ap.extension id-Time-Synchronization-Info +X2TNLConfigurationInfo N s1ap.extension id-x2TNLConfigurationInfo +ENBX2ExtTLAs N s1ap.extension id-eNBX2ExtendedTransportLayerAddresses +Correlation-ID N s1ap.extension id-Correlation-ID +MDT-Configuration N s1ap.extension id-MDTConfiguration #S1AP-ELEMENTARY-PROCEDURE HandoverRequired N s1ap.proc.imsg id-HandoverPreparation diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c index bcb9fb533e..de90a5ce11 100644 --- a/epan/dissectors/packet-s1ap.c +++ b/epan/dissectors/packet-s1ap.c @@ -98,11 +98,15 @@ static dissector_handle_t bssgp_handle; #define maxnoofCellinTAI 65535 #define maxnoofCellinEAI 65535 #define maxnoofeNBX2TLAs 2 +#define maxnoofeNBX2ExtTLAs 16 +#define maxnoofeNBX2GTPTLAs 16 #define maxnoofRATs 8 #define maxnoofGroupIDs 65535 #define maxnoofMMECs 256 -#define maxIRATReportingCells 128 +#define maxnoofCellIDforMDT 32 +#define maxnoofTAforMDT 8 #define maxnoofcandidateCells 16 +#define maxIRATReportingCells 128 typedef enum _ProcedureCode_enum { id_HandoverPreparation = 0, @@ -306,7 +310,22 @@ typedef enum _ProtocolIE_ID_enum { id_LPPa_PDU = 147, id_Routing_ID = 148, id_Time_Synchronization_Info = 149, - id_PS_ServiceNotAvailable = 150 + id_PS_ServiceNotAvailable = 150, + id_PagingPriority = 151, + id_x2TNLConfigurationInfo = 152, + id_eNBX2ExtendedTransportLayerAddresses = 153, + id_GUMMEIList = 154, + id_GW_TransportLayerAddress = 155, + id_Correlation_ID = 156, + id_SourceMME_GUMMEI = 157, + id_MME_UE_S1AP_ID_2 = 158, + id_RegisteredLAI = 159, + id_RelayNode_Indicator = 160, + id_TrafficLoadReductionIndication = 161, + id_MDTConfiguration = 162, + id_MMERelaySupportIndicator = 163, + id_GWContextReleaseIndication = 164, + id_ManagementBasedMDTAllowed = 165 } ProtocolIE_ID_enum; /*--- End of included file: packet-s1ap-val.h ---*/ @@ -334,6 +353,7 @@ static int hf_s1ap_Cdma2000OneXSRVCCInfo_PDU = -1; /* Cdma2000OneXSRVCCInfo */ static int hf_s1ap_Cdma2000OneXRAND_PDU = -1; /* Cdma2000OneXRAND */ static int hf_s1ap_CNDomain_PDU = -1; /* CNDomain */ static int hf_s1ap_ConcurrentWarningMessageIndicator_PDU = -1; /* ConcurrentWarningMessageIndicator */ +static int hf_s1ap_Correlation_ID_PDU = -1; /* Correlation_ID */ 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 */ @@ -343,6 +363,7 @@ 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_s1ap_Global_ENB_ID_PDU = -1; /* Global_ENB_ID */ +static int hf_s1ap_GUMMEIList_PDU = -1; /* GUMMEIList */ static int hf_s1ap_s1ap_ENB_StatusTransfer_TransparentContainer_PDU = -1; /* ENB_StatusTransfer_TransparentContainer */ static int hf_s1ap_ENB_UE_S1AP_ID_PDU = -1; /* ENB_UE_S1AP_ID */ static int hf_s1ap_ENBname_PDU = -1; /* ENBname */ @@ -353,11 +374,16 @@ 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_GWContextReleaseIndication_PDU = -1; /* GWContextReleaseIndication */ static int hf_s1ap_HandoverRestrictionList_PDU = -1; /* HandoverRestrictionList */ static int hf_s1ap_HandoverType_PDU = -1; /* HandoverType */ +static int hf_s1ap_LAI_PDU = -1; /* LAI */ static int hf_s1ap_LPPa_PDU_PDU = -1; /* LPPa_PDU */ +static int hf_s1ap_MDT_Configuration_PDU = -1; /* MDT_Configuration */ +static int hf_s1ap_ManagementBasedMDTAllowed_PDU = -1; /* ManagementBasedMDTAllowed */ static int hf_s1ap_MessageIdentifier_PDU = -1; /* MessageIdentifier */ static int hf_s1ap_MMEname_PDU = -1; /* MMEname */ +static int hf_s1ap_MMERelaySupportIndicator_PDU = -1; /* MMERelaySupportIndicator */ static int hf_s1ap_MME_UE_S1AP_ID_PDU = -1; /* MME_UE_S1AP_ID */ static int hf_s1ap_MSClassmark2_PDU = -1; /* MSClassmark2 */ static int hf_s1ap_MSClassmark3_PDU = -1; /* MSClassmark3 */ @@ -367,8 +393,10 @@ static int hf_s1ap_NASSecurityParameterstoE_UTRAN_PDU = -1; /* NASSecurityParam static int hf_s1ap_NumberofBroadcastRequest_PDU = -1; /* NumberofBroadcastRequest */ static int hf_s1ap_OverloadResponse_PDU = -1; /* OverloadResponse */ static int hf_s1ap_PagingDRX_PDU = -1; /* PagingDRX */ +static int hf_s1ap_PagingPriority_PDU = -1; /* PagingPriority */ static int hf_s1ap_PS_ServiceNotAvailable_PDU = -1; /* PS_ServiceNotAvailable */ static int hf_s1ap_RelativeMMECapacity_PDU = -1; /* RelativeMMECapacity */ +static int hf_s1ap_RelayNode_Indicator_PDU = -1; /* RelayNode_Indicator */ 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 */ @@ -394,6 +422,7 @@ static int hf_s1ap_Target_ToSource_TransparentContainer_PDU = -1; /* Target_ToS static int hf_s1ap_TimeToWait_PDU = -1; /* TimeToWait */ static int hf_s1ap_TransportLayerAddress_PDU = -1; /* TransportLayerAddress */ static int hf_s1ap_TraceActivation_PDU = -1; /* TraceActivation */ +static int hf_s1ap_TrafficLoadReductionIndication_PDU = -1; /* TrafficLoadReductionIndication */ static int hf_s1ap_UEAggregateMaximumBitrate_PDU = -1; /* UEAggregateMaximumBitrate */ static int hf_s1ap_UE_S1AP_IDs_PDU = -1; /* UE_S1AP_IDs */ static int hf_s1ap_UE_associatedLogicalS1_ConnectionItem_PDU = -1; /* UE_associatedLogicalS1_ConnectionItem */ @@ -405,6 +434,8 @@ static int hf_s1ap_WarningAreaList_PDU = -1; /* WarningAreaList */ static int hf_s1ap_WarningType_PDU = -1; /* WarningType */ static int hf_s1ap_WarningSecurityInfo_PDU = -1; /* WarningSecurityInfo */ static int hf_s1ap_WarningMessageContents_PDU = -1; /* WarningMessageContents */ +static int hf_s1ap_X2TNLConfigurationInfo_PDU = -1; /* X2TNLConfigurationInfo */ +static int hf_s1ap_ENBX2ExtTLAs_PDU = -1; /* ENBX2ExtTLAs */ static int hf_s1ap_HandoverRequired_PDU = -1; /* HandoverRequired */ static int hf_s1ap_HandoverCommand_PDU = -1; /* HandoverCommand */ static int hf_s1ap_E_RABSubjecttoDataForwardingList_PDU = -1; /* E_RABSubjecttoDataForwardingList */ @@ -526,6 +557,9 @@ static int hf_s1ap_extensionValue = -1; /* T_extensionValue */ static int hf_s1ap_PrivateIE_Container_item = -1; /* PrivateIE_Field */ static int hf_s1ap_private_id = -1; /* PrivateIE_ID */ static int hf_s1ap_value = -1; /* T_value */ +static int hf_s1ap_cellBased = -1; /* CellBasedMDT */ +static int hf_s1ap_tABased = -1; /* TABasedMDT */ +static int hf_s1ap_pLMNWide = -1; /* NULL */ static int hf_s1ap_priorityLevel = -1; /* PriorityLevel */ static int hf_s1ap_pre_emptionCapability = -1; /* Pre_emptionCapability */ static int hf_s1ap_pre_emptionVulnerability = -1; /* Pre_emptionVulnerability */ @@ -553,6 +587,8 @@ static int hf_s1ap_protocol = -1; /* CauseProtocol */ static int hf_s1ap_misc = -1; /* CauseMisc */ static int hf_s1ap_CellID_Broadcast_item = -1; /* CellID_Broadcast_Item */ static int hf_s1ap_CellID_Cancelled_item = -1; /* CellID_Cancelled_Item */ +static int hf_s1ap_cellIdListforMDT = -1; /* CellIdListforMDT */ +static int hf_s1ap_CellIdListforMDT_item = -1; /* EUTRAN_CGI */ static int hf_s1ap_cdma2000OneXMEID = -1; /* Cdma2000OneXMEID */ static int hf_s1ap_cdma2000OneXMSI = -1; /* Cdma2000OneXMSI */ static int hf_s1ap_cdma2000OneXPilot = -1; /* Cdma2000OneXPilot */ @@ -585,6 +621,7 @@ static int hf_s1ap_macroENB_ID = -1; /* BIT_STRING_SIZE_20 */ static int hf_s1ap_homeENB_ID = -1; /* BIT_STRING_SIZE_28 */ static int hf_s1ap_lAI = -1; /* LAI */ static int hf_s1ap_eNB_ID = -1; /* ENB_ID */ +static int hf_s1ap_GUMMEIList_item = -1; /* GUMMEI */ static int hf_s1ap_bearers_SubjectToStatusTransferList = -1; /* Bearers_SubjectToStatusTransferList */ static int hf_s1ap_ENBX2TLAs_item = -1; /* TransportLayerAddress */ static int hf_s1ap_EPLMNs_item = -1; /* PLMNidentity */ @@ -614,6 +651,10 @@ static int hf_s1ap_equivalentPLMNs = -1; /* EPLMNs */ static int hf_s1ap_forbiddenTAs = -1; /* ForbiddenTAs */ static int hf_s1ap_forbiddenLAs = -1; /* ForbiddenLAs */ static int hf_s1ap_forbiddenInterRATs = -1; /* ForbiddenInterRATs */ +static int hf_s1ap_measurementsToActivate = -1; /* MeasurementsToActivate */ +static int hf_s1ap_reportingTriggerMDT = -1; /* ReportingTriggerMDT */ +static int hf_s1ap_thresholdeventA2 = -1; /* ThresholdEventA2 */ +static int hf_s1ap_periodicReportingMDT = -1; /* PeriodicReportingMDT */ static int hf_s1ap_e_UTRAN_Cell = -1; /* LastVisitedEUTRANCellInformation */ static int hf_s1ap_uTRAN_Cell = -1; /* LastVisitedUTRANCellInformation */ static int hf_s1ap_gERAN_Cell = -1; /* LastVisitedGERANCellInformation */ @@ -621,7 +662,18 @@ static int hf_s1ap_global_Cell_ID = -1; /* EUTRAN_CGI */ static int hf_s1ap_cellType = -1; /* CellType */ static int hf_s1ap_time_UE_StayedInCell = -1; /* Time_UE_StayedInCell */ static int hf_s1ap_undefined = -1; /* NULL */ +static int hf_s1ap_loggingInterval = -1; /* LoggingInterval */ +static int hf_s1ap_loggingDuration = -1; /* LoggingDuration */ +static int hf_s1ap_mdt_Activation = -1; /* MDT_Activation */ +static int hf_s1ap_areaScopeOfMDT = -1; /* AreaScopeOfMDT */ +static int hf_s1ap_mDTMode = -1; /* MDTMode */ +static int hf_s1ap_immediateMDT = -1; /* ImmediateMDT */ +static int hf_s1ap_loggedMDT = -1; /* LoggedMDT */ +static int hf_s1ap_threshold_RSRP = -1; /* Threshold_RSRP */ +static int hf_s1ap_threshold_RSRQ = -1; /* Threshold_RSRQ */ static int hf_s1ap_overloadAction = -1; /* OverloadAction */ +static int hf_s1ap_reportInterval = -1; /* ReportIntervalMDT */ +static int hf_s1ap_reportAmount = -1; /* ReportAmountMDT */ static int hf_s1ap_eventType = -1; /* EventType */ static int hf_s1ap_reportArea = -1; /* ReportArea */ static int hf_s1ap_rIMInformation = -1; /* RIMInformation */ @@ -663,10 +715,13 @@ static int hf_s1ap_tAI = -1; /* TAI */ static int hf_s1ap_completedCellinTAI = -1; /* CompletedCellinTAI */ static int hf_s1ap_TAI_Cancelled_item = -1; /* TAI_Cancelled_Item */ static int hf_s1ap_cancelledCellinTAI = -1; /* CancelledCellinTAI */ +static int hf_s1ap_tAListforMDT = -1; /* TAListforMDT */ +static int hf_s1ap_TAListforMDT_item = -1; /* TAC */ static int hf_s1ap_CompletedCellinTAI_item = -1; /* CompletedCellinTAI_Item */ static int hf_s1ap_cGI = -1; /* CGI */ static int hf_s1ap_rNC_ID = -1; /* RNC_ID */ static int hf_s1ap_extendedRNC_ID = -1; /* ExtendedRNC_ID */ +static int hf_s1ap_measurementThreshold = -1; /* MeasurementThresholdA2 */ static int hf_s1ap_e_UTRAN_Trace_ID = -1; /* E_UTRAN_Trace_ID */ static int hf_s1ap_interfacesToTrace = -1; /* InterfacesToTrace */ static int hf_s1ap_traceDepth = -1; /* TraceDepth */ @@ -685,6 +740,10 @@ static int hf_s1ap_cellIDList = -1; /* ECGIList */ static int hf_s1ap_trackingAreaListforWarning = -1; /* TAIListforWarning */ static int hf_s1ap_emergencyAreaIDList = -1; /* EmergencyAreaIDList */ static int hf_s1ap_eNBX2TransportLayerAddresses = -1; /* ENBX2TLAs */ +static int hf_s1ap_ENBX2ExtTLAs_item = -1; /* ENBX2ExtTLA */ +static int hf_s1ap_iPsecTLA = -1; /* TransportLayerAddress */ +static int hf_s1ap_gTPTLAa = -1; /* ENBX2GTPTLAs */ +static int hf_s1ap_ENBX2GTPTLAs_item = -1; /* TransportLayerAddress */ static int hf_s1ap_protocolIEs = -1; /* ProtocolIE_Container */ static int hf_s1ap_dL_transportLayerAddress = -1; /* TransportLayerAddress */ static int hf_s1ap_dL_gTP_TEID = -1; /* GTP_TEID */ @@ -771,6 +830,7 @@ static gint ett_s1ap_ProtocolExtensionContainer = -1; static gint ett_s1ap_ProtocolExtensionField = -1; static gint ett_s1ap_PrivateIE_Container = -1; static gint ett_s1ap_PrivateIE_Field = -1; +static gint ett_s1ap_AreaScopeOfMDT = -1; static gint ett_s1ap_AllocationAndRetentionPriority = -1; static gint ett_s1ap_Bearers_SubjectToStatusTransferList = -1; static gint ett_s1ap_Bearers_SubjectToStatusTransfer_Item = -1; @@ -786,6 +846,8 @@ static gint ett_s1ap_CellID_Broadcast = -1; static gint ett_s1ap_CellID_Broadcast_Item = -1; static gint ett_s1ap_CellID_Cancelled = -1; static gint ett_s1ap_CellID_Cancelled_Item = -1; +static gint ett_s1ap_CellBasedMDT = -1; +static gint ett_s1ap_CellIdListforMDT = -1; static gint ett_s1ap_Cdma2000OneXSRVCCInfo = -1; static gint ett_s1ap_CellType = -1; static gint ett_s1ap_CGI = -1; @@ -806,6 +868,7 @@ static gint ett_s1ap_CompletedCellinEAI_Item = -1; static gint ett_s1ap_ENB_ID = -1; static gint ett_s1ap_GERAN_Cell_ID = -1; static gint ett_s1ap_Global_ENB_ID = -1; +static gint ett_s1ap_GUMMEIList = -1; static gint ett_s1ap_ENB_StatusTransfer_TransparentContainer = -1; static gint ett_s1ap_ENBX2TLAs = -1; static gint ett_s1ap_EPLMNs = -1; @@ -824,11 +887,17 @@ static gint ett_s1ap_ForbiddenLACs = -1; static gint ett_s1ap_GBR_QosInformation = -1; static gint ett_s1ap_GUMMEI = -1; static gint ett_s1ap_HandoverRestrictionList = -1; +static gint ett_s1ap_ImmediateMDT = -1; static gint ett_s1ap_LAI = -1; static gint ett_s1ap_LastVisitedCell_Item = -1; static gint ett_s1ap_LastVisitedEUTRANCellInformation = -1; static gint ett_s1ap_LastVisitedGERANCellInformation = -1; +static gint ett_s1ap_LoggedMDT = -1; +static gint ett_s1ap_MDT_Configuration = -1; +static gint ett_s1ap_MDTMode = -1; +static gint ett_s1ap_MeasurementThresholdA2 = -1; static gint ett_s1ap_OverloadResponse = -1; +static gint ett_s1ap_PeriodicReportingMDT = -1; static gint ett_s1ap_RequestType = -1; static gint ett_s1ap_RIMTransfer = -1; static gint ett_s1ap_RIMRoutingAddress = -1; @@ -853,12 +922,15 @@ static gint ett_s1ap_TAI_Broadcast = -1; static gint ett_s1ap_TAI_Broadcast_Item = -1; static gint ett_s1ap_TAI_Cancelled = -1; static gint ett_s1ap_TAI_Cancelled_Item = -1; +static gint ett_s1ap_TABasedMDT = -1; +static gint ett_s1ap_TAListforMDT = -1; static gint ett_s1ap_CompletedCellinTAI = -1; static gint ett_s1ap_CompletedCellinTAI_Item = -1; static gint ett_s1ap_TargetID = -1; static gint ett_s1ap_TargeteNB_ID = -1; static gint ett_s1ap_TargetRNC_ID = -1; static gint ett_s1ap_TargeteNB_ToSourceeNB_TransparentContainer = -1; +static gint ett_s1ap_ThresholdEventA2 = -1; static gint ett_s1ap_TraceActivation = -1; static gint ett_s1ap_UEAggregateMaximumBitrate = -1; static gint ett_s1ap_UE_S1AP_IDs = -1; @@ -869,6 +941,9 @@ static gint ett_s1ap_UEPagingID = -1; static gint ett_s1ap_UESecurityCapabilities = -1; static gint ett_s1ap_WarningAreaList = -1; static gint ett_s1ap_X2TNLConfigurationInfo = -1; +static gint ett_s1ap_ENBX2ExtTLAs = -1; +static gint ett_s1ap_ENBX2ExtTLA = -1; +static gint ett_s1ap_ENBX2GTPTLAs = -1; static gint ett_s1ap_HandoverRequired = -1; static gint ett_s1ap_HandoverCommand = -1; static gint ett_s1ap_E_RABDataForwardingItem = -1; @@ -1325,6 +1400,21 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = { { id_Routing_ID, "id-Routing-ID" }, { id_Time_Synchronization_Info, "id-Time-Synchronization-Info" }, { id_PS_ServiceNotAvailable, "id-PS-ServiceNotAvailable" }, + { id_PagingPriority, "id-PagingPriority" }, + { id_x2TNLConfigurationInfo, "id-x2TNLConfigurationInfo" }, + { id_eNBX2ExtendedTransportLayerAddresses, "id-eNBX2ExtendedTransportLayerAddresses" }, + { id_GUMMEIList, "id-GUMMEIList" }, + { id_GW_TransportLayerAddress, "id-GW-TransportLayerAddress" }, + { id_Correlation_ID, "id-Correlation-ID" }, + { id_SourceMME_GUMMEI, "id-SourceMME-GUMMEI" }, + { id_MME_UE_S1AP_ID_2, "id-MME-UE-S1AP-ID-2" }, + { id_RegisteredLAI, "id-RegisteredLAI" }, + { id_RelayNode_Indicator, "id-RelayNode-Indicator" }, + { id_TrafficLoadReductionIndication, "id-TrafficLoadReductionIndication" }, + { id_MDTConfiguration, "id-MDTConfiguration" }, + { id_MMERelaySupportIndicator, "id-MMERelaySupportIndicator" }, + { id_GWContextReleaseIndication, "id-GWContextReleaseIndication" }, + { id_ManagementBasedMDTAllowed, "id-ManagementBasedMDTAllowed" }, { 0, NULL } }; @@ -1510,6 +1600,154 @@ dissect_s1ap_PrivateIE_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } + + +static int +dissect_s1ap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 193 "../../asn1/s1ap/s1ap.cnf" + tvbuff_t *parameter_tvb=NULL; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 3, 3, FALSE, ¶meter_tvb); + if(tvb_length(tvb)==0) + return offset; + + if (!parameter_tvb) + return offset; + dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, FALSE); + + + return offset; +} + + + +static int +dissect_s1ap_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 28, 28, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t EUTRAN_CGI_sequence[] = { + { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity }, + { &hf_s1ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CellIdentity }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_EUTRAN_CGI(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_EUTRAN_CGI, EUTRAN_CGI_sequence); + + return offset; +} + + +static const per_sequence_t CellIdListforMDT_sequence_of[1] = { + { &hf_s1ap_CellIdListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI }, +}; + +static int +dissect_s1ap_CellIdListforMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_s1ap_CellIdListforMDT, CellIdListforMDT_sequence_of, + 1, maxnoofCellIDforMDT, FALSE); + + return offset; +} + + +static const per_sequence_t CellBasedMDT_sequence[] = { + { &hf_s1ap_cellIdListforMDT, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CellIdListforMDT }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_CellBasedMDT(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_CellBasedMDT, CellBasedMDT_sequence); + + return offset; +} + + + +static int +dissect_s1ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 2, 2, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t TAListforMDT_sequence_of[1] = { + { &hf_s1ap_TAListforMDT_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAC }, +}; + +static int +dissect_s1ap_TAListforMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_s1ap_TAListforMDT, TAListforMDT_sequence_of, + 1, maxnoofTAforMDT, FALSE); + + return offset; +} + + +static const per_sequence_t TABasedMDT_sequence[] = { + { &hf_s1ap_tAListforMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAListforMDT }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_TABasedMDT(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_TABasedMDT, TABasedMDT_sequence); + + return offset; +} + + + +static int +dissect_s1ap_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_null(tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string s1ap_AreaScopeOfMDT_vals[] = { + { 0, "cellBased" }, + { 1, "tABased" }, + { 2, "pLMNWide" }, + { 0, NULL } +}; + +static const per_choice_t AreaScopeOfMDT_choice[] = { + { 0, &hf_s1ap_cellBased , ASN1_EXTENSION_ROOT , dissect_s1ap_CellBasedMDT }, + { 1, &hf_s1ap_tABased , ASN1_EXTENSION_ROOT , dissect_s1ap_TABasedMDT }, + { 2, &hf_s1ap_pLMNWide , ASN1_EXTENSION_ROOT , dissect_s1ap_NULL }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_s1ap_AreaScopeOfMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_s1ap_AreaScopeOfMDT, AreaScopeOfMDT_choice, + NULL); + + return offset; +} + + static const value_string s1ap_PriorityLevel_vals[] = { { 0, "spare" }, { 1, "highest" }, @@ -1675,27 +1913,6 @@ dissect_s1ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr } - - -static int -dissect_s1ap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 193 "../../asn1/s1ap/s1ap.cnf" - tvbuff_t *parameter_tvb=NULL; - - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - 3, 3, FALSE, ¶meter_tvb); - if(tvb_length(tvb)==0) - return offset; - - if (!parameter_tvb) - return offset; - dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, FALSE); - - - return offset; -} - - static const per_sequence_t BPLMNs_sequence_of[1] = { { &hf_s1ap_BPLMNs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity }, }; @@ -1712,32 +1929,6 @@ dissect_s1ap_BPLMNs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro static int -dissect_s1ap_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, - 28, 28, FALSE, NULL); - - return offset; -} - - -static const per_sequence_t EUTRAN_CGI_sequence[] = { - { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity }, - { &hf_s1ap_cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CellIdentity }, - { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } -}; - -static int -dissect_s1ap_EUTRAN_CGI(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_EUTRAN_CGI, EUTRAN_CGI_sequence); - - return offset; -} - - - -static int dissect_s1ap_NumberOfBroadcasts(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, 65535U, NULL, FALSE); @@ -1776,16 +1967,6 @@ dissect_s1ap_CellID_Cancelled(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } - -static int -dissect_s1ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - 2, 2, FALSE, NULL); - - return offset; -} - - static const per_sequence_t TAI_sequence[] = { { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity }, { &hf_s1ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAC }, @@ -2537,6 +2718,16 @@ dissect_s1ap_ConcurrentWarningMessageIndicator(tvbuff_t *tvb _U_, int offset _U_ } + +static int +dissect_s1ap_Correlation_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 const value_string s1ap_CSFallbackIndicator_vals[] = { { 0, "cs-fallback-required" }, { 1, "cs-fallback-high-priority" }, @@ -2847,6 +3038,57 @@ dissect_s1ap_Global_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ } + +static int +dissect_s1ap_MME_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 2, 2, FALSE, NULL); + + return offset; +} + + + +static int +dissect_s1ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 1, 1, FALSE, NULL); + + return offset; +} + + +static const per_sequence_t GUMMEI_sequence[] = { + { &hf_s1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity }, + { &hf_s1ap_mME_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_Group_ID }, + { &hf_s1ap_mME_Code , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_Code }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_GUMMEI(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_GUMMEI, GUMMEI_sequence); + + return offset; +} + + +static const per_sequence_t GUMMEIList_sequence_of[1] = { + { &hf_s1ap_GUMMEIList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_GUMMEI }, +}; + +static int +dissect_s1ap_GUMMEIList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_s1ap_GUMMEIList, GUMMEIList_sequence_of, + 1, maxnoofMMECs, FALSE); + + return offset; +} + + static const per_sequence_t ENB_StatusTransfer_TransparentContainer_sequence[] = { { &hf_s1ap_bearers_SubjectToStatusTransferList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Bearers_SubjectToStatusTransferList }, { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, @@ -3245,38 +3487,16 @@ dissect_s1ap_GTP_TEID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p } - -static int -dissect_s1ap_MME_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - 2, 2, FALSE, NULL); - - return offset; -} - - - -static int -dissect_s1ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - 1, 1, FALSE, NULL); - - return offset; -} - - -static const per_sequence_t GUMMEI_sequence[] = { - { &hf_s1ap_pLMN_Identity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity }, - { &hf_s1ap_mME_Group_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_Group_ID }, - { &hf_s1ap_mME_Code , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_Code }, - { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, - { NULL, 0, 0, NULL } +static const value_string s1ap_GWContextReleaseIndication_vals[] = { + { 0, "true" }, + { 0, NULL } }; + static int -dissect_s1ap_GUMMEI(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_GUMMEI, GUMMEI_sequence); +dissect_s1ap_GWContextReleaseIndication(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; } @@ -3327,6 +3547,172 @@ dissect_s1ap_HandoverType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int +dissect_s1ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 8, 8, FALSE, NULL); + + return offset; +} + + +static const value_string s1ap_ReportingTriggerMDT_vals[] = { + { 0, "periodic" }, + { 1, "a2eventtriggered" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_ReportingTriggerMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + + +static int +dissect_s1ap_Threshold_RSRP(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, 97U, NULL, FALSE); + + return offset; +} + + + +static int +dissect_s1ap_Threshold_RSRQ(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, 34U, NULL, FALSE); + + return offset; +} + + +static const value_string s1ap_MeasurementThresholdA2_vals[] = { + { 0, "threshold-RSRP" }, + { 1, "threshold-RSRQ" }, + { 0, NULL } +}; + +static const per_choice_t MeasurementThresholdA2_choice[] = { + { 0, &hf_s1ap_threshold_RSRP , ASN1_EXTENSION_ROOT , dissect_s1ap_Threshold_RSRP }, + { 1, &hf_s1ap_threshold_RSRQ , ASN1_EXTENSION_ROOT , dissect_s1ap_Threshold_RSRQ }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_s1ap_MeasurementThresholdA2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_s1ap_MeasurementThresholdA2, MeasurementThresholdA2_choice, + NULL); + + return offset; +} + + +static const per_sequence_t ThresholdEventA2_sequence[] = { + { &hf_s1ap_measurementThreshold, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MeasurementThresholdA2 }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_ThresholdEventA2(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_ThresholdEventA2, ThresholdEventA2_sequence); + + return offset; +} + + +static const value_string s1ap_ReportIntervalMDT_vals[] = { + { 0, "ms120" }, + { 1, "ms240" }, + { 2, "ms480" }, + { 3, "ms640" }, + { 4, "ms1024" }, + { 5, "ms2048" }, + { 6, "ms5120" }, + { 7, "ms10240" }, + { 8, "min1" }, + { 9, "min6" }, + { 10, "min12" }, + { 11, "min30" }, + { 12, "min60" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_ReportIntervalMDT(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, + 13, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string s1ap_ReportAmountMDT_vals[] = { + { 0, "r1" }, + { 1, "r2" }, + { 2, "r4" }, + { 3, "r8" }, + { 4, "r16" }, + { 5, "r32" }, + { 6, "r64" }, + { 7, "rinfinity" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_ReportAmountMDT(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, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t PeriodicReportingMDT_sequence[] = { + { &hf_s1ap_reportInterval , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ReportIntervalMDT }, + { &hf_s1ap_reportAmount , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ReportAmountMDT }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_PeriodicReportingMDT(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_PeriodicReportingMDT, PeriodicReportingMDT_sequence); + + return offset; +} + + +static const per_sequence_t ImmediateMDT_sequence[] = { + { &hf_s1ap_measurementsToActivate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MeasurementsToActivate }, + { &hf_s1ap_reportingTriggerMDT, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ReportingTriggerMDT }, + { &hf_s1ap_thresholdeventA2, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ThresholdEventA2 }, + { &hf_s1ap_periodicReportingMDT, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_PeriodicReportingMDT }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_ImmediateMDT(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_ImmediateMDT, ImmediateMDT_sequence); + + return offset; +} + + + +static int dissect_s1ap_IMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 3, 8, FALSE, NULL); @@ -3392,15 +3778,6 @@ dissect_s1ap_LastVisitedUTRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, } - -static int -dissect_s1ap_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { - offset = dissect_per_null(tvb, offset, actx, tree, hf_index); - - return offset; -} - - static const value_string s1ap_LastVisitedGERANCellInformation_vals[] = { { 0, "undefined" }, { 0, NULL } @@ -3465,6 +3842,135 @@ dissect_s1ap_LPPa_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p } +static const value_string s1ap_LoggingInterval_vals[] = { + { 0, "ms128" }, + { 1, "ms256" }, + { 2, "ms512" }, + { 3, "ms1024" }, + { 4, "ms2048" }, + { 5, "ms3072" }, + { 6, "ms4096" }, + { 7, "ms6144" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_LoggingInterval(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, + 8, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const value_string s1ap_LoggingDuration_vals[] = { + { 0, "m10" }, + { 1, "m20" }, + { 2, "m40" }, + { 3, "m60" }, + { 4, "m90" }, + { 5, "m120" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_LoggingDuration(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, + 6, NULL, FALSE, 0, NULL); + + return offset; +} + + +static const per_sequence_t LoggedMDT_sequence[] = { + { &hf_s1ap_loggingInterval, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_LoggingInterval }, + { &hf_s1ap_loggingDuration, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_LoggingDuration }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_LoggedMDT(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_LoggedMDT, LoggedMDT_sequence); + + return offset; +} + + +static const value_string s1ap_MDT_Activation_vals[] = { + { 0, "immediate-MDT-only" }, + { 1, "immediate-MDT-and-Trace" }, + { 2, "logged-MDT-only" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_MDT_Activation(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, + 3, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string s1ap_MDTMode_vals[] = { + { 0, "immediateMDT" }, + { 1, "loggedMDT" }, + { 0, NULL } +}; + +static const per_choice_t MDTMode_choice[] = { + { 0, &hf_s1ap_immediateMDT , ASN1_EXTENSION_ROOT , dissect_s1ap_ImmediateMDT }, + { 1, &hf_s1ap_loggedMDT , ASN1_EXTENSION_ROOT , dissect_s1ap_LoggedMDT }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_s1ap_MDTMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_s1ap_MDTMode, MDTMode_choice, + NULL); + + return offset; +} + + +static const per_sequence_t MDT_Configuration_sequence[] = { + { &hf_s1ap_mdt_Activation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MDT_Activation }, + { &hf_s1ap_areaScopeOfMDT , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_AreaScopeOfMDT }, + { &hf_s1ap_mDTMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MDTMode }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_MDT_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_s1ap_MDT_Configuration, MDT_Configuration_sequence); + + return offset; +} + + +static const value_string s1ap_ManagementBasedMDTAllowed_vals[] = { + { 0, "allowed" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_ManagementBasedMDTAllowed(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_MessageIdentifier(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -3485,6 +3991,21 @@ dissect_s1ap_MMEname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr } +static const value_string s1ap_MMERelaySupportIndicator_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_MMERelaySupportIndicator(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_MME_UE_S1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -3577,8 +4098,10 @@ dissect_s1ap_NumberofBroadcastRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ct static const value_string s1ap_OverloadAction_vals[] = { { 0, "reject-non-emergency-mo-dt" }, - { 1, "reject-all-rrc-cr-signalling" }, + { 1, "reject-rrc-cr-signalling" }, { 2, "permit-emergency-sessions-and-mobile-terminated-services-only" }, + { 3, "permit-high-priority-sessions-and-mobile-terminated-services-only" }, + { 4, "reject-delay-tolerant-access" }, { 0, NULL } }; @@ -3586,7 +4109,7 @@ static const value_string s1ap_OverloadAction_vals[] = { static int dissect_s1ap_OverloadAction(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, - 3, NULL, TRUE, 0, NULL); + 3, NULL, TRUE, 2, NULL); return offset; } @@ -3630,6 +4153,28 @@ dissect_s1ap_PagingDRX(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, } +static const value_string s1ap_PagingPriority_vals[] = { + { 0, "priolevel1" }, + { 1, "priolevel2" }, + { 2, "priolevel3" }, + { 3, "priolevel4" }, + { 4, "priolevel5" }, + { 5, "priolevel6" }, + { 6, "priolevel7" }, + { 7, "priolevel8" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_PagingPriority(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, + 8, NULL, TRUE, 0, NULL); + + return offset; +} + + static const value_string s1ap_PS_ServiceNotAvailable_vals[] = { { 0, "ps-service-not-available" }, { 0, NULL } @@ -3655,6 +4200,21 @@ dissect_s1ap_RelativeMMECapacity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const value_string s1ap_RelayNode_Indicator_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_RelayNode_Indicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + static const value_string s1ap_ReportArea_vals[] = { { 0, "ecgi" }, { 0, NULL } @@ -3834,6 +4394,7 @@ static const value_string s1ap_RRC_Establishment_Cause_vals[] = { { 2, "mt-Access" }, { 3, "mo-Signalling" }, { 4, "mo-Data" }, + { 5, "delay-TolerantAccess" }, { 0, NULL } }; @@ -3841,7 +4402,7 @@ static const value_string s1ap_RRC_Establishment_Cause_vals[] = { static int dissect_s1ap_RRC_Establishment_Cause(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, - 5, NULL, TRUE, 0, NULL); + 5, NULL, TRUE, 1, NULL); return offset; } @@ -4504,6 +5065,16 @@ dissect_s1ap_TraceActivation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } + +static int +dissect_s1ap_TrafficLoadReductionIndication(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, 99U, NULL, FALSE); + + return offset; +} + + static const per_sequence_t UEAggregateMaximumBitrate_sequence[] = { { &hf_s1ap_uEaggregateMaximumBitRateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate }, { &hf_s1ap_uEaggregateMaximumBitRateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate }, @@ -4698,6 +5269,50 @@ dissect_s1ap_WarningMessageContents(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const per_sequence_t ENBX2GTPTLAs_sequence_of[1] = { + { &hf_s1ap_ENBX2GTPTLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress }, +}; + +static int +dissect_s1ap_ENBX2GTPTLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_s1ap_ENBX2GTPTLAs, ENBX2GTPTLAs_sequence_of, + 1, maxnoofeNBX2GTPTLAs, FALSE); + + return offset; +} + + +static const per_sequence_t ENBX2ExtTLA_sequence[] = { + { &hf_s1ap_iPsecTLA , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_TransportLayerAddress }, + { &hf_s1ap_gTPTLAa , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ENBX2GTPTLAs }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_ENBX2ExtTLA(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_ENBX2ExtTLA, ENBX2ExtTLA_sequence); + + return offset; +} + + +static const per_sequence_t ENBX2ExtTLAs_sequence_of[1] = { + { &hf_s1ap_ENBX2ExtTLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ENBX2ExtTLA }, +}; + +static int +dissect_s1ap_ENBX2ExtTLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index, + ett_s1ap_ENBX2ExtTLAs, ENBX2ExtTLAs_sequence_of, + 1, maxnoofeNBX2ExtTLAs, FALSE); + + return offset; +} + + static int dissect_s1ap_E_RAB_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -6873,6 +7488,14 @@ static int dissect_ConcurrentWarningMessageIndicator_PDU(tvbuff_t *tvb _U_, pack offset += 7; offset >>= 3; return offset; } +static int dissect_Correlation_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_Correlation_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_Correlation_ID_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_CSFallbackIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -6945,6 +7568,14 @@ int dissect_s1ap_Global_ENB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pr offset += 7; offset >>= 3; return offset; } +static int dissect_GUMMEIList_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_GUMMEIList(tvb, offset, &asn1_ctx, tree, hf_s1ap_GUMMEIList_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_s1ap_ENB_StatusTransfer_TransparentContainer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -7025,6 +7656,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_GWContextReleaseIndication_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_GWContextReleaseIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_GWContextReleaseIndication_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_HandoverRestrictionList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -7041,6 +7680,14 @@ static int dissect_HandoverType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p offset += 7; offset >>= 3; return offset; } +static int dissect_LAI_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_LAI(tvb, offset, &asn1_ctx, tree, hf_s1ap_LAI_PDU); + 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; @@ -7049,6 +7696,22 @@ static int dissect_LPPa_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto offset += 7; offset >>= 3; return offset; } +static int dissect_MDT_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_s1ap_MDT_Configuration(tvb, offset, &asn1_ctx, tree, hf_s1ap_MDT_Configuration_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ManagementBasedMDTAllowed_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_ManagementBasedMDTAllowed(tvb, offset, &asn1_ctx, tree, hf_s1ap_ManagementBasedMDTAllowed_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; @@ -7065,6 +7728,14 @@ static int dissect_MMEname_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_ offset += 7; offset >>= 3; return offset; } +static int dissect_MMERelaySupportIndicator_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_MMERelaySupportIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMERelaySupportIndicator_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_MME_UE_S1AP_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -7137,6 +7808,14 @@ static int dissect_PagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, prot offset += 7; offset >>= 3; return offset; } +static int dissect_PagingPriority_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_PagingPriority(tvb, offset, &asn1_ctx, tree, hf_s1ap_PagingPriority_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_PS_ServiceNotAvailable_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -7153,6 +7832,14 @@ static int dissect_RelativeMMECapacity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo offset += 7; offset >>= 3; return offset; } +static int dissect_RelayNode_Indicator_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_RelayNode_Indicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_RelayNode_Indicator_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_RequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -7353,6 +8040,14 @@ static int dissect_TraceActivation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_ offset += 7; offset >>= 3; return offset; } +static int dissect_TrafficLoadReductionIndication_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_TrafficLoadReductionIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_TrafficLoadReductionIndication_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_UEAggregateMaximumBitrate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -7441,6 +8136,22 @@ static int dissect_WarningMessageContents_PDU(tvbuff_t *tvb _U_, packet_info *pi offset += 7; offset >>= 3; return offset; } +static int dissect_X2TNLConfigurationInfo_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_X2TNLConfigurationInfo(tvb, offset, &asn1_ctx, tree, hf_s1ap_X2TNLConfigurationInfo_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ENBX2ExtTLAs_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_ENBX2ExtTLAs(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBX2ExtTLAs_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_HandoverRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -8507,8 +9218,23 @@ proto_reg_handoff_s1ap(void) dissector_add_uint("s1ap.ies", id_LPPa_PDU, new_create_dissector_handle(dissect_LPPa_PDU_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_Routing_ID, new_create_dissector_handle(dissect_Routing_ID_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_PS_ServiceNotAvailable, new_create_dissector_handle(dissect_PS_ServiceNotAvailable_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_PagingPriority, new_create_dissector_handle(dissect_PagingPriority_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_GUMMEIList, new_create_dissector_handle(dissect_GUMMEIList_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_GW_TransportLayerAddress, new_create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_SourceMME_GUMMEI, new_create_dissector_handle(dissect_GUMMEI_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_MME_UE_S1AP_ID_2, new_create_dissector_handle(dissect_MME_UE_S1AP_ID_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_RegisteredLAI, new_create_dissector_handle(dissect_LAI_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_RelayNode_Indicator, new_create_dissector_handle(dissect_RelayNode_Indicator_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_TrafficLoadReductionIndication, new_create_dissector_handle(dissect_TrafficLoadReductionIndication_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_MMERelaySupportIndicator, new_create_dissector_handle(dissect_MMERelaySupportIndicator_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_GWContextReleaseIndication, new_create_dissector_handle(dissect_GWContextReleaseIndication_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_ManagementBasedMDTAllowed, new_create_dissector_handle(dissect_ManagementBasedMDTAllowed_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_Data_Forwarding_Not_Possible, new_create_dissector_handle(dissect_Data_Forwarding_Not_Possible_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_Time_Synchronization_Info, new_create_dissector_handle(dissect_TimeSynchronizationInfo_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_x2TNLConfigurationInfo, new_create_dissector_handle(dissect_X2TNLConfigurationInfo_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_eNBX2ExtendedTransportLayerAddresses, new_create_dissector_handle(dissect_ENBX2ExtTLAs_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_Correlation_ID, new_create_dissector_handle(dissect_Correlation_ID_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_MDTConfiguration, new_create_dissector_handle(dissect_MDT_Configuration_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.imsg", id_HandoverPreparation, new_create_dissector_handle(dissect_HandoverRequired_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.sout", id_HandoverPreparation, new_create_dissector_handle(dissect_HandoverCommand_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.uout", id_HandoverPreparation, new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_s1ap)); @@ -8671,6 +9397,10 @@ void proto_register_s1ap(void) { { "ConcurrentWarningMessageIndicator", "s1ap.ConcurrentWarningMessageIndicator", FT_UINT32, BASE_DEC, VALS(s1ap_ConcurrentWarningMessageIndicator_vals), 0, NULL, HFILL }}, + { &hf_s1ap_Correlation_ID_PDU, + { "Correlation-ID", "s1ap.Correlation_ID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_CSFallbackIndicator_PDU, { "CSFallbackIndicator", "s1ap.CSFallbackIndicator", FT_UINT32, BASE_DEC, VALS(s1ap_CSFallbackIndicator_vals), 0, @@ -8707,6 +9437,10 @@ void proto_register_s1ap(void) { { "Global-ENB-ID", "s1ap.Global_ENB_ID", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_GUMMEIList_PDU, + { "GUMMEIList", "s1ap.GUMMEIList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_s1ap_ENB_StatusTransfer_TransparentContainer_PDU, { "ENB-StatusTransfer-TransparentContainer", "s1ap.ENB_StatusTransfer_TransparentContainer", FT_NONE, BASE_NONE, NULL, 0, @@ -8747,6 +9481,10 @@ void proto_register_s1ap(void) { { "GUMMEI", "s1ap.GUMMEI", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_GWContextReleaseIndication_PDU, + { "GWContextReleaseIndication", "s1ap.GWContextReleaseIndication", + FT_UINT32, BASE_DEC, VALS(s1ap_GWContextReleaseIndication_vals), 0, + NULL, HFILL }}, { &hf_s1ap_HandoverRestrictionList_PDU, { "HandoverRestrictionList", "s1ap.HandoverRestrictionList", FT_NONE, BASE_NONE, NULL, 0, @@ -8755,10 +9493,22 @@ void proto_register_s1ap(void) { { "HandoverType", "s1ap.HandoverType", FT_UINT32, BASE_DEC, VALS(s1ap_HandoverType_vals), 0, NULL, HFILL }}, + { &hf_s1ap_LAI_PDU, + { "LAI", "s1ap.LAI", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_LPPa_PDU_PDU, { "LPPa-PDU", "s1ap.LPPa_PDU", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_MDT_Configuration_PDU, + { "MDT-Configuration", "s1ap.MDT_Configuration", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_ManagementBasedMDTAllowed_PDU, + { "ManagementBasedMDTAllowed", "s1ap.ManagementBasedMDTAllowed", + FT_UINT32, BASE_DEC, VALS(s1ap_ManagementBasedMDTAllowed_vals), 0, + NULL, HFILL }}, { &hf_s1ap_MessageIdentifier_PDU, { "MessageIdentifier", "s1ap.MessageIdentifier", FT_BYTES, BASE_NONE, NULL, 0, @@ -8767,6 +9517,10 @@ void proto_register_s1ap(void) { { "MMEname", "s1ap.MMEname", FT_STRING, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_MMERelaySupportIndicator_PDU, + { "MMERelaySupportIndicator", "s1ap.MMERelaySupportIndicator", + FT_UINT32, BASE_DEC, VALS(s1ap_MMERelaySupportIndicator_vals), 0, + NULL, HFILL }}, { &hf_s1ap_MME_UE_S1AP_ID_PDU, { "MME-UE-S1AP-ID", "s1ap.MME_UE_S1AP_ID", FT_UINT32, BASE_DEC, NULL, 0, @@ -8803,6 +9557,10 @@ void proto_register_s1ap(void) { { "PagingDRX", "s1ap.PagingDRX", FT_UINT32, BASE_DEC, VALS(s1ap_PagingDRX_vals), 0, NULL, HFILL }}, + { &hf_s1ap_PagingPriority_PDU, + { "PagingPriority", "s1ap.PagingPriority", + FT_UINT32, BASE_DEC, VALS(s1ap_PagingPriority_vals), 0, + NULL, HFILL }}, { &hf_s1ap_PS_ServiceNotAvailable_PDU, { "PS-ServiceNotAvailable", "s1ap.PS_ServiceNotAvailable", FT_UINT32, BASE_DEC, VALS(s1ap_PS_ServiceNotAvailable_vals), 0, @@ -8811,6 +9569,10 @@ void proto_register_s1ap(void) { { "RelativeMMECapacity", "s1ap.RelativeMMECapacity", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_RelayNode_Indicator_PDU, + { "RelayNode-Indicator", "s1ap.RelayNode_Indicator", + FT_UINT32, BASE_DEC, VALS(s1ap_RelayNode_Indicator_vals), 0, + NULL, HFILL }}, { &hf_s1ap_RequestType_PDU, { "RequestType", "s1ap.RequestType", FT_NONE, BASE_NONE, NULL, 0, @@ -8911,6 +9673,10 @@ void proto_register_s1ap(void) { { "TraceActivation", "s1ap.TraceActivation", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_TrafficLoadReductionIndication_PDU, + { "TrafficLoadReductionIndication", "s1ap.TrafficLoadReductionIndication", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_UEAggregateMaximumBitrate_PDU, { "UEAggregateMaximumBitrate", "s1ap.UEAggregateMaximumBitrate", FT_NONE, BASE_NONE, NULL, 0, @@ -8955,6 +9721,14 @@ void proto_register_s1ap(void) { { "WarningMessageContents", "s1ap.WarningMessageContents", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_X2TNLConfigurationInfo_PDU, + { "X2TNLConfigurationInfo", "s1ap.X2TNLConfigurationInfo", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_ENBX2ExtTLAs_PDU, + { "ENBX2ExtTLAs", "s1ap.ENBX2ExtTLAs", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_HandoverRequired_PDU, { "HandoverRequired", "s1ap.HandoverRequired", FT_NONE, BASE_NONE, NULL, 0, @@ -9439,6 +10213,18 @@ void proto_register_s1ap(void) { { "value", "s1ap.value", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_cellBased, + { "cellBased", "s1ap.cellBased", + FT_NONE, BASE_NONE, NULL, 0, + "CellBasedMDT", HFILL }}, + { &hf_s1ap_tABased, + { "tABased", "s1ap.tABased", + FT_NONE, BASE_NONE, NULL, 0, + "TABasedMDT", HFILL }}, + { &hf_s1ap_pLMNWide, + { "pLMNWide", "s1ap.pLMNWide", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_priorityLevel, { "priorityLevel", "s1ap.priorityLevel", FT_UINT32, BASE_DEC, VALS(s1ap_PriorityLevel_vals), 0, @@ -9547,6 +10333,14 @@ void proto_register_s1ap(void) { { "CellID-Cancelled-Item", "s1ap.CellID_Cancelled_Item", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_cellIdListforMDT, + { "cellIdListforMDT", "s1ap.cellIdListforMDT", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_CellIdListforMDT_item, + { "EUTRAN-CGI", "s1ap.EUTRAN_CGI", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_cdma2000OneXMEID, { "cdma2000OneXMEID", "s1ap.cdma2000OneXMEID", FT_BYTES, BASE_NONE, NULL, 0, @@ -9675,6 +10469,10 @@ void proto_register_s1ap(void) { { "eNB-ID", "s1ap.eNB_ID", FT_UINT32, BASE_DEC, VALS(s1ap_ENB_ID_vals), 0, NULL, HFILL }}, + { &hf_s1ap_GUMMEIList_item, + { "GUMMEI", "s1ap.GUMMEI", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_bearers_SubjectToStatusTransferList, { "bearers-SubjectToStatusTransferList", "s1ap.bearers_SubjectToStatusTransferList", FT_UINT32, BASE_DEC, NULL, 0, @@ -9791,6 +10589,22 @@ void proto_register_s1ap(void) { { "forbiddenInterRATs", "s1ap.forbiddenInterRATs", FT_UINT32, BASE_DEC, VALS(s1ap_ForbiddenInterRATs_vals), 0, NULL, HFILL }}, + { &hf_s1ap_measurementsToActivate, + { "measurementsToActivate", "s1ap.measurementsToActivate", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_reportingTriggerMDT, + { "reportingTriggerMDT", "s1ap.reportingTriggerMDT", + FT_UINT32, BASE_DEC, VALS(s1ap_ReportingTriggerMDT_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_thresholdeventA2, + { "thresholdeventA2", "s1ap.thresholdeventA2", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_periodicReportingMDT, + { "periodicReportingMDT", "s1ap.periodicReportingMDT", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_e_UTRAN_Cell, { "e-UTRAN-Cell", "s1ap.e_UTRAN_Cell", FT_NONE, BASE_NONE, NULL, 0, @@ -9819,10 +10633,54 @@ void proto_register_s1ap(void) { { "undefined", "s1ap.undefined", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_loggingInterval, + { "loggingInterval", "s1ap.loggingInterval", + FT_UINT32, BASE_DEC, VALS(s1ap_LoggingInterval_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_loggingDuration, + { "loggingDuration", "s1ap.loggingDuration", + FT_UINT32, BASE_DEC, VALS(s1ap_LoggingDuration_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_mdt_Activation, + { "mdt-Activation", "s1ap.mdt_Activation", + FT_UINT32, BASE_DEC, VALS(s1ap_MDT_Activation_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_areaScopeOfMDT, + { "areaScopeOfMDT", "s1ap.areaScopeOfMDT", + FT_UINT32, BASE_DEC, VALS(s1ap_AreaScopeOfMDT_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_mDTMode, + { "mDTMode", "s1ap.mDTMode", + FT_UINT32, BASE_DEC, VALS(s1ap_MDTMode_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_immediateMDT, + { "immediateMDT", "s1ap.immediateMDT", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_loggedMDT, + { "loggedMDT", "s1ap.loggedMDT", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_threshold_RSRP, + { "threshold-RSRP", "s1ap.threshold_RSRP", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_threshold_RSRQ, + { "threshold-RSRQ", "s1ap.threshold_RSRQ", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_overloadAction, { "overloadAction", "s1ap.overloadAction", FT_UINT32, BASE_DEC, VALS(s1ap_OverloadAction_vals), 0, NULL, HFILL }}, + { &hf_s1ap_reportInterval, + { "reportInterval", "s1ap.reportInterval", + FT_UINT32, BASE_DEC, VALS(s1ap_ReportIntervalMDT_vals), 0, + "ReportIntervalMDT", HFILL }}, + { &hf_s1ap_reportAmount, + { "reportAmount", "s1ap.reportAmount", + FT_UINT32, BASE_DEC, VALS(s1ap_ReportAmountMDT_vals), 0, + "ReportAmountMDT", HFILL }}, { &hf_s1ap_eventType, { "eventType", "s1ap.eventType", FT_UINT32, BASE_DEC, VALS(s1ap_EventType_vals), 0, @@ -9987,6 +10845,14 @@ void proto_register_s1ap(void) { { "cancelledCellinTAI", "s1ap.cancelledCellinTAI", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_tAListforMDT, + { "tAListforMDT", "s1ap.tAListforMDT", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_TAListforMDT_item, + { "TAC", "s1ap.TAC", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_CompletedCellinTAI_item, { "CompletedCellinTAI-Item", "s1ap.CompletedCellinTAI_Item", FT_NONE, BASE_NONE, NULL, 0, @@ -10003,6 +10869,10 @@ void proto_register_s1ap(void) { { "extendedRNC-ID", "s1ap.extendedRNC_ID", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_measurementThreshold, + { "measurementThreshold", "s1ap.measurementThreshold", + FT_UINT32, BASE_DEC, VALS(s1ap_MeasurementThresholdA2_vals), 0, + "MeasurementThresholdA2", HFILL }}, { &hf_s1ap_e_UTRAN_Trace_ID, { "e-UTRAN-Trace-ID", "s1ap.e_UTRAN_Trace_ID", FT_BYTES, BASE_NONE, NULL, 0, @@ -10075,6 +10945,22 @@ void proto_register_s1ap(void) { { "eNBX2TransportLayerAddresses", "s1ap.eNBX2TransportLayerAddresses", FT_UINT32, BASE_DEC, NULL, 0, "ENBX2TLAs", HFILL }}, + { &hf_s1ap_ENBX2ExtTLAs_item, + { "ENBX2ExtTLA", "s1ap.ENBX2ExtTLA", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_iPsecTLA, + { "iPsecTLA", "s1ap.iPsecTLA", + FT_BYTES, BASE_NONE, NULL, 0, + "TransportLayerAddress", HFILL }}, + { &hf_s1ap_gTPTLAa, + { "gTPTLAa", "s1ap.gTPTLAa", + FT_UINT32, BASE_DEC, NULL, 0, + "ENBX2GTPTLAs", HFILL }}, + { &hf_s1ap_ENBX2GTPTLAs_item, + { "TransportLayerAddress", "s1ap.TransportLayerAddress", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_protocolIEs, { "protocolIEs", "s1ap.protocolIEs", FT_UINT32, BASE_DEC, NULL, 0, @@ -10348,6 +11234,7 @@ void proto_register_s1ap(void) { &ett_s1ap_ProtocolExtensionField, &ett_s1ap_PrivateIE_Container, &ett_s1ap_PrivateIE_Field, + &ett_s1ap_AreaScopeOfMDT, &ett_s1ap_AllocationAndRetentionPriority, &ett_s1ap_Bearers_SubjectToStatusTransferList, &ett_s1ap_Bearers_SubjectToStatusTransfer_Item, @@ -10363,6 +11250,8 @@ void proto_register_s1ap(void) { &ett_s1ap_CellID_Broadcast_Item, &ett_s1ap_CellID_Cancelled, &ett_s1ap_CellID_Cancelled_Item, + &ett_s1ap_CellBasedMDT, + &ett_s1ap_CellIdListforMDT, &ett_s1ap_Cdma2000OneXSRVCCInfo, &ett_s1ap_CellType, &ett_s1ap_CGI, @@ -10383,6 +11272,7 @@ void proto_register_s1ap(void) { &ett_s1ap_ENB_ID, &ett_s1ap_GERAN_Cell_ID, &ett_s1ap_Global_ENB_ID, + &ett_s1ap_GUMMEIList, &ett_s1ap_ENB_StatusTransfer_TransparentContainer, &ett_s1ap_ENBX2TLAs, &ett_s1ap_EPLMNs, @@ -10401,11 +11291,17 @@ void proto_register_s1ap(void) { &ett_s1ap_GBR_QosInformation, &ett_s1ap_GUMMEI, &ett_s1ap_HandoverRestrictionList, + &ett_s1ap_ImmediateMDT, &ett_s1ap_LAI, &ett_s1ap_LastVisitedCell_Item, &ett_s1ap_LastVisitedEUTRANCellInformation, &ett_s1ap_LastVisitedGERANCellInformation, + &ett_s1ap_LoggedMDT, + &ett_s1ap_MDT_Configuration, + &ett_s1ap_MDTMode, + &ett_s1ap_MeasurementThresholdA2, &ett_s1ap_OverloadResponse, + &ett_s1ap_PeriodicReportingMDT, &ett_s1ap_RequestType, &ett_s1ap_RIMTransfer, &ett_s1ap_RIMRoutingAddress, @@ -10430,12 +11326,15 @@ void proto_register_s1ap(void) { &ett_s1ap_TAI_Broadcast_Item, &ett_s1ap_TAI_Cancelled, &ett_s1ap_TAI_Cancelled_Item, + &ett_s1ap_TABasedMDT, + &ett_s1ap_TAListforMDT, &ett_s1ap_CompletedCellinTAI, &ett_s1ap_CompletedCellinTAI_Item, &ett_s1ap_TargetID, &ett_s1ap_TargeteNB_ID, &ett_s1ap_TargetRNC_ID, &ett_s1ap_TargeteNB_ToSourceeNB_TransparentContainer, + &ett_s1ap_ThresholdEventA2, &ett_s1ap_TraceActivation, &ett_s1ap_UEAggregateMaximumBitrate, &ett_s1ap_UE_S1AP_IDs, @@ -10446,6 +11345,9 @@ void proto_register_s1ap(void) { &ett_s1ap_UESecurityCapabilities, &ett_s1ap_WarningAreaList, &ett_s1ap_X2TNLConfigurationInfo, + &ett_s1ap_ENBX2ExtTLAs, + &ett_s1ap_ENBX2ExtTLA, + &ett_s1ap_ENBX2GTPTLAs, &ett_s1ap_HandoverRequired, &ett_s1ap_HandoverCommand, &ett_s1ap_E_RABDataForwardingItem, |