From 483c4a61d5310f91cd08114cc084656f40754895 Mon Sep 17 00:00:00 2001 From: Pascal Quantin Date: Sat, 1 Oct 2016 23:46:13 +0200 Subject: [PATCH] S1AP: upgrade dissector to v13.4.0 Change-Id: I140c40a93dce2ffdf7c144701bc3886d5366f951 Reviewed-on: https://code.wireshark.org/review/18012 Reviewed-by: Pascal Quantin Petri-Dish: Pascal Quantin Tested-by: Petri Dish Buildbot Reviewed-by: Anders Broman --- .../asn1/s1ap/S1AP-CommonDataTypes.asn | 6 +- epan/dissectors/asn1/s1ap/S1AP-Constants.asn | 26 +- epan/dissectors/asn1/s1ap/S1AP-Containers.asn | 17 +- epan/dissectors/asn1/s1ap/S1AP-IEs.asn | 96 ++++--- .../asn1/s1ap/S1AP-PDU-Contents.asn | 40 ++- .../asn1/s1ap/S1AP-PDU-Descriptions.asn | 17 +- .../asn1/s1ap/S1AP-SonTransfer-IEs.asn | 3 - .../asn1/s1ap/packet-s1ap-template.c | 2 +- epan/dissectors/asn1/s1ap/s1ap.cnf | 12 +- epan/dissectors/packet-s1ap.c | 264 ++++++++++++------ 10 files changed, 298 insertions(+), 185 deletions(-) diff --git a/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn b/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn index 88a809b05d..bdc22be9f0 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.413 V13.3.0 (2016-07-01) +-- 3GPP TS 36.413 V13.4.0 (2016-09) -- 9.3.5 Common Definitions -- ************************************************************** -- @@ -7,10 +7,10 @@ -- ************************************************************** S1AP-CommonDataTypes { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-CommonDataTypes (3) } -DEFINITIONS AUTOMATIC TAGS ::= +DEFINITIONS AUTOMATIC TAGS ::= BEGIN diff --git a/epan/dissectors/asn1/s1ap/S1AP-Constants.asn b/epan/dissectors/asn1/s1ap/S1AP-Constants.asn index 1023382244..74b6362e58 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-Constants.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-Constants.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.413 V13.3.0 (2016-07-01) +-- 3GPP TS 36.413 V13.4.0 (2016-09) -- 9.3.6 Constant Definitions -- ************************************************************** -- @@ -6,12 +6,11 @@ -- -- ************************************************************** +S1AP-Constants { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) } -S1AP-Constants { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) -eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Constants (4) } - -DEFINITIONS AUTOMATIC TAGS ::= +DEFINITIONS AUTOMATIC TAGS ::= BEGIN @@ -121,11 +120,11 @@ maxnoofForbTACs INTEGER ::= 4096 maxnoofIndividualS1ConnectionsToReset INTEGER ::= 256 maxnoofCells INTEGER ::= 16 maxnoofCellsineNB INTEGER ::= 256 -maxnoofTAIforWarning INTEGER ::= 65535 -maxnoofCellID INTEGER ::= 65535 -maxnoofEmergencyAreaID INTEGER ::= 65535 -maxnoofCellinTAI INTEGER ::= 65535 -maxnoofCellinEAI INTEGER ::= 65535 +maxnoofTAIforWarning INTEGER ::= 65535 +maxnoofCellID INTEGER ::= 65535 +maxnoofEmergencyAreaID INTEGER ::= 65535 +maxnoofCellinTAI INTEGER ::= 65535 +maxnoofCellinEAI INTEGER ::= 65535 maxnoofeNBX2TLAs INTEGER ::= 2 maxnoofeNBX2ExtTLAs INTEGER ::= 16 maxnoofeNBX2GTPTLAs INTEGER ::= 16 @@ -400,5 +399,8 @@ id-NB-IoT-Paging-eDRXInformation ProtocolIE-ID ::= 239 --WS extension id-Unknown-240 ProtocolIE-ID ::= 240 id-UEUserPlaneCIoTSupportIndicator ProtocolIE-ID ::= 241 -END +id-CE-mode-B-SupportIndicator ProtocolIE-ID ::= 242 +id-SRVCCOperationNotPossible ProtocolIE-ID ::= 243 +id-NB-IoT-UEIdentityIndexValue ProtocolIE-ID ::= 244 +END diff --git a/epan/dissectors/asn1/s1ap/S1AP-Containers.asn b/epan/dissectors/asn1/s1ap/S1AP-Containers.asn index 6b92c914bd..e527268c32 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-Containers.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-Containers.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.413 V13.3.0 (2016-07-01) +-- 3GPP TS 36.413 V13.4.0 (2016-09) -- 9.3.7 Container Definitions -- ************************************************************** -- @@ -6,12 +6,11 @@ -- -- ************************************************************** - S1AP-Containers { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-Containers (5) } -DEFINITIONS AUTOMATIC TAGS ::= +DEFINITIONS AUTOMATIC TAGS ::= BEGIN @@ -120,11 +119,11 @@ WITH SYNTAX { -- -- ************************************************************** -ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::= +ProtocolIE-Container {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE (SIZE (0..maxProtocolIEs)) OF ProtocolIE-Field {{IEsSetParam}} -ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::= +ProtocolIE-SingleContainer {S1AP-PROTOCOL-IES : IEsSetParam} ::= ProtocolIE-Field {{IEsSetParam}} ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { @@ -139,7 +138,7 @@ ProtocolIE-Field {S1AP-PROTOCOL-IES : IEsSetParam} ::= SEQUENCE { -- -- ************************************************************** -ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= +ProtocolIE-ContainerPair {S1AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= SEQUENCE (SIZE (0..maxProtocolIEs)) OF ProtocolIE-FieldPair {{IEsSetParam}} @@ -171,7 +170,7 @@ ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, S1AP-P -- -- ************************************************************** -ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= +ProtocolExtensionContainer {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENCE (SIZE (1..maxProtocolExtensions)) OF ProtocolExtensionField {{ExtensionSetParam}} @@ -187,7 +186,7 @@ ProtocolExtensionField {S1AP-PROTOCOL-EXTENSION : ExtensionSetParam} ::= SEQUENC -- -- ************************************************************** -PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::= +PrivateIE-Container {S1AP-PRIVATE-IES : IEsSetParam } ::= SEQUENCE (SIZE (1.. maxPrivateIEs)) OF PrivateIE-Field {{IEsSetParam}} diff --git a/epan/dissectors/asn1/s1ap/S1AP-IEs.asn b/epan/dissectors/asn1/s1ap/S1AP-IEs.asn index 13ae7615fe..e57e88f865 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-IEs.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-IEs.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.413 V13.3.0 (2016-07-01) +-- 3GPP TS 36.413 V13.4.0 (2016-09) -- 9.3.4 Information Element Definitions -- ************************************************************** -- @@ -7,10 +7,10 @@ -- ************************************************************** S1AP-IEs { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-IEs (2) } -DEFINITIONS AUTOMATIC TAGS ::= +DEFINITIONS AUTOMATIC TAGS ::= BEGIN @@ -98,7 +98,7 @@ FROM S1AP-CommonDataTypes ProtocolIE-SingleContainer{}, S1AP-PROTOCOL-IES -FROM S1AP-Containers; +FROM S1AP-Containers; -- A @@ -113,7 +113,7 @@ Additional-GUTI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } -AreaScopeOfMDT ::= CHOICE { +AreaScopeOfMDT ::= CHOICE { cellBased CellBasedMDT, tABased TABasedMDT, pLMNWide NULL, @@ -156,7 +156,7 @@ AssistanceDataForPaging-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { } AssistanceDataForRecommendedCells ::= SEQUENCE { - recommendedCellsForPaging RecommendedCellsForPaging, + recommendedCellsForPaging RecommendedCellsForPaging, iE-Extensions ProtocolExtensionContainer { { AssistanceDataForRecommendedCells-ExtIEs} } OPTIONAL, ... } @@ -198,7 +198,7 @@ BearerType ::= ENUMERATED { ... } -BitRate ::= INTEGER (0..10000000000) +BitRate ::= INTEGER (0..10000000000) BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity @@ -280,8 +280,8 @@ CauseRadioNetwork ::= ENUMERATED { tx2relocoverall-expiry, successful-handover, release-due-to-eutran-generated-reason, - handover-cancelled, - partial-handover, + handover-cancelled, + partial-handover, ho-failure-in-target-EPC-eNB-or-target-system, ho-target-not-allowed, tS1relocoverall-expiry, @@ -335,7 +335,7 @@ CauseNas ::= ENUMERATED { } CellAccessMode ::= ENUMERATED { - hybrid, + hybrid, ... } @@ -353,6 +353,11 @@ CellIdentifierAndCELevelForCECapableUEs-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { -- Coverage Enhancement level encoded according to TS 36.331 [16] -- CELevel ::= OCTET STRING +CE-mode-B-SupportIndicator ::= ENUMERATED { + supported, + ... +} + CellIdentity ::= BIT STRING (SIZE (28)) CellID-Broadcast ::= SEQUENCE (SIZE(1..maxnoofCellID)) OF CellID-Broadcast-Item @@ -462,8 +467,8 @@ CGI-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { CI ::= OCTET STRING (SIZE (2)) CNDomain ::= ENUMERATED { - ps, - cs + ps, + cs } ConcurrentWarningMessageIndicator ::= ENUMERATED { @@ -472,13 +477,13 @@ ConcurrentWarningMessageIndicator ::= ENUMERATED { Correlation-ID ::= OCTET STRING (SIZE (4)) -CSFallbackIndicator ::= ENUMERATED { +CSFallbackIndicator ::= ENUMERATED { cs-fallback-required, ..., - cs-fallback-high-priority + cs-fallback-high-priority } -AdditionalCSFallbackIndicator ::= ENUMERATED { +AdditionalCSFallbackIndicator ::= ENUMERATED { no-restriction, restriction, ... @@ -499,8 +504,8 @@ CSG-IdList-Item-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } -CSGMembershipStatus ::= ENUMERATED { - member, +CSGMembershipStatus ::= ENUMERATED { + member, not-member } @@ -646,7 +651,7 @@ ENB-ID ::= CHOICE { GERAN-Cell-ID ::= SEQUENCE { lAI LAI, - rAC RAC, + rAC RAC, cI CI, iE-Extensions ProtocolExtensionContainer { { GERAN-Cell-ID-ExtIEs} } OPTIONAL, ... @@ -800,7 +805,7 @@ ExpectedHOInterval ::= ENUMERATED { ExtendedRNC-ID ::= INTEGER (4096..65535) -ExtendedRepetitionPeriod ::= INTEGER (4096..131071) +ExtendedRepetitionPeriod ::= INTEGER (4096..131071) Extended-UEIdentityIndexValue ::= BIT STRING (SIZE (14)) @@ -895,7 +900,7 @@ HandoverRestrictionList ::= SEQUENCE { equivalentPLMNs EPLMNs OPTIONAL, forbiddenTAs ForbiddenTAs OPTIONAL, forbiddenLAs ForbiddenLAs OPTIONAL, - forbiddenInterRATs ForbiddenInterRATs OPTIONAL, + forbiddenInterRATs ForbiddenInterRATs OPTIONAL, iE-Extensions ProtocolExtensionContainer { {HandoverRestrictionList-ExtIEs} } OPTIONAL, ... } @@ -923,7 +928,7 @@ HFNforPDCP-SNlength18 ::= INTEGER (0..16383) Masked-IMEISV ::= BIT STRING (SIZE (64)) -ImmediateMDT ::= SEQUENCE { +ImmediateMDT ::= SEQUENCE { measurementsToActivate MeasurementsToActivate, m1reportingTrigger M1ReportingTrigger, m1thresholdeventA2 M1ThresholdEventA2 OPTIONAL, @@ -1019,7 +1024,7 @@ LPPa-PDU ::= OCTET STRING LHN-ID ::= OCTET STRING(SIZE (32..256)) -Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...} +Links-to-log ::= ENUMERATED {uplink, downlink, both-uplink-and-downlink, ...} ListeningSubframePattern ::= SEQUENCE { pattern-period ENUMERATED {ms1280, ms2560, ms5120, ms10240, ...}, @@ -1071,7 +1076,7 @@ M3Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } -M3period ::= ENUMERATED {ms100, ms1000, ms10000, ... } +M3period ::= ENUMERATED {ms100, ms1000, ms10000, ... } M4Configuration ::= SEQUENCE { m4period M4period, @@ -1084,7 +1089,7 @@ M4Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } -M4period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... } +M4period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... } M5Configuration ::= SEQUENCE { m5period M5period, @@ -1097,7 +1102,7 @@ M5Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } -M5period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... } +M5period ::= ENUMERATED {ms1024, ms2048, ms5120, ms10240, min1, ... } M6Configuration ::= SEQUENCE { m6report-Interval M6report-Interval, @@ -1129,7 +1134,7 @@ M7Configuration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { M7period ::= INTEGER(1..60, ...) -MDT-Activation ::= ENUMERATED { +MDT-Activation ::= ENUMERATED { immediate-MDT-only, immediate-MDT-and-Trace, logged-MDT-only, @@ -1157,7 +1162,7 @@ MBSFN-ResultToLog ::= SEQUENCE (SIZE(1..maxnoofMBSFNAreaMDT)) OF MBSFN-ResultToL MBSFN-ResultToLogInfo ::= SEQUENCE { mBSFN-AreaId INTEGER (0..255) OPTIONAL, - carrierFreq EARFCN, + carrierFreq EARFCN, iE-Extensions ProtocolExtensionContainer { { MBSFN-ResultToLogInfo-ExtIEs} } OPTIONAL, ... } @@ -1189,7 +1194,7 @@ MDTMode-ExtensionIE S1AP-PROTOCOL-IES ::= { MeasurementsToActivate ::= BIT STRING (SIZE (8)) -MeasurementThresholdA2 ::= CHOICE { +MeasurementThresholdA2 ::= CHOICE { threshold-RSRP Threshold-RSRP, threshold-RSRQ Threshold-RSRQ, ... @@ -1253,7 +1258,7 @@ NB-IoT-DefaultPagingDRX ::= ENUMERATED { ... } -NB-IoT-Paging-eDRXInformation ::= SEQUENCE { +NB-IoT-Paging-eDRXInformation ::= SEQUENCE { nB-IoT-paging-eDRX-Cycle NB-IoT-Paging-eDRX-Cycle, nB-IoT-pagingTimeWindow NB-IoT-PagingTimeWindow OPTIONAL, iE-Extensions ProtocolExtensionContainer { { NB-IoT-Paging-eDRXInformation-ExtIEs} } OPTIONAL, @@ -1268,6 +1273,8 @@ NB-IoT-Paging-eDRX-Cycle ::= ENUMERATED{hf2, hf4, hf6, hf8, hf10, hf12, hf14, hf NB-IoT-PagingTimeWindow ::= ENUMERATED{s1, s2, s3, s4, s5, s6, s7, s8, s9, s10, s11, s12, s13, s14, s15, s16, ...} +NB-IoT-UEIdentityIndexValue ::= BIT STRING (SIZE (12)) + NextPagingAreaScope ::= ENUMERATED { same, changed, @@ -1313,7 +1320,7 @@ PagingAttemptInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { PagingAttemptCount ::= INTEGER (1..16, ...) -Paging-eDRXInformation ::= SEQUENCE { +Paging-eDRXInformation ::= SEQUENCE { paging-eDRX-Cycle Paging-eDRX-Cycle, pagingTimeWindow PagingTimeWindow OPTIONAL, iE-Extensions ProtocolExtensionContainer { { Paging-eDRXInformation-ExtIEs} } OPTIONAL, @@ -1354,7 +1361,7 @@ PDCP-SNExtended ::= INTEGER (0..32767) PDCP-SNlength18 ::= INTEGER (0..262143) -M1PeriodicReporting ::= SEQUENCE { +M1PeriodicReporting ::= SEQUENCE { reportInterval ReportIntervalMDT, reportAmount ReportAmountMDT, iE-Extensions ProtocolExtensionContainer { { M1PeriodicReporting-ExtIEs} } OPTIONAL, @@ -1365,7 +1372,7 @@ M1PeriodicReporting-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } -PLMNidentity ::= TBCD-STRING +PLMNidentity ::= TBCD-STRING Port-Number ::= OCTET STRING (SIZE (2)) @@ -1393,7 +1400,7 @@ ProSeAuthorized-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } -ProSeDirectDiscovery ::= ENUMERATED { +ProSeDirectDiscovery ::= ENUMERATED { authorized, not-authorized, ... @@ -1405,7 +1412,7 @@ ProSeUEtoNetworkRelaying ::= ENUMERATED { ... } -ProSeDirectCommunication ::= ENUMERATED { +ProSeDirectCommunication ::= ENUMERATED { authorized, not-authorized, ... @@ -1499,7 +1506,7 @@ RAT-Type ::= ENUMERATED { ReportAmountMDT ::= ENUMERATED{r1, r2, r4, r8, r16, r32, r64, rinfinity} -ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60} +ReportIntervalMDT ::= ENUMERATED {ms120, ms240, ms480, ms640, ms1024, ms2048, ms5120, ms10240, min1, min6, min12, min30, min60} M1ReportingTrigger ::= ENUMERATED{ periodic, @@ -1612,7 +1619,7 @@ SONInformation-ExtensionIE S1AP-PROTOCOL-IES ::= { { ID id-SON-Information-Report CRITICALITY ignore TYPE SONInformationReport PRESENCE mandatory} } -SONInformationRequest ::= ENUMERATED { +SONInformationRequest ::= ENUMERATED { x2TNL-Configuration-Info, ..., time-Synchronisation-Info, @@ -1670,7 +1677,7 @@ SynchronisationInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { Source-ToTarget-TransparentContainer ::= OCTET STRING --- This IE includes a transparent container from the source RAN node to the target RAN node. +-- This IE includes a transparent container from the source RAN node to the target RAN node. -- The octets of the OCTET STRING are encoded according to the specifications of the target system. SourceBSS-ToTargetBSS-TransparentContainer ::= OCTET STRING @@ -1686,6 +1693,11 @@ SourceeNB-ID-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } +SRVCCOperationNotPossible ::= ENUMERATED { + notPossible, + ... +} + SRVCCOperationPossible ::= ENUMERATED { possible, ... @@ -1737,7 +1749,7 @@ ServedMMECs ::= SEQUENCE (SIZE(1.. maxnoofMMECs)) OF MME-Code ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity -SubscriberProfileIDforRFP ::= INTEGER (1..256) +SubscriberProfileIDforRFP ::= INTEGER (1..256) SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item @@ -1907,7 +1919,7 @@ TargeteNB-ToSourceeNB-TransparentContainer-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { } Target-ToSource-TransparentContainer ::= OCTET STRING --- This IE includes a transparent container from the target RAN node to the source RAN node. +-- This IE includes a transparent container from the target RAN node to the source RAN node. -- The octets of the OCTET STRING are coded according to the specifications of the target system. TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING @@ -1916,7 +1928,7 @@ TargetRNC-ToSourceRNC-TransparentContainer ::= OCTET STRING TargetBSS-ToSourceBSS-TransparentContainer ::= OCTET STRING -- This is a dummy IE used only as a reference to the actual definition in relevant specification. -M1ThresholdEventA2 ::= SEQUENCE { +M1ThresholdEventA2 ::= SEQUENCE { measurementThreshold MeasurementThresholdA2, iE-Extensions ProtocolExtensionContainer { { M1ThresholdEventA2-ExtIEs} } OPTIONAL, ... @@ -1959,7 +1971,7 @@ TraceActivation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { ... } -TraceDepth ::= ENUMERATED { +TraceDepth ::= ENUMERATED { minimum, medium, maximum, @@ -2092,7 +2104,7 @@ UEUserPlaneCIoTSupportIndicator ::= ENUMERATED { -- V -VoiceSupportMatchIndicator ::= ENUMERATED { +VoiceSupportMatchIndicator ::= ENUMERATED { supported, not-supported, ... diff --git a/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn b/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn index 14e3a0dbfb..60086c0558 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.413 V13.3.0 (2016-07-01) +-- 3GPP TS 36.413 V13.4.0 (2016-09) -- 9.3.3 PDU Definitions -- ************************************************************** -- @@ -89,6 +89,7 @@ IMPORTS SourceeNB-ToTargeteNB-TransparentContainer, SourceRNC-ToTargetRNC-TransparentContainer, SubscriberProfileIDforRFP, + SRVCCOperationNotPossible, SRVCCOperationPossible, SRVCCHOIndication, SupportedTAs, @@ -151,7 +152,9 @@ IMPORTS UE-Usage-Type, UEUserPlaneCIoTSupportIndicator, NB-IoT-DefaultPagingDRX, - NB-IoT-Paging-eDRXInformation + NB-IoT-Paging-eDRXInformation, + CE-mode-B-SupportIndicator, + NB-IoT-UEIdentityIndexValue @@ -287,6 +290,7 @@ FROM S1AP-Containers id-Source-ToTarget-TransparentContainer, id-Source-ToTarget-TransparentContainer-Secondary, id-SourceMME-UE-S1AP-ID, + id-SRVCCOperationNotPossible, id-SRVCCOperationPossible, id-SRVCCHOIndication, id-SubscriberProfileIDforRFP, @@ -371,7 +375,9 @@ FROM S1AP-Containers id-UE-Usage-Type, id-UEUserPlaneCIoTSupportIndicator, id-NB-IoT-DefaultPagingDRX, - id-NB-IoT-Paging-eDRXInformation + id-NB-IoT-Paging-eDRXInformation, + id-CE-mode-B-SupportIndicator, + id-NB-IoT-UEIdentityIndexValue FROM S1AP-Constants; @@ -568,14 +574,15 @@ HandoverRequestAcknowledge ::= SEQUENCE { } HandoverRequestAcknowledgeIEs 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-RABAdmittedList CRITICALITY ignore TYPE E-RABAdmittedList PRESENCE mandatory }| - { ID id-E-RABFailedToSetupListHOReqAck CRITICALITY ignore TYPE E-RABFailedtoSetupListHOReqAck PRESENCE optional }| - { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory }| - { ID id-CSG-Id CRITICALITY ignore TYPE CSG-Id PRESENCE optional }| - { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional }| - { ID id-CellAccessMode CRITICALITY ignore TYPE CellAccessMode 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-RABAdmittedList CRITICALITY ignore TYPE E-RABAdmittedList PRESENCE mandatory}| + { ID id-E-RABFailedToSetupListHOReqAck CRITICALITY ignore TYPE E-RABFailedtoSetupListHOReqAck PRESENCE optional}| + { ID id-Target-ToSource-TransparentContainer CRITICALITY reject TYPE Target-ToSource-TransparentContainer PRESENCE mandatory}| + { ID id-CSG-Id CRITICALITY ignore TYPE CSG-Id PRESENCE optional}| + { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| + { ID id-CellAccessMode CRITICALITY ignore TYPE CellAccessMode PRESENCE optional}| + { ID id-CE-mode-B-SupportIndicator CRITICALITY ignore TYPE CE-mode-B-SupportIndicator PRESENCE optional}, ... } @@ -1271,7 +1278,8 @@ PagingIEs S1AP-PROTOCOL-IES ::= { { ID id-AssistanceDataForPaging CRITICALITY ignore TYPE AssistanceDataForPaging PRESENCE optional}| { ID id-Paging-eDRXInformation CRITICALITY ignore TYPE Paging-eDRXInformation PRESENCE optional}| { ID id-extended-UEIdentityIndexValue CRITICALITY ignore TYPE Extended-UEIdentityIndexValue PRESENCE optional}| - { ID id-NB-IoT-Paging-eDRXInformation CRITICALITY ignore TYPE NB-IoT-Paging-eDRXInformation PRESENCE optional}, + { ID id-NB-IoT-Paging-eDRXInformation CRITICALITY ignore TYPE NB-IoT-Paging-eDRXInformation PRESENCE optional}| + { ID id-NB-IoT-UEIdentityIndexValue CRITICALITY ignore TYPE NB-IoT-UEIdentityIndexValue PRESENCE optional}, ... } @@ -1388,7 +1396,9 @@ UEContextModificationRequestIEs S1AP-PROTOCOL-IES ::= { { ID id-CSGMembershipStatus CRITICALITY ignore TYPE CSGMembershipStatus PRESENCE optional}| { ID id-RegisteredLAI CRITICALITY ignore TYPE LAI PRESENCE optional}| { ID id-AdditionalCSFallbackIndicator CRITICALITY ignore TYPE AdditionalCSFallbackIndicator PRESENCE conditional}| - { ID id-ProSeAuthorized CRITICALITY ignore TYPE ProSeAuthorized PRESENCE optional}, + { ID id-ProSeAuthorized CRITICALITY ignore TYPE ProSeAuthorized PRESENCE optional}| + { ID id-SRVCCOperationPossible CRITICALITY ignore TYPE SRVCCOperationPossible PRESENCE optional}| + { ID id-SRVCCOperationNotPossible CRITICALITY ignore TYPE SRVCCOperationNotPossible PRESENCE optional}, ... } -- ************************************************************** @@ -1528,7 +1538,8 @@ InitialUEMessage-IEs S1AP-PROTOCOL-IES ::= { { ID id-SIPTO-L-GW-TransportLayerAddress CRITICALITY ignore TYPE TransportLayerAddress PRESENCE optional}| { ID id-LHN-ID CRITICALITY ignore TYPE LHN-ID PRESENCE optional}| { ID id-MME-Group-ID CRITICALITY ignore TYPE MME-Group-ID PRESENCE optional}| - { ID id-UE-Usage-Type CRITICALITY ignore TYPE UE-Usage-Type PRESENCE optional}, + { ID id-UE-Usage-Type CRITICALITY ignore TYPE UE-Usage-Type PRESENCE optional}| + { ID id-CE-mode-B-SupportIndicator CRITICALITY ignore TYPE CE-mode-B-SupportIndicator PRESENCE optional}, ... } @@ -2863,4 +2874,3 @@ ConnectionEstablishmentIndicationIEs S1AP-PROTOCOL-IES ::= { } END - diff --git a/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn b/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn index 478141c844..ac33a8a884 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.413 V13.3.0 (2016-07-01) +-- 3GPP TS 36.413 V13.4.0 (2016-09) -- 9.3.2 Elementary Procedure Definitions -- ************************************************************** -- @@ -6,11 +6,11 @@ -- -- ************************************************************** -S1AP-PDU-Descriptions { -itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) +S1AP-PDU-Descriptions { +itu-t (0) identified-organization (4) etsi (0) mobileDomain (0) eps-Access (21) modules (3) s1ap (1) version1 (1) s1ap-PDU-Descriptions (0)} -DEFINITIONS AUTOMATIC TAGS ::= +DEFINITIONS AUTOMATIC TAGS ::= BEGIN @@ -66,7 +66,7 @@ FROM S1AP-CommonDataTypes Paging, PathSwitchRequest, PathSwitchRequestAcknowledge, - PathSwitchRequestFailure, + PathSwitchRequestFailure, PrivateMessage, Reset, ResetAcknowledge, @@ -115,7 +115,7 @@ FROM S1AP-CommonDataTypes FROM S1AP-PDU-Contents - + id-CellTrafficTrace, id-DeactivateTrace, id-downlinkUEAssociatedLPPaTransport, @@ -236,7 +236,7 @@ UnsuccessfulOutcome ::= SEQUENCE { S1AP-ELEMENTARY-PROCEDURES S1AP-ELEMENTARY-PROCEDURE ::= { S1AP-ELEMENTARY-PROCEDURES-CLASS-1 | - S1AP-ELEMENTARY-PROCEDURES-CLASS-2, + S1AP-ELEMENTARY-PROCEDURES-CLASS-2, ... } @@ -266,7 +266,7 @@ S1AP-ELEMENTARY-PROCEDURES-CLASS-1 S1AP-ELEMENTARY-PROCEDURE ::= { uEContextResume } -S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= { +S1AP-ELEMENTARY-PROCEDURES-CLASS-2 S1AP-ELEMENTARY-PROCEDURE ::= { handoverNotification | e-RABReleaseIndication | paging | @@ -683,4 +683,3 @@ connectionEstablishmentIndication S1AP-ELEMENTARY-PROCEDURE ::= { } END - diff --git a/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn b/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn index 2c2cfc4c34..258ecd54e3 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn @@ -7,9 +7,6 @@ -- using the same rules as applicable for the S1AP-IEs module. -- -- ************************************************************** - - - SonTransfer-IEs DEFINITIONS AUTOMATIC TAGS ::= diff --git a/epan/dissectors/asn1/s1ap/packet-s1ap-template.c b/epan/dissectors/asn1/s1ap/packet-s1ap-template.c index 9c059803f8..732f7b5f89 100644 --- a/epan/dissectors/asn1/s1ap/packet-s1ap-template.c +++ b/epan/dissectors/asn1/s1ap/packet-s1ap-template.c @@ -22,7 +22,7 @@ * * Based on the RANAP dissector * - * References: 3GPP TS 36.413 V13.3.0 (2016-06) + * References: 3GPP TS 36.413 V13.4.0 (2016-09) */ #include "config.h" diff --git a/epan/dissectors/asn1/s1ap/s1ap.cnf b/epan/dissectors/asn1/s1ap/s1ap.cnf index caf56ece52..28214868a0 100644 --- a/epan/dissectors/asn1/s1ap/s1ap.cnf +++ b/epan/dissectors/asn1/s1ap/s1ap.cnf @@ -1370,6 +1370,9 @@ id-E-RABFailedToResumeListResumeRes ProtocolIE-ID id-E-RABFailedToResumeItemResumeRes ProtocolIE-ID id-NB-IoT-Paging-eDRXInformation ProtocolIE-ID id-UEUserPlaneCIoTSupportIndicator ProtocolIE-ID +id-CE-mode-B-SupportIndicator ProtocolIE-ID +id-SRVCCOperationNotPossible ProtocolIE-ID +id-NB-IoT-UEIdentityIndexValue ProtocolIE-ID #.END #.REGISTER @@ -1554,8 +1557,6 @@ Paging-eDRXInformation N s1ap.ies id-Paging-eDRXInforma UE-RetentionInformation N s1ap.ies id-UE-RetentionInformation UE-Usage-Type N s1ap.ies id-UE-Usage-Type Extended-UEIdentityIndexValue N s1ap.ies id-extended-UEIdentityIndexValue -RAT-Type N s1ap.extension id-RAT-Type -BearerType N s1ap.extension id-BearerType NB-IoT-DefaultPagingDRX N s1ap.ies id-NB-IoT-DefaultPagingDRX E-RABFailedToResumeListResumeReq N s1ap.ies id-E-RABFailedToResumeListResumeReq E-RABFailedToResumeItemResumeReq N s1ap.ies id-E-RABFailedToResumeItemResumeReq @@ -1563,7 +1564,10 @@ E-RABFailedToResumeListResumeRes N s1ap.ies id-E-RABFailedToResum E-RABFailedToResumeItemResumeRes N s1ap.ies id-E-RABFailedToResumeItemResumeRes NB-IoT-Paging-eDRXInformation N s1ap.ies id-NB-IoT-Paging-eDRXInformation UEUserPlaneCIoTSupportIndicator N s1ap.ies id-UEUserPlaneCIoTSupportIndicator - +CE-mode-B-SupportIndicator N s1ap.ies id-CE-mode-B-SupportIndicator +NB-IoT-UEIdentityIndexValue N s1ap.ies id-NB-IoT-UEIdentityIndexValue +SRVCCOperationPossible N s1ap.ies id-SRVCCOperationPossible +SRVCCOperationNotPossible N s1ap.ies id-SRVCCOperationNotPossible #S1AP-PROTOCOL-IES-PAIR #RAB-SetupOrModifyItemFirst N s1ap.ies.pair.first id-RAB-SetupOrModifyItem @@ -1604,6 +1608,8 @@ COUNTvaluePDCP-SNlength18 N s1ap.extension id-DLCOUNTValuePDCP-SNl ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 N s1ap.extension id-ReceiveStatusOfULPDCPSDUsPDCP-SNlength18 M6Configuration N s1ap.extension id-M6Configuration M7Configuration N s1ap.extension id-M7Configuration +RAT-Type N s1ap.extension id-RAT-Type +BearerType N s1ap.extension id-BearerType #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 e20d490343..6b566281ae 100644 --- a/epan/dissectors/packet-s1ap.c +++ b/epan/dissectors/packet-s1ap.c @@ -30,7 +30,7 @@ * * Based on the RANAP dissector * - * References: 3GPP TS 36.413 V13.3.0 (2016-06) + * References: 3GPP TS 36.413 V13.4.0 (2016-09) */ #include "config.h" @@ -417,7 +417,10 @@ typedef enum _ProtocolIE_ID_enum { id_E_RABFailedToResumeItemResumeRes = 238, id_NB_IoT_Paging_eDRXInformation = 239, id_Unknown_240 = 240, - id_UEUserPlaneCIoTSupportIndicator = 241 + id_UEUserPlaneCIoTSupportIndicator = 241, + id_CE_mode_B_SupportIndicator = 242, + id_SRVCCOperationNotPossible = 243, + id_NB_IoT_UEIdentityIndexValue = 244 } ProtocolIE_ID_enum; typedef enum _RAT_Type_enum { @@ -477,6 +480,7 @@ static int hf_s1ap_BroadcastCompletedAreaList_PDU = -1; /* BroadcastCompletedAr static int hf_s1ap_Cause_PDU = -1; /* Cause */ static int hf_s1ap_CellAccessMode_PDU = -1; /* CellAccessMode */ static int hf_s1ap_CellIdentifierAndCELevelForCECapableUEs_PDU = -1; /* CellIdentifierAndCELevelForCECapableUEs */ +static int hf_s1ap_CE_mode_B_SupportIndicator_PDU = -1; /* CE_mode_B_SupportIndicator */ static int hf_s1ap_Cdma2000PDU_PDU = -1; /* Cdma2000PDU */ static int hf_s1ap_Cdma2000RATType_PDU = -1; /* Cdma2000RATType */ static int hf_s1ap_Cdma2000SectorID_PDU = -1; /* Cdma2000SectorID */ @@ -550,6 +554,7 @@ static int hf_s1ap_NASSecurityParametersfromE_UTRAN_PDU = -1; /* NASSecurityPar static int hf_s1ap_NASSecurityParameterstoE_UTRAN_PDU = -1; /* NASSecurityParameterstoE_UTRAN */ static int hf_s1ap_NB_IoT_DefaultPagingDRX_PDU = -1; /* NB_IoT_DefaultPagingDRX */ static int hf_s1ap_NB_IoT_Paging_eDRXInformation_PDU = -1; /* NB_IoT_Paging_eDRXInformation */ +static int hf_s1ap_NB_IoT_UEIdentityIndexValue_PDU = -1; /* NB_IoT_UEIdentityIndexValue */ static int hf_s1ap_NumberofBroadcastRequest_PDU = -1; /* NumberofBroadcastRequest */ static int hf_s1ap_OverloadResponse_PDU = -1; /* OverloadResponse */ static int hf_s1ap_Paging_eDRXInformation_PDU = -1; /* Paging_eDRXInformation */ @@ -577,6 +582,7 @@ static int hf_s1ap_SONInformationReport_PDU = -1; /* SONInformationReport */ static int hf_s1ap_SONConfigurationTransfer_PDU = -1; /* SONConfigurationTransfer */ static int hf_s1ap_SynchronisationInformation_PDU = -1; /* SynchronisationInformation */ static int hf_s1ap_Source_ToTarget_TransparentContainer_PDU = -1; /* Source_ToTarget_TransparentContainer */ +static int hf_s1ap_SRVCCOperationNotPossible_PDU = -1; /* SRVCCOperationNotPossible */ static int hf_s1ap_SRVCCOperationPossible_PDU = -1; /* SRVCCOperationPossible */ static int hf_s1ap_SRVCCHOIndication_PDU = -1; /* SRVCCHOIndication */ static int hf_s1ap_SourceeNB_ToTargeteNB_TransparentContainer_PDU = -1; /* SourceeNB_ToTargeteNB_TransparentContainer */ @@ -2106,6 +2112,9 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = { { id_NB_IoT_Paging_eDRXInformation, "id-NB-IoT-Paging-eDRXInformation" }, { id_Unknown_240, "id-Unknown-240" }, { id_UEUserPlaneCIoTSupportIndicator, "id-UEUserPlaneCIoTSupportIndicator" }, + { id_CE_mode_B_SupportIndicator, "id-CE-mode-B-SupportIndicator" }, + { id_SRVCCOperationNotPossible, "id-SRVCCOperationNotPossible" }, + { id_NB_IoT_UEIdentityIndexValue, "id-NB-IoT-UEIdentityIndexValue" }, { 0, NULL } }; @@ -3421,7 +3430,7 @@ static value_string_ext s1ap_CauseRadioNetwork_vals_ext = VALUE_STRING_EXT_INIT( static int dissect_s1ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1933 "./asn1/s1ap/s1ap.cnf" +#line 1939 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 36, &value, TRUE, 3, NULL); @@ -3443,7 +3452,7 @@ const value_string s1ap_CauseTransport_vals[] = { static int dissect_s1ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1938 "./asn1/s1ap/s1ap.cnf" +#line 1944 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, &value, TRUE, 0, NULL); @@ -3468,7 +3477,7 @@ const value_string s1ap_CauseNas_vals[] = { static int dissect_s1ap_CauseNas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1943 "./asn1/s1ap/s1ap.cnf" +#line 1949 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, &value, TRUE, 1, NULL); @@ -3495,7 +3504,7 @@ const value_string s1ap_CauseProtocol_vals[] = { static int dissect_s1ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1948 "./asn1/s1ap/s1ap.cnf" +#line 1954 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, &value, TRUE, 0, NULL); @@ -3521,7 +3530,7 @@ const value_string s1ap_CauseMisc_vals[] = { static int dissect_s1ap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1953 "./asn1/s1ap/s1ap.cnf" +#line 1959 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, &value, TRUE, 0, NULL); @@ -3577,6 +3586,21 @@ dissect_s1ap_CellAccessMode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const value_string s1ap_CE_mode_B_SupportIndicator_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_CE_mode_B_SupportIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + static int dissect_s1ap_Cdma2000PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -6277,6 +6301,16 @@ dissect_s1ap_NB_IoT_Paging_eDRXInformation(tvbuff_t *tvb _U_, int offset _U_, as +static int +dissect_s1ap_NB_IoT_UEIdentityIndexValue(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, + 12, 12, FALSE, NULL, NULL); + + return offset; +} + + + static int dissect_s1ap_NumberofBroadcastRequest(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, @@ -7257,6 +7291,21 @@ dissect_s1ap_Source_ToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset +static const value_string s1ap_SRVCCOperationNotPossible_vals[] = { + { 0, "notPossible" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_SRVCCOperationNotPossible(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_SRVCCOperationPossible_vals[] = { { 0, "possible" }, { 0, NULL } @@ -8260,7 +8309,7 @@ static const per_sequence_t HandoverPreparationFailure_sequence[] = { static int dissect_s1ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1759 "./asn1/s1ap/s1ap.cnf" +#line 1765 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8398,7 +8447,7 @@ static const per_sequence_t HandoverFailure_sequence[] = { static int dissect_s1ap_HandoverFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1765 "./asn1/s1ap/s1ap.cnf" +#line 1771 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8415,7 +8464,7 @@ static const per_sequence_t HandoverNotify_sequence[] = { static int dissect_s1ap_HandoverNotify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1767 "./asn1/s1ap/s1ap.cnf" +#line 1773 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverNotify"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8432,7 +8481,7 @@ static const per_sequence_t PathSwitchRequest_sequence[] = { static int dissect_s1ap_PathSwitchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1769 "./asn1/s1ap/s1ap.cnf" +#line 1775 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8475,7 +8524,7 @@ static const per_sequence_t PathSwitchRequestAcknowledge_sequence[] = { static int dissect_s1ap_PathSwitchRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1771 "./asn1/s1ap/s1ap.cnf" +#line 1777 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8518,7 +8567,7 @@ static const per_sequence_t PathSwitchRequestFailure_sequence[] = { static int dissect_s1ap_PathSwitchRequestFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1773 "./asn1/s1ap/s1ap.cnf" +#line 1779 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8535,7 +8584,7 @@ static const per_sequence_t HandoverCancel_sequence[] = { static int dissect_s1ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1775 "./asn1/s1ap/s1ap.cnf" +#line 1781 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8552,7 +8601,7 @@ static const per_sequence_t HandoverCancelAcknowledge_sequence[] = { static int dissect_s1ap_HandoverCancelAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1777 "./asn1/s1ap/s1ap.cnf" +#line 1783 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancelAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8569,7 +8618,7 @@ static const per_sequence_t E_RABSetupRequest_sequence[] = { static int dissect_s1ap_E_RABSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1779 "./asn1/s1ap/s1ap.cnf" +#line 1785 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8619,7 +8668,7 @@ static const per_sequence_t E_RABSetupResponse_sequence[] = { static int dissect_s1ap_E_RABSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1781 "./asn1/s1ap/s1ap.cnf" +#line 1787 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8667,7 +8716,7 @@ static const per_sequence_t E_RABModifyRequest_sequence[] = { static int dissect_s1ap_E_RABModifyRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1783 "./asn1/s1ap/s1ap.cnf" +#line 1789 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8715,7 +8764,7 @@ static const per_sequence_t E_RABModifyResponse_sequence[] = { static int dissect_s1ap_E_RABModifyResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1785 "./asn1/s1ap/s1ap.cnf" +#line 1791 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8761,7 +8810,7 @@ static const per_sequence_t E_RABReleaseCommand_sequence[] = { static int dissect_s1ap_E_RABReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1787 "./asn1/s1ap/s1ap.cnf" +#line 1793 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseCommand"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8778,7 +8827,7 @@ static const per_sequence_t E_RABReleaseResponse_sequence[] = { static int dissect_s1ap_E_RABReleaseResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1789 "./asn1/s1ap/s1ap.cnf" +#line 1795 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8824,7 +8873,7 @@ static const per_sequence_t E_RABReleaseIndication_sequence[] = { static int dissect_s1ap_E_RABReleaseIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1791 "./asn1/s1ap/s1ap.cnf" +#line 1797 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8841,7 +8890,7 @@ static const per_sequence_t InitialContextSetupRequest_sequence[] = { static int dissect_s1ap_InitialContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1793 "./asn1/s1ap/s1ap.cnf" +#line 1799 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8891,7 +8940,7 @@ static const per_sequence_t InitialContextSetupResponse_sequence[] = { static int dissect_s1ap_InitialContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1795 "./asn1/s1ap/s1ap.cnf" +#line 1801 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8939,7 +8988,7 @@ static const per_sequence_t InitialContextSetupFailure_sequence[] = { static int dissect_s1ap_InitialContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1797 "./asn1/s1ap/s1ap.cnf" +#line 1803 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8956,7 +9005,7 @@ static const per_sequence_t Paging_sequence[] = { static int dissect_s1ap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1799 "./asn1/s1ap/s1ap.cnf" +#line 1805 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9002,7 +9051,7 @@ static const per_sequence_t UEContextReleaseRequest_sequence[] = { static int dissect_s1ap_UEContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1801 "./asn1/s1ap/s1ap.cnf" +#line 1807 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9019,7 +9068,7 @@ static const per_sequence_t UEContextReleaseCommand_sequence[] = { static int dissect_s1ap_UEContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1803 "./asn1/s1ap/s1ap.cnf" +#line 1809 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9036,7 +9085,7 @@ static const per_sequence_t UEContextReleaseComplete_sequence[] = { static int dissect_s1ap_UEContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1805 "./asn1/s1ap/s1ap.cnf" +#line 1811 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9053,7 +9102,7 @@ static const per_sequence_t UEContextModificationRequest_sequence[] = { static int dissect_s1ap_UEContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1807 "./asn1/s1ap/s1ap.cnf" +#line 1813 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9070,7 +9119,7 @@ static const per_sequence_t UEContextModificationResponse_sequence[] = { static int dissect_s1ap_UEContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1809 "./asn1/s1ap/s1ap.cnf" +#line 1815 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9087,7 +9136,7 @@ static const per_sequence_t UEContextModificationFailure_sequence[] = { static int dissect_s1ap_UEContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1811 "./asn1/s1ap/s1ap.cnf" +#line 1817 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9104,7 +9153,7 @@ static const per_sequence_t UERadioCapabilityMatchRequest_sequence[] = { static int dissect_s1ap_UERadioCapabilityMatchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1813 "./asn1/s1ap/s1ap.cnf" +#line 1819 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9121,7 +9170,7 @@ static const per_sequence_t UERadioCapabilityMatchResponse_sequence[] = { static int dissect_s1ap_UERadioCapabilityMatchResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1815 "./asn1/s1ap/s1ap.cnf" +#line 1821 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9198,7 +9247,7 @@ static const per_sequence_t NASNonDeliveryIndication_sequence[] = { static int dissect_s1ap_NASNonDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1823 "./asn1/s1ap/s1ap.cnf" +#line 1829 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASNonDeliveryIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9215,7 +9264,7 @@ static const per_sequence_t RerouteNASRequest_sequence[] = { static int dissect_s1ap_RerouteNASRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1825 "./asn1/s1ap/s1ap.cnf" +#line 1831 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RerouteNASRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9253,7 +9302,7 @@ static const per_sequence_t Reset_sequence[] = { static int dissect_s1ap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1827 "./asn1/s1ap/s1ap.cnf" +#line 1833 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9321,7 +9370,7 @@ static const per_sequence_t ResetAcknowledge_sequence[] = { static int dissect_s1ap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1829 "./asn1/s1ap/s1ap.cnf" +#line 1835 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9366,7 +9415,7 @@ static const per_sequence_t S1SetupRequest_sequence[] = { static int dissect_s1ap_S1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1833 "./asn1/s1ap/s1ap.cnf" +#line 1839 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9383,7 +9432,7 @@ static const per_sequence_t S1SetupResponse_sequence[] = { static int dissect_s1ap_S1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1835 "./asn1/s1ap/s1ap.cnf" +#line 1841 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9400,7 +9449,7 @@ static const per_sequence_t S1SetupFailure_sequence[] = { static int dissect_s1ap_S1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1837 "./asn1/s1ap/s1ap.cnf" +#line 1843 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9417,7 +9466,7 @@ static const per_sequence_t ENBConfigurationUpdate_sequence[] = { static int dissect_s1ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1839 "./asn1/s1ap/s1ap.cnf" +#line 1845 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9434,7 +9483,7 @@ static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = { static int dissect_s1ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1841 "./asn1/s1ap/s1ap.cnf" +#line 1847 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9451,7 +9500,7 @@ static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = { static int dissect_s1ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1843 "./asn1/s1ap/s1ap.cnf" +#line 1849 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9468,7 +9517,7 @@ static const per_sequence_t MMEConfigurationUpdate_sequence[] = { static int dissect_s1ap_MMEConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1845 "./asn1/s1ap/s1ap.cnf" +#line 1851 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdate"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9485,7 +9534,7 @@ static const per_sequence_t MMEConfigurationUpdateAcknowledge_sequence[] = { static int dissect_s1ap_MMEConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1847 "./asn1/s1ap/s1ap.cnf" +#line 1853 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateAcknowledge"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9502,7 +9551,7 @@ static const per_sequence_t MMEConfigurationUpdateFailure_sequence[] = { static int dissect_s1ap_MMEConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1849 "./asn1/s1ap/s1ap.cnf" +#line 1855 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9519,7 +9568,7 @@ static const per_sequence_t DownlinkS1cdma2000tunnelling_sequence[] = { static int dissect_s1ap_DownlinkS1cdma2000tunnelling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1851 "./asn1/s1ap/s1ap.cnf" +#line 1857 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkS1cdma2000tunnelling"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9536,7 +9585,7 @@ static const per_sequence_t UplinkS1cdma2000tunnelling_sequence[] = { static int dissect_s1ap_UplinkS1cdma2000tunnelling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1853 "./asn1/s1ap/s1ap.cnf" +#line 1859 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkS1cdma2000tunnelling"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9553,7 +9602,7 @@ static const per_sequence_t UECapabilityInfoIndication_sequence[] = { static int dissect_s1ap_UECapabilityInfoIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1855 "./asn1/s1ap/s1ap.cnf" +#line 1861 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityInfoIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9570,7 +9619,7 @@ static const per_sequence_t ENBStatusTransfer_sequence[] = { static int dissect_s1ap_ENBStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1857 "./asn1/s1ap/s1ap.cnf" +#line 1863 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBStatusTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9587,7 +9636,7 @@ static const per_sequence_t MMEStatusTransfer_sequence[] = { static int dissect_s1ap_MMEStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1859 "./asn1/s1ap/s1ap.cnf" +#line 1865 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEStatusTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9604,7 +9653,7 @@ static const per_sequence_t TraceStart_sequence[] = { static int dissect_s1ap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1861 "./asn1/s1ap/s1ap.cnf" +#line 1867 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9621,7 +9670,7 @@ static const per_sequence_t TraceFailureIndication_sequence[] = { static int dissect_s1ap_TraceFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1863 "./asn1/s1ap/s1ap.cnf" +#line 1869 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceFailureIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9638,7 +9687,7 @@ static const per_sequence_t DeactivateTrace_sequence[] = { static int dissect_s1ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1865 "./asn1/s1ap/s1ap.cnf" +#line 1871 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9655,7 +9704,7 @@ static const per_sequence_t CellTrafficTrace_sequence[] = { static int dissect_s1ap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1867 "./asn1/s1ap/s1ap.cnf" +#line 1873 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9672,7 +9721,7 @@ static const per_sequence_t LocationReportingControl_sequence[] = { static int dissect_s1ap_LocationReportingControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1869 "./asn1/s1ap/s1ap.cnf" +#line 1875 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingControl"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9689,7 +9738,7 @@ static const per_sequence_t LocationReportingFailureIndication_sequence[] = { static int dissect_s1ap_LocationReportingFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1871 "./asn1/s1ap/s1ap.cnf" +#line 1877 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingFailureIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9706,7 +9755,7 @@ static const per_sequence_t LocationReport_sequence[] = { static int dissect_s1ap_LocationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1873 "./asn1/s1ap/s1ap.cnf" +#line 1879 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9723,7 +9772,7 @@ static const per_sequence_t OverloadStart_sequence[] = { static int dissect_s1ap_OverloadStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1875 "./asn1/s1ap/s1ap.cnf" +#line 1881 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStart"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9740,7 +9789,7 @@ static const per_sequence_t OverloadStop_sequence[] = { static int dissect_s1ap_OverloadStop(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1877 "./asn1/s1ap/s1ap.cnf" +#line 1883 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStop"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9757,7 +9806,7 @@ static const per_sequence_t WriteReplaceWarningRequest_sequence[] = { static int dissect_s1ap_WriteReplaceWarningRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1879 "./asn1/s1ap/s1ap.cnf" +#line 1885 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9774,7 +9823,7 @@ static const per_sequence_t WriteReplaceWarningResponse_sequence[] = { static int dissect_s1ap_WriteReplaceWarningResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1881 "./asn1/s1ap/s1ap.cnf" +#line 1887 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9791,7 +9840,7 @@ static const per_sequence_t ENBDirectInformationTransfer_sequence[] = { static int dissect_s1ap_ENBDirectInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1883 "./asn1/s1ap/s1ap.cnf" +#line 1889 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBDirectInformationTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9828,7 +9877,7 @@ static const per_sequence_t MMEDirectInformationTransfer_sequence[] = { static int dissect_s1ap_MMEDirectInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1885 "./asn1/s1ap/s1ap.cnf" +#line 1891 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEDirectInformationTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9845,7 +9894,7 @@ static const per_sequence_t ENBConfigurationTransfer_sequence[] = { static int dissect_s1ap_ENBConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1887 "./asn1/s1ap/s1ap.cnf" +#line 1893 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9862,7 +9911,7 @@ static const per_sequence_t MMEConfigurationTransfer_sequence[] = { static int dissect_s1ap_MMEConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1889 "./asn1/s1ap/s1ap.cnf" +#line 1895 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9879,7 +9928,7 @@ static const per_sequence_t PrivateMessage_sequence[] = { static int dissect_s1ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1891 "./asn1/s1ap/s1ap.cnf" +#line 1897 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9896,7 +9945,7 @@ static const per_sequence_t KillRequest_sequence[] = { static int dissect_s1ap_KillRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1893 "./asn1/s1ap/s1ap.cnf" +#line 1899 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9913,7 +9962,7 @@ static const per_sequence_t KillResponse_sequence[] = { static int dissect_s1ap_KillResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1895 "./asn1/s1ap/s1ap.cnf" +#line 1901 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9930,7 +9979,7 @@ static const per_sequence_t PWSRestartIndication_sequence[] = { static int dissect_s1ap_PWSRestartIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1897 "./asn1/s1ap/s1ap.cnf" +#line 1903 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSRestartIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9947,7 +9996,7 @@ static const per_sequence_t PWSFailureIndication_sequence[] = { static int dissect_s1ap_PWSFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1899 "./asn1/s1ap/s1ap.cnf" +#line 1905 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSFailureIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9964,7 +10013,7 @@ static const per_sequence_t DownlinkUEAssociatedLPPaTransport_sequence[] = { static int dissect_s1ap_DownlinkUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1901 "./asn1/s1ap/s1ap.cnf" +#line 1907 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkUEAssociatedLPPaTransport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9981,7 +10030,7 @@ static const per_sequence_t UplinkUEAssociatedLPPaTransport_sequence[] = { static int dissect_s1ap_UplinkUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1903 "./asn1/s1ap/s1ap.cnf" +#line 1909 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkUEAssociatedLPPaTransport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -9998,7 +10047,7 @@ static const per_sequence_t DownlinkNonUEAssociatedLPPaTransport_sequence[] = { static int dissect_s1ap_DownlinkNonUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1905 "./asn1/s1ap/s1ap.cnf" +#line 1911 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNonUEAssociatedLPPaTransport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -10015,7 +10064,7 @@ static const per_sequence_t UplinkNonUEAssociatedLPPaTransport_sequence[] = { static int dissect_s1ap_UplinkNonUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1907 "./asn1/s1ap/s1ap.cnf" +#line 1913 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNonUEAssociatedLPPaTransport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -10032,7 +10081,7 @@ static const per_sequence_t E_RABModificationIndication_sequence[] = { static int dissect_s1ap_E_RABModificationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1909 "./asn1/s1ap/s1ap.cnf" +#line 1915 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -10119,7 +10168,7 @@ static const per_sequence_t E_RABModificationConfirm_sequence[] = { static int dissect_s1ap_E_RABModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1911 "./asn1/s1ap/s1ap.cnf" +#line 1917 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -10165,7 +10214,7 @@ static const per_sequence_t UEContextModificationIndication_sequence[] = { static int dissect_s1ap_UEContextModificationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1913 "./asn1/s1ap/s1ap.cnf" +#line 1919 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -10182,7 +10231,7 @@ static const per_sequence_t UEContextModificationConfirm_sequence[] = { static int dissect_s1ap_UEContextModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1915 "./asn1/s1ap/s1ap.cnf" +#line 1921 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationConfirm"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -10199,7 +10248,7 @@ static const per_sequence_t UEContextSuspendRequest_sequence[] = { static int dissect_s1ap_UEContextSuspendRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1917 "./asn1/s1ap/s1ap.cnf" +#line 1923 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -10216,7 +10265,7 @@ static const per_sequence_t UEContextSuspendResponse_sequence[] = { static int dissect_s1ap_UEContextSuspendResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1919 "./asn1/s1ap/s1ap.cnf" +#line 1925 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -10233,7 +10282,7 @@ static const per_sequence_t UEContextResumeRequest_sequence[] = { static int dissect_s1ap_UEContextResumeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1921 "./asn1/s1ap/s1ap.cnf" +#line 1927 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeRequest"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -10275,7 +10324,7 @@ static const per_sequence_t UEContextResumeResponse_sequence[] = { static int dissect_s1ap_UEContextResumeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1923 "./asn1/s1ap/s1ap.cnf" +#line 1929 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeResponse"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -10317,7 +10366,7 @@ static const per_sequence_t UEContextResumeFailure_sequence[] = { static int dissect_s1ap_UEContextResumeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1925 "./asn1/s1ap/s1ap.cnf" +#line 1931 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeFailure"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -10334,7 +10383,7 @@ static const per_sequence_t ConnectionEstablishmentIndication_sequence[] = { static int dissect_s1ap_ConnectionEstablishmentIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1927 "./asn1/s1ap/s1ap.cnf" +#line 1933 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConnectionEstablishmentIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -11358,6 +11407,14 @@ static int dissect_CellIdentifierAndCELevelForCECapableUEs_PDU(tvbuff_t *tvb _U_ offset += 7; offset >>= 3; return offset; } +static int dissect_CE_mode_B_SupportIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_s1ap_CE_mode_B_SupportIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_CE_mode_B_SupportIndicator_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Cdma2000PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -11942,6 +11999,14 @@ static int dissect_NB_IoT_Paging_eDRXInformation_PDU(tvbuff_t *tvb _U_, packet_i offset += 7; offset >>= 3; return offset; } +static int dissect_NB_IoT_UEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_s1ap_NB_IoT_UEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_s1ap_NB_IoT_UEIdentityIndexValue_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_NumberofBroadcastRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -12158,6 +12223,14 @@ static int dissect_Source_ToTarget_TransparentContainer_PDU(tvbuff_t *tvb _U_, p offset += 7; offset >>= 3; return offset; } +static int dissect_SRVCCOperationNotPossible_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_s1ap_SRVCCOperationNotPossible(tvb, offset, &asn1_ctx, tree, hf_s1ap_SRVCCOperationNotPossible_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_SRVCCOperationPossible_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -13883,8 +13956,6 @@ proto_reg_handoff_s1ap(void) dissector_add_uint("s1ap.ies", id_UE_RetentionInformation, create_dissector_handle(dissect_UE_RetentionInformation_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_UE_Usage_Type, create_dissector_handle(dissect_UE_Usage_Type_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_extended_UEIdentityIndexValue, create_dissector_handle(dissect_Extended_UEIdentityIndexValue_PDU, proto_s1ap)); - dissector_add_uint("s1ap.extension", id_RAT_Type, create_dissector_handle(dissect_RAT_Type_PDU, proto_s1ap)); - dissector_add_uint("s1ap.extension", id_BearerType, create_dissector_handle(dissect_BearerType_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_NB_IoT_DefaultPagingDRX, create_dissector_handle(dissect_NB_IoT_DefaultPagingDRX_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_E_RABFailedToResumeListResumeReq, create_dissector_handle(dissect_E_RABFailedToResumeListResumeReq_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_E_RABFailedToResumeItemResumeReq, create_dissector_handle(dissect_E_RABFailedToResumeItemResumeReq_PDU, proto_s1ap)); @@ -13892,6 +13963,9 @@ proto_reg_handoff_s1ap(void) dissector_add_uint("s1ap.ies", id_E_RABFailedToResumeItemResumeRes, create_dissector_handle(dissect_E_RABFailedToResumeItemResumeRes_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_NB_IoT_Paging_eDRXInformation, create_dissector_handle(dissect_NB_IoT_Paging_eDRXInformation_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_UEUserPlaneCIoTSupportIndicator, create_dissector_handle(dissect_UEUserPlaneCIoTSupportIndicator_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_CE_mode_B_SupportIndicator, create_dissector_handle(dissect_CE_mode_B_SupportIndicator_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_NB_IoT_UEIdentityIndexValue, create_dissector_handle(dissect_NB_IoT_UEIdentityIndexValue_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_SRVCCOperationNotPossible, create_dissector_handle(dissect_SRVCCOperationNotPossible_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_Data_Forwarding_Not_Possible, create_dissector_handle(dissect_Data_Forwarding_Not_Possible_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_Time_Synchronisation_Info, create_dissector_handle(dissect_TimeSynchronisationInfo_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_x2TNLConfigurationInfo, create_dissector_handle(dissect_X2TNLConfigurationInfo_PDU, proto_s1ap)); @@ -13924,6 +13998,8 @@ proto_reg_handoff_s1ap(void) dissector_add_uint("s1ap.extension", id_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18, create_dissector_handle(dissect_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_M6Configuration, create_dissector_handle(dissect_M6Configuration_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_M7Configuration, create_dissector_handle(dissect_M7Configuration_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_RAT_Type, create_dissector_handle(dissect_RAT_Type_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_BearerType, create_dissector_handle(dissect_BearerType_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.imsg", id_HandoverPreparation, create_dissector_handle(dissect_HandoverRequired_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.sout", id_HandoverPreparation, create_dissector_handle(dissect_HandoverCommand_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.uout", id_HandoverPreparation, create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_s1ap)); @@ -14212,6 +14288,10 @@ void proto_register_s1ap(void) { { "CellIdentifierAndCELevelForCECapableUEs", "s1ap.CellIdentifierAndCELevelForCECapableUEs_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_CE_mode_B_SupportIndicator_PDU, + { "CE-mode-B-SupportIndicator", "s1ap.CE_mode_B_SupportIndicator", + FT_UINT32, BASE_DEC, VALS(s1ap_CE_mode_B_SupportIndicator_vals), 0, + NULL, HFILL }}, { &hf_s1ap_Cdma2000PDU_PDU, { "Cdma2000PDU", "s1ap.Cdma2000PDU", FT_BYTES, BASE_NONE, NULL, 0, @@ -14504,6 +14584,10 @@ void proto_register_s1ap(void) { { "NB-IoT-Paging-eDRXInformation", "s1ap.NB_IoT_Paging_eDRXInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_NB_IoT_UEIdentityIndexValue_PDU, + { "NB-IoT-UEIdentityIndexValue", "s1ap.NB_IoT_UEIdentityIndexValue", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_NumberofBroadcastRequest_PDU, { "NumberofBroadcastRequest", "s1ap.NumberofBroadcastRequest", FT_UINT32, BASE_DEC, NULL, 0, @@ -14612,6 +14696,10 @@ void proto_register_s1ap(void) { { "Source-ToTarget-TransparentContainer", "s1ap.Source_ToTarget_TransparentContainer", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_SRVCCOperationNotPossible_PDU, + { "SRVCCOperationNotPossible", "s1ap.SRVCCOperationNotPossible", + FT_UINT32, BASE_DEC, VALS(s1ap_SRVCCOperationNotPossible_vals), 0, + NULL, HFILL }}, { &hf_s1ap_SRVCCOperationPossible_PDU, { "SRVCCOperationPossible", "s1ap.SRVCCOperationPossible", FT_UINT32, BASE_DEC, VALS(s1ap_SRVCCOperationPossible_vals), 0,