diff options
author | AndersBroman <anders.broman@ericsson.com> | 2014-09-10 16:30:41 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2014-09-10 15:56:05 +0000 |
commit | 4567134a56a0abcb61f1aec100ab6f2b126f891d (patch) | |
tree | bea3dfecb20883bc6452ad36574dd03c4be6ea96 /epan/dissectors/packet-s1ap.c | |
parent | cc412a6cdf5321925ff0d35f0bcc28b42af69483 (diff) |
Update to revission V12.2.0 (2014-06)
Remove soft deprecated APIs
Change-Id: I30adcb9f381c77142385c22fcc4a208169b0cf5e
Reviewed-on: https://code.wireshark.org/review/4062
Petri-Dish: Anders Broman <a.broman58@gmail.com>
Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org>
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-s1ap.c')
-rw-r--r-- | epan/dissectors/packet-s1ap.c | 662 |
1 files changed, 595 insertions, 67 deletions
diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c index d9f930d75b..004435b016 100644 --- a/epan/dissectors/packet-s1ap.c +++ b/epan/dissectors/packet-s1ap.c @@ -105,6 +105,9 @@ static dissector_handle_t bssgp_handle; #define maxnoofCellIDforMDT 32 #define maxnoofTAforMDT 8 #define maxnoofMDTPLMNs 16 +#define maxnoofCellsforRestart 256 +#define maxnoofRestartTAIs 2048 +#define maxnoofRestartEmergencyAreaIDs 256 #define maxnoofIRATReportingCells 128 #define maxnoofcandidateCells 16 #define maxnoofCellineNB 256 @@ -158,7 +161,8 @@ typedef enum _ProcedureCode_enum { id_uplinkUEAssociatedLPPaTransport = 45, id_downlinkNonUEAssociatedLPPaTransport = 46, id_uplinkNonUEAssociatedLPPaTransport = 47, - id_UERadioCapabilityMatch = 48 + id_UERadioCapabilityMatch = 48, + id_PWSRestartIndication = 49 } ProcedureCode_enum; typedef enum _ProtocolIE_ID_enum { @@ -247,7 +251,6 @@ typedef enum _ProtocolIE_ID_enum { id_Unknown_82 = 82, id_cdma2000HOStatus = 83, id_cdma2000HORequiredIndication = 84, - id_Unknown_85 = 85, id_E_UTRAN_Trace_ID = 86, id_RelativeMMECapacity = 87, id_SourceMME_UE_S1AP_ID = 88, @@ -343,7 +346,19 @@ typedef enum _ProtocolIE_ID_enum { id_SignallingBasedMDTPLMNList = 178, id_ULCOUNTValueExtended = 179, id_DLCOUNTValueExtended = 180, - id_ReceiveStatusOfULPDCPSDUsExtended = 181 + id_ReceiveStatusOfULPDCPSDUsExtended = 181, + id_ECGIListForRestart = 182, + id_SIPTO_Correlation_ID = 183, + id_SIPTO_L_GW_TransportLayerAddress = 184, + id_TransportInformation = 185, + id_LHN_ID = 186, + id_AdditionalCSFallbackIndicator = 187, + id_TAIListForRestart = 188, + id_UserLocationInformation = 189, + id_EmergencyAreaIDListForRestart = 190, + id_KillAllWarningMessages = 191, + id_Masked_IMEISV = 192, + id_eNBIndirectX2TransportLayerAddresses = 193 } ProtocolIE_ID_enum; /*--- End of included file: packet-s1ap-val.h ---*/ @@ -373,6 +388,7 @@ static int hf_s1ap_CNDomain_PDU = -1; /* CNDomain */ static int hf_s1ap_ConcurrentWarningMessageIndicator_PDU = -1; /* ConcurrentWarningMessageIndicator */ static int hf_s1ap_Correlation_ID_PDU = -1; /* Correlation_ID */ static int hf_s1ap_CSFallbackIndicator_PDU = -1; /* CSFallbackIndicator */ +static int hf_s1ap_AdditionalCSFallbackIndicator_PDU = -1; /* AdditionalCSFallbackIndicator */ static int hf_s1ap_CSG_Id_PDU = -1; /* CSG_Id */ static int hf_s1ap_CSG_IdList_PDU = -1; /* CSG_IdList */ static int hf_s1ap_CSGMembershipStatus_PDU = -1; /* CSGMembershipStatus */ @@ -381,6 +397,7 @@ static int hf_s1ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics * static int hf_s1ap_DataCodingScheme_PDU = -1; /* DataCodingScheme */ static int hf_s1ap_Direct_Forwarding_Path_Availability_PDU = -1; /* Direct_Forwarding_Path_Availability */ static int hf_s1ap_Data_Forwarding_Not_Possible_PDU = -1; /* Data_Forwarding_Not_Possible */ +static int hf_s1ap_EmergencyAreaIDListForRestart_PDU = -1; /* EmergencyAreaIDListForRestart */ static int hf_s1ap_s1ap_Global_ENB_ID_PDU = -1; /* Global_ENB_ID */ static int hf_s1ap_GUMMEIList_PDU = -1; /* GUMMEIList */ static int hf_s1ap_s1ap_ENB_StatusTransfer_TransparentContainer_PDU = -1; /* ENB_StatusTransfer_TransparentContainer */ @@ -397,8 +414,11 @@ static int hf_s1ap_GUMMEIType_PDU = -1; /* GUMMEIType */ static int hf_s1ap_GWContextReleaseIndication_PDU = -1; /* GWContextReleaseIndication */ static int hf_s1ap_HandoverRestrictionList_PDU = -1; /* HandoverRestrictionList */ static int hf_s1ap_HandoverType_PDU = -1; /* HandoverType */ +static int hf_s1ap_Masked_IMEISV_PDU = -1; /* Masked_IMEISV */ +static int hf_s1ap_KillAllWarningMessages_PDU = -1; /* KillAllWarningMessages */ static int hf_s1ap_LAI_PDU = -1; /* LAI */ static int hf_s1ap_LPPa_PDU_PDU = -1; /* LPPa_PDU */ +static int hf_s1ap_LHN_ID_PDU = -1; /* LHN_ID */ static int hf_s1ap_M3Configuration_PDU = -1; /* M3Configuration */ static int hf_s1ap_M4Configuration_PDU = -1; /* M4Configuration */ static int hf_s1ap_M5Configuration_PDU = -1; /* M5Configuration */ @@ -428,6 +448,7 @@ static int hf_s1ap_RelayNode_Indicator_PDU = -1; /* RelayNode_Indicator */ static int hf_s1ap_RequestType_PDU = -1; /* RequestType */ static int hf_s1ap_RepetitionPeriod_PDU = -1; /* RepetitionPeriod */ static int hf_s1ap_RRC_Establishment_Cause_PDU = -1; /* RRC_Establishment_Cause */ +static int hf_s1ap_ECGIListForRestart_PDU = -1; /* ECGIListForRestart */ static int hf_s1ap_Routing_ID_PDU = -1; /* Routing_ID */ static int hf_s1ap_SecurityKey_PDU = -1; /* SecurityKey */ static int hf_s1ap_SecurityContext_PDU = -1; /* SecurityContext */ @@ -449,10 +470,12 @@ static int hf_s1ap_TargeteNB_ToSourceeNB_TransparentContainer_PDU = -1; /* Targ static int hf_s1ap_Target_ToSource_TransparentContainer_PDU = -1; /* Target_ToSource_TransparentContainer */ static int hf_s1ap_TimeToWait_PDU = -1; /* TimeToWait */ static int hf_s1ap_Time_UE_StayedInCell_EnhancedGranularity_PDU = -1; /* Time_UE_StayedInCell_EnhancedGranularity */ +static int hf_s1ap_TransportInformation_PDU = -1; /* TransportInformation */ static int hf_s1ap_TransportLayerAddress_PDU = -1; /* TransportLayerAddress */ static int hf_s1ap_TraceActivation_PDU = -1; /* TraceActivation */ static int hf_s1ap_TrafficLoadReductionIndication_PDU = -1; /* TrafficLoadReductionIndication */ static int hf_s1ap_TunnelInformation_PDU = -1; /* TunnelInformation */ +static int hf_s1ap_TAIListForRestart_PDU = -1; /* TAIListForRestart */ static int hf_s1ap_UEAggregateMaximumBitrate_PDU = -1; /* UEAggregateMaximumBitrate */ static int hf_s1ap_UE_S1AP_IDs_PDU = -1; /* UE_S1AP_IDs */ static int hf_s1ap_UE_associatedLogicalS1_ConnectionItem_PDU = -1; /* UE_associatedLogicalS1_ConnectionItem */ @@ -460,6 +483,7 @@ static int hf_s1ap_UEIdentityIndexValue_PDU = -1; /* UEIdentityIndexValue */ static int hf_s1ap_UEPagingID_PDU = -1; /* UEPagingID */ static int hf_s1ap_UERadioCapability_PDU = -1; /* UERadioCapability */ static int hf_s1ap_UESecurityCapabilities_PDU = -1; /* UESecurityCapabilities */ +static int hf_s1ap_UserLocationInformation_PDU = -1; /* UserLocationInformation */ static int hf_s1ap_VoiceSupportMatchIndicator_PDU = -1; /* VoiceSupportMatchIndicator */ static int hf_s1ap_WarningAreaList_PDU = -1; /* WarningAreaList */ static int hf_s1ap_WarningType_PDU = -1; /* WarningType */ @@ -467,6 +491,7 @@ static int hf_s1ap_WarningSecurityInfo_PDU = -1; /* WarningSecurityInfo */ static int hf_s1ap_WarningMessageContents_PDU = -1; /* WarningMessageContents */ static int hf_s1ap_X2TNLConfigurationInfo_PDU = -1; /* X2TNLConfigurationInfo */ static int hf_s1ap_ENBX2ExtTLAs_PDU = -1; /* ENBX2ExtTLAs */ +static int hf_s1ap_ENBIndirectX2TransportLayerAddresses_PDU = -1; /* ENBIndirectX2TransportLayerAddresses */ static int hf_s1ap_HandoverRequired_PDU = -1; /* HandoverRequired */ static int hf_s1ap_HandoverCommand_PDU = -1; /* HandoverCommand */ static int hf_s1ap_E_RABSubjecttoDataForwardingList_PDU = -1; /* E_RABSubjecttoDataForwardingList */ @@ -568,6 +593,7 @@ static int hf_s1ap_MMEConfigurationTransfer_PDU = -1; /* MMEConfigurationTransf static int hf_s1ap_PrivateMessage_PDU = -1; /* PrivateMessage */ static int hf_s1ap_KillRequest_PDU = -1; /* KillRequest */ static int hf_s1ap_KillResponse_PDU = -1; /* KillResponse */ +static int hf_s1ap_PWSRestartIndication_PDU = -1; /* PWSRestartIndication */ static int hf_s1ap_DownlinkUEAssociatedLPPaTransport_PDU = -1; /* DownlinkUEAssociatedLPPaTransport */ static int hf_s1ap_UplinkUEAssociatedLPPaTransport_PDU = -1; /* UplinkUEAssociatedLPPaTransport */ static int hf_s1ap_DownlinkNonUEAssociatedLPPaTransport_PDU = -1; /* DownlinkNonUEAssociatedLPPaTransport */ @@ -653,6 +679,7 @@ static int hf_s1ap_completedCellinEAI = -1; /* CompletedCellinEAI */ static int hf_s1ap_EmergencyAreaID_Cancelled_item = -1; /* EmergencyAreaID_Cancelled_Item */ static int hf_s1ap_cancelledCellinEAI = -1; /* CancelledCellinEAI */ static int hf_s1ap_CompletedCellinEAI_item = -1; /* CompletedCellinEAI_Item */ +static int hf_s1ap_EmergencyAreaIDListForRestart_item = -1; /* EmergencyAreaID */ static int hf_s1ap_macroENB_ID = -1; /* BIT_STRING_SIZE_20 */ static int hf_s1ap_homeENB_ID = -1; /* BIT_STRING_SIZE_28 */ static int hf_s1ap_lAI = -1; /* LAI */ @@ -722,6 +749,8 @@ static int hf_s1ap_rIMInformation = -1; /* RIMInformation */ static int hf_s1ap_rIMRoutingAddress = -1; /* RIMRoutingAddress */ static int hf_s1ap_gERAN_Cell_ID = -1; /* GERAN_Cell_ID */ static int hf_s1ap_targetRNC_ID = -1; /* TargetRNC_ID */ +static int hf_s1ap_eHRPD_Sector_ID = -1; /* OCTET_STRING_SIZE_16 */ +static int hf_s1ap_ECGIListForRestart_item = -1; /* EUTRAN_CGI */ static int hf_s1ap_nextHopChainingCount = -1; /* INTEGER_0_7 */ static int hf_s1ap_nextHopParameter = -1; /* SecurityKey */ static int hf_s1ap_sONInformationRequest = -1; /* SONInformationRequest */ @@ -766,12 +795,14 @@ static int hf_s1ap_cGI = -1; /* CGI */ static int hf_s1ap_rNC_ID = -1; /* RNC_ID */ static int hf_s1ap_extendedRNC_ID = -1; /* ExtendedRNC_ID */ static int hf_s1ap_measurementThreshold = -1; /* MeasurementThresholdA2 */ +static int hf_s1ap_transportLayerAddress = -1; /* TransportLayerAddress */ +static int hf_s1ap_uL_GTP_TEID = -1; /* GTP_TEID */ static int hf_s1ap_e_UTRAN_Trace_ID = -1; /* E_UTRAN_Trace_ID */ static int hf_s1ap_interfacesToTrace = -1; /* InterfacesToTrace */ static int hf_s1ap_traceDepth = -1; /* TraceDepth */ static int hf_s1ap_traceCollectionEntityIPAddress = -1; /* TransportLayerAddress */ -static int hf_s1ap_transportLayerAddress = -1; /* TransportLayerAddress */ static int hf_s1ap_uDP_Port_Number = -1; /* Port_Number */ +static int hf_s1ap_TAIListForRestart_item = -1; /* TAI */ static int hf_s1ap_uEaggregateMaximumBitRateDL = -1; /* BitRate */ static int hf_s1ap_uEaggregateMaximumBitRateUL = -1; /* BitRate */ static int hf_s1ap_uE_S1AP_ID_pair = -1; /* UE_S1AP_ID_pair */ @@ -782,6 +813,8 @@ static int hf_s1ap_s_TMSI = -1; /* S_TMSI */ static int hf_s1ap_iMSI = -1; /* IMSI */ static int hf_s1ap_encryptionAlgorithms = -1; /* EncryptionAlgorithms */ static int hf_s1ap_integrityProtectionAlgorithms = -1; /* IntegrityProtectionAlgorithms */ +static int hf_s1ap_eutran_cgi = -1; /* EUTRAN_CGI */ +static int hf_s1ap_tai = -1; /* TAI */ static int hf_s1ap_cellIDList = -1; /* ECGIList */ static int hf_s1ap_trackingAreaListforWarning = -1; /* TAIListforWarning */ static int hf_s1ap_emergencyAreaIDList = -1; /* EmergencyAreaIDList */ @@ -790,11 +823,11 @@ static int hf_s1ap_ENBX2ExtTLAs_item = -1; /* ENBX2ExtTLA */ static int hf_s1ap_iPsecTLA = -1; /* TransportLayerAddress */ static int hf_s1ap_gTPTLAa = -1; /* ENBX2GTPTLAs */ static int hf_s1ap_ENBX2GTPTLAs_item = -1; /* TransportLayerAddress */ +static int hf_s1ap_ENBIndirectX2TransportLayerAddresses_item = -1; /* TransportLayerAddress */ static int hf_s1ap_protocolIEs = -1; /* ProtocolIE_Container */ static int hf_s1ap_dL_transportLayerAddress = -1; /* TransportLayerAddress */ static int hf_s1ap_dL_gTP_TEID = -1; /* GTP_TEID */ static int hf_s1ap_uL_TransportLayerAddress = -1; /* TransportLayerAddress */ -static int hf_s1ap_uL_GTP_TEID = -1; /* GTP_TEID */ static int hf_s1ap_gTP_TEID = -1; /* GTP_TEID */ static int hf_s1ap_e_RABlevelQosParameters = -1; /* E_RABLevelQoSParameters */ static int hf_s1ap_E_RABToBeSetupListBearerSUReq_item = -1; /* ProtocolIE_SingleContainer */ @@ -844,10 +877,12 @@ static int hf_s1ap_failureEventReporting_02 = -1; /* FailureEventReportingCause static int hf_s1ap_eUTRAN = -1; /* EUTRANcellLoadReportingResponse */ static int hf_s1ap_uTRAN = -1; /* OCTET_STRING */ static int hf_s1ap_gERAN = -1; /* OCTET_STRING */ +static int hf_s1ap_eHRPD = -1; /* EHRPDSectorLoadReportingResponse */ static int hf_s1ap_compositeAvailableCapacityGroup = -1; /* CompositeAvailableCapacityGroup */ static int hf_s1ap_cell_ID_01 = -1; /* OCTET_STRING */ static int hf_s1ap_eUTRANcellLoadReportingResponse = -1; /* EUTRANcellLoadReportingResponse */ static int hf_s1ap_eUTRAN_01 = -1; /* OCTET_STRING */ +static int hf_s1ap_eHRPD_01 = -1; /* EHRPD_Sector_ID */ static int hf_s1ap_RequestedCellList_item = -1; /* IRAT_Cell_ID */ static int hf_s1ap_requestedCellList = -1; /* RequestedCellList */ static int hf_s1ap_cell_ID_02 = -1; /* IRAT_Cell_ID */ @@ -856,6 +891,7 @@ static int hf_s1ap_MultiCellLoadReportingResponse_item = -1; /* MultiCellLoadRe static int hf_s1ap_eUTRANResponse = -1; /* EUTRANResponse */ static int hf_s1ap_uTRANResponse = -1; /* OCTET_STRING */ static int hf_s1ap_gERANResponse = -1; /* OCTET_STRING */ +static int hf_s1ap_eHRPD_02 = -1; /* EHRPDMultiSectorLoadReportingResponseItem */ static int hf_s1ap_numberOfMeasurementReportingLevels = -1; /* NumberOfMeasurementReportingLevels */ static int hf_s1ap_cellLoadReportingResponse = -1; /* CellLoadReportingResponse */ static int hf_s1ap_overloadFlag = -1; /* OverloadFlag */ @@ -876,6 +912,12 @@ static int hf_s1ap_notifyFlag = -1; /* NotifyFlag */ static int hf_s1ap_tooEarlyInterRATHOReportFromEUTRAN = -1; /* TooEarlyInterRATHOReportReportFromEUTRAN */ static int hf_s1ap_uERLFReportContainer = -1; /* OCTET_STRING */ static int hf_s1ap_mobilityInformation = -1; /* MobilityInformation */ +static int hf_s1ap_dL_EHRPD_CompositeAvailableCapacity = -1; /* EHRPDCompositeAvailableCapacity */ +static int hf_s1ap_uL_EHRPD_CompositeAvailableCapacity = -1; /* EHRPDCompositeAvailableCapacity */ +static int hf_s1ap_eHRPDSectorCapacityClassValue = -1; /* EHRPDSectorCapacityClassValue */ +static int hf_s1ap_eHRPDCapacityValue = -1; /* EHRPDCapacityValue */ +static int hf_s1ap_eHRPD_Sector_ID_01 = -1; /* EHRPD_Sector_ID */ +static int hf_s1ap_eHRPDSectorLoadReportingResponse = -1; /* EHRPDSectorLoadReportingResponse */ /*--- End of included file: packet-s1ap-hf.c ---*/ #line 75 "../../asn1/s1ap/packet-s1ap-template.c" @@ -936,6 +978,7 @@ static gint ett_s1ap_EmergencyAreaID_Cancelled = -1; static gint ett_s1ap_EmergencyAreaID_Cancelled_Item = -1; static gint ett_s1ap_CompletedCellinEAI = -1; static gint ett_s1ap_CompletedCellinEAI_Item = -1; +static gint ett_s1ap_EmergencyAreaIDListForRestart = -1; static gint ett_s1ap_ENB_ID = -1; static gint ett_s1ap_GERAN_Cell_ID = -1; static gint ett_s1ap_Global_ENB_ID = -1; @@ -976,6 +1019,7 @@ static gint ett_s1ap_M1PeriodicReporting = -1; static gint ett_s1ap_RequestType = -1; static gint ett_s1ap_RIMTransfer = -1; static gint ett_s1ap_RIMRoutingAddress = -1; +static gint ett_s1ap_ECGIListForRestart = -1; static gint ett_s1ap_SecurityContext = -1; static gint ett_s1ap_SONInformation = -1; static gint ett_s1ap_SONInformationReply = -1; @@ -1008,8 +1052,10 @@ static gint ett_s1ap_TargeteNB_ID = -1; static gint ett_s1ap_TargetRNC_ID = -1; static gint ett_s1ap_TargeteNB_ToSourceeNB_TransparentContainer = -1; static gint ett_s1ap_M1ThresholdEventA2 = -1; +static gint ett_s1ap_TransportInformation = -1; static gint ett_s1ap_TraceActivation = -1; static gint ett_s1ap_TunnelInformation = -1; +static gint ett_s1ap_TAIListForRestart = -1; static gint ett_s1ap_UEAggregateMaximumBitrate = -1; static gint ett_s1ap_UE_S1AP_IDs = -1; static gint ett_s1ap_UE_S1AP_ID_pair = -1; @@ -1017,11 +1063,13 @@ static gint ett_s1ap_UE_associatedLogicalS1_ConnectionItem = -1; static gint ett_s1ap_UE_HistoryInformation = -1; static gint ett_s1ap_UEPagingID = -1; static gint ett_s1ap_UESecurityCapabilities = -1; +static gint ett_s1ap_UserLocationInformation = -1; static gint ett_s1ap_WarningAreaList = -1; static gint ett_s1ap_X2TNLConfigurationInfo = -1; static gint ett_s1ap_ENBX2ExtTLAs = -1; static gint ett_s1ap_ENBX2ExtTLA = -1; static gint ett_s1ap_ENBX2GTPTLAs = -1; +static gint ett_s1ap_ENBIndirectX2TransportLayerAddresses = -1; static gint ett_s1ap_HandoverRequired = -1; static gint ett_s1ap_HandoverCommand = -1; static gint ett_s1ap_E_RABDataForwardingItem = -1; @@ -1118,6 +1166,7 @@ static gint ett_s1ap_MMEConfigurationTransfer = -1; static gint ett_s1ap_PrivateMessage = -1; static gint ett_s1ap_KillRequest = -1; static gint ett_s1ap_KillResponse = -1; +static gint ett_s1ap_PWSRestartIndication = -1; static gint ett_s1ap_DownlinkUEAssociatedLPPaTransport = -1; static gint ett_s1ap_UplinkUEAssociatedLPPaTransport = -1; static gint ett_s1ap_DownlinkNonUEAssociatedLPPaTransport = -1; @@ -1154,6 +1203,9 @@ static gint ett_s1ap_NotificationCellList = -1; static gint ett_s1ap_NotificationCellList_Item = -1; static gint ett_s1ap_FailureEventReport = -1; static gint ett_s1ap_TooEarlyInterRATHOReportReportFromEUTRAN = -1; +static gint ett_s1ap_EHRPDSectorLoadReportingResponse = -1; +static gint ett_s1ap_EHRPDCompositeAvailableCapacity = -1; +static gint ett_s1ap_EHRPDMultiSectorLoadReportingResponseItem = -1; /*--- End of included file: packet-s1ap-ett.c ---*/ #line 86 "../../asn1/s1ap/packet-s1ap-template.c" @@ -1313,6 +1365,7 @@ static const value_string s1ap_ProcedureCode_vals[] = { { id_downlinkNonUEAssociatedLPPaTransport, "id-downlinkNonUEAssociatedLPPaTransport" }, { id_uplinkNonUEAssociatedLPPaTransport, "id-uplinkNonUEAssociatedLPPaTransport" }, { id_UERadioCapabilityMatch, "id-UERadioCapabilityMatch" }, + { id_PWSRestartIndication, "id-PWSRestartIndication" }, { 0, NULL } }; @@ -1429,7 +1482,6 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = { { id_Unknown_82, "id-Unknown-82" }, { id_cdma2000HOStatus, "id-cdma2000HOStatus" }, { id_cdma2000HORequiredIndication, "id-cdma2000HORequiredIndication" }, - { id_Unknown_85, "id-Unknown-85" }, { id_E_UTRAN_Trace_ID, "id-E-UTRAN-Trace-ID" }, { id_RelativeMMECapacity, "id-RelativeMMECapacity" }, { id_SourceMME_UE_S1AP_ID, "id-SourceMME-UE-S1AP-ID" }, @@ -1526,6 +1578,18 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = { { id_ULCOUNTValueExtended, "id-ULCOUNTValueExtended" }, { id_DLCOUNTValueExtended, "id-DLCOUNTValueExtended" }, { id_ReceiveStatusOfULPDCPSDUsExtended, "id-ReceiveStatusOfULPDCPSDUsExtended" }, + { id_ECGIListForRestart, "id-ECGIListForRestart" }, + { id_SIPTO_Correlation_ID, "id-SIPTO-Correlation-ID" }, + { id_SIPTO_L_GW_TransportLayerAddress, "id-SIPTO-L-GW-TransportLayerAddress" }, + { id_TransportInformation, "id-TransportInformation" }, + { id_LHN_ID, "id-LHN-ID" }, + { id_AdditionalCSFallbackIndicator, "id-AdditionalCSFallbackIndicator" }, + { id_TAIListForRestart, "id-TAIListForRestart" }, + { id_UserLocationInformation, "id-UserLocationInformation" }, + { id_EmergencyAreaIDListForRestart, "id-EmergencyAreaIDListForRestart" }, + { id_KillAllWarningMessages, "id-KillAllWarningMessages" }, + { id_Masked_IMEISV, "id-Masked-IMEISV" }, + { id_eNBIndirectX2TransportLayerAddresses, "id-eNBIndirectX2TransportLayerAddresses" }, { 0, NULL } }; @@ -1720,7 +1784,7 @@ dissect_s1ap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 3, 3, FALSE, ¶meter_tvb); - if(tvb_length(tvb)==0) + if(tvb_reported_length(tvb)==0) return offset; if (!parameter_tvb) @@ -2498,7 +2562,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 1125 "../../asn1/s1ap/s1ap.cnf" +#line 1153 "../../asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 36, &value, TRUE, 3, NULL); @@ -2520,7 +2584,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 1130 "../../asn1/s1ap/s1ap.cnf" +#line 1158 "../../asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, &value, TRUE, 0, NULL); @@ -2545,7 +2609,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 1135 "../../asn1/s1ap/s1ap.cnf" +#line 1163 "../../asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, &value, TRUE, 1, NULL); @@ -2572,7 +2636,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 1140 "../../asn1/s1ap/s1ap.cnf" +#line 1168 "../../asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, &value, TRUE, 0, NULL); @@ -2598,7 +2662,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 1145 "../../asn1/s1ap/s1ap.cnf" +#line 1173 "../../asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, &value, TRUE, 0, NULL); @@ -2917,6 +2981,22 @@ dissect_s1ap_CSFallbackIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const value_string s1ap_AdditionalCSFallbackIndicator_vals[] = { + { 0, "no-restriction" }, + { 1, "restriction" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_AdditionalCSFallbackIndicator(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_CSG_Id(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -3156,6 +3236,20 @@ dissect_s1ap_EmergencyAreaIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const per_sequence_t EmergencyAreaIDListForRestart_sequence_of[1] = { + { &hf_s1ap_EmergencyAreaIDListForRestart_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EmergencyAreaID }, +}; + +static int +dissect_s1ap_EmergencyAreaIDListForRestart(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_EmergencyAreaIDListForRestart, EmergencyAreaIDListForRestart_sequence_of, + 1, maxnoofRestartEmergencyAreaIDs, FALSE); + + return offset; +} + + static int dissect_s1ap_BIT_STRING_SIZE_20(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -3339,7 +3433,7 @@ dissect_s1ap_ENBname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr if (!parameter_tvb) return offset; - length = tvb_length(parameter_tvb); + length = tvb_reported_length(parameter_tvb); is_ascii = TRUE; for (p_offset=0; p_offset < length; p_offset++){ @@ -3372,7 +3466,7 @@ dissect_s1ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t return offset; /* Get the length */ - tvb_len = tvb_length(parameter_tvb); + tvb_len = tvb_reported_length(parameter_tvb); subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_TransportLayerAddress); if (tvb_len==4){ /* IPv4 */ @@ -3772,6 +3866,16 @@ dissect_s1ap_HandoverType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int +dissect_s1ap_Masked_IMEISV(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, + 64, 64, FALSE, NULL, NULL); + + return offset; +} + + + +static int dissect_s1ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, 8, 8, FALSE, NULL, NULL); @@ -3967,6 +4071,21 @@ dissect_s1ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } +static const value_string s1ap_KillAllWarningMessages_vals[] = { + { 0, "true" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_KillAllWarningMessages(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, FALSE, 0, NULL); + + return offset; +} + + static int dissect_s1ap_Time_UE_StayedInCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -4059,7 +4178,7 @@ dissect_s1ap_LPPa_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); - if ((tvb_length(parameter_tvb)>0)&&(lppa_handle)) + if ((tvb_reported_length(parameter_tvb)>0)&&(lppa_handle)) call_dissector(lppa_handle, parameter_tvb, actx->pinfo, tree); @@ -4068,6 +4187,16 @@ dissect_s1ap_LPPa_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p } + +static int +dissect_s1ap_LHN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 32, 256, FALSE, NULL); + + return offset; +} + + static const value_string s1ap_Links_to_log_vals[] = { { 0, "uplink" }, { 1, "downlink" }, @@ -4452,7 +4581,7 @@ dissect_s1ap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb); - if ((tvb_length(parameter_tvb)>0)&&(nas_eps_handle)) + if ((tvb_reported_length(parameter_tvb)>0)&&(nas_eps_handle)) call_dissector(nas_eps_handle,parameter_tvb,actx->pinfo, tree); @@ -4676,7 +4805,7 @@ dissect_s1ap_RIMInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx return offset; subtree = proto_item_add_subtree(actx->created_item, ett_s1ap_RIMInformation); - if ((tvb_length(parameter_tvb)>0)&&(bssgp_handle)){ + if ((tvb_reported_length(parameter_tvb)>0)&&(bssgp_handle)){ col_set_fence(actx->pinfo->cinfo, COL_INFO); call_dissector(bssgp_handle,parameter_tvb,actx->pinfo, subtree); } @@ -4716,15 +4845,27 @@ dissect_s1ap_TargetRNC_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } + +static int +dissect_s1ap_OCTET_STRING_SIZE_16(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, + 16, 16, FALSE, NULL); + + return offset; +} + + static const value_string s1ap_RIMRoutingAddress_vals[] = { { 0, "gERAN-Cell-ID" }, { 1, "targetRNC-ID" }, + { 2, "eHRPD-Sector-ID" }, { 0, NULL } }; static const per_choice_t RIMRoutingAddress_choice[] = { { 0, &hf_s1ap_gERAN_Cell_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_GERAN_Cell_ID }, { 1, &hf_s1ap_targetRNC_ID , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_TargetRNC_ID }, + { 2, &hf_s1ap_eHRPD_Sector_ID, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_OCTET_STRING_SIZE_16 }, { 0, NULL, 0, NULL } }; @@ -4825,6 +4966,20 @@ dissect_s1ap_RRC_Establishment_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } +static const per_sequence_t ECGIListForRestart_sequence_of[1] = { + { &hf_s1ap_ECGIListForRestart_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI }, +}; + +static int +dissect_s1ap_ECGIListForRestart(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_ECGIListForRestart, ECGIListForRestart_sequence_of, + 1, maxnoofCellsforRestart, FALSE); + + return offset; +} + + static int dissect_s1ap_Routing_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -5041,7 +5196,7 @@ dissect_s1ap_Source_ToTarget_TransparentContainer(tvbuff_t *tvb _U_, int offset Source BSS to Target BSS Transparent Container 48.018 */ - de_bssgp_source_BSS_to_target_BSS_transp_cont(parameter_tvb, subtree, actx->pinfo, 0, tvb_length(parameter_tvb), NULL, 0); + de_bssgp_source_BSS_to_target_BSS_transp_cont(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0); break; case 3: /* utrantolte */ @@ -5394,7 +5549,7 @@ dissect_s1ap_Target_ToSource_TransparentContainer(tvbuff_t *tvb _U_, int offset Target BSS to Source BSS Transparent Container 48.018 */ - de_bssgp_target_BSS_to_source_BSS_transp_cont(parameter_tvb, subtree, actx->pinfo, 0, tvb_length(parameter_tvb), NULL, 0); + de_bssgp_target_BSS_to_source_BSS_transp_cont(parameter_tvb, subtree, actx->pinfo, 0, tvb_reported_length(parameter_tvb), NULL, 0); break; case 3: @@ -5447,6 +5602,21 @@ dissect_s1ap_Time_UE_StayedInCell_EnhancedGranularity(tvbuff_t *tvb _U_, int off } +static const per_sequence_t TransportInformation_sequence[] = { + { &hf_s1ap_transportLayerAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress }, + { &hf_s1ap_uL_GTP_TEID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_GTP_TEID }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_TransportInformation(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_TransportInformation, TransportInformation_sequence); + + return offset; +} + + static int dissect_s1ap_E_UTRAN_Trace_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -5521,6 +5691,20 @@ dissect_s1ap_TunnelInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac } +static const per_sequence_t TAIListForRestart_sequence_of[1] = { + { &hf_s1ap_TAIListForRestart_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI }, +}; + +static int +dissect_s1ap_TAIListForRestart(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_TAIListForRestart, TAIListForRestart_sequence_of, + 1, maxnoofRestartTAIs, FALSE); + + return offset; +} + + static const per_sequence_t UEAggregateMaximumBitrate_sequence[] = { { &hf_s1ap_uEaggregateMaximumBitRateDL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate }, { &hf_s1ap_uEaggregateMaximumBitRateUL, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate }, @@ -5663,6 +5847,22 @@ dissect_s1ap_UESecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } +static const per_sequence_t UserLocationInformation_sequence[] = { + { &hf_s1ap_eutran_cgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI }, + { &hf_s1ap_tai , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_UserLocationInformation(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_UserLocationInformation, UserLocationInformation_sequence); + + return offset; +} + + static const value_string s1ap_VoiceSupportMatchIndicator_vals[] = { { 0, "supported" }, { 1, "not-supported" }, @@ -5777,6 +5977,20 @@ dissect_s1ap_ENBX2ExtTLAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } +static const per_sequence_t ENBIndirectX2TransportLayerAddresses_sequence_of[1] = { + { &hf_s1ap_ENBIndirectX2TransportLayerAddresses_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_TransportLayerAddress }, +}; + +static int +dissect_s1ap_ENBIndirectX2TransportLayerAddresses(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_ENBIndirectX2TransportLayerAddresses, ENBIndirectX2TransportLayerAddresses_sequence_of, + 1, maxnoofeNBX2TLAs, FALSE); + + return offset; +} + + static int dissect_s1ap_E_RAB_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -5864,7 +6078,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 1066 "../../asn1/s1ap/s1ap.cnf" +#line 1094 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", HandoverPreparationFailure "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -5927,7 +6141,7 @@ static const per_sequence_t HandoverRequestAcknowledge_sequence[] = { static int dissect_s1ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 1070 "../../asn1/s1ap/s1ap.cnf" +#line 1098 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", HandoverRequestAcknowledge "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -5999,7 +6213,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 1072 "../../asn1/s1ap/s1ap.cnf" +#line 1100 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", HandoverFailure "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6016,7 +6230,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 1074 "../../asn1/s1ap/s1ap.cnf" +#line 1102 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", HandoverNotify "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6033,7 +6247,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 1076 "../../asn1/s1ap/s1ap.cnf" +#line 1104 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", PathSwitchRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6076,7 +6290,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 1078 "../../asn1/s1ap/s1ap.cnf" +#line 1106 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", PathSwitchRequestAcknowledge "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6119,7 +6333,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 1080 "../../asn1/s1ap/s1ap.cnf" +#line 1108 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", PathSwitchRequestFailure "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6136,7 +6350,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 1082 "../../asn1/s1ap/s1ap.cnf" +#line 1110 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", HandoverCancel "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6153,7 +6367,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 1084 "../../asn1/s1ap/s1ap.cnf" +#line 1112 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", HandoverCancelAcknowledge "); @@ -6172,7 +6386,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 1028 "../../asn1/s1ap/s1ap.cnf" +#line 1056 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABSetupRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6222,7 +6436,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 1030 "../../asn1/s1ap/s1ap.cnf" +#line 1058 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABSetupResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6270,7 +6484,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 1032 "../../asn1/s1ap/s1ap.cnf" +#line 1060 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABModifyRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6318,7 +6532,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 1034 "../../asn1/s1ap/s1ap.cnf" +#line 1062 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABModifyResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6364,7 +6578,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 1036 "../../asn1/s1ap/s1ap.cnf" +#line 1064 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABReleaseCommand "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6381,7 +6595,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 1038 "../../asn1/s1ap/s1ap.cnf" +#line 1066 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABReleaseResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6427,7 +6641,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 1040 "../../asn1/s1ap/s1ap.cnf" +#line 1068 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABReleaseIndication "); @@ -6445,7 +6659,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 1043 "../../asn1/s1ap/s1ap.cnf" +#line 1071 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", InitialContextSetupRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6495,7 +6709,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 1045 "../../asn1/s1ap/s1ap.cnf" +#line 1073 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", InitialContextSetupResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6543,7 +6757,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 1047 "../../asn1/s1ap/s1ap.cnf" +#line 1075 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", InitialContextSetupFailure "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6603,7 +6817,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 1049 "../../asn1/s1ap/s1ap.cnf" +#line 1077 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextReleaseRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6620,7 +6834,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 1051 "../../asn1/s1ap/s1ap.cnf" +#line 1079 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextReleaseCommand "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6637,7 +6851,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 1053 "../../asn1/s1ap/s1ap.cnf" +#line 1081 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextReleaseComplete "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6654,7 +6868,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 1055 "../../asn1/s1ap/s1ap.cnf" +#line 1083 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextModificationRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6671,7 +6885,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 1057 "../../asn1/s1ap/s1ap.cnf" +#line 1085 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextModificationResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6688,7 +6902,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 1059 "../../asn1/s1ap/s1ap.cnf" +#line 1087 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextModificationFailure "); @@ -6805,7 +7019,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 1088 "../../asn1/s1ap/s1ap.cnf" +#line 1116 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", Reset "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6873,7 +7087,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 1090 "../../asn1/s1ap/s1ap.cnf" +#line 1118 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", ResetAcknowledge "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6918,7 +7132,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 1094 "../../asn1/s1ap/s1ap.cnf" +#line 1122 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", S1SetupRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6935,7 +7149,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 1096 "../../asn1/s1ap/s1ap.cnf" +#line 1124 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", S1SetupResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6952,7 +7166,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 1098 "../../asn1/s1ap/s1ap.cnf" +#line 1126 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", S1SetupFailure "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6969,7 +7183,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 1100 "../../asn1/s1ap/s1ap.cnf" +#line 1128 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", ENBConfigurationUpdate "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -6986,7 +7200,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 1102 "../../asn1/s1ap/s1ap.cnf" +#line 1130 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", ENBConfigurationUpdateAcknowledge "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7003,7 +7217,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 1104 "../../asn1/s1ap/s1ap.cnf" +#line 1132 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", ENBConfigurationUpdateFailure "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7020,7 +7234,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 1106 "../../asn1/s1ap/s1ap.cnf" +#line 1134 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", MMEConfigurationUpdate "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7037,7 +7251,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 1108 "../../asn1/s1ap/s1ap.cnf" +#line 1136 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", MMEConfigurationUpdateAcknowledge "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7054,7 +7268,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 1110 "../../asn1/s1ap/s1ap.cnf" +#line 1138 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", MMEConfigurationUpdateFailure "); @@ -7268,7 +7482,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 1113 "../../asn1/s1ap/s1ap.cnf" +#line 1141 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", WriteReplaceWarningRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7285,7 +7499,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 1115 "../../asn1/s1ap/s1ap.cnf" +#line 1143 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", WriteReplaceWarningResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7392,7 +7606,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 1117 "../../asn1/s1ap/s1ap.cnf" +#line 1145 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", KillRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7409,7 +7623,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 1119 "../../asn1/s1ap/s1ap.cnf" +#line 1147 "../../asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", KillResponse "); @@ -7423,6 +7637,20 @@ dissect_s1ap_KillResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } +static const per_sequence_t PWSRestartIndication_sequence[] = { + { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +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_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_s1ap_PWSRestartIndication, PWSRestartIndication_sequence); + + return offset; +} + + static const per_sequence_t DownlinkUEAssociatedLPPaTransport_sequence[] = { { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container }, { NULL, 0, 0, NULL } @@ -7621,10 +7849,21 @@ dissect_s1ap_OCTET_STRING(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U } + +static int +dissect_s1ap_EHRPD_Sector_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 16, 16, FALSE, NULL); + + return offset; +} + + static const value_string s1ap_IRAT_Cell_ID_vals[] = { { 0, "eUTRAN" }, { 1, "uTRAN" }, { 2, "gERAN" }, + { 3, "eHRPD" }, { 0, NULL } }; @@ -7632,6 +7871,7 @@ static const per_choice_t IRAT_Cell_ID_choice[] = { { 0, &hf_s1ap_eUTRAN_01 , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING }, { 1, &hf_s1ap_uTRAN , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING }, { 2, &hf_s1ap_gERAN , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING }, + { 3, &hf_s1ap_eHRPD_01 , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_EHRPD_Sector_ID }, { 0, NULL, 0, NULL } }; @@ -7973,10 +8213,61 @@ dissect_s1ap_EUTRANcellLoadReportingResponse(tvbuff_t *tvb _U_, int offset _U_, } + +static int +dissect_s1ap_EHRPDSectorCapacityClassValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 1U, 100U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_s1ap_EHRPDCapacityValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, + 0U, 100U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t EHRPDCompositeAvailableCapacity_sequence[] = { + { &hf_s1ap_eHRPDSectorCapacityClassValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EHRPDSectorCapacityClassValue }, + { &hf_s1ap_eHRPDCapacityValue, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EHRPDCapacityValue }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_EHRPDCompositeAvailableCapacity(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_EHRPDCompositeAvailableCapacity, EHRPDCompositeAvailableCapacity_sequence); + + return offset; +} + + +static const per_sequence_t EHRPDSectorLoadReportingResponse_sequence[] = { + { &hf_s1ap_dL_EHRPD_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EHRPDCompositeAvailableCapacity }, + { &hf_s1ap_uL_EHRPD_CompositeAvailableCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EHRPDCompositeAvailableCapacity }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_EHRPDSectorLoadReportingResponse(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_EHRPDSectorLoadReportingResponse, EHRPDSectorLoadReportingResponse_sequence); + + return offset; +} + + static const value_string s1ap_CellLoadReportingResponse_vals[] = { { 0, "eUTRAN" }, { 1, "uTRAN" }, { 2, "gERAN" }, + { 3, "eHRPD" }, { 0, NULL } }; @@ -7984,6 +8275,7 @@ static const per_choice_t CellLoadReportingResponse_choice[] = { { 0, &hf_s1ap_eUTRAN , ASN1_EXTENSION_ROOT , dissect_s1ap_EUTRANcellLoadReportingResponse }, { 1, &hf_s1ap_uTRAN , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING }, { 2, &hf_s1ap_gERAN , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING }, + { 3, &hf_s1ap_eHRPD , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_EHRPDSectorLoadReportingResponse }, { 0, NULL, 0, NULL } }; @@ -8012,10 +8304,26 @@ dissect_s1ap_EUTRANResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx } +static const per_sequence_t EHRPDMultiSectorLoadReportingResponseItem_sequence[] = { + { &hf_s1ap_eHRPD_Sector_ID_01, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EHRPD_Sector_ID }, + { &hf_s1ap_eHRPDSectorLoadReportingResponse, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EHRPDSectorLoadReportingResponse }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_EHRPDMultiSectorLoadReportingResponseItem(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_EHRPDMultiSectorLoadReportingResponseItem, EHRPDMultiSectorLoadReportingResponseItem_sequence); + + return offset; +} + + static const value_string s1ap_MultiCellLoadReportingResponse_Item_vals[] = { { 0, "eUTRANResponse" }, { 1, "uTRANResponse" }, { 2, "gERANResponse" }, + { 3, "eHRPD" }, { 0, NULL } }; @@ -8023,6 +8331,7 @@ static const per_choice_t MultiCellLoadReportingResponse_Item_choice[] = { { 0, &hf_s1ap_eUTRANResponse , ASN1_EXTENSION_ROOT , dissect_s1ap_EUTRANResponse }, { 1, &hf_s1ap_uTRANResponse , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING }, { 2, &hf_s1ap_gERANResponse , ASN1_EXTENSION_ROOT , dissect_s1ap_OCTET_STRING }, + { 3, &hf_s1ap_eHRPD_02 , ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_EHRPDMultiSectorLoadReportingResponseItem }, { 0, NULL, 0, NULL } }; @@ -8402,6 +8711,14 @@ static int dissect_CSFallbackIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo offset += 7; offset >>= 3; return offset; } +static int dissect_AdditionalCSFallbackIndicator_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_AdditionalCSFallbackIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_AdditionalCSFallbackIndicator_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_CSG_Id_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -8466,6 +8783,14 @@ static int dissect_Data_Forwarding_Not_Possible_PDU(tvbuff_t *tvb _U_, packet_in offset += 7; offset >>= 3; return offset; } +static int dissect_EmergencyAreaIDListForRestart_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_EmergencyAreaIDListForRestart(tvb, offset, &asn1_ctx, tree, hf_s1ap_EmergencyAreaIDListForRestart_PDU); + offset += 7; offset >>= 3; + return offset; +} int dissect_s1ap_Global_ENB_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -8594,6 +8919,22 @@ static int dissect_HandoverType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p offset += 7; offset >>= 3; return offset; } +static int dissect_Masked_IMEISV_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_Masked_IMEISV(tvb, offset, &asn1_ctx, tree, hf_s1ap_Masked_IMEISV_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_KillAllWarningMessages_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_KillAllWarningMessages(tvb, offset, &asn1_ctx, tree, hf_s1ap_KillAllWarningMessages_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_LAI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -8610,6 +8951,14 @@ static int dissect_LPPa_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto offset += 7; offset >>= 3; return offset; } +static int dissect_LHN_ID_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_LHN_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_LHN_ID_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_M3Configuration_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -8842,6 +9191,14 @@ static int dissect_RRC_Establishment_Cause_PDU(tvbuff_t *tvb _U_, packet_info *p offset += 7; offset >>= 3; return offset; } +static int dissect_ECGIListForRestart_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_ECGIListForRestart(tvb, offset, &asn1_ctx, tree, hf_s1ap_ECGIListForRestart_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Routing_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9010,6 +9367,14 @@ static int dissect_Time_UE_StayedInCell_EnhancedGranularity_PDU(tvbuff_t *tvb _U offset += 7; offset >>= 3; return offset; } +static int dissect_TransportInformation_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_TransportInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_TransportInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_TransportLayerAddress_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9042,6 +9407,14 @@ static int dissect_TunnelInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _ offset += 7; offset >>= 3; return offset; } +static int dissect_TAIListForRestart_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_TAIListForRestart(tvb, offset, &asn1_ctx, tree, hf_s1ap_TAIListForRestart_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_UEAggregateMaximumBitrate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9098,6 +9471,14 @@ static int dissect_UESecurityCapabilities_PDU(tvbuff_t *tvb _U_, packet_info *pi offset += 7; offset >>= 3; return offset; } +static int dissect_UserLocationInformation_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_UserLocationInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_UserLocationInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_VoiceSupportMatchIndicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9154,6 +9535,14 @@ static int dissect_ENBX2ExtTLAs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p offset += 7; offset >>= 3; return offset; } +static int dissect_ENBIndirectX2TransportLayerAddresses_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_ENBIndirectX2TransportLayerAddresses(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBIndirectX2TransportLayerAddresses_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_HandoverRequired_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9962,6 +10351,14 @@ static int dissect_KillResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, p offset += 7; offset >>= 3; return offset; } +static int dissect_PWSRestartIndication_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_PWSRestartIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_PWSRestartIndication_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_DownlinkUEAssociatedLPPaTransport_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10252,6 +10649,14 @@ proto_reg_handoff_s1ap(void) dissector_add_uint("s1ap.ies", id_GUMMEIType, new_create_dissector_handle(dissect_GUMMEIType_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_Tunnel_Information_for_BBF, new_create_dissector_handle(dissect_TunnelInformation_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_ManagementBasedMDTPLMNList, new_create_dissector_handle(dissect_MDTPLMNList_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_ECGIListForRestart, new_create_dissector_handle(dissect_ECGIListForRestart_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_SIPTO_L_GW_TransportLayerAddress, new_create_dissector_handle(dissect_TransportLayerAddress_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_LHN_ID, new_create_dissector_handle(dissect_LHN_ID_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_AdditionalCSFallbackIndicator, new_create_dissector_handle(dissect_AdditionalCSFallbackIndicator_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_TAIListForRestart, new_create_dissector_handle(dissect_TAIListForRestart_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_UserLocationInformation, new_create_dissector_handle(dissect_UserLocationInformation_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_KillAllWarningMessages, new_create_dissector_handle(dissect_KillAllWarningMessages_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_Masked_IMEISV, new_create_dissector_handle(dissect_Masked_IMEISV_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_Data_Forwarding_Not_Possible, new_create_dissector_handle(dissect_Data_Forwarding_Not_Possible_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_Time_Synchronization_Info, new_create_dissector_handle(dissect_TimeSynchronizationInfo_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_x2TNLConfigurationInfo, new_create_dissector_handle(dissect_X2TNLConfigurationInfo_PDU, proto_s1ap)); @@ -10269,6 +10674,10 @@ proto_reg_handoff_s1ap(void) dissector_add_uint("s1ap.extension", id_ULCOUNTValueExtended, new_create_dissector_handle(dissect_COUNTValueExtended_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_DLCOUNTValueExtended, new_create_dissector_handle(dissect_COUNTValueExtended_PDU, proto_s1ap)); dissector_add_uint("s1ap.extension", id_ReceiveStatusOfULPDCPSDUsExtended, new_create_dissector_handle(dissect_ReceiveStatusOfULPDCPSDUsExtended_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_SIPTO_Correlation_ID, new_create_dissector_handle(dissect_Correlation_ID_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_TransportInformation, new_create_dissector_handle(dissect_TransportInformation_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_EmergencyAreaIDListForRestart, new_create_dissector_handle(dissect_EmergencyAreaIDListForRestart_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_eNBIndirectX2TransportLayerAddresses, new_create_dissector_handle(dissect_ENBIndirectX2TransportLayerAddresses_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.imsg", id_HandoverPreparation, new_create_dissector_handle(dissect_HandoverRequired_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.sout", id_HandoverPreparation, new_create_dissector_handle(dissect_HandoverCommand_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.uout", id_HandoverPreparation, new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_s1ap)); @@ -10343,6 +10752,7 @@ proto_reg_handoff_s1ap(void) dissector_add_uint("s1ap.proc.imsg", id_uplinkNonUEAssociatedLPPaTransport, new_create_dissector_handle(dissect_UplinkNonUEAssociatedLPPaTransport_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.imsg", id_UERadioCapabilityMatch, new_create_dissector_handle(dissect_UERadioCapabilityMatchRequest_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.sout", id_UERadioCapabilityMatch, new_create_dissector_handle(dissect_UERadioCapabilityMatchResponse_PDU, proto_s1ap)); + dissector_add_uint("s1ap.proc.imsg", id_PWSRestartIndication, new_create_dissector_handle(dissect_PWSRestartIndication_PDU, proto_s1ap)); /*--- End of included file: packet-s1ap-dis-tab.c ---*/ @@ -10441,6 +10851,10 @@ void proto_register_s1ap(void) { { "CSFallbackIndicator", "s1ap.CSFallbackIndicator", FT_UINT32, BASE_DEC, VALS(s1ap_CSFallbackIndicator_vals), 0, NULL, HFILL }}, + { &hf_s1ap_AdditionalCSFallbackIndicator_PDU, + { "AdditionalCSFallbackIndicator", "s1ap.AdditionalCSFallbackIndicator", + FT_UINT32, BASE_DEC, VALS(s1ap_AdditionalCSFallbackIndicator_vals), 0, + NULL, HFILL }}, { &hf_s1ap_CSG_Id_PDU, { "CSG-Id", "s1ap.CSG_Id", FT_BYTES, BASE_NONE, NULL, 0, @@ -10473,6 +10887,10 @@ void proto_register_s1ap(void) { { "Data-Forwarding-Not-Possible", "s1ap.Data_Forwarding_Not_Possible", FT_UINT32, BASE_DEC, VALS(s1ap_Data_Forwarding_Not_Possible_vals), 0, NULL, HFILL }}, + { &hf_s1ap_EmergencyAreaIDListForRestart_PDU, + { "EmergencyAreaIDListForRestart", "s1ap.EmergencyAreaIDListForRestart", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_s1ap_Global_ENB_ID_PDU, { "Global-ENB-ID", "s1ap.Global_ENB_ID_element", FT_NONE, BASE_NONE, NULL, 0, @@ -10537,6 +10955,14 @@ void proto_register_s1ap(void) { { "HandoverType", "s1ap.HandoverType", FT_UINT32, BASE_DEC, VALS(s1ap_HandoverType_vals), 0, NULL, HFILL }}, + { &hf_s1ap_Masked_IMEISV_PDU, + { "Masked-IMEISV", "s1ap.Masked_IMEISV", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_KillAllWarningMessages_PDU, + { "KillAllWarningMessages", "s1ap.KillAllWarningMessages", + FT_UINT32, BASE_DEC, VALS(s1ap_KillAllWarningMessages_vals), 0, + NULL, HFILL }}, { &hf_s1ap_LAI_PDU, { "LAI", "s1ap.LAI_element", FT_NONE, BASE_NONE, NULL, 0, @@ -10545,6 +10971,10 @@ void proto_register_s1ap(void) { { "LPPa-PDU", "s1ap.LPPa_PDU", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_LHN_ID_PDU, + { "LHN-ID", "s1ap.LHN_ID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_M3Configuration_PDU, { "M3Configuration", "s1ap.M3Configuration_element", FT_NONE, BASE_NONE, NULL, 0, @@ -10661,6 +11091,10 @@ void proto_register_s1ap(void) { { "RRC-Establishment-Cause", "s1ap.RRC_Establishment_Cause", FT_UINT32, BASE_DEC, VALS(s1ap_RRC_Establishment_Cause_vals), 0, NULL, HFILL }}, + { &hf_s1ap_ECGIListForRestart_PDU, + { "ECGIListForRestart", "s1ap.ECGIListForRestart", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_Routing_ID_PDU, { "Routing-ID", "s1ap.Routing_ID", FT_UINT32, BASE_DEC, NULL, 0, @@ -10745,6 +11179,10 @@ void proto_register_s1ap(void) { { "Time-UE-StayedInCell-EnhancedGranularity", "s1ap.Time_UE_StayedInCell_EnhancedGranularity", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_TransportInformation_PDU, + { "TransportInformation", "s1ap.TransportInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_TransportLayerAddress_PDU, { "TransportLayerAddress", "s1ap.TransportLayerAddress", FT_BYTES, BASE_NONE, NULL, 0, @@ -10761,6 +11199,10 @@ void proto_register_s1ap(void) { { "TunnelInformation", "s1ap.TunnelInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_TAIListForRestart_PDU, + { "TAIListForRestart", "s1ap.TAIListForRestart", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_UEAggregateMaximumBitrate_PDU, { "UEAggregateMaximumBitrate", "s1ap.UEAggregateMaximumBitrate_element", FT_NONE, BASE_NONE, NULL, 0, @@ -10789,6 +11231,10 @@ void proto_register_s1ap(void) { { "UESecurityCapabilities", "s1ap.UESecurityCapabilities_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_UserLocationInformation_PDU, + { "UserLocationInformation", "s1ap.UserLocationInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_VoiceSupportMatchIndicator_PDU, { "VoiceSupportMatchIndicator", "s1ap.VoiceSupportMatchIndicator", FT_UINT32, BASE_DEC, VALS(s1ap_VoiceSupportMatchIndicator_vals), 0, @@ -10817,6 +11263,10 @@ void proto_register_s1ap(void) { { "ENBX2ExtTLAs", "s1ap.ENBX2ExtTLAs", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_ENBIndirectX2TransportLayerAddresses_PDU, + { "ENBIndirectX2TransportLayerAddresses", "s1ap.ENBIndirectX2TransportLayerAddresses", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_HandoverRequired_PDU, { "HandoverRequired", "s1ap.HandoverRequired_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11221,6 +11671,10 @@ void proto_register_s1ap(void) { { "KillResponse", "s1ap.KillResponse_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_PWSRestartIndication_PDU, + { "PWSRestartIndication", "s1ap.PWSRestartIndication_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_DownlinkUEAssociatedLPPaTransport_PDU, { "DownlinkUEAssociatedLPPaTransport", "s1ap.DownlinkUEAssociatedLPPaTransport_element", FT_NONE, BASE_NONE, NULL, 0, @@ -11561,6 +12015,10 @@ void proto_register_s1ap(void) { { "CompletedCellinEAI-Item", "s1ap.CompletedCellinEAI_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_EmergencyAreaIDListForRestart_item, + { "EmergencyAreaID", "s1ap.EmergencyAreaID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_macroENB_ID, { "macroENB-ID", "s1ap.macroENB_ID", FT_BYTES, BASE_NONE, NULL, 0, @@ -11837,6 +12295,14 @@ void proto_register_s1ap(void) { { "targetRNC-ID", "s1ap.targetRNC_ID_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_eHRPD_Sector_ID, + { "eHRPD-Sector-ID", "s1ap.eHRPD_Sector_ID", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_16", HFILL }}, + { &hf_s1ap_ECGIListForRestart_item, + { "EUTRAN-CGI", "s1ap.EUTRAN_CGI_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_nextHopChainingCount, { "nextHopChainingCount", "s1ap.nextHopChainingCount", FT_UINT32, BASE_DEC, NULL, 0, @@ -12013,6 +12479,14 @@ void proto_register_s1ap(void) { { "measurementThreshold", "s1ap.measurementThreshold", FT_UINT32, BASE_DEC, VALS(s1ap_MeasurementThresholdA2_vals), 0, "MeasurementThresholdA2", HFILL }}, + { &hf_s1ap_transportLayerAddress, + { "transportLayerAddress", "s1ap.transportLayerAddress", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_uL_GTP_TEID, + { "uL-GTP-TEID", "s1ap.uL_GTP_TEID", + FT_BYTES, BASE_NONE, NULL, 0, + "GTP_TEID", HFILL }}, { &hf_s1ap_e_UTRAN_Trace_ID, { "e-UTRAN-Trace-ID", "s1ap.e_UTRAN_Trace_ID", FT_BYTES, BASE_NONE, NULL, 0, @@ -12029,14 +12503,14 @@ void proto_register_s1ap(void) { { "traceCollectionEntityIPAddress", "s1ap.traceCollectionEntityIPAddress", FT_BYTES, BASE_NONE, NULL, 0, "TransportLayerAddress", HFILL }}, - { &hf_s1ap_transportLayerAddress, - { "transportLayerAddress", "s1ap.transportLayerAddress", - FT_BYTES, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_s1ap_uDP_Port_Number, { "uDP-Port-Number", "s1ap.uDP_Port_Number", FT_BYTES, BASE_NONE, NULL, 0, "Port_Number", HFILL }}, + { &hf_s1ap_TAIListForRestart_item, + { "TAI", "s1ap.TAI_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_uEaggregateMaximumBitRateDL, { "uEaggregateMaximumBitRateDL", "s1ap.uEaggregateMaximumBitRateDL", FT_UINT64, BASE_DEC, NULL, 0, @@ -12077,6 +12551,14 @@ void proto_register_s1ap(void) { { "integrityProtectionAlgorithms", "s1ap.integrityProtectionAlgorithms", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_eutran_cgi, + { "eutran-cgi", "s1ap.eutran_cgi_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_tai, + { "tai", "s1ap.tai_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_cellIDList, { "cellIDList", "s1ap.cellIDList", FT_UINT32, BASE_DEC, NULL, 0, @@ -12109,6 +12591,10 @@ void proto_register_s1ap(void) { { "TransportLayerAddress", "s1ap.TransportLayerAddress", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_ENBIndirectX2TransportLayerAddresses_item, + { "TransportLayerAddress", "s1ap.TransportLayerAddress", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_protocolIEs, { "protocolIEs", "s1ap.protocolIEs", FT_UINT32, BASE_DEC, NULL, 0, @@ -12125,10 +12611,6 @@ void proto_register_s1ap(void) { { "uL-TransportLayerAddress", "s1ap.uL_TransportLayerAddress", FT_BYTES, BASE_NONE, NULL, 0, "TransportLayerAddress", HFILL }}, - { &hf_s1ap_uL_GTP_TEID, - { "uL-GTP-TEID", "s1ap.uL_GTP_TEID", - FT_BYTES, BASE_NONE, NULL, 0, - "GTP_TEID", HFILL }}, { &hf_s1ap_gTP_TEID, { "gTP-TEID", "s1ap.gTP_TEID", FT_BYTES, BASE_NONE, NULL, 0, @@ -12325,6 +12807,10 @@ void proto_register_s1ap(void) { { "gERAN", "s1ap.gERAN", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, + { &hf_s1ap_eHRPD, + { "eHRPD", "s1ap.eHRPD_element", + FT_NONE, BASE_NONE, NULL, 0, + "EHRPDSectorLoadReportingResponse", HFILL }}, { &hf_s1ap_compositeAvailableCapacityGroup, { "compositeAvailableCapacityGroup", "s1ap.compositeAvailableCapacityGroup", FT_BYTES, BASE_NONE, NULL, 0, @@ -12341,6 +12827,10 @@ void proto_register_s1ap(void) { { "eUTRAN", "s1ap.eUTRAN", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, + { &hf_s1ap_eHRPD_01, + { "eHRPD", "s1ap.eHRPD", + FT_BYTES, BASE_NONE, NULL, 0, + "EHRPD_Sector_ID", HFILL }}, { &hf_s1ap_RequestedCellList_item, { "IRAT-Cell-ID", "s1ap.IRAT_Cell_ID", FT_UINT32, BASE_DEC, VALS(s1ap_IRAT_Cell_ID_vals), 0, @@ -12373,6 +12863,10 @@ void proto_register_s1ap(void) { { "gERANResponse", "s1ap.gERANResponse", FT_BYTES, BASE_NONE, NULL, 0, "OCTET_STRING", HFILL }}, + { &hf_s1ap_eHRPD_02, + { "eHRPD", "s1ap.eHRPD_element", + FT_NONE, BASE_NONE, NULL, 0, + "EHRPDMultiSectorLoadReportingResponseItem", HFILL }}, { &hf_s1ap_numberOfMeasurementReportingLevels, { "numberOfMeasurementReportingLevels", "s1ap.numberOfMeasurementReportingLevels", FT_UINT32, BASE_DEC, VALS(s1ap_NumberOfMeasurementReportingLevels_vals), 0, @@ -12453,6 +12947,30 @@ void proto_register_s1ap(void) { { "mobilityInformation", "s1ap.mobilityInformation", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_dL_EHRPD_CompositeAvailableCapacity, + { "dL-EHRPD-CompositeAvailableCapacity", "s1ap.dL_EHRPD_CompositeAvailableCapacity_element", + FT_NONE, BASE_NONE, NULL, 0, + "EHRPDCompositeAvailableCapacity", HFILL }}, + { &hf_s1ap_uL_EHRPD_CompositeAvailableCapacity, + { "uL-EHRPD-CompositeAvailableCapacity", "s1ap.uL_EHRPD_CompositeAvailableCapacity_element", + FT_NONE, BASE_NONE, NULL, 0, + "EHRPDCompositeAvailableCapacity", HFILL }}, + { &hf_s1ap_eHRPDSectorCapacityClassValue, + { "eHRPDSectorCapacityClassValue", "s1ap.eHRPDSectorCapacityClassValue", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_eHRPDCapacityValue, + { "eHRPDCapacityValue", "s1ap.eHRPDCapacityValue", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_eHRPD_Sector_ID_01, + { "eHRPD-Sector-ID", "s1ap.eHRPD_Sector_ID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_eHRPDSectorLoadReportingResponse, + { "eHRPDSectorLoadReportingResponse", "s1ap.eHRPDSectorLoadReportingResponse_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, /*--- End of included file: packet-s1ap-hfarr.c ---*/ #line 231 "../../asn1/s1ap/packet-s1ap-template.c" @@ -12514,6 +13032,7 @@ void proto_register_s1ap(void) { &ett_s1ap_EmergencyAreaID_Cancelled_Item, &ett_s1ap_CompletedCellinEAI, &ett_s1ap_CompletedCellinEAI_Item, + &ett_s1ap_EmergencyAreaIDListForRestart, &ett_s1ap_ENB_ID, &ett_s1ap_GERAN_Cell_ID, &ett_s1ap_Global_ENB_ID, @@ -12554,6 +13073,7 @@ void proto_register_s1ap(void) { &ett_s1ap_RequestType, &ett_s1ap_RIMTransfer, &ett_s1ap_RIMRoutingAddress, + &ett_s1ap_ECGIListForRestart, &ett_s1ap_SecurityContext, &ett_s1ap_SONInformation, &ett_s1ap_SONInformationReply, @@ -12586,8 +13106,10 @@ void proto_register_s1ap(void) { &ett_s1ap_TargetRNC_ID, &ett_s1ap_TargeteNB_ToSourceeNB_TransparentContainer, &ett_s1ap_M1ThresholdEventA2, + &ett_s1ap_TransportInformation, &ett_s1ap_TraceActivation, &ett_s1ap_TunnelInformation, + &ett_s1ap_TAIListForRestart, &ett_s1ap_UEAggregateMaximumBitrate, &ett_s1ap_UE_S1AP_IDs, &ett_s1ap_UE_S1AP_ID_pair, @@ -12595,11 +13117,13 @@ void proto_register_s1ap(void) { &ett_s1ap_UE_HistoryInformation, &ett_s1ap_UEPagingID, &ett_s1ap_UESecurityCapabilities, + &ett_s1ap_UserLocationInformation, &ett_s1ap_WarningAreaList, &ett_s1ap_X2TNLConfigurationInfo, &ett_s1ap_ENBX2ExtTLAs, &ett_s1ap_ENBX2ExtTLA, &ett_s1ap_ENBX2GTPTLAs, + &ett_s1ap_ENBIndirectX2TransportLayerAddresses, &ett_s1ap_HandoverRequired, &ett_s1ap_HandoverCommand, &ett_s1ap_E_RABDataForwardingItem, @@ -12696,6 +13220,7 @@ void proto_register_s1ap(void) { &ett_s1ap_PrivateMessage, &ett_s1ap_KillRequest, &ett_s1ap_KillResponse, + &ett_s1ap_PWSRestartIndication, &ett_s1ap_DownlinkUEAssociatedLPPaTransport, &ett_s1ap_UplinkUEAssociatedLPPaTransport, &ett_s1ap_DownlinkNonUEAssociatedLPPaTransport, @@ -12732,6 +13257,9 @@ void proto_register_s1ap(void) { &ett_s1ap_NotificationCellList_Item, &ett_s1ap_FailureEventReport, &ett_s1ap_TooEarlyInterRATHOReportReportFromEUTRAN, + &ett_s1ap_EHRPDSectorLoadReportingResponse, + &ett_s1ap_EHRPDCompositeAvailableCapacity, + &ett_s1ap_EHRPDMultiSectorLoadReportingResponseItem, /*--- End of included file: packet-s1ap-ettarr.c ---*/ #line 243 "../../asn1/s1ap/packet-s1ap-template.c" |