diff --git a/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn b/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn index dfeac62ed3..9d3d602d54 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-CommonDataTypes.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.413 V15.2.0 (2018-06) +-- 3GPP TS 36.413 V15.3.0 (2018-09) -- 9.3.5 Common Definitions -- ************************************************************** -- diff --git a/epan/dissectors/asn1/s1ap/S1AP-Constants.asn b/epan/dissectors/asn1/s1ap/S1AP-Constants.asn index 9bf28f8160..cec483ca5b 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-Constants.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-Constants.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.413 V15.2.0 (2018-06) +-- 3GPP TS 36.413 V15.3.0 (2018-09) -- 9.3.6 Constant Definitions -- ************************************************************** -- @@ -124,7 +124,7 @@ maxnoofEPLMNsPlusOne INTEGER ::= 16 maxnoofForbLACs INTEGER ::= 4096 maxnoofForbTACs INTEGER ::= 4096 maxnoofIndividualS1ConnectionsToReset INTEGER ::= 256 -maxnoofCells INTEGER ::= 16 +maxnoofCellsinUEHistoryInfo INTEGER ::= 16 maxnoofCellsineNB INTEGER ::= 256 maxnoofTAIforWarning INTEGER ::= 65535 maxnoofCellID INTEGER ::= 65535 @@ -152,6 +152,8 @@ maxnooftimeperiods INTEGER ::= 2 maxnoofCellIDforQMC INTEGER ::= 32 maxnoofTAforQMC INTEGER ::= 8 maxnoofPLMNforQMC INTEGER ::= 16 +maxnoofBluetoothName INTEGER ::= 4 +maxnoofWLANName INTEGER ::= 4 @@ -434,7 +436,7 @@ id-extended-e-RAB-GuaranteedBitrateDL ProtocolIE-ID ::= 257 id-extended-e-RAB-GuaranteedBitrateUL ProtocolIE-ID ::= 258 id-extended-uEaggregateMaximumBitRateDL ProtocolIE-ID ::= 259 id-extended-uEaggregateMaximumBitRateUL ProtocolIE-ID ::= 260 -id-NRrestriction ProtocolIE-ID ::= 261 +id-NRrestrictioninEPSasSecondaryRAT ProtocolIE-ID ::= 261 id-UEAppLayerMeasConfig ProtocolIE-ID ::= 262 id-UE-Application-Layer-Measurement-Capability ProtocolIE-ID ::= 263 id-SecondaryRATDataUsageReportList ProtocolIE-ID ::= 264 @@ -451,11 +453,16 @@ id-UplinkPacketLossRate ProtocolIE-ID ::= 274 id-UECapabilityInfoRequest ProtocolIE-ID ::= 275 id-serviceType ProtocolIE-ID ::= 276 id-AerialUEsubscriptionInformation ProtocolIE-ID ::= 277 +id-Subscription-Based-UE-DifferentiationInfo ProtocolIE-ID ::= 278 --WS extension -id-Unknown-278 ProtocolIE-ID ::= 278 id-Unknown-279 ProtocolIE-ID ::= 279 -id-EndIndication ProtocolIE-ID ::= 280 +id-EndIndication ProtocolIE-ID ::= 280 id-EDT-Session ProtocolIE-ID ::= 281 id-CNTypeRestrictions ProtocolIE-ID ::= 282 +id-PendingDataIndication ProtocolIE-ID ::= 283 +id-BluetoothMeasurementConfiguration ProtocolIE-ID ::= 284 +id-WLANMeasurementConfiguration ProtocolIE-ID ::= 285 +id-WarningAreaCoordinates ProtocolIE-ID ::= 286 +id-NRrestrictionin5GS ProtocolIE-ID ::= 287 END diff --git a/epan/dissectors/asn1/s1ap/S1AP-Containers.asn b/epan/dissectors/asn1/s1ap/S1AP-Containers.asn index 0c303df242..b0b2e6d991 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-Containers.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-Containers.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.413 V15.2.0 (2018-06) +-- 3GPP TS 36.413 V15.3.0 (2018-09) -- 9.3.7 Container Definitions -- ************************************************************** -- diff --git a/epan/dissectors/asn1/s1ap/S1AP-IEs.asn b/epan/dissectors/asn1/s1ap/S1AP-IEs.asn index e48dd815a3..357d722ff2 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 V15.1.0 (2018-03) +-- 3GPP TS 36.413 V15.3.0 (2018-09) -- 9.3.4 Information Element Definitions -- ************************************************************** -- @@ -36,7 +36,8 @@ IMPORTS id-eNBIndirectX2TransportLayerAddresses, id-Muting-Availability-Indication, id-Muting-Pattern-Information, - id-NRrestriction, + id-NRrestrictioninEPSasSecondaryRAT, + id-NRrestrictionin5GS, id-Synchronisation-Information, id-uE-HistoryInformationFromTheUE, id-LoggedMBSFNMDT, @@ -63,6 +64,8 @@ IMPORTS id-UnlicensedSpectrumRestriction, id-CNTypeRestrictions, id-DownlinkPacketLossRate, id-UplinkPacketLossRate, + id-BluetoothMeasurementConfiguration, + id-WLANMeasurementConfiguration, maxnoofCSGs, maxnoofE-RABs, maxnoofErrors, @@ -73,7 +76,7 @@ IMPORTS maxnoofEPLMNsPlusOne, maxnoofForbLACs, maxnoofForbTACs, - maxnoofCells, + maxnoofCellsinUEHistoryInfo, maxnoofCellID, maxnoofDCNs, maxnoofEmergencyAreaID, @@ -100,7 +103,10 @@ IMPORTS maxnooftimeperiods, maxnoofCellIDforQMC, maxnoofTAforQMC, - maxnoofPLMNforQMC + maxnoofPLMNforQMC, + maxnoofBluetoothName, + maxnoofWLANName + @@ -234,6 +240,24 @@ BearerType ::= ENUMERATED { BitRate ::= INTEGER (0..10000000000) +BluetoothMeasurementConfiguration ::= SEQUENCE { + bluetoothMeasConfig BluetoothMeasConfig, + bluetoothMeasConfigNameList BluetoothMeasConfigNameList OPTIONAL, + bt-rssi ENUMERATED {true, ...} OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { BluetoothMeasurementConfiguration-ExtIEs } } OPTIONAL, + ... +} + +BluetoothMeasurementConfiguration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { + ... +} + +BluetoothMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofBluetoothName)) OF BluetoothName + +BluetoothMeasConfig::= ENUMERATED {setup,...} + +BluetoothName ::= OCTET STRING (SIZE (1..248)) + BPLMNs ::= SEQUENCE (SIZE(1.. maxnoofBPLMNs)) OF PLMNidentity BroadcastCancelledAreaList ::= CHOICE { @@ -1080,9 +1104,10 @@ HandoverRestrictionList ::= SEQUENCE { } HandoverRestrictionList-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { - { ID id-NRrestriction CRITICALITY ignore EXTENSION NRrestriction PRESENCE optional}| + { ID id-NRrestrictioninEPSasSecondaryRAT CRITICALITY ignore EXTENSION NRrestrictioninEPSasSecondaryRAT PRESENCE optional}| { ID id-UnlicensedSpectrumRestriction CRITICALITY ignore EXTENSION UnlicensedSpectrumRestriction PRESENCE optional}| - { ID id-CNTypeRestrictions CRITICALITY ignore EXTENSION CNTypeRestrictions PRESENCE optional}, + { ID id-CNTypeRestrictions CRITICALITY ignore EXTENSION CNTypeRestrictions PRESENCE optional}| + { ID id-NRrestrictionin5GS CRITICALITY ignore EXTENSION NRrestrictionin5GS PRESENCE optional}, ... } @@ -1123,7 +1148,9 @@ ImmediateMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { { ID id-M5Configuration CRITICALITY ignore EXTENSION M5Configuration PRESENCE conditional}| { ID id-MDT-Location-Info CRITICALITY ignore EXTENSION MDT-Location-Info PRESENCE optional}| { ID id-M6Configuration CRITICALITY ignore EXTENSION M6Configuration PRESENCE conditional}| - { ID id-M7Configuration CRITICALITY ignore EXTENSION M7Configuration PRESENCE conditional}, + { ID id-M7Configuration CRITICALITY ignore EXTENSION M7Configuration PRESENCE conditional}| + { ID id-BluetoothMeasurementConfiguration CRITICALITY ignore EXTENSION BluetoothMeasurementConfiguration PRESENCE optional}| + { ID id-WLANMeasurementConfiguration CRITICALITY ignore EXTENSION WLANMeasurementConfiguration PRESENCE optional}, ... } @@ -1173,7 +1200,8 @@ LastVisitedCell-Item ::= CHOICE { e-UTRAN-Cell LastVisitedEUTRANCellInformation, uTRAN-Cell LastVisitedUTRANCellInformation, gERAN-Cell LastVisitedGERANCellInformation, - ... + ..., + nG-RAN-Cell LastVisitedNGRANCellInformation } LastVisitedEUTRANCellInformation ::= SEQUENCE { global-Cell-ID EUTRAN-CGI, @@ -1188,6 +1216,9 @@ LastVisitedEUTRANCellInformation-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { { ID id-HO-Cause CRITICALITY ignore EXTENSION Cause PRESENCE optional}, ... } + +LastVisitedNGRANCellInformation ::= OCTET STRING + LastVisitedUTRANCellInformation ::= OCTET STRING LastVisitedGERANCellInformation ::= CHOICE { @@ -1223,6 +1254,8 @@ LoggedMDT ::= SEQUENCE { } LoggedMDT-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { + { ID id-BluetoothMeasurementConfiguration CRITICALITY ignore EXTENSION BluetoothMeasurementConfiguration PRESENCE optional}| + { ID id-WLANMeasurementConfiguration CRITICALITY ignore EXTENSION WLANMeasurementConfiguration PRESENCE optional}, ... } @@ -1464,8 +1497,13 @@ NextPagingAreaScope ::= ENUMERATED { NRencryptionAlgorithms ::= BIT STRING (SIZE (16,...)) NRintegrityProtectionAlgorithms ::= BIT STRING (SIZE (16,...)) -NRrestriction ::= ENUMERATED { - nRrestricted, +NRrestrictioninEPSasSecondaryRAT ::= ENUMERATED { + nRrestrictedinEPSasSecondaryRAT, + ... +} + +NRrestrictionin5GS ::= ENUMERATED { + nRrestrictedin5GS, ... } @@ -1565,6 +1603,11 @@ PDCP-SNExtended ::= INTEGER (0..32767) PDCP-SNlength18 ::= INTEGER (0..262143) +PendingDataIndication ::= ENUMERATED { + true, + ... +} + M1PeriodicReporting ::= SEQUENCE { reportInterval ReportIntervalMDT, reportAmount ReportAmountMDT, @@ -2006,6 +2049,33 @@ ServedPLMNs ::= SEQUENCE (SIZE(1.. maxnoofPLMNsPerMME)) OF PLMNidentity SubscriberProfileIDforRFP ::= INTEGER (1..256) +Subscription-Based-UE-DifferentiationInfo ::= SEQUENCE { + periodicCommunicationIndicator ENUMERATED {periodically, ondemand, ...} OPTIONAL, + periodicTime INTEGER (1..3600, ...) OPTIONAL, + scheduledCommunicationTime ScheduledCommunicationTime OPTIONAL, + stationaryIndication ENUMERATED {stationary, mobile, ...} OPTIONAL, + trafficProfile ENUMERATED {single-packet, dual-packets, multiple-packets, ...} OPTIONAL, + batteryIndication ENUMERATED {battery-powered, battery-powered-not-rechargeable-or-replaceable, not-battery-powered, ...} OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { Subscription-Based-UE-DifferentiationInfo-ExtIEs} } OPTIONAL, + ... +} + +Subscription-Based-UE-DifferentiationInfo-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { + ... +} + +ScheduledCommunicationTime ::= SEQUENCE { + dayofWeek BIT STRING (SIZE(7)) OPTIONAL, + timeofDayStart INTEGER (0..86399, ...) OPTIONAL, + timeofDayEnd INTEGER (0..86399, ...) OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { ScheduledCommunicationTime-ExtIEs}} OPTIONAL, + ... +} + +ScheduledCommunicationTime-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { + ... +} + SupportedTAs ::= SEQUENCE (SIZE(1.. maxnoofTACs)) OF SupportedTAs-Item SupportedTAs-Item ::= SEQUENCE { @@ -2158,9 +2228,8 @@ TargetID ::= CHOICE { targeteNB-ID TargeteNB-ID, targetRNC-ID TargetRNC-ID, cGI CGI, - targetgNgRanNode-ID TargetNgRanNode-ID, - - ... + ..., + targetgNgRanNode-ID TargetNgRanNode-ID } TargeteNB-ID ::= SEQUENCE { @@ -2412,7 +2481,7 @@ UE-associatedLogicalS1-ConnectionItemExtIEs S1AP-PROTOCOL-EXTENSION ::= { UEIdentityIndexValue ::= BIT STRING (SIZE (10)) -UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCells)) OF LastVisitedCell-Item +UE-HistoryInformation ::= SEQUENCE (SIZE(1..maxnoofCellsinUEHistoryInfo)) OF LastVisitedCell-Item UE-HistoryInformationFromTheUE ::= OCTET STRING -- This IE is a transparent container and shall be encoded as the VisitedCellInfoList field contained in the UEInformationResponse message as defined in TS 36.331 [16] @@ -2533,6 +2602,8 @@ PedestrianUE ::= ENUMERATED { -- W +WarningAreaCoordinates ::= OCTET STRING (SIZE(1..1024)) + WarningAreaList ::= CHOICE { cellIDList ECGIList, trackingAreaListforWarning TAIListforWarning, @@ -2548,6 +2619,24 @@ WarningSecurityInfo ::= OCTET STRING (SIZE (50)) WarningMessageContents ::= OCTET STRING (SIZE(1..9600)) +WLANMeasurementConfiguration ::= SEQUENCE { + wlanMeasConfig WLANMeasConfig, + wlanMeasConfigNameList WLANMeasConfigNameList OPTIONAL, + wlan-rssi ENUMERATED {true, ...} OPTIONAL, + wlan-rtt ENUMERATED {true, ...} OPTIONAL, + iE-Extensions ProtocolExtensionContainer { { WLANMeasurementConfiguration-ExtIEs } } OPTIONAL, + ... +} + +WLANMeasurementConfiguration-ExtIEs S1AP-PROTOCOL-EXTENSION ::= { + ... +} + +WLANMeasConfigNameList ::= SEQUENCE (SIZE(1..maxnoofWLANName)) OF WLANName + +WLANMeasConfig::= ENUMERATED {setup,...} + +WLANName ::= OCTET STRING (SIZE (1..32)) -- X diff --git a/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn b/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn index e617dc603b..37407c6c4a 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-PDU-Contents.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.413 V15.2.0 (2018-06) +-- 3GPP TS 36.413 V15.3.0 (2018-09) -- 9.3.3 PDU Definitions -- ************************************************************** -- @@ -177,7 +177,10 @@ IMPORTS EndIndication, EDT-Session, LTE-M-Indication, - AerialUEsubscriptionInformation + AerialUEsubscriptionInformation, + PendingDataIndication, + WarningAreaCoordinates, + Subscription-Based-UE-DifferentiationInfo @@ -425,7 +428,10 @@ FROM S1AP-Containers id-UECapabilityInfoRequest, id-EndIndication, id-EDT-Session, - id-LTE-M-Indication + id-LTE-M-Indication, + id-PendingDataIndication, + id-WarningAreaCoordinates, + id-Subscription-Based-UE-DifferentiationInfo @@ -591,7 +597,9 @@ HandoverRequestIEs S1AP-PROTOCOL-IES ::= { { ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional}| { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}| { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}| - { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}, + { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}| + { ID id-PendingDataIndication CRITICALITY ignore TYPE PendingDataIndication PRESENCE optional}| + { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}, ... } @@ -812,7 +820,9 @@ PathSwitchRequestAcknowledgeIEs S1AP-PROTOCOL-IES ::= { { ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional}| { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}| { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}| - { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}, + { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}| + { ID id-PendingDataIndication CRITICALITY ignore TYPE PendingDataIndication PRESENCE optional}| + { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}, ... } @@ -1226,7 +1236,9 @@ InitialContextSetupRequestIEs S1AP-PROTOCOL-IES ::= { { ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional}| { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}| { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}| - { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}, + { ID id-AerialUEsubscriptionInformation CRITICALITY ignore TYPE AerialUEsubscriptionInformation PRESENCE optional}| + { ID id-PendingDataIndication CRITICALITY ignore TYPE PendingDataIndication PRESENCE optional}| + { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}, ... } @@ -1591,7 +1603,9 @@ DownlinkNASTransport-IEs S1AP-PROTOCOL-IES ::= { { ID id-NRUESecurityCapabilities CRITICALITY ignore TYPE NRUESecurityCapabilities PRESENCE optional}| { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}| { ID id-UECapabilityInfoRequest CRITICALITY ignore TYPE UECapabilityInfoRequest PRESENCE optional}| - { ID id-EndIndication CRITICALITY ignore TYPE EndIndication PRESENCE optional}, + { ID id-EndIndication CRITICALITY ignore TYPE EndIndication PRESENCE optional}| + { ID id-PendingDataIndication CRITICALITY ignore TYPE PendingDataIndication PRESENCE optional}| + { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}, ... } @@ -2363,7 +2377,8 @@ WriteReplaceWarningRequestIEs S1AP-PROTOCOL-IES ::= { { ID id-WarningSecurityInfo CRITICALITY ignore TYPE WarningSecurityInfo PRESENCE optional }| { ID id-DataCodingScheme CRITICALITY ignore TYPE DataCodingScheme PRESENCE optional }| { ID id-WarningMessageContents CRITICALITY ignore TYPE WarningMessageContents PRESENCE optional }| - { ID id-ConcurrentWarningMessageIndicator CRITICALITY reject TYPE ConcurrentWarningMessageIndicator PRESENCE optional }, + { ID id-ConcurrentWarningMessageIndicator CRITICALITY reject TYPE ConcurrentWarningMessageIndicator PRESENCE optional }| + { ID id-WarningAreaCoordinates CRITICALITY ignore TYPE WarningAreaCoordinates PRESENCE optional }, ... } -- ************************************************************** @@ -2933,7 +2948,8 @@ UEContextResumeResponseIEs S1AP-PROTOCOL-IES ::= { { ID id-eNB-UE-S1AP-ID CRITICALITY ignore TYPE ENB-UE-S1AP-ID PRESENCE mandatory}| { ID id-E-RABFailedToResumeListResumeRes CRITICALITY reject TYPE E-RABFailedToResumeListResumeRes PRESENCE optional}| { ID id-CriticalityDiagnostics CRITICALITY ignore TYPE CriticalityDiagnostics PRESENCE optional}| - { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE optional}, + { ID id-SecurityContext CRITICALITY reject TYPE SecurityContext PRESENCE optional}| + { ID id-PendingDataIndication CRITICALITY ignore TYPE PendingDataIndication PRESENCE optional}, ... } @@ -2992,7 +3008,8 @@ ConnectionEstablishmentIndicationIEs S1AP-PROTOCOL-IES ::= { { ID id-EnhancedCoverageRestricted CRITICALITY ignore TYPE EnhancedCoverageRestricted PRESENCE optional }| { ID id-DL-CP-SecurityInformation CRITICALITY ignore TYPE DL-CP-SecurityInformation PRESENCE optional }| { ID id-CE-ModeBRestricted CRITICALITY ignore TYPE CE-ModeBRestricted PRESENCE optional}| - { ID id-EndIndication CRITICALITY ignore TYPE EndIndication PRESENCE optional}, + { ID id-EndIndication CRITICALITY ignore TYPE EndIndication PRESENCE optional}| + { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}, ... } @@ -3027,7 +3044,8 @@ UEInformationTransfer ::= SEQUENCE { UEInformationTransferIEs S1AP-PROTOCOL-IES ::= { { ID id-S-TMSI CRITICALITY reject TYPE S-TMSI PRESENCE mandatory}| { ID id-UE-Level-QoS-Parameters CRITICALITY ignore TYPE E-RABLevelQoSParameters PRESENCE optional}| - { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional}, + { ID id-UERadioCapability CRITICALITY ignore TYPE UERadioCapability PRESENCE optional}| + { ID id-Subscription-Based-UE-DifferentiationInfo CRITICALITY ignore TYPE Subscription-Based-UE-DifferentiationInfo PRESENCE optional}, ... } @@ -3085,7 +3103,7 @@ SecondaryRATDataUsageReport ::= SEQUENCE { SecondaryRATDataUsageReportIEs 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-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE optional}| + { ID id-SecondaryRATDataUsageReportList CRITICALITY ignore TYPE SecondaryRATDataUsageReportList PRESENCE mandatory}| { ID id-HandoverFlag CRITICALITY ignore TYPE HandoverFlag PRESENCE optional}, ... } diff --git a/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn b/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn index a73d440bd3..02e4fc4d5f 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-PDU-Descriptions.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.413 V15.2.0 (2018-06) +-- 3GPP TS 36.413 V15.3.0 (2018-09) -- 9.3.2 Elementary Procedure Definitions -- ************************************************************** -- diff --git a/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn b/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn index e5583fc055..7743df5e4e 100644 --- a/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn +++ b/epan/dissectors/asn1/s1ap/S1AP-SonTransfer-IEs.asn @@ -1,4 +1,4 @@ --- 3GPP TS 36.413 V15.2.0 (2018-06) +-- 3GPP TS 36.413 V15.3.0 (2018-09) -- B.2 ASN.1 definition -- ************************************************************** -- diff --git a/epan/dissectors/asn1/s1ap/packet-s1ap-template.c b/epan/dissectors/asn1/s1ap/packet-s1ap-template.c index ce0164eb64..ecac7036c6 100644 --- a/epan/dissectors/asn1/s1ap/packet-s1ap-template.c +++ b/epan/dissectors/asn1/s1ap/packet-s1ap-template.c @@ -10,7 +10,7 @@ * * Based on the RANAP dissector * - * References: 3GPP TS 36.413 V15.2.0 (2018-03) + * References: 3GPP TS 36.413 V15.3.0 (2018-09) */ #include "config.h" diff --git a/epan/dissectors/asn1/s1ap/s1ap.cnf b/epan/dissectors/asn1/s1ap/s1ap.cnf index 9dd3d2ef2d..8ab2aac20e 100644 --- a/epan/dissectors/asn1/s1ap/s1ap.cnf +++ b/epan/dissectors/asn1/s1ap/s1ap.cnf @@ -1195,6 +1195,31 @@ M-TMSI TYPE = FT_UINT32 DISPLAY = BASE_DEC_HEX #.TYPE_ATTR Packet-LossRate DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(s1ap_Packet_LossRate_fmt) +#.TYPE_ATTR +BluetoothName TYPE=FT_STRING DISPLAY = STR_UNICODE +#.FN_BODY BluetoothName VAL_PTR = ¶meter_tvb HF_INDEX = -1 + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA); +#.END + +#.TYPE_ATTR +WLANName TYPE=FT_STRING DISPLAY = STR_UNICODE +#.FN_BODY WLANName VAL_PTR = ¶meter_tvb HF_INDEX = -1 + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA); +#.END + +#.TYPE_ATTR +Subscription-Based-UE-DifferentiationInfo/periodicTime DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + +#.TYPE_ATTR +ScheduledCommunicationTime/timeofDayStart DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + +#.TYPE_ATTR +ScheduledCommunicationTime/timeofDayEnd DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + #.ASSIGN_VALUE_TO_TYPE # S1AP does not have constants assigned to types, they are pure INTEGER # ProcedureCode @@ -1505,7 +1530,7 @@ id-extended-e-RAB-GuaranteedBitrateDL ProtocolIE-ID id-extended-e-RAB-GuaranteedBitrateUL ProtocolIE-ID id-extended-uEaggregateMaximumBitRateDL ProtocolIE-ID id-extended-uEaggregateMaximumBitRateUL ProtocolIE-ID -id-NRrestriction ProtocolIE-ID +id-NRrestrictioninEPSasSecondaryRAT ProtocolIE-ID id-UEAppLayerMeasConfig ProtocolIE-ID id-UE-Application-Layer-Measurement-Capability ProtocolIE-ID id-SecondaryRATDataUsageReportList ProtocolIE-ID @@ -1522,9 +1547,15 @@ id-UplinkPacketLossRate ProtocolIE-ID id-UECapabilityInfoRequest ProtocolIE-ID id-serviceType ProtocolIE-ID id-AerialUEsubscriptionInformation ProtocolIE-ID +id-Subscription-Based-UE-DifferentiationInfo ProtocolIE-ID id-EndIndication ProtocolIE-ID id-EDT-Session ProtocolIE-ID id-CNTypeRestrictions ProtocolIE-ID +id-PendingDataIndication ProtocolIE-ID +id-BluetoothMeasurementConfiguration ProtocolIE-ID +id-WLANMeasurementConfiguration ProtocolIE-ID +id-WarningAreaCoordinates ProtocolIE-ID +id-NRrestrictionin5GS ProtocolIE-ID #.END @@ -1745,6 +1776,9 @@ UECapabilityInfoRequest N s1ap.ies id-UECapabilityInfoRe EndIndication N s1ap.ies id-EndIndication EDT-Session N s1ap.ies id-EDT-Session LTE-M-Indication N s1ap.ies id-LTE-M-Indication +Subscription-Based-UE-DifferentiationInfo N s1ap.ies id-Subscription-Based-UE-DifferentiationInfo +PendingDataIndication N s1ap.ies id-PendingDataIndication +WarningAreaCoordinates N s1ap.ies id-WarningAreaCoordinates #S1AP-PROTOCOL-IES-PAIR #RAB-SetupOrModifyItemFirst N s1ap.ies.pair.first id-RAB-SetupOrModifyItem @@ -1790,7 +1824,7 @@ ExtendedBitRate N s1ap.extension id-extended-e-RAB-Maxim ExtendedBitRate N s1ap.extension id-extended-e-RAB-MaximumBitrateUL ExtendedBitRate N s1ap.extension id-extended-e-RAB-GuaranteedBitrateDL ExtendedBitRate N s1ap.extension id-extended-e-RAB-GuaranteedBitrateUL -NRrestriction N s1ap.extension id-NRrestriction +NRrestrictioninEPSasSecondaryRAT N s1ap.extension id-NRrestrictioninEPSasSecondaryRAT UEAppLayerMeasConfig N s1ap.extension id-UEAppLayerMeasConfig ExtendedBitRate N s1ap.extension id-extended-uEaggregateMaximumBitRateDL ExtendedBitRate N s1ap.extension id-extended-uEaggregateMaximumBitRateUL @@ -1799,6 +1833,10 @@ CNTypeRestrictions N s1ap.extension id-CNTypeRestrictions Packet-LossRate N s1ap.extension id-DownlinkPacketLossRate Packet-LossRate N s1ap.extension id-UplinkPacketLossRate ServiceType N s1ap.extension id-serviceType +CNTypeRestrictions N s1ap.extension id-CNTypeRestrictions +BluetoothMeasurementConfiguration N s1ap.extension id-BluetoothMeasurementConfiguration +WLANMeasurementConfiguration N s1ap.extension id-WLANMeasurementConfiguration +NRrestrictionin5GS N s1ap.extension id-NRrestrictionin5GS #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 728a5e200c..ea31ce4488 100644 --- a/epan/dissectors/packet-s1ap.c +++ b/epan/dissectors/packet-s1ap.c @@ -18,7 +18,7 @@ * * Based on the RANAP dissector * - * References: 3GPP TS 36.413 V15.2.0 (2018-03) + * References: 3GPP TS 36.413 V15.3.0 (2018-09) */ #include "config.h" @@ -85,7 +85,7 @@ static dissector_handle_t lte_rrc_ue_radio_paging_info_nb_handle; #define maxnoofForbLACs 4096 #define maxnoofForbTACs 4096 #define maxnoofIndividualS1ConnectionsToReset 256 -#define maxnoofCells 16 +#define maxnoofCellsinUEHistoryInfo 16 #define maxnoofCellsineNB 256 #define maxnoofTAIforWarning 65535 #define maxnoofCellID 65535 @@ -113,6 +113,8 @@ static dissector_handle_t lte_rrc_ue_radio_paging_info_nb_handle; #define maxnoofCellIDforQMC 32 #define maxnoofTAforQMC 8 #define maxnoofPLMNforQMC 16 +#define maxnoofBluetoothName 4 +#define maxnoofWLANName 4 #define maxnoofIRATReportingCells 128 #define maxnoofcandidateCells 16 #define maxnoofCellineNB 256 @@ -445,7 +447,7 @@ typedef enum _ProtocolIE_ID_enum { id_extended_e_RAB_GuaranteedBitrateUL = 258, id_extended_uEaggregateMaximumBitRateDL = 259, id_extended_uEaggregateMaximumBitRateUL = 260, - id_NRrestriction = 261, + id_NRrestrictioninEPSasSecondaryRAT = 261, id_UEAppLayerMeasConfig = 262, id_UE_Application_Layer_Measurement_Capability = 263, id_SecondaryRATDataUsageReportList = 264, @@ -462,11 +464,16 @@ typedef enum _ProtocolIE_ID_enum { id_UECapabilityInfoRequest = 275, id_serviceType = 276, id_AerialUEsubscriptionInformation = 277, - id_Unknown_278 = 278, + id_Subscription_Based_UE_DifferentiationInfo = 278, id_Unknown_279 = 279, id_EndIndication = 280, id_EDT_Session = 281, - id_CNTypeRestrictions = 282 + id_CNTypeRestrictions = 282, + id_PendingDataIndication = 283, + id_BluetoothMeasurementConfiguration = 284, + id_WLANMeasurementConfiguration = 285, + id_WarningAreaCoordinates = 286, + id_NRrestrictionin5GS = 287 } ProtocolIE_ID_enum; typedef enum _HandoverType_enum { @@ -543,6 +550,7 @@ static int hf_s1ap_AerialUEsubscriptionInformation_PDU = -1; /* AerialUEsubscri static int hf_s1ap_AssistanceDataForPaging_PDU = -1; /* AssistanceDataForPaging */ static int hf_s1ap_Bearers_SubjectToStatusTransfer_Item_PDU = -1; /* Bearers_SubjectToStatusTransfer_Item */ static int hf_s1ap_BearerType_PDU = -1; /* BearerType */ +static int hf_s1ap_BluetoothMeasurementConfiguration_PDU = -1; /* BluetoothMeasurementConfiguration */ static int hf_s1ap_BroadcastCancelledAreaList_PDU = -1; /* BroadcastCancelledAreaList */ static int hf_s1ap_BroadcastCompletedAreaList_PDU = -1; /* BroadcastCompletedAreaList */ static int hf_s1ap_Cause_PDU = -1; /* Cause */ @@ -638,7 +646,8 @@ static int hf_s1ap_NASSecurityParameterstoE_UTRAN_PDU = -1; /* NASSecurityParam 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_NRrestriction_PDU = -1; /* NRrestriction */ +static int hf_s1ap_NRrestrictioninEPSasSecondaryRAT_PDU = -1; /* NRrestrictioninEPSasSecondaryRAT */ +static int hf_s1ap_NRrestrictionin5GS_PDU = -1; /* NRrestrictionin5GS */ static int hf_s1ap_NRUESecurityCapabilities_PDU = -1; /* NRUESecurityCapabilities */ static int hf_s1ap_NumberofBroadcastRequest_PDU = -1; /* NumberofBroadcastRequest */ static int hf_s1ap_OverloadResponse_PDU = -1; /* OverloadResponse */ @@ -646,6 +655,7 @@ static int hf_s1ap_Packet_LossRate_PDU = -1; /* Packet_LossRate */ static int hf_s1ap_Paging_eDRXInformation_PDU = -1; /* Paging_eDRXInformation */ static int hf_s1ap_PagingDRX_PDU = -1; /* PagingDRX */ static int hf_s1ap_PagingPriority_PDU = -1; /* PagingPriority */ +static int hf_s1ap_PendingDataIndication_PDU = -1; /* PendingDataIndication */ static int hf_s1ap_ProSeAuthorized_PDU = -1; /* ProSeAuthorized */ static int hf_s1ap_ProSeUEtoNetworkRelaying_PDU = -1; /* ProSeUEtoNetworkRelaying */ static int hf_s1ap_PS_ServiceNotAvailable_PDU = -1; /* PS_ServiceNotAvailable */ @@ -679,6 +689,7 @@ static int hf_s1ap_s1ap_SourceeNB_ToTargeteNB_TransparentContainer_PDU = -1; /* static int hf_s1ap_ServedGUMMEIs_PDU = -1; /* ServedGUMMEIs */ static int hf_s1ap_ServedPLMNs_PDU = -1; /* ServedPLMNs */ static int hf_s1ap_SubscriberProfileIDforRFP_PDU = -1; /* SubscriberProfileIDforRFP */ +static int hf_s1ap_Subscription_Based_UE_DifferentiationInfo_PDU = -1; /* Subscription_Based_UE_DifferentiationInfo */ static int hf_s1ap_SupportedTAs_PDU = -1; /* SupportedTAs */ static int hf_s1ap_TimeSynchronisationInfo_PDU = -1; /* TimeSynchronisationInfo */ static int hf_s1ap_S_TMSI_PDU = -1; /* S_TMSI */ @@ -717,10 +728,12 @@ static int hf_s1ap_UEUserPlaneCIoTSupportIndicator_PDU = -1; /* UEUserPlaneCIoT static int hf_s1ap_UE_Application_Layer_Measurement_Capability_PDU = -1; /* UE_Application_Layer_Measurement_Capability */ static int hf_s1ap_VoiceSupportMatchIndicator_PDU = -1; /* VoiceSupportMatchIndicator */ static int hf_s1ap_V2XServicesAuthorized_PDU = -1; /* V2XServicesAuthorized */ +static int hf_s1ap_WarningAreaCoordinates_PDU = -1; /* WarningAreaCoordinates */ 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_WLANMeasurementConfiguration_PDU = -1; /* WLANMeasurementConfiguration */ static int hf_s1ap_X2TNLConfigurationInfo_PDU = -1; /* X2TNLConfigurationInfo */ static int hf_s1ap_ENBX2ExtTLAs_PDU = -1; /* ENBX2ExtTLAs */ static int hf_s1ap_ENBIndirectX2TransportLayerAddresses_PDU = -1; /* ENBIndirectX2TransportLayerAddresses */ @@ -902,6 +915,10 @@ static int hf_s1ap_e_RAB_ID = -1; /* E_RAB_ID */ static int hf_s1ap_uL_COUNTvalue = -1; /* COUNTvalue */ static int hf_s1ap_dL_COUNTvalue = -1; /* COUNTvalue */ static int hf_s1ap_receiveStatusofULPDCPSDUs = -1; /* ReceiveStatusofULPDCPSDUs */ +static int hf_s1ap_bluetoothMeasConfig = -1; /* BluetoothMeasConfig */ +static int hf_s1ap_bluetoothMeasConfigNameList = -1; /* BluetoothMeasConfigNameList */ +static int hf_s1ap_bt_rssi = -1; /* T_bt_rssi */ +static int hf_s1ap_BluetoothMeasConfigNameList_item = -1; /* BluetoothName */ static int hf_s1ap_BPLMNs_item = -1; /* PLMNidentity */ static int hf_s1ap_cellID_Cancelled = -1; /* CellID_Cancelled */ static int hf_s1ap_tAI_Cancelled = -1; /* TAI_Cancelled */ @@ -1022,6 +1039,7 @@ static int hf_s1ap_recommendENBsForPaging = -1; /* RecommendedENBsForPaging */ 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 */ +static int hf_s1ap_nG_RAN_Cell = -1; /* LastVisitedNGRANCellInformation */ 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 */ @@ -1118,6 +1136,15 @@ static int hf_s1ap_servedMMECs = -1; /* ServedMMECs */ static int hf_s1ap_ServedGroupIDs_item = -1; /* MME_Group_ID */ static int hf_s1ap_ServedMMECs_item = -1; /* MME_Code */ static int hf_s1ap_ServedPLMNs_item = -1; /* PLMNidentity */ +static int hf_s1ap_periodicCommunicationIndicator = -1; /* T_periodicCommunicationIndicator */ +static int hf_s1ap_periodicTime = -1; /* INTEGER_1_3600_ */ +static int hf_s1ap_scheduledCommunicationTime = -1; /* ScheduledCommunicationTime */ +static int hf_s1ap_stationaryIndication = -1; /* T_stationaryIndication */ +static int hf_s1ap_trafficProfile = -1; /* T_trafficProfile */ +static int hf_s1ap_batteryIndication = -1; /* T_batteryIndication */ +static int hf_s1ap_dayofWeek = -1; /* BIT_STRING_SIZE_7 */ +static int hf_s1ap_timeofDayStart = -1; /* INTEGER_0_86399_ */ +static int hf_s1ap_timeofDayEnd = -1; /* INTEGER_0_86399_ */ static int hf_s1ap_SupportedTAs_item = -1; /* SupportedTAs_Item */ static int hf_s1ap_tAC = -1; /* TAC */ static int hf_s1ap_broadcastPLMNs = -1; /* BPLMNs */ @@ -1181,6 +1208,11 @@ static int hf_s1ap_pedestrianUE = -1; /* PedestrianUE */ 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_wlanMeasConfig = -1; /* WLANMeasConfig */ +static int hf_s1ap_wlanMeasConfigNameList = -1; /* WLANMeasConfigNameList */ +static int hf_s1ap_wlan_rssi = -1; /* T_wlan_rssi */ +static int hf_s1ap_wlan_rtt = -1; /* T_wlan_rtt */ +static int hf_s1ap_WLANMeasConfigNameList_item = -1; /* WLANName */ static int hf_s1ap_eNBX2TransportLayerAddresses = -1; /* ENBX2TLAs */ static int hf_s1ap_ENBX2ExtTLAs_item = -1; /* ENBX2ExtTLA */ static int hf_s1ap_iPsecTLA = -1; /* TransportLayerAddress */ @@ -1346,6 +1378,8 @@ static gint ett_s1ap_AssistanceDataForPaging = -1; static gint ett_s1ap_AssistanceDataForRecommendedCells = -1; static gint ett_s1ap_Bearers_SubjectToStatusTransferList = -1; static gint ett_s1ap_Bearers_SubjectToStatusTransfer_Item = -1; +static gint ett_s1ap_BluetoothMeasurementConfiguration = -1; +static gint ett_s1ap_BluetoothMeasConfigNameList = -1; static gint ett_s1ap_BPLMNs = -1; static gint ett_s1ap_BroadcastCancelledAreaList = -1; static gint ett_s1ap_BroadcastCompletedAreaList = -1; @@ -1474,6 +1508,8 @@ static gint ett_s1ap_ServedGUMMEIsItem = -1; static gint ett_s1ap_ServedGroupIDs = -1; static gint ett_s1ap_ServedMMECs = -1; static gint ett_s1ap_ServedPLMNs = -1; +static gint ett_s1ap_Subscription_Based_UE_DifferentiationInfo = -1; +static gint ett_s1ap_ScheduledCommunicationTime = -1; static gint ett_s1ap_SupportedTAs = -1; static gint ett_s1ap_SupportedTAs_Item = -1; static gint ett_s1ap_TimeSynchronisationInfo = -1; @@ -1522,6 +1558,8 @@ static gint ett_s1ap_UL_CP_SecurityInformation = -1; static gint ett_s1ap_UserLocationInformation = -1; static gint ett_s1ap_V2XServicesAuthorized = -1; static gint ett_s1ap_WarningAreaList = -1; +static gint ett_s1ap_WLANMeasurementConfiguration = -1; +static gint ett_s1ap_WLANMeasConfigNameList = -1; static gint ett_s1ap_X2TNLConfigurationInfo = -1; static gint ett_s1ap_ENBX2ExtTLAs = -1; static gint ett_s1ap_ENBX2ExtTLA = -1; @@ -2331,7 +2369,7 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = { { id_extended_e_RAB_GuaranteedBitrateUL, "id-extended-e-RAB-GuaranteedBitrateUL" }, { id_extended_uEaggregateMaximumBitRateDL, "id-extended-uEaggregateMaximumBitRateDL" }, { id_extended_uEaggregateMaximumBitRateUL, "id-extended-uEaggregateMaximumBitRateUL" }, - { id_NRrestriction, "id-NRrestriction" }, + { id_NRrestrictioninEPSasSecondaryRAT, "id-NRrestrictioninEPSasSecondaryRAT" }, { id_UEAppLayerMeasConfig, "id-UEAppLayerMeasConfig" }, { id_UE_Application_Layer_Measurement_Capability, "id-UE-Application-Layer-Measurement-Capability" }, { id_SecondaryRATDataUsageReportList, "id-SecondaryRATDataUsageReportList" }, @@ -2348,11 +2386,16 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = { { id_UECapabilityInfoRequest, "id-UECapabilityInfoRequest" }, { id_serviceType, "id-serviceType" }, { id_AerialUEsubscriptionInformation, "id-AerialUEsubscriptionInformation" }, - { id_Unknown_278, "id-Unknown-278" }, + { id_Subscription_Based_UE_DifferentiationInfo, "id-Subscription-Based-UE-DifferentiationInfo" }, { id_Unknown_279, "id-Unknown-279" }, { id_EndIndication, "id-EndIndication" }, { id_EDT_Session, "id-EDT-Session" }, { id_CNTypeRestrictions, "id-CNTypeRestrictions" }, + { id_PendingDataIndication, "id-PendingDataIndication" }, + { id_BluetoothMeasurementConfiguration, "id-BluetoothMeasurementConfiguration" }, + { id_WLANMeasurementConfiguration, "id-WLANMeasurementConfiguration" }, + { id_WarningAreaCoordinates, "id-WarningAreaCoordinates" }, + { id_NRrestrictionin5GS, "id-NRrestrictionin5GS" }, { 0, NULL } }; @@ -2689,7 +2732,7 @@ dissect_s1ap_AerialUEsubscriptionInformation(tvbuff_t *tvb _U_, int offset _U_, static int dissect_s1ap_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2181 "./asn1/s1ap/s1ap.cnf" +#line 2219 "./asn1/s1ap/s1ap.cnf" tvbuff_t *cell_id_tvb = NULL; offset = dissect_per_bit_string(tvb, offset, actx, tree, -1, 28, 28, FALSE, &cell_id_tvb, NULL); @@ -3403,6 +3446,82 @@ dissect_s1ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr } +static const value_string s1ap_BluetoothMeasConfig_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_BluetoothMeasConfig(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_BluetoothName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1201 "./asn1/s1ap/s1ap.cnf" + tvbuff_t *parameter_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, + 1, 248, FALSE, ¶meter_tvb); + + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA); + + + return offset; +} + + +static const per_sequence_t BluetoothMeasConfigNameList_sequence_of[1] = { + { &hf_s1ap_BluetoothMeasConfigNameList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_BluetoothName }, +}; + +static int +dissect_s1ap_BluetoothMeasConfigNameList(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_BluetoothMeasConfigNameList, BluetoothMeasConfigNameList_sequence_of, + 1, maxnoofBluetoothName, FALSE); + + return offset; +} + + +static const value_string s1ap_T_bt_rssi_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_T_bt_rssi(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t BluetoothMeasurementConfiguration_sequence[] = { + { &hf_s1ap_bluetoothMeasConfig, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BluetoothMeasConfig }, + { &hf_s1ap_bluetoothMeasConfigNameList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_BluetoothMeasConfigNameList }, + { &hf_s1ap_bt_rssi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_bt_rssi }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_BluetoothMeasurementConfiguration(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_BluetoothMeasurementConfiguration, BluetoothMeasurementConfiguration_sequence); + + return offset; +} + + static const per_sequence_t BPLMNs_sequence_of[1] = { { &hf_s1ap_BPLMNs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity }, }; @@ -3831,7 +3950,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 2152 "./asn1/s1ap/s1ap.cnf" +#line 2190 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 36, &value, TRUE, 4, NULL); @@ -3853,7 +3972,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 2157 "./asn1/s1ap/s1ap.cnf" +#line 2195 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, &value, TRUE, 0, NULL); @@ -3878,7 +3997,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 2162 "./asn1/s1ap/s1ap.cnf" +#line 2200 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, &value, TRUE, 1, NULL); @@ -3905,7 +4024,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 2167 "./asn1/s1ap/s1ap.cnf" +#line 2205 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, &value, TRUE, 0, NULL); @@ -3931,7 +4050,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 2172 "./asn1/s1ap/s1ap.cnf" +#line 2210 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, &value, TRUE, 0, NULL); @@ -6154,10 +6273,21 @@ dissect_s1ap_LastVisitedGERANCellInformation(tvbuff_t *tvb _U_, int offset _U_, } + +static int +dissect_s1ap_LastVisitedNGRANCellInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + NO_BOUND, NO_BOUND, FALSE, NULL); + + return offset; +} + + static const value_string s1ap_LastVisitedCell_Item_vals[] = { { 0, "e-UTRAN-Cell" }, { 1, "uTRAN-Cell" }, { 2, "gERAN-Cell" }, + { 3, "nG-RAN-Cell" }, { 0, NULL } }; @@ -6165,6 +6295,7 @@ static const per_choice_t LastVisitedCell_Item_choice[] = { { 0, &hf_s1ap_e_UTRAN_Cell , ASN1_EXTENSION_ROOT , dissect_s1ap_LastVisitedEUTRANCellInformation }, { 1, &hf_s1ap_uTRAN_Cell , ASN1_EXTENSION_ROOT , dissect_s1ap_LastVisitedUTRANCellInformation }, { 2, &hf_s1ap_gERAN_Cell , ASN1_EXTENSION_ROOT , dissect_s1ap_LastVisitedGERANCellInformation }, + { 3, &hf_s1ap_nG_RAN_Cell , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_LastVisitedNGRANCellInformation }, { 0, NULL, 0, NULL } }; @@ -7148,14 +7279,29 @@ dissect_s1ap_NRintegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, } -static const value_string s1ap_NRrestriction_vals[] = { - { 0, "nRrestricted" }, +static const value_string s1ap_NRrestrictioninEPSasSecondaryRAT_vals[] = { + { 0, "nRrestrictedinEPSasSecondaryRAT" }, { 0, NULL } }; static int -dissect_s1ap_NRrestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +dissect_s1ap_NRrestrictioninEPSasSecondaryRAT(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_NRrestrictionin5GS_vals[] = { + { 0, "nRrestrictedin5GS" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_NRrestrictionin5GS(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); @@ -7354,6 +7500,21 @@ dissect_s1ap_PagingPriority(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const value_string s1ap_PendingDataIndication_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_PendingDataIndication(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_Port_Number(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -8308,7 +8469,7 @@ static int dissect_s1ap_UE_HistoryInformation(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_UE_HistoryInformation, UE_HistoryInformation_sequence_of, - 1, maxnoofCells, FALSE); + 1, maxnoofCellsinUEHistoryInfo, FALSE); return offset; } @@ -8408,6 +8569,139 @@ dissect_s1ap_ServedGUMMEIs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ } +static const value_string s1ap_T_periodicCommunicationIndicator_vals[] = { + { 0, "periodically" }, + { 1, "ondemand" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_T_periodicCommunicationIndicator(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_INTEGER_1_3600_(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, 3600U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_s1ap_BIT_STRING_SIZE_7(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, + 7, 7, FALSE, NULL, NULL); + + return offset; +} + + + +static int +dissect_s1ap_INTEGER_0_86399_(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, 86399U, NULL, TRUE); + + return offset; +} + + +static const per_sequence_t ScheduledCommunicationTime_sequence[] = { + { &hf_s1ap_dayofWeek , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_BIT_STRING_SIZE_7 }, + { &hf_s1ap_timeofDayStart , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_0_86399_ }, + { &hf_s1ap_timeofDayEnd , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_0_86399_ }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_ScheduledCommunicationTime(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_ScheduledCommunicationTime, ScheduledCommunicationTime_sequence); + + return offset; +} + + +static const value_string s1ap_T_stationaryIndication_vals[] = { + { 0, "stationary" }, + { 1, "mobile" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_T_stationaryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string s1ap_T_trafficProfile_vals[] = { + { 0, "single-packet" }, + { 1, "dual-packets" }, + { 2, "multiple-packets" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_T_trafficProfile(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_T_batteryIndication_vals[] = { + { 0, "battery-powered" }, + { 1, "battery-powered-not-rechargeable-or-replaceable" }, + { 2, "not-battery-powered" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_T_batteryIndication(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 per_sequence_t Subscription_Based_UE_DifferentiationInfo_sequence[] = { + { &hf_s1ap_periodicCommunicationIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_periodicCommunicationIndicator }, + { &hf_s1ap_periodicTime , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_1_3600_ }, + { &hf_s1ap_scheduledCommunicationTime, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ScheduledCommunicationTime }, + { &hf_s1ap_stationaryIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_stationaryIndication }, + { &hf_s1ap_trafficProfile , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_trafficProfile }, + { &hf_s1ap_batteryIndication, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_batteryIndication }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_Subscription_Based_UE_DifferentiationInfo(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_Subscription_Based_UE_DifferentiationInfo, Subscription_Based_UE_DifferentiationInfo_sequence); + + return offset; +} + + static const per_sequence_t SupportedTAs_Item_sequence[] = { { &hf_s1ap_tAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAC }, { &hf_s1ap_broadcastPLMNs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BPLMNs }, @@ -8642,7 +8936,7 @@ static const per_choice_t TargetID_choice[] = { { 0, &hf_s1ap_targeteNB_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_TargeteNB_ID }, { 1, &hf_s1ap_targetRNC_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_TargetRNC_ID }, { 2, &hf_s1ap_cGI , ASN1_EXTENSION_ROOT , dissect_s1ap_CGI }, - { 3, &hf_s1ap_targetgNgRanNode_ID, ASN1_EXTENSION_ROOT , dissect_s1ap_TargetNgRanNode_ID }, + { 3, &hf_s1ap_targetgNgRanNode_ID, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_TargetNgRanNode_ID }, { 0, NULL, 0, NULL } }; @@ -9353,6 +9647,16 @@ dissect_s1ap_V2XServicesAuthorized(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t } + +static int +dissect_s1ap_WarningAreaCoordinates(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, 1024, FALSE, NULL); + + return offset; +} + + static const value_string s1ap_WarningAreaList_vals[] = { { 0, "cellIDList" }, { 1, "trackingAreaListforWarning" }, @@ -9428,6 +9732,98 @@ dissect_s1ap_WarningMessageContents(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const value_string s1ap_WLANMeasConfig_vals[] = { + { 0, "setup" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_WLANMeasConfig(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_WLANName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +#line 1209 "./asn1/s1ap/s1ap.cnf" + tvbuff_t *parameter_tvb = NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, -1, + 1, 32, FALSE, ¶meter_tvb); + + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, -1, ENC_UTF_8|ENC_NA); + + + return offset; +} + + +static const per_sequence_t WLANMeasConfigNameList_sequence_of[1] = { + { &hf_s1ap_WLANMeasConfigNameList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_WLANName }, +}; + +static int +dissect_s1ap_WLANMeasConfigNameList(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_WLANMeasConfigNameList, WLANMeasConfigNameList_sequence_of, + 1, maxnoofWLANName, FALSE); + + return offset; +} + + +static const value_string s1ap_T_wlan_rssi_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_T_wlan_rssi(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_T_wlan_rtt_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_T_wlan_rtt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t WLANMeasurementConfiguration_sequence[] = { + { &hf_s1ap_wlanMeasConfig , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_WLANMeasConfig }, + { &hf_s1ap_wlanMeasConfigNameList, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_WLANMeasConfigNameList }, + { &hf_s1ap_wlan_rssi , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_wlan_rssi }, + { &hf_s1ap_wlan_rtt , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_T_wlan_rtt }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_WLANMeasurementConfiguration(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_WLANMeasurementConfiguration, WLANMeasurementConfiguration_sequence); + + return offset; +} + + static const per_sequence_t ENBX2GTPTLAs_sequence_of[1] = { { &hf_s1ap_ENBX2GTPTLAs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress }, }; @@ -9575,7 +9971,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 1966 "./asn1/s1ap/s1ap.cnf" +#line 2004 "./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, @@ -9713,7 +10109,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 1972 "./asn1/s1ap/s1ap.cnf" +#line 2010 "./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, @@ -9730,7 +10126,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 1974 "./asn1/s1ap/s1ap.cnf" +#line 2012 "./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, @@ -9747,7 +10143,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 1976 "./asn1/s1ap/s1ap.cnf" +#line 2014 "./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, @@ -9790,7 +10186,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 1978 "./asn1/s1ap/s1ap.cnf" +#line 2016 "./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, @@ -9833,7 +10229,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 1980 "./asn1/s1ap/s1ap.cnf" +#line 2018 "./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, @@ -9850,7 +10246,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 1982 "./asn1/s1ap/s1ap.cnf" +#line 2020 "./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, @@ -9867,7 +10263,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 1984 "./asn1/s1ap/s1ap.cnf" +#line 2022 "./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, @@ -9884,7 +10280,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 1986 "./asn1/s1ap/s1ap.cnf" +#line 2024 "./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, @@ -9934,7 +10330,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 1988 "./asn1/s1ap/s1ap.cnf" +#line 2026 "./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, @@ -9982,7 +10378,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 1990 "./asn1/s1ap/s1ap.cnf" +#line 2028 "./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, @@ -10030,7 +10426,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 1992 "./asn1/s1ap/s1ap.cnf" +#line 2030 "./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, @@ -10076,7 +10472,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 1994 "./asn1/s1ap/s1ap.cnf" +#line 2032 "./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, @@ -10093,7 +10489,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 1996 "./asn1/s1ap/s1ap.cnf" +#line 2034 "./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, @@ -10139,7 +10535,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 1998 "./asn1/s1ap/s1ap.cnf" +#line 2036 "./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, @@ -10156,7 +10552,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 2000 "./asn1/s1ap/s1ap.cnf" +#line 2038 "./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, @@ -10206,7 +10602,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 2002 "./asn1/s1ap/s1ap.cnf" +#line 2040 "./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, @@ -10254,7 +10650,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 2004 "./asn1/s1ap/s1ap.cnf" +#line 2042 "./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, @@ -10271,7 +10667,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 2006 "./asn1/s1ap/s1ap.cnf" +#line 2044 "./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, @@ -10317,7 +10713,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 2008 "./asn1/s1ap/s1ap.cnf" +#line 2046 "./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, @@ -10334,7 +10730,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 2010 "./asn1/s1ap/s1ap.cnf" +#line 2048 "./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, @@ -10351,7 +10747,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 2012 "./asn1/s1ap/s1ap.cnf" +#line 2050 "./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, @@ -10368,7 +10764,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 2014 "./asn1/s1ap/s1ap.cnf" +#line 2052 "./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, @@ -10385,7 +10781,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 2016 "./asn1/s1ap/s1ap.cnf" +#line 2054 "./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, @@ -10402,7 +10798,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 2018 "./asn1/s1ap/s1ap.cnf" +#line 2056 "./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, @@ -10419,7 +10815,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 2020 "./asn1/s1ap/s1ap.cnf" +#line 2058 "./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, @@ -10436,7 +10832,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 2022 "./asn1/s1ap/s1ap.cnf" +#line 2060 "./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, @@ -10513,7 +10909,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 2030 "./asn1/s1ap/s1ap.cnf" +#line 2068 "./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, @@ -10530,7 +10926,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 2032 "./asn1/s1ap/s1ap.cnf" +#line 2070 "./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, @@ -10569,7 +10965,7 @@ static const per_sequence_t NASDeliveryIndication_sequence[] = { static int dissect_s1ap_NASDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2136 "./asn1/s1ap/s1ap.cnf" +#line 2174 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASDeliveryIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -10586,7 +10982,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 2034 "./asn1/s1ap/s1ap.cnf" +#line 2072 "./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, @@ -10654,7 +11050,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 2036 "./asn1/s1ap/s1ap.cnf" +#line 2074 "./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, @@ -10699,7 +11095,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 2040 "./asn1/s1ap/s1ap.cnf" +#line 2078 "./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, @@ -10716,7 +11112,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 2042 "./asn1/s1ap/s1ap.cnf" +#line 2080 "./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, @@ -10733,7 +11129,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 2044 "./asn1/s1ap/s1ap.cnf" +#line 2082 "./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, @@ -10750,7 +11146,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 2046 "./asn1/s1ap/s1ap.cnf" +#line 2084 "./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, @@ -10767,7 +11163,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 2048 "./asn1/s1ap/s1ap.cnf" +#line 2086 "./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, @@ -10784,7 +11180,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 2050 "./asn1/s1ap/s1ap.cnf" +#line 2088 "./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, @@ -10801,7 +11197,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 2052 "./asn1/s1ap/s1ap.cnf" +#line 2090 "./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, @@ -10818,7 +11214,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 2054 "./asn1/s1ap/s1ap.cnf" +#line 2092 "./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, @@ -10835,7 +11231,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 2056 "./asn1/s1ap/s1ap.cnf" +#line 2094 "./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, @@ -10852,7 +11248,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 2058 "./asn1/s1ap/s1ap.cnf" +#line 2096 "./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, @@ -10869,7 +11265,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 2060 "./asn1/s1ap/s1ap.cnf" +#line 2098 "./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, @@ -10886,7 +11282,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 2062 "./asn1/s1ap/s1ap.cnf" +#line 2100 "./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, @@ -10903,7 +11299,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 2064 "./asn1/s1ap/s1ap.cnf" +#line 2102 "./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, @@ -10920,7 +11316,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 2066 "./asn1/s1ap/s1ap.cnf" +#line 2104 "./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, @@ -10937,7 +11333,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 2068 "./asn1/s1ap/s1ap.cnf" +#line 2106 "./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, @@ -10954,7 +11350,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 2070 "./asn1/s1ap/s1ap.cnf" +#line 2108 "./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, @@ -10971,7 +11367,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 2072 "./asn1/s1ap/s1ap.cnf" +#line 2110 "./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, @@ -10988,7 +11384,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 2074 "./asn1/s1ap/s1ap.cnf" +#line 2112 "./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, @@ -11005,7 +11401,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 2076 "./asn1/s1ap/s1ap.cnf" +#line 2114 "./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, @@ -11022,7 +11418,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 2078 "./asn1/s1ap/s1ap.cnf" +#line 2116 "./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, @@ -11039,7 +11435,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 2080 "./asn1/s1ap/s1ap.cnf" +#line 2118 "./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, @@ -11056,7 +11452,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 2082 "./asn1/s1ap/s1ap.cnf" +#line 2120 "./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, @@ -11073,7 +11469,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 2084 "./asn1/s1ap/s1ap.cnf" +#line 2122 "./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, @@ -11090,7 +11486,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 2086 "./asn1/s1ap/s1ap.cnf" +#line 2124 "./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, @@ -11107,7 +11503,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 2088 "./asn1/s1ap/s1ap.cnf" +#line 2126 "./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, @@ -11124,7 +11520,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 2090 "./asn1/s1ap/s1ap.cnf" +#line 2128 "./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, @@ -11161,7 +11557,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 2092 "./asn1/s1ap/s1ap.cnf" +#line 2130 "./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, @@ -11178,7 +11574,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 2094 "./asn1/s1ap/s1ap.cnf" +#line 2132 "./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, @@ -11195,7 +11591,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 2096 "./asn1/s1ap/s1ap.cnf" +#line 2134 "./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, @@ -11212,7 +11608,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 2098 "./asn1/s1ap/s1ap.cnf" +#line 2136 "./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, @@ -11229,7 +11625,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 2100 "./asn1/s1ap/s1ap.cnf" +#line 2138 "./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, @@ -11246,7 +11642,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 2102 "./asn1/s1ap/s1ap.cnf" +#line 2140 "./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, @@ -11263,7 +11659,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 2104 "./asn1/s1ap/s1ap.cnf" +#line 2142 "./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, @@ -11280,7 +11676,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 2106 "./asn1/s1ap/s1ap.cnf" +#line 2144 "./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, @@ -11297,7 +11693,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 2108 "./asn1/s1ap/s1ap.cnf" +#line 2146 "./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, @@ -11314,7 +11710,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 2110 "./asn1/s1ap/s1ap.cnf" +#line 2148 "./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, @@ -11331,7 +11727,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 2112 "./asn1/s1ap/s1ap.cnf" +#line 2150 "./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, @@ -11348,7 +11744,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 2114 "./asn1/s1ap/s1ap.cnf" +#line 2152 "./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, @@ -11365,7 +11761,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 2116 "./asn1/s1ap/s1ap.cnf" +#line 2154 "./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, @@ -11452,7 +11848,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 2118 "./asn1/s1ap/s1ap.cnf" +#line 2156 "./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, @@ -11498,7 +11894,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 2120 "./asn1/s1ap/s1ap.cnf" +#line 2158 "./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, @@ -11515,7 +11911,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 2122 "./asn1/s1ap/s1ap.cnf" +#line 2160 "./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, @@ -11532,7 +11928,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 2124 "./asn1/s1ap/s1ap.cnf" +#line 2162 "./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, @@ -11549,7 +11945,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 2126 "./asn1/s1ap/s1ap.cnf" +#line 2164 "./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, @@ -11566,7 +11962,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 2128 "./asn1/s1ap/s1ap.cnf" +#line 2166 "./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, @@ -11608,7 +12004,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 2130 "./asn1/s1ap/s1ap.cnf" +#line 2168 "./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, @@ -11650,7 +12046,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 2132 "./asn1/s1ap/s1ap.cnf" +#line 2170 "./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, @@ -11667,7 +12063,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 2134 "./asn1/s1ap/s1ap.cnf" +#line 2172 "./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, @@ -11684,7 +12080,7 @@ static const per_sequence_t RetrieveUEInformation_sequence[] = { static int dissect_s1ap_RetrieveUEInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2138 "./asn1/s1ap/s1ap.cnf" +#line 2176 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEInformation"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -11701,7 +12097,7 @@ static const per_sequence_t UEInformationTransfer_sequence[] = { static int dissect_s1ap_UEInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2140 "./asn1/s1ap/s1ap.cnf" +#line 2178 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationTransfer"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -11718,7 +12114,7 @@ static const per_sequence_t ENBCPRelocationIndication_sequence[] = { static int dissect_s1ap_ENBCPRelocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2142 "./asn1/s1ap/s1ap.cnf" +#line 2180 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBCPRelocationIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -11735,7 +12131,7 @@ static const per_sequence_t MMECPRelocationIndication_sequence[] = { static int dissect_s1ap_MMECPRelocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2144 "./asn1/s1ap/s1ap.cnf" +#line 2182 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMECPRelocationIndication"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -11752,7 +12148,7 @@ static const per_sequence_t SecondaryRATDataUsageReport_sequence[] = { static int dissect_s1ap_SecondaryRATDataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 2146 "./asn1/s1ap/s1ap.cnf" +#line 2184 "./asn1/s1ap/s1ap.cnf" col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport"); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -12744,6 +13140,14 @@ static int dissect_BearerType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro offset += 7; offset >>= 3; return offset; } +static int dissect_BluetoothMeasurementConfiguration_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_BluetoothMeasurementConfiguration(tvb, offset, &asn1_ctx, tree, hf_s1ap_BluetoothMeasurementConfiguration_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_BroadcastCancelledAreaList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -13504,11 +13908,19 @@ static int dissect_NB_IoT_UEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_inf offset += 7; offset >>= 3; return offset; } -static int dissect_NRrestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { +static int dissect_NRrestrictioninEPSasSecondaryRAT_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_NRrestriction(tvb, offset, &asn1_ctx, tree, hf_s1ap_NRrestriction_PDU); + offset = dissect_s1ap_NRrestrictioninEPSasSecondaryRAT(tvb, offset, &asn1_ctx, tree, hf_s1ap_NRrestrictioninEPSasSecondaryRAT_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_NRrestrictionin5GS_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_NRrestrictionin5GS(tvb, offset, &asn1_ctx, tree, hf_s1ap_NRrestrictionin5GS_PDU); offset += 7; offset >>= 3; return offset; } @@ -13568,6 +13980,14 @@ static int dissect_PagingPriority_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, offset += 7; offset >>= 3; return offset; } +static int dissect_PendingDataIndication_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_PendingDataIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_PendingDataIndication_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_ProSeAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -13832,6 +14252,14 @@ static int dissect_SubscriberProfileIDforRFP_PDU(tvbuff_t *tvb _U_, packet_info offset += 7; offset >>= 3; return offset; } +static int dissect_Subscription_Based_UE_DifferentiationInfo_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_Subscription_Based_UE_DifferentiationInfo(tvb, offset, &asn1_ctx, tree, hf_s1ap_Subscription_Based_UE_DifferentiationInfo_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_SupportedTAs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -14136,6 +14564,14 @@ static int dissect_V2XServicesAuthorized_PDU(tvbuff_t *tvb _U_, packet_info *pin offset += 7; offset >>= 3; return offset; } +static int dissect_WarningAreaCoordinates_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_WarningAreaCoordinates(tvb, offset, &asn1_ctx, tree, hf_s1ap_WarningAreaCoordinates_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_WarningAreaList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -14168,6 +14604,14 @@ static int dissect_WarningMessageContents_PDU(tvbuff_t *tvb _U_, packet_info *pi offset += 7; offset >>= 3; return offset; } +static int dissect_WLANMeasurementConfiguration_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_WLANMeasurementConfiguration(tvb, offset, &asn1_ctx, tree, hf_s1ap_WLANMeasurementConfiguration_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_X2TNLConfigurationInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -15655,6 +16099,9 @@ proto_reg_handoff_s1ap(void) dissector_add_uint("s1ap.ies", id_EndIndication, create_dissector_handle(dissect_EndIndication_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_EDT_Session, create_dissector_handle(dissect_EDT_Session_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_LTE_M_Indication, create_dissector_handle(dissect_LTE_M_Indication_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_Subscription_Based_UE_DifferentiationInfo, create_dissector_handle(dissect_Subscription_Based_UE_DifferentiationInfo_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_PendingDataIndication, create_dissector_handle(dissect_PendingDataIndication_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_WarningAreaCoordinates, create_dissector_handle(dissect_WarningAreaCoordinates_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)); @@ -15692,7 +16139,7 @@ proto_reg_handoff_s1ap(void) dissector_add_uint("s1ap.extension", id_extended_e_RAB_MaximumBitrateUL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_extended_e_RAB_GuaranteedBitrateDL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_extended_e_RAB_GuaranteedBitrateUL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap)); - dissector_add_uint("s1ap.extension", id_NRrestriction, create_dissector_handle(dissect_NRrestriction_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_NRrestrictioninEPSasSecondaryRAT, create_dissector_handle(dissect_NRrestrictioninEPSasSecondaryRAT_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_UEAppLayerMeasConfig, create_dissector_handle(dissect_UEAppLayerMeasConfig_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_extended_uEaggregateMaximumBitRateDL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_extended_uEaggregateMaximumBitRateUL, create_dissector_handle(dissect_ExtendedBitRate_PDU, proto_s1ap)); @@ -15701,6 +16148,9 @@ proto_reg_handoff_s1ap(void) dissector_add_uint("s1ap.extension", id_DownlinkPacketLossRate, create_dissector_handle(dissect_Packet_LossRate_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_UplinkPacketLossRate, create_dissector_handle(dissect_Packet_LossRate_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_serviceType, create_dissector_handle(dissect_ServiceType_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_BluetoothMeasurementConfiguration, create_dissector_handle(dissect_BluetoothMeasurementConfiguration_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_WLANMeasurementConfiguration, create_dissector_handle(dissect_WLANMeasurementConfiguration_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_NRrestrictionin5GS, create_dissector_handle(dissect_NRrestrictionin5GS_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)); @@ -16023,6 +16473,10 @@ void proto_register_s1ap(void) { { "BearerType", "s1ap.BearerType", FT_UINT32, BASE_DEC, VALS(s1ap_BearerType_vals), 0, NULL, HFILL }}, + { &hf_s1ap_BluetoothMeasurementConfiguration_PDU, + { "BluetoothMeasurementConfiguration", "s1ap.BluetoothMeasurementConfiguration_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_BroadcastCancelledAreaList_PDU, { "BroadcastCancelledAreaList", "s1ap.BroadcastCancelledAreaList", FT_UINT32, BASE_DEC, VALS(s1ap_BroadcastCancelledAreaList_vals), 0, @@ -16403,9 +16857,13 @@ void proto_register_s1ap(void) { { "NB-IoT-UEIdentityIndexValue", "s1ap.NB_IoT_UEIdentityIndexValue", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, - { &hf_s1ap_NRrestriction_PDU, - { "NRrestriction", "s1ap.NRrestriction", - FT_UINT32, BASE_DEC, VALS(s1ap_NRrestriction_vals), 0, + { &hf_s1ap_NRrestrictioninEPSasSecondaryRAT_PDU, + { "NRrestrictioninEPSasSecondaryRAT", "s1ap.NRrestrictioninEPSasSecondaryRAT", + FT_UINT32, BASE_DEC, VALS(s1ap_NRrestrictioninEPSasSecondaryRAT_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_NRrestrictionin5GS_PDU, + { "NRrestrictionin5GS", "s1ap.NRrestrictionin5GS", + FT_UINT32, BASE_DEC, VALS(s1ap_NRrestrictionin5GS_vals), 0, NULL, HFILL }}, { &hf_s1ap_NRUESecurityCapabilities_PDU, { "NRUESecurityCapabilities", "s1ap.NRUESecurityCapabilities_element", @@ -16435,6 +16893,10 @@ void proto_register_s1ap(void) { { "PagingPriority", "s1ap.PagingPriority", FT_UINT32, BASE_DEC, VALS(s1ap_PagingPriority_vals), 0, NULL, HFILL }}, + { &hf_s1ap_PendingDataIndication_PDU, + { "PendingDataIndication", "s1ap.PendingDataIndication", + FT_UINT32, BASE_DEC, VALS(s1ap_PendingDataIndication_vals), 0, + NULL, HFILL }}, { &hf_s1ap_ProSeAuthorized_PDU, { "ProSeAuthorized", "s1ap.ProSeAuthorized_element", FT_NONE, BASE_NONE, NULL, 0, @@ -16567,6 +17029,10 @@ void proto_register_s1ap(void) { { "SubscriberProfileIDforRFP", "s1ap.SubscriberProfileIDforRFP", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_Subscription_Based_UE_DifferentiationInfo_PDU, + { "Subscription-Based-UE-DifferentiationInfo", "s1ap.Subscription_Based_UE_DifferentiationInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_SupportedTAs_PDU, { "SupportedTAs", "s1ap.SupportedTAs", FT_UINT32, BASE_DEC, NULL, 0, @@ -16719,6 +17185,10 @@ void proto_register_s1ap(void) { { "V2XServicesAuthorized", "s1ap.V2XServicesAuthorized_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_WarningAreaCoordinates_PDU, + { "WarningAreaCoordinates", "s1ap.WarningAreaCoordinates", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_WarningAreaList_PDU, { "WarningAreaList", "s1ap.WarningAreaList", FT_UINT32, BASE_DEC, VALS(s1ap_WarningAreaList_vals), 0, @@ -16735,6 +17205,10 @@ void proto_register_s1ap(void) { { "WarningMessageContents", "s1ap.WarningMessageContents", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_WLANMeasurementConfiguration_PDU, + { "WLANMeasurementConfiguration", "s1ap.WLANMeasurementConfiguration_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_X2TNLConfigurationInfo_PDU, { "X2TNLConfigurationInfo", "s1ap.X2TNLConfigurationInfo_element", FT_NONE, BASE_NONE, NULL, 0, @@ -17459,6 +17933,22 @@ void proto_register_s1ap(void) { { "receiveStatusofULPDCPSDUs", "s1ap.receiveStatusofULPDCPSDUs", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_bluetoothMeasConfig, + { "bluetoothMeasConfig", "s1ap.bluetoothMeasConfig", + FT_UINT32, BASE_DEC, VALS(s1ap_BluetoothMeasConfig_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_bluetoothMeasConfigNameList, + { "bluetoothMeasConfigNameList", "s1ap.bluetoothMeasConfigNameList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_bt_rssi, + { "bt-rssi", "s1ap.bt_rssi", + FT_UINT32, BASE_DEC, VALS(s1ap_T_bt_rssi_vals), 0, + "T_bt_rssi", HFILL }}, + { &hf_s1ap_BluetoothMeasConfigNameList_item, + { "BluetoothName", "s1ap.BluetoothName", + FT_STRING, STR_UNICODE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_BPLMNs_item, { "PLMNidentity", "s1ap.PLMNidentity", FT_BYTES, BASE_NONE, NULL, 0, @@ -17939,6 +18429,10 @@ void proto_register_s1ap(void) { { "gERAN-Cell", "s1ap.gERAN_Cell", FT_UINT32, BASE_DEC, VALS(s1ap_LastVisitedGERANCellInformation_vals), 0, "LastVisitedGERANCellInformation", HFILL }}, + { &hf_s1ap_nG_RAN_Cell, + { "nG-RAN-Cell", "s1ap.nG_RAN_Cell", + FT_BYTES, BASE_NONE, NULL, 0, + "LastVisitedNGRANCellInformation", HFILL }}, { &hf_s1ap_cellType, { "cellType", "s1ap.cellType_element", FT_NONE, BASE_NONE, NULL, 0, @@ -18323,6 +18817,42 @@ void proto_register_s1ap(void) { { "PLMNidentity", "s1ap.PLMNidentity", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_periodicCommunicationIndicator, + { "periodicCommunicationIndicator", "s1ap.periodicCommunicationIndicator", + FT_UINT32, BASE_DEC, VALS(s1ap_T_periodicCommunicationIndicator_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_periodicTime, + { "periodicTime", "s1ap.periodicTime", + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, + "INTEGER_1_3600_", HFILL }}, + { &hf_s1ap_scheduledCommunicationTime, + { "scheduledCommunicationTime", "s1ap.scheduledCommunicationTime_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_stationaryIndication, + { "stationaryIndication", "s1ap.stationaryIndication", + FT_UINT32, BASE_DEC, VALS(s1ap_T_stationaryIndication_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_trafficProfile, + { "trafficProfile", "s1ap.trafficProfile", + FT_UINT32, BASE_DEC, VALS(s1ap_T_trafficProfile_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_batteryIndication, + { "batteryIndication", "s1ap.batteryIndication", + FT_UINT32, BASE_DEC, VALS(s1ap_T_batteryIndication_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_dayofWeek, + { "dayofWeek", "s1ap.dayofWeek", + FT_BYTES, BASE_NONE, NULL, 0, + "BIT_STRING_SIZE_7", HFILL }}, + { &hf_s1ap_timeofDayStart, + { "timeofDayStart", "s1ap.timeofDayStart", + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, + "INTEGER_0_86399_", HFILL }}, + { &hf_s1ap_timeofDayEnd, + { "timeofDayEnd", "s1ap.timeofDayEnd", + FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0, + "INTEGER_0_86399_", HFILL }}, { &hf_s1ap_SupportedTAs_item, { "SupportedTAs-Item", "s1ap.SupportedTAs_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -18575,6 +19105,26 @@ void proto_register_s1ap(void) { { "emergencyAreaIDList", "s1ap.emergencyAreaIDList", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_wlanMeasConfig, + { "wlanMeasConfig", "s1ap.wlanMeasConfig", + FT_UINT32, BASE_DEC, VALS(s1ap_WLANMeasConfig_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_wlanMeasConfigNameList, + { "wlanMeasConfigNameList", "s1ap.wlanMeasConfigNameList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_wlan_rssi, + { "wlan-rssi", "s1ap.wlan_rssi", + FT_UINT32, BASE_DEC, VALS(s1ap_T_wlan_rssi_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_wlan_rtt, + { "wlan-rtt", "s1ap.wlan_rtt", + FT_UINT32, BASE_DEC, VALS(s1ap_T_wlan_rtt_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_WLANMeasConfigNameList_item, + { "WLANName", "s1ap.WLANName", + FT_STRING, STR_UNICODE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_eNBX2TransportLayerAddresses, { "eNBX2TransportLayerAddresses", "s1ap.eNBX2TransportLayerAddresses", FT_UINT32, BASE_DEC, NULL, 0, @@ -19066,6 +19616,8 @@ void proto_register_s1ap(void) { &ett_s1ap_AssistanceDataForRecommendedCells, &ett_s1ap_Bearers_SubjectToStatusTransferList, &ett_s1ap_Bearers_SubjectToStatusTransfer_Item, + &ett_s1ap_BluetoothMeasurementConfiguration, + &ett_s1ap_BluetoothMeasConfigNameList, &ett_s1ap_BPLMNs, &ett_s1ap_BroadcastCancelledAreaList, &ett_s1ap_BroadcastCompletedAreaList, @@ -19194,6 +19746,8 @@ void proto_register_s1ap(void) { &ett_s1ap_ServedGroupIDs, &ett_s1ap_ServedMMECs, &ett_s1ap_ServedPLMNs, + &ett_s1ap_Subscription_Based_UE_DifferentiationInfo, + &ett_s1ap_ScheduledCommunicationTime, &ett_s1ap_SupportedTAs, &ett_s1ap_SupportedTAs_Item, &ett_s1ap_TimeSynchronisationInfo, @@ -19242,6 +19796,8 @@ void proto_register_s1ap(void) { &ett_s1ap_UserLocationInformation, &ett_s1ap_V2XServicesAuthorized, &ett_s1ap_WarningAreaList, + &ett_s1ap_WLANMeasurementConfiguration, + &ett_s1ap_WLANMeasConfigNameList, &ett_s1ap_X2TNLConfigurationInfo, &ett_s1ap_ENBX2ExtTLAs, &ett_s1ap_ENBX2ExtTLA,