diff options
author | AndersBroman <anders.broman@ericsson.com> | 2016-08-09 15:10:38 +0200 |
---|---|---|
committer | Anders Broman <a.broman58@gmail.com> | 2016-08-11 13:12:21 +0000 |
commit | 1d7688c6c548727a6e59c7b0fcf5cc08933e96d4 (patch) | |
tree | 6b7079584f2d35793ef09a606855b3bc841dbc91 /epan/dissectors/packet-s1ap.c | |
parent | 77b1e4eba0462d1c6fbbefd595209299140b696b (diff) | |
download | wireshark-1d7688c6c548727a6e59c7b0fcf5cc08933e96d4.tar.gz |
[S1AP] Update S1AP to Release 13.3.0
Change-Id: I0992f429de7812ea82809e0b63f534b44e7b6aee
Reviewed-on: https://code.wireshark.org/review/17006
Reviewed-by: Anders Broman <a.broman58@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-s1ap.c')
-rw-r--r-- | epan/dissectors/packet-s1ap.c | 1309 |
1 files changed, 1232 insertions, 77 deletions
diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c index 3412b86ed4..2be543812d 100644 --- a/epan/dissectors/packet-s1ap.c +++ b/epan/dissectors/packet-s1ap.c @@ -110,6 +110,8 @@ static dissector_handle_t bssgp_handle; #define maxnoofRestartEmergencyAreaIDs 256 #define maxEARFCN 262143 #define maxnoofMBSFNAreaMDT 8 +#define maxnoofRecommendedCells 16 +#define maxnoofRecommendedENBs 16 #define maxnoofIRATReportingCells 128 #define maxnoofcandidateCells 16 #define maxnoofCellineNB 256 @@ -168,7 +170,10 @@ typedef enum _ProcedureCode_enum { id_E_RABModificationIndication = 50, id_PWSFailureIndication = 51, id_RerouteNASRequest = 52, - id_UEContextModificationIndication = 53 + id_UEContextModificationIndication = 53, + id_ConnectionEstablishmentIndication = 54, + id_UEContextSuspend = 55, + id_UEContextResume = 56 } ProcedureCode_enum; typedef enum _ProtocolIE_ID_enum { @@ -249,6 +254,7 @@ typedef enum _ProtocolIE_ID_enum { id_UERadioCapability = 74, id_GUMMEI_ID = 75, id_Unknown_76 = 76, + id_Unknown_77 = 77, id_E_RABInformationListItem = 78, id_Direct_Forwarding_Path_Availability = 79, id_UEIdentityIndexValue = 80, @@ -381,6 +387,11 @@ typedef enum _ProtocolIE_ID_enum { id_Muting_Pattern_Information = 208, id_Synchronisation_Information = 209, id_E_RABToBeReleasedListBearerModConf = 210, + id_AssistanceDataForPaging = 211, + id_CellIdentifierAndCELevelForCECapableUEs = 212, + id_InformationOnRecommendedCellsAndENBsForPaging = 213, + id_RecommendedCellItem = 214, + id_RecommendedENBItem = 215, id_ProSeUEtoNetworkRelaying = 216, id_ULCOUNTValuePDCP_SNlength18 = 217, id_DLCOUNTValuePDCP_SNlength18 = 218, @@ -391,7 +402,21 @@ typedef enum _ProtocolIE_ID_enum { id_MME_Group_ID = 223, id_Additional_GUTI = 224, id_S1_Message = 225, - id_CSGMembershipInfo = 226 + id_CSGMembershipInfo = 226, + id_Paging_eDRXInformation = 227, + id_UE_RetentionInformation = 228, + id_UE_Usage_Type = 230, + id_extended_UEIdentityIndexValue = 231, + id_RAT_Type = 232, + id_BearerType = 233, + id_NB_IoT_DefaultPagingDRX = 234, + id_E_RABFailedToResumeListResumeReq = 235, + id_E_RABFailedToResumeItemResumeReq = 236, + id_E_RABFailedToResumeListResumeRes = 237, + id_E_RABFailedToResumeItemResumeRes = 238, + id_NB_IoT_Paging_eDRXInformation = 239, + id_Unknown_240 = 240, + id_UEUserPlaneCIoTSupportIndicator = 241 } ProtocolIE_ID_enum; /*--- End of included file: packet-s1ap-val.h ---*/ @@ -406,11 +431,14 @@ static int hf_s1ap_transportLayerAddressIPv6 = -1; /*--- Included file: packet-s1ap-hf.c ---*/ #line 1 "./asn1/s1ap/packet-s1ap-hf.c" static int hf_s1ap_Additional_GUTI_PDU = -1; /* Additional_GUTI */ +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_BroadcastCancelledAreaList_PDU = -1; /* BroadcastCancelledAreaList */ static int hf_s1ap_BroadcastCompletedAreaList_PDU = -1; /* BroadcastCompletedAreaList */ static int hf_s1ap_Cause_PDU = -1; /* Cause */ static int hf_s1ap_CellAccessMode_PDU = -1; /* CellAccessMode */ +static int hf_s1ap_CellIdentifierAndCELevelForCECapableUEs_PDU = -1; /* CellIdentifierAndCELevelForCECapableUEs */ static int hf_s1ap_Cdma2000PDU_PDU = -1; /* Cdma2000PDU */ static int hf_s1ap_Cdma2000RATType_PDU = -1; /* Cdma2000RATType */ static int hf_s1ap_Cdma2000SectorID_PDU = -1; /* Cdma2000SectorID */ @@ -446,12 +474,14 @@ static int hf_s1ap_EUTRAN_CGI_PDU = -1; /* EUTRAN_CGI */ static int hf_s1ap_EUTRANRoundTripDelayEstimationInfo_PDU = -1; /* EUTRANRoundTripDelayEstimationInfo */ static int hf_s1ap_ExpectedUEBehaviour_PDU = -1; /* ExpectedUEBehaviour */ static int hf_s1ap_ExtendedRepetitionPeriod_PDU = -1; /* ExtendedRepetitionPeriod */ +static int hf_s1ap_Extended_UEIdentityIndexValue_PDU = -1; /* Extended_UEIdentityIndexValue */ static int hf_s1ap_GUMMEI_PDU = -1; /* GUMMEI */ 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_InformationOnRecommendedCellsAndENBsForPaging_PDU = -1; /* InformationOnRecommendedCellsAndENBsForPaging */ 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 */ @@ -480,8 +510,11 @@ static int hf_s1ap_MutingPatternInformation_PDU = -1; /* MutingPatternInformati static int hf_s1ap_NAS_PDU_PDU = -1; /* NAS_PDU */ static int hf_s1ap_NASSecurityParametersfromE_UTRAN_PDU = -1; /* NASSecurityParametersfromE_UTRAN */ static int hf_s1ap_NASSecurityParameterstoE_UTRAN_PDU = -1; /* NASSecurityParameterstoE_UTRAN */ +static int hf_s1ap_NB_IoT_DefaultPagingDRX_PDU = -1; /* NB_IoT_DefaultPagingDRX */ +static int hf_s1ap_NB_IoT_Paging_eDRXInformation_PDU = -1; /* NB_IoT_Paging_eDRXInformation */ static int hf_s1ap_NumberofBroadcastRequest_PDU = -1; /* NumberofBroadcastRequest */ static int hf_s1ap_OverloadResponse_PDU = -1; /* OverloadResponse */ +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_ProSeAuthorized_PDU = -1; /* ProSeAuthorized */ @@ -489,8 +522,11 @@ static int hf_s1ap_ProSeUEtoNetworkRelaying_PDU = -1; /* ProSeUEtoNetworkRelayi static int hf_s1ap_PS_ServiceNotAvailable_PDU = -1; /* PS_ServiceNotAvailable */ static int hf_s1ap_ReceiveStatusOfULPDCPSDUsExtended_PDU = -1; /* ReceiveStatusOfULPDCPSDUsExtended */ static int hf_s1ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU = -1; /* ReceiveStatusOfULPDCPSDUsPDCP_SNlength18 */ +static int hf_s1ap_RecommendedCellItem_PDU = -1; /* RecommendedCellItem */ +static int hf_s1ap_RecommendedENBItem_PDU = -1; /* RecommendedENBItem */ static int hf_s1ap_RelativeMMECapacity_PDU = -1; /* RelativeMMECapacity */ static int hf_s1ap_RelayNode_Indicator_PDU = -1; /* RelayNode_Indicator */ +static int hf_s1ap_RAT_Type_PDU = -1; /* RAT_Type */ 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 */ @@ -526,6 +562,7 @@ static int hf_s1ap_TrafficLoadReductionIndication_PDU = -1; /* TrafficLoadReduc 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_RetentionInformation_PDU = -1; /* UE_RetentionInformation */ static int hf_s1ap_UE_S1AP_IDs_PDU = -1; /* UE_S1AP_IDs */ static int hf_s1ap_UE_associatedLogicalS1_ConnectionItem_PDU = -1; /* UE_associatedLogicalS1_ConnectionItem */ static int hf_s1ap_UEIdentityIndexValue_PDU = -1; /* UEIdentityIndexValue */ @@ -535,7 +572,9 @@ static int hf_s1ap_UEPagingID_PDU = -1; /* UEPagingID */ static int hf_s1ap_UERadioCapability_PDU = -1; /* UERadioCapability */ static int hf_s1ap_UERadioCapabilityForPaging_PDU = -1; /* UERadioCapabilityForPaging */ static int hf_s1ap_UESecurityCapabilities_PDU = -1; /* UESecurityCapabilities */ +static int hf_s1ap_UE_Usage_Type_PDU = -1; /* UE_Usage_Type */ static int hf_s1ap_UserLocationInformation_PDU = -1; /* UserLocationInformation */ +static int hf_s1ap_UEUserPlaneCIoTSupportIndicator_PDU = -1; /* UEUserPlaneCIoTSupportIndicator */ static int hf_s1ap_VoiceSupportMatchIndicator_PDU = -1; /* VoiceSupportMatchIndicator */ static int hf_s1ap_WarningAreaList_PDU = -1; /* WarningAreaList */ static int hf_s1ap_WarningType_PDU = -1; /* WarningType */ @@ -663,6 +702,14 @@ static int hf_s1ap_E_RABModifyListBearerModConf_PDU = -1; /* E_RABModifyListBea static int hf_s1ap_E_RABModifyItemBearerModConf_PDU = -1; /* E_RABModifyItemBearerModConf */ static int hf_s1ap_UEContextModificationIndication_PDU = -1; /* UEContextModificationIndication */ static int hf_s1ap_UEContextModificationConfirm_PDU = -1; /* UEContextModificationConfirm */ +static int hf_s1ap_UEContextResumeRequest_PDU = -1; /* UEContextResumeRequest */ +static int hf_s1ap_E_RABFailedToResumeListResumeReq_PDU = -1; /* E_RABFailedToResumeListResumeReq */ +static int hf_s1ap_E_RABFailedToResumeItemResumeReq_PDU = -1; /* E_RABFailedToResumeItemResumeReq */ +static int hf_s1ap_UEContextResumeResponse_PDU = -1; /* UEContextResumeResponse */ +static int hf_s1ap_E_RABFailedToResumeListResumeRes_PDU = -1; /* E_RABFailedToResumeListResumeRes */ +static int hf_s1ap_E_RABFailedToResumeItemResumeRes_PDU = -1; /* E_RABFailedToResumeItemResumeRes */ +static int hf_s1ap_UEContextResumeFailure_PDU = -1; /* UEContextResumeFailure */ +static int hf_s1ap_ConnectionEstablishmentIndication_PDU = -1; /* ConnectionEstablishmentIndication */ static int hf_s1ap_S1AP_PDU_PDU = -1; /* S1AP_PDU */ static int hf_s1ap_s1ap_SONtransferApplicationIdentity_PDU = -1; /* SONtransferApplicationIdentity */ static int hf_s1ap_s1ap_SONtransferRequestContainer_PDU = -1; /* SONtransferRequestContainer */ @@ -691,6 +738,11 @@ static int hf_s1ap_tAIBased = -1; /* TAIBasedMDT */ static int hf_s1ap_priorityLevel = -1; /* PriorityLevel */ static int hf_s1ap_pre_emptionCapability = -1; /* Pre_emptionCapability */ static int hf_s1ap_pre_emptionVulnerability = -1; /* Pre_emptionVulnerability */ +static int hf_s1ap_cellIdentifierAndCELevelForCECapableUEs = -1; /* CellIdentifierAndCELevelForCECapableUEs */ +static int hf_s1ap_assistanceDataForRecommendedCells = -1; /* AssistanceDataForRecommendedCells */ +static int hf_s1ap_assistanceDataForCECapableUEs = -1; /* AssistanceDataForCECapableUEs */ +static int hf_s1ap_pagingAttemptInformation = -1; /* PagingAttemptInformation */ +static int hf_s1ap_recommendedCellsForPaging = -1; /* RecommendedCellsForPaging */ static int hf_s1ap_Bearers_SubjectToStatusTransferList_item = -1; /* ProtocolIE_SingleContainer */ static int hf_s1ap_e_RAB_ID = -1; /* E_RAB_ID */ static int hf_s1ap_uL_COUNTvalue = -1; /* COUNTvalue */ @@ -712,6 +764,8 @@ static int hf_s1ap_transport = -1; /* CauseTransport */ static int hf_s1ap_nas = -1; /* CauseNas */ static int hf_s1ap_protocol = -1; /* CauseProtocol */ static int hf_s1ap_misc = -1; /* CauseMisc */ +static int hf_s1ap_global_Cell_ID = -1; /* EUTRAN_CGI */ +static int hf_s1ap_cELevel = -1; /* CELevel */ static int hf_s1ap_CellID_Broadcast_item = -1; /* CellID_Broadcast_Item */ static int hf_s1ap_CellID_Cancelled_item = -1; /* CellID_Cancelled_Item */ static int hf_s1ap_cellIdListforMDT = -1; /* CellIdListforMDT */ @@ -794,10 +848,10 @@ static int hf_s1ap_measurementsToActivate = -1; /* MeasurementsToActivate */ static int hf_s1ap_m1reportingTrigger = -1; /* M1ReportingTrigger */ static int hf_s1ap_m1thresholdeventA2 = -1; /* M1ThresholdEventA2 */ static int hf_s1ap_m1periodicReporting = -1; /* M1PeriodicReporting */ +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_global_Cell_ID = -1; /* EUTRAN_CGI */ static int hf_s1ap_cellType = -1; /* CellType */ static int hf_s1ap_time_UE_StayedInCell = -1; /* Time_UE_StayedInCell */ static int hf_s1ap_undefined = -1; /* NULL */ @@ -828,13 +882,29 @@ static int hf_s1ap_loggedMDT = -1; /* LoggedMDT */ static int hf_s1ap_mDTMode_Extension = -1; /* MDTMode_Extension */ static int hf_s1ap_threshold_RSRP = -1; /* Threshold_RSRP */ static int hf_s1ap_threshold_RSRQ = -1; /* Threshold_RSRQ */ +static int hf_s1ap_global_ENB_ID = -1; /* Global_ENB_ID */ +static int hf_s1ap_tAI = -1; /* TAI */ static int hf_s1ap_muting_pattern_period = -1; /* T_muting_pattern_period */ static int hf_s1ap_muting_pattern_offset = -1; /* INTEGER_0_10239_ */ +static int hf_s1ap_nB_IoT_paging_eDRX_Cycle = -1; /* NB_IoT_Paging_eDRX_Cycle */ +static int hf_s1ap_nB_IoT_pagingTimeWindow = -1; /* NB_IoT_PagingTimeWindow */ static int hf_s1ap_overloadAction = -1; /* OverloadAction */ +static int hf_s1ap_pagingAttemptCount = -1; /* PagingAttemptCount */ +static int hf_s1ap_intendedNumberOfPagingAttempts = -1; /* IntendedNumberOfPagingAttempts */ +static int hf_s1ap_nextPagingAreaScope = -1; /* NextPagingAreaScope */ +static int hf_s1ap_paging_eDRX_Cycle = -1; /* Paging_eDRX_Cycle */ +static int hf_s1ap_pagingTimeWindow = -1; /* PagingTimeWindow */ static int hf_s1ap_reportInterval = -1; /* ReportIntervalMDT */ static int hf_s1ap_reportAmount = -1; /* ReportAmountMDT */ static int hf_s1ap_proSeDirectDiscovery = -1; /* ProSeDirectDiscovery */ static int hf_s1ap_proSeDirectCommunication = -1; /* ProSeDirectCommunication */ +static int hf_s1ap_recommendedCellList = -1; /* RecommendedCellList */ +static int hf_s1ap_RecommendedCellList_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_s1ap_eUTRAN_CGI = -1; /* EUTRAN_CGI */ +static int hf_s1ap_timeStayedInCell = -1; /* INTEGER_0_4095 */ +static int hf_s1ap_recommendedENBList = -1; /* RecommendedENBList */ +static int hf_s1ap_RecommendedENBList_item = -1; /* ProtocolIE_SingleContainer */ +static int hf_s1ap_mMEPagingTarget = -1; /* MMEPagingTarget */ static int hf_s1ap_eventType = -1; /* EventType */ static int hf_s1ap_reportArea = -1; /* ReportArea */ static int hf_s1ap_rIMInformation = -1; /* RIMInformation */ @@ -858,7 +928,6 @@ static int hf_s1ap_sONInformation = -1; /* SONInformation */ static int hf_s1ap_sourceStratumLevel = -1; /* StratumLevel */ static int hf_s1ap_listeningSubframePattern = -1; /* ListeningSubframePattern */ static int hf_s1ap_aggressoreCGI_List = -1; /* ECGI_List */ -static int hf_s1ap_global_ENB_ID = -1; /* Global_ENB_ID */ static int hf_s1ap_selected_TAI = -1; /* TAI */ static int hf_s1ap_rRC_Container = -1; /* RRC_Container */ static int hf_s1ap_e_RABInformationList = -1; /* E_RABInformationList */ @@ -882,7 +951,6 @@ static int hf_s1ap_tAIListforMDT = -1; /* TAIListforMDT */ static int hf_s1ap_TAIListforMDT_item = -1; /* TAI */ static int hf_s1ap_TAIListforWarning_item = -1; /* TAI */ static int hf_s1ap_TAI_Broadcast_item = -1; /* TAI_Broadcast_Item */ -static int hf_s1ap_tAI = -1; /* TAI */ static int hf_s1ap_completedCellinTAI = -1; /* CompletedCellinTAI */ static int hf_s1ap_TAI_Cancelled_item = -1; /* TAI_Cancelled_Item */ static int hf_s1ap_cancelledCellinTAI = -1; /* CancelledCellinTAI */ @@ -1054,6 +1122,9 @@ static gint ett_s1ap_PrivateIE_Field = -1; static gint ett_s1ap_Additional_GUTI = -1; static gint ett_s1ap_AreaScopeOfMDT = -1; static gint ett_s1ap_AllocationAndRetentionPriority = -1; +static gint ett_s1ap_AssistanceDataForCECapableUEs = -1; +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_BPLMNs = -1; @@ -1064,6 +1135,7 @@ static gint ett_s1ap_CancelledCellinEAI_Item = -1; static gint ett_s1ap_CancelledCellinTAI = -1; static gint ett_s1ap_CancelledCellinTAI_Item = -1; static gint ett_s1ap_Cause = -1; +static gint ett_s1ap_CellIdentifierAndCELevelForCECapableUEs = -1; static gint ett_s1ap_CellID_Broadcast = -1; static gint ett_s1ap_CellID_Broadcast_Item = -1; static gint ett_s1ap_CellID_Cancelled = -1; @@ -1117,6 +1189,7 @@ static gint ett_s1ap_GBR_QosInformation = -1; static gint ett_s1ap_GUMMEI = -1; static gint ett_s1ap_HandoverRestrictionList = -1; static gint ett_s1ap_ImmediateMDT = -1; +static gint ett_s1ap_InformationOnRecommendedCellsAndENBsForPaging = -1; static gint ett_s1ap_LAI = -1; static gint ett_s1ap_LastVisitedCell_Item = -1; static gint ett_s1ap_LastVisitedEUTRANCellInformation = -1; @@ -1135,10 +1208,20 @@ static gint ett_s1ap_MBSFN_ResultToLogInfo = -1; static gint ett_s1ap_MDTPLMNList = -1; static gint ett_s1ap_MDTMode = -1; static gint ett_s1ap_MeasurementThresholdA2 = -1; +static gint ett_s1ap_MMEPagingTarget = -1; static gint ett_s1ap_MutingPatternInformation = -1; +static gint ett_s1ap_NB_IoT_Paging_eDRXInformation = -1; static gint ett_s1ap_OverloadResponse = -1; +static gint ett_s1ap_PagingAttemptInformation = -1; +static gint ett_s1ap_Paging_eDRXInformation = -1; static gint ett_s1ap_M1PeriodicReporting = -1; static gint ett_s1ap_ProSeAuthorized = -1; +static gint ett_s1ap_RecommendedCellsForPaging = -1; +static gint ett_s1ap_RecommendedCellList = -1; +static gint ett_s1ap_RecommendedCellItem = -1; +static gint ett_s1ap_RecommendedENBsForPaging = -1; +static gint ett_s1ap_RecommendedENBList = -1; +static gint ett_s1ap_RecommendedENBItem = -1; static gint ett_s1ap_RequestType = -1; static gint ett_s1ap_RIMTransfer = -1; static gint ett_s1ap_RIMRoutingAddress = -1; @@ -1308,6 +1391,14 @@ static gint ett_s1ap_E_RABModifyListBearerModConf = -1; static gint ett_s1ap_E_RABModifyItemBearerModConf = -1; static gint ett_s1ap_UEContextModificationIndication = -1; static gint ett_s1ap_UEContextModificationConfirm = -1; +static gint ett_s1ap_UEContextSuspendRequest = -1; +static gint ett_s1ap_UEContextSuspendResponse = -1; +static gint ett_s1ap_UEContextResumeRequest = -1; +static gint ett_s1ap_E_RABFailedToResumeItemResumeReq = -1; +static gint ett_s1ap_UEContextResumeResponse = -1; +static gint ett_s1ap_E_RABFailedToResumeItemResumeRes = -1; +static gint ett_s1ap_UEContextResumeFailure = -1; +static gint ett_s1ap_ConnectionEstablishmentIndication = -1; static gint ett_s1ap_S1AP_PDU = -1; static gint ett_s1ap_InitiatingMessage = -1; static gint ett_s1ap_SuccessfulOutcome = -1; @@ -1519,6 +1610,9 @@ static const value_string s1ap_ProcedureCode_vals[] = { { id_PWSFailureIndication, "id-PWSFailureIndication" }, { id_RerouteNASRequest, "id-RerouteNASRequest" }, { id_UEContextModificationIndication, "id-UEContextModificationIndication" }, + { id_ConnectionEstablishmentIndication, "id-ConnectionEstablishmentIndication" }, + { id_UEContextSuspend, "id-UEContextSuspend" }, + { id_UEContextResume, "id-UEContextResume" }, { 0, NULL } }; @@ -1627,6 +1721,7 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = { { id_UERadioCapability, "id-UERadioCapability" }, { id_GUMMEI_ID, "id-GUMMEI-ID" }, { id_Unknown_76, "id-Unknown-76" }, + { id_Unknown_77, "id-Unknown-77" }, { id_E_RABInformationListItem, "id-E-RABInformationListItem" }, { id_Direct_Forwarding_Path_Availability, "id-Direct-Forwarding-Path-Availability" }, { id_UEIdentityIndexValue, "id-UEIdentityIndexValue" }, @@ -1759,6 +1854,11 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = { { id_Muting_Pattern_Information, "id-Muting-Pattern-Information" }, { id_Synchronisation_Information, "id-Synchronisation-Information" }, { id_E_RABToBeReleasedListBearerModConf, "id-E-RABToBeReleasedListBearerModConf" }, + { id_AssistanceDataForPaging, "id-AssistanceDataForPaging" }, + { id_CellIdentifierAndCELevelForCECapableUEs, "id-CellIdentifierAndCELevelForCECapableUEs" }, + { id_InformationOnRecommendedCellsAndENBsForPaging, "id-InformationOnRecommendedCellsAndENBsForPaging" }, + { id_RecommendedCellItem, "id-RecommendedCellItem" }, + { id_RecommendedENBItem, "id-RecommendedENBItem" }, { id_ProSeUEtoNetworkRelaying, "id-ProSeUEtoNetworkRelaying" }, { id_ULCOUNTValuePDCP_SNlength18, "id-ULCOUNTValuePDCP-SNlength18" }, { id_DLCOUNTValuePDCP_SNlength18, "id-DLCOUNTValuePDCP-SNlength18" }, @@ -1770,6 +1870,20 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = { { id_Additional_GUTI, "id-Additional-GUTI" }, { id_S1_Message, "id-S1-Message" }, { id_CSGMembershipInfo, "id-CSGMembershipInfo" }, + { id_Paging_eDRXInformation, "id-Paging-eDRXInformation" }, + { id_UE_RetentionInformation, "id-UE-RetentionInformation" }, + { id_UE_Usage_Type, "id-UE-Usage-Type" }, + { id_extended_UEIdentityIndexValue, "id-extended-UEIdentityIndexValue" }, + { id_RAT_Type, "id-RAT-Type" }, + { id_BearerType, "id-BearerType" }, + { id_NB_IoT_DefaultPagingDRX, "id-NB-IoT-DefaultPagingDRX" }, + { id_E_RABFailedToResumeListResumeReq, "id-E-RABFailedToResumeListResumeReq" }, + { id_E_RABFailedToResumeItemResumeReq, "id-E-RABFailedToResumeItemResumeReq" }, + { id_E_RABFailedToResumeListResumeRes, "id-E-RABFailedToResumeListResumeRes" }, + { id_E_RABFailedToResumeItemResumeRes, "id-E-RABFailedToResumeItemResumeRes" }, + { id_NB_IoT_Paging_eDRXInformation, "id-NB-IoT-Paging-eDRXInformation" }, + { id_Unknown_240, "id-Unknown-240" }, + { id_UEUserPlaneCIoTSupportIndicator, "id-UEUserPlaneCIoTSupportIndicator" }, { 0, NULL } }; @@ -2302,6 +2416,161 @@ dissect_s1ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, a } + +static int +dissect_s1ap_CELevel(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 per_sequence_t CellIdentifierAndCELevelForCECapableUEs_sequence[] = { + { &hf_s1ap_global_Cell_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI }, + { &hf_s1ap_cELevel , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CELevel }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_CellIdentifierAndCELevelForCECapableUEs(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_CellIdentifierAndCELevelForCECapableUEs, CellIdentifierAndCELevelForCECapableUEs_sequence); + + return offset; +} + + +static const per_sequence_t AssistanceDataForCECapableUEs_sequence[] = { + { &hf_s1ap_cellIdentifierAndCELevelForCECapableUEs, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CellIdentifierAndCELevelForCECapableUEs }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_AssistanceDataForCECapableUEs(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_AssistanceDataForCECapableUEs, AssistanceDataForCECapableUEs_sequence); + + return offset; +} + + +static const per_sequence_t RecommendedCellList_sequence_of[1] = { + { &hf_s1ap_RecommendedCellList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_s1ap_RecommendedCellList(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_RecommendedCellList, RecommendedCellList_sequence_of, + 1, maxnoofRecommendedCells, FALSE); + + return offset; +} + + +static const per_sequence_t RecommendedCellsForPaging_sequence[] = { + { &hf_s1ap_recommendedCellList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RecommendedCellList }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_RecommendedCellsForPaging(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_RecommendedCellsForPaging, RecommendedCellsForPaging_sequence); + + return offset; +} + + +static const per_sequence_t AssistanceDataForRecommendedCells_sequence[] = { + { &hf_s1ap_recommendedCellsForPaging, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RecommendedCellsForPaging }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_AssistanceDataForRecommendedCells(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_AssistanceDataForRecommendedCells, AssistanceDataForRecommendedCells_sequence); + + return offset; +} + + + +static int +dissect_s1ap_PagingAttemptCount(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, 16U, NULL, TRUE); + + return offset; +} + + + +static int +dissect_s1ap_IntendedNumberOfPagingAttempts(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, 16U, NULL, TRUE); + + return offset; +} + + +static const value_string s1ap_NextPagingAreaScope_vals[] = { + { 0, "same" }, + { 1, "changed" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_NextPagingAreaScope(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 2, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t PagingAttemptInformation_sequence[] = { + { &hf_s1ap_pagingAttemptCount, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PagingAttemptCount }, + { &hf_s1ap_intendedNumberOfPagingAttempts, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_IntendedNumberOfPagingAttempts }, + { &hf_s1ap_nextPagingAreaScope, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_NextPagingAreaScope }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_PagingAttemptInformation(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_PagingAttemptInformation, PagingAttemptInformation_sequence); + + return offset; +} + + +static const per_sequence_t AssistanceDataForPaging_sequence[] = { + { &hf_s1ap_assistanceDataForRecommendedCells, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_AssistanceDataForRecommendedCells }, + { &hf_s1ap_assistanceDataForCECapableUEs, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_AssistanceDataForCECapableUEs }, + { &hf_s1ap_pagingAttemptInformation, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_PagingAttemptInformation }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_AssistanceDataForPaging(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_AssistanceDataForPaging, AssistanceDataForPaging_sequence); + + return offset; +} + + static const per_sequence_t Bearers_SubjectToStatusTransferList_sequence_of[1] = { { &hf_s1ap_Bearers_SubjectToStatusTransferList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer }, }; @@ -2390,6 +2659,21 @@ dissect_s1ap_Bearers_SubjectToStatusTransfer_Item(tvbuff_t *tvb _U_, int offset } +static const value_string s1ap_BearerType_vals[] = { + { 0, "non-IP" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_BearerType(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_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -2827,7 +3111,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 1335 "./asn1/s1ap/s1ap.cnf" +#line 1385 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 36, &value, TRUE, 3, NULL); @@ -2849,7 +3133,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 1340 "./asn1/s1ap/s1ap.cnf" +#line 1390 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 2, &value, TRUE, 0, NULL); @@ -2874,7 +3158,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 1345 "./asn1/s1ap/s1ap.cnf" +#line 1395 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 4, &value, TRUE, 1, NULL); @@ -2901,7 +3185,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 1350 "./asn1/s1ap/s1ap.cnf" +#line 1400 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 7, &value, TRUE, 0, NULL); @@ -2927,7 +3211,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 1355 "./asn1/s1ap/s1ap.cnf" +#line 1405 "./asn1/s1ap/s1ap.cnf" guint32 value; offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, 6, &value, TRUE, 0, NULL); @@ -4099,6 +4383,16 @@ dissect_s1ap_ExtendedRepetitionPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ct } + +static int +dissect_s1ap_Extended_UEIdentityIndexValue(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index, + 14, 14, FALSE, NULL, NULL); + + return offset; +} + + static const value_string s1ap_ForbiddenInterRATs_vals[] = { { 0, "all" }, { 1, "geran" }, @@ -4478,6 +4772,51 @@ dissect_s1ap_IMSI(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto } +static const per_sequence_t RecommendedENBList_sequence_of[1] = { + { &hf_s1ap_RecommendedENBList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_SingleContainer }, +}; + +static int +dissect_s1ap_RecommendedENBList(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_RecommendedENBList, RecommendedENBList_sequence_of, + 1, maxnoofRecommendedENBs, FALSE); + + return offset; +} + + +static const per_sequence_t RecommendedENBsForPaging_sequence[] = { + { &hf_s1ap_recommendedENBList, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RecommendedENBList }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_RecommendedENBsForPaging(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_RecommendedENBsForPaging, RecommendedENBsForPaging_sequence); + + return offset; +} + + +static const per_sequence_t InformationOnRecommendedCellsAndENBsForPaging_sequence[] = { + { &hf_s1ap_recommendedCellsForPaging, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RecommendedCellsForPaging }, + { &hf_s1ap_recommendENBsForPaging, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RecommendedENBsForPaging }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_InformationOnRecommendedCellsAndENBsForPaging(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_InformationOnRecommendedCellsAndENBsForPaging, InformationOnRecommendedCellsAndENBsForPaging_sequence); + + return offset; +} + + static int dissect_s1ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -5142,6 +5481,28 @@ dissect_s1ap_MMEname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr } +static const value_string s1ap_MMEPagingTarget_vals[] = { + { 0, "global-ENB-ID" }, + { 1, "tAI" }, + { 0, NULL } +}; + +static const per_choice_t MMEPagingTarget_choice[] = { + { 0, &hf_s1ap_global_ENB_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_Global_ENB_ID }, + { 1, &hf_s1ap_tAI , ASN1_EXTENSION_ROOT , dissect_s1ap_TAI }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_s1ap_MMEPagingTarget(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_choice(tvb, offset, actx, tree, hf_index, + ett_s1ap_MMEPagingTarget, MMEPagingTarget_choice, + NULL); + + return offset; +} + + static const value_string s1ap_MMERelaySupportIndicator_vals[] = { { 0, "true" }, { 0, NULL } @@ -5278,6 +5639,98 @@ dissect_s1ap_NASSecurityParameterstoE_UTRAN(tvbuff_t *tvb _U_, int offset _U_, a } +static const value_string s1ap_NB_IoT_DefaultPagingDRX_vals[] = { + { 0, "v128" }, + { 1, "v256" }, + { 2, "v512" }, + { 3, "v1024" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_NB_IoT_DefaultPagingDRX(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, + 4, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string s1ap_NB_IoT_Paging_eDRX_Cycle_vals[] = { + { 0, "hf2" }, + { 1, "hf4" }, + { 2, "hf6" }, + { 3, "hf8" }, + { 4, "hf10" }, + { 5, "hf12" }, + { 6, "hf14" }, + { 7, "hf16" }, + { 8, "hf32" }, + { 9, "hf64" }, + { 10, "hf128" }, + { 11, "hf256" }, + { 12, "hf512" }, + { 13, "hf1024" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_NB_IoT_Paging_eDRX_Cycle(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, + 14, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string s1ap_NB_IoT_PagingTimeWindow_vals[] = { + { 0, "s1" }, + { 1, "s2" }, + { 2, "s3" }, + { 3, "s4" }, + { 4, "s5" }, + { 5, "s6" }, + { 6, "s7" }, + { 7, "s8" }, + { 8, "s9" }, + { 9, "s10" }, + { 10, "s11" }, + { 11, "s12" }, + { 12, "s13" }, + { 13, "s14" }, + { 14, "s15" }, + { 15, "s16" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_NB_IoT_PagingTimeWindow(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, + 16, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t NB_IoT_Paging_eDRXInformation_sequence[] = { + { &hf_s1ap_nB_IoT_paging_eDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_NB_IoT_Paging_eDRX_Cycle }, + { &hf_s1ap_nB_IoT_pagingTimeWindow, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_NB_IoT_PagingTimeWindow }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_NB_IoT_Paging_eDRXInformation(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_NB_IoT_Paging_eDRXInformation, NB_IoT_Paging_eDRXInformation_sequence); + + return offset; +} + + static int dissect_s1ap_NumberofBroadcastRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -5327,6 +5780,80 @@ dissect_s1ap_OverloadResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act } +static const value_string s1ap_Paging_eDRX_Cycle_vals[] = { + { 0, "hfhalf" }, + { 1, "hf1" }, + { 2, "hf2" }, + { 3, "hf4" }, + { 4, "hf6" }, + { 5, "hf8" }, + { 6, "hf10" }, + { 7, "hf12" }, + { 8, "hf14" }, + { 9, "hf16" }, + { 10, "hf32" }, + { 11, "hf64" }, + { 12, "hf128" }, + { 13, "hf256" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_Paging_eDRX_Cycle(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, + 14, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const value_string s1ap_PagingTimeWindow_vals[] = { + { 0, "s1" }, + { 1, "s2" }, + { 2, "s3" }, + { 3, "s4" }, + { 4, "s5" }, + { 5, "s6" }, + { 6, "s7" }, + { 7, "s8" }, + { 8, "s9" }, + { 9, "s10" }, + { 10, "s11" }, + { 11, "s12" }, + { 12, "s13" }, + { 13, "s14" }, + { 14, "s15" }, + { 15, "s16" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_PagingTimeWindow(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, + 16, NULL, TRUE, 0, NULL); + + return offset; +} + + +static const per_sequence_t Paging_eDRXInformation_sequence[] = { + { &hf_s1ap_paging_eDRX_Cycle, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Paging_eDRX_Cycle }, + { &hf_s1ap_pagingTimeWindow, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_PagingTimeWindow }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_Paging_eDRXInformation(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_Paging_eDRXInformation, Paging_eDRXInformation_sequence); + + return offset; +} + + static const value_string s1ap_PagingDRX_vals[] = { { 0, "v32" }, { 1, "v64" }, @@ -5478,6 +6005,47 @@ dissect_s1ap_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18(tvbuff_t *tvb _U_, int off static int +dissect_s1ap_INTEGER_0_4095(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, 4095U, NULL, FALSE); + + return offset; +} + + +static const per_sequence_t RecommendedCellItem_sequence[] = { + { &hf_s1ap_eUTRAN_CGI , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI }, + { &hf_s1ap_timeStayedInCell, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_INTEGER_0_4095 }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_RecommendedCellItem(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_RecommendedCellItem, RecommendedCellItem_sequence); + + return offset; +} + + +static const per_sequence_t RecommendedENBItem_sequence[] = { + { &hf_s1ap_mMEPagingTarget, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MMEPagingTarget }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_RecommendedENBItem(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_RecommendedENBItem, RecommendedENBItem_sequence); + + return offset; +} + + + +static int dissect_s1ap_RelativeMMECapacity(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, 255U, NULL, FALSE); @@ -5501,6 +6069,21 @@ dissect_s1ap_RelayNode_Indicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t * } +static const value_string s1ap_RAT_Type_vals[] = { + { 0, "nbiot" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_RAT_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, + 1, NULL, TRUE, 0, NULL); + + return offset; +} + + static const value_string s1ap_ReportArea_vals[] = { { 0, "ecgi" }, { 0, NULL } @@ -5731,6 +6314,8 @@ static const value_string s1ap_RRC_Establishment_Cause_vals[] = { { 3, "mo-Signalling" }, { 4, "mo-Data" }, { 5, "delay-TolerantAccess" }, + { 6, "mo-VoiceCall" }, + { 7, "mo-ExceptionData" }, { 0, NULL } }; @@ -5738,7 +6323,7 @@ static const value_string s1ap_RRC_Establishment_Cause_vals[] = { static int dissect_s1ap_RRC_Establishment_Cause(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index, - 5, NULL, TRUE, 1, NULL); + 5, NULL, TRUE, 3, NULL); return offset; } @@ -6553,6 +7138,21 @@ dissect_s1ap_UEAggregateMaximumBitrate(tvbuff_t *tvb _U_, int offset _U_, asn1_c } +static const value_string s1ap_UE_RetentionInformation_vals[] = { + { 0, "ues-retained" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_UE_RetentionInformation(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 UE_S1AP_ID_pair_sequence[] = { { &hf_s1ap_mME_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_MME_UE_S1AP_ID }, { &hf_s1ap_eNB_UE_S1AP_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ENB_UE_S1AP_ID }, @@ -6713,6 +7313,16 @@ dissect_s1ap_UESecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ } + +static int +dissect_s1ap_UE_Usage_Type(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, 255U, NULL, FALSE); + + return offset; +} + + 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 }, @@ -6729,6 +7339,21 @@ dissect_s1ap_UserLocationInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx } +static const value_string s1ap_UEUserPlaneCIoTSupportIndicator_vals[] = { + { 0, "supported" }, + { 0, NULL } +}; + + +static int +dissect_s1ap_UEUserPlaneCIoTSupportIndicator(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_VoiceSupportMatchIndicator_vals[] = { { 0, "supported" }, { 1, "not-supported" }, @@ -6944,7 +7569,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 1240 "./asn1/s1ap/s1ap.cnf" +#line 1290 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", HandoverPreparationFailure "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7007,7 +7632,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 1244 "./asn1/s1ap/s1ap.cnf" +#line 1294 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", HandoverRequestAcknowledge "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7079,7 +7704,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 1246 "./asn1/s1ap/s1ap.cnf" +#line 1296 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", HandoverFailure "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7096,7 +7721,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 1248 "./asn1/s1ap/s1ap.cnf" +#line 1298 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", HandoverNotify "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7113,7 +7738,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 1250 "./asn1/s1ap/s1ap.cnf" +#line 1300 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", PathSwitchRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7156,7 +7781,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 1252 "./asn1/s1ap/s1ap.cnf" +#line 1302 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", PathSwitchRequestAcknowledge "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7199,7 +7824,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 1254 "./asn1/s1ap/s1ap.cnf" +#line 1304 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", PathSwitchRequestFailure "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7216,7 +7841,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 1256 "./asn1/s1ap/s1ap.cnf" +#line 1306 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", HandoverCancel "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7233,7 +7858,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 1258 "./asn1/s1ap/s1ap.cnf" +#line 1308 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", HandoverCancelAcknowledge "); @@ -7252,7 +7877,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 1202 "./asn1/s1ap/s1ap.cnf" +#line 1252 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABSetupRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7302,7 +7927,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 1204 "./asn1/s1ap/s1ap.cnf" +#line 1254 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABSetupResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7350,7 +7975,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 1206 "./asn1/s1ap/s1ap.cnf" +#line 1256 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABModifyRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7398,7 +8023,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 1208 "./asn1/s1ap/s1ap.cnf" +#line 1258 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABModifyResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7444,7 +8069,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 1210 "./asn1/s1ap/s1ap.cnf" +#line 1260 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABReleaseCommand "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7461,7 +8086,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 1212 "./asn1/s1ap/s1ap.cnf" +#line 1262 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABReleaseResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7507,7 +8132,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 1214 "./asn1/s1ap/s1ap.cnf" +#line 1264 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E_RABReleaseIndication "); @@ -7525,7 +8150,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 1217 "./asn1/s1ap/s1ap.cnf" +#line 1267 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", InitialContextSetupRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7575,7 +8200,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 1219 "./asn1/s1ap/s1ap.cnf" +#line 1269 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", InitialContextSetupResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7623,7 +8248,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 1221 "./asn1/s1ap/s1ap.cnf" +#line 1271 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", InitialContextSetupFailure "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7683,7 +8308,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 1223 "./asn1/s1ap/s1ap.cnf" +#line 1273 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextReleaseRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7700,7 +8325,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 1225 "./asn1/s1ap/s1ap.cnf" +#line 1275 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextReleaseCommand "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7717,7 +8342,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 1227 "./asn1/s1ap/s1ap.cnf" +#line 1277 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextReleaseComplete "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7734,7 +8359,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 1229 "./asn1/s1ap/s1ap.cnf" +#line 1279 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextModificationRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7751,7 +8376,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 1231 "./asn1/s1ap/s1ap.cnf" +#line 1281 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextModificationResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7768,7 +8393,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 1233 "./asn1/s1ap/s1ap.cnf" +#line 1283 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextModificationFailure "); @@ -7786,7 +8411,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 1308 "./asn1/s1ap/s1ap.cnf" +#line 1358 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UERadioCapabilityMatchRequest "); @@ -7804,7 +8429,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 1311 "./asn1/s1ap/s1ap.cnf" +#line 1361 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UERadioCapabilityMatchResponse "); @@ -7893,7 +8518,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 1326 "./asn1/s1ap/s1ap.cnf" +#line 1376 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", RerouteNASRequest "); @@ -7911,7 +8536,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 1262 "./asn1/s1ap/s1ap.cnf" +#line 1312 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", Reset "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -7979,7 +8604,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 1264 "./asn1/s1ap/s1ap.cnf" +#line 1314 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", ResetAcknowledge "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8024,7 +8649,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 1268 "./asn1/s1ap/s1ap.cnf" +#line 1318 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", S1SetupRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8041,7 +8666,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 1270 "./asn1/s1ap/s1ap.cnf" +#line 1320 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", S1SetupResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8058,7 +8683,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 1272 "./asn1/s1ap/s1ap.cnf" +#line 1322 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", S1SetupFailure "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8075,7 +8700,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 1274 "./asn1/s1ap/s1ap.cnf" +#line 1324 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", ENBConfigurationUpdate "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8092,7 +8717,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 1276 "./asn1/s1ap/s1ap.cnf" +#line 1326 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", ENBConfigurationUpdateAcknowledge "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8109,7 +8734,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 1278 "./asn1/s1ap/s1ap.cnf" +#line 1328 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", ENBConfigurationUpdateFailure "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8126,7 +8751,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 1280 "./asn1/s1ap/s1ap.cnf" +#line 1330 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", MMEConfigurationUpdate "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8143,7 +8768,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 1282 "./asn1/s1ap/s1ap.cnf" +#line 1332 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", MMEConfigurationUpdateAcknowledge "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8160,7 +8785,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 1284 "./asn1/s1ap/s1ap.cnf" +#line 1334 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", MMEConfigurationUpdateFailure "); @@ -8374,7 +8999,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 1287 "./asn1/s1ap/s1ap.cnf" +#line 1337 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", WriteReplaceWarningRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8391,7 +9016,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 1289 "./asn1/s1ap/s1ap.cnf" +#line 1339 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", WriteReplaceWarningResponse "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8498,7 +9123,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 1291 "./asn1/s1ap/s1ap.cnf" +#line 1341 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", KillRequest "); offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, @@ -8515,7 +9140,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 1293 "./asn1/s1ap/s1ap.cnf" +#line 1343 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", KillResponse "); @@ -8547,7 +9172,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 1329 "./asn1/s1ap/s1ap.cnf" +#line 1379 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", PWSFailureIndication "); @@ -8568,7 +9193,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 1296 "./asn1/s1ap/s1ap.cnf" +#line 1346 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", DownlinkUEAssociatedLPPaTransport "); @@ -8586,7 +9211,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 1299 "./asn1/s1ap/s1ap.cnf" +#line 1349 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UplinkUEAssociatedLPPaTransport "); @@ -8604,7 +9229,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 1302 "./asn1/s1ap/s1ap.cnf" +#line 1352 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", DownlinkNonUEAssociatedLPPaTransport "); @@ -8622,7 +9247,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 1305 "./asn1/s1ap/s1ap.cnf" +#line 1355 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UplinkNonUEAssociatedLPPaTransport "); @@ -8640,7 +9265,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 1314 "./asn1/s1ap/s1ap.cnf" +#line 1364 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E-RABModificationIndication "); @@ -8706,8 +9331,8 @@ dissect_s1ap_E_RABNotToBeModifiedItemBearerModInd(tvbuff_t *tvb _U_, int offset static const per_sequence_t CSGMembershipInfo_sequence[] = { { &hf_s1ap_cSGMembershipStatus, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CSGMembershipStatus }, { &hf_s1ap_cSG_Id , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CSG_Id }, - { &hf_s1ap_cellAccessMode , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_CellAccessMode }, - { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity }, + { &hf_s1ap_cellAccessMode , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_CellAccessMode }, + { &hf_s1ap_pLMNidentity , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_PLMNidentity }, { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, { NULL, 0, 0, NULL } }; @@ -8728,7 +9353,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 1317 "./asn1/s1ap/s1ap.cnf" +#line 1367 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", E-RABModificationConfirm "); @@ -8775,7 +9400,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 1320 "./asn1/s1ap/s1ap.cnf" +#line 1370 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextModificationIndication "); @@ -8793,7 +9418,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 1323 "./asn1/s1ap/s1ap.cnf" +#line 1373 "./asn1/s1ap/s1ap.cnf" col_append_str(actx->pinfo->cinfo, COL_INFO, ", UEContextModificationConfirm "); @@ -8804,6 +9429,140 @@ dissect_s1ap_UEContextModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn } +static const per_sequence_t UEContextSuspendRequest_sequence[] = { + { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +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_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_s1ap_UEContextSuspendRequest, UEContextSuspendRequest_sequence); + + return offset; +} + + +static const per_sequence_t UEContextSuspendResponse_sequence[] = { + { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +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_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_s1ap_UEContextSuspendResponse, UEContextSuspendResponse_sequence); + + return offset; +} + + +static const per_sequence_t UEContextResumeRequest_sequence[] = { + { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +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_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_s1ap_UEContextResumeRequest, UEContextResumeRequest_sequence); + + return offset; +} + + + +static int +dissect_s1ap_E_RABFailedToResumeListResumeReq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const per_sequence_t E_RABFailedToResumeItemResumeReq_sequence[] = { + { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID }, + { &hf_s1ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Cause }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_E_RABFailedToResumeItemResumeReq(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_E_RABFailedToResumeItemResumeReq, E_RABFailedToResumeItemResumeReq_sequence); + + return offset; +} + + +static const per_sequence_t UEContextResumeResponse_sequence[] = { + { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +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_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_s1ap_UEContextResumeResponse, UEContextResumeResponse_sequence); + + return offset; +} + + + +static int +dissect_s1ap_E_RABFailedToResumeListResumeRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_s1ap_E_RAB_IE_ContainerList(tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const per_sequence_t E_RABFailedToResumeItemResumeRes_sequence[] = { + { &hf_s1ap_e_RAB_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_E_RAB_ID }, + { &hf_s1ap_cause , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_Cause }, + { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_s1ap_E_RABFailedToResumeItemResumeRes(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_E_RABFailedToResumeItemResumeRes, E_RABFailedToResumeItemResumeRes_sequence); + + return offset; +} + + +static const per_sequence_t UEContextResumeFailure_sequence[] = { + { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +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_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_s1ap_UEContextResumeFailure, UEContextResumeFailure_sequence); + + return offset; +} + + +static const per_sequence_t ConnectionEstablishmentIndication_sequence[] = { + { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container }, + { NULL, 0, 0, NULL } +}; + +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_) { + offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, + ett_s1ap_ConnectionEstablishmentIndication, ConnectionEstablishmentIndication_sequence); + + return offset; +} + + static int dissect_s1ap_InitiatingMessage_value(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { @@ -9728,6 +10487,14 @@ static int dissect_Additional_GUTI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_ offset += 7; offset >>= 3; return offset; } +static int dissect_AssistanceDataForPaging_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_AssistanceDataForPaging(tvb, offset, &asn1_ctx, tree, hf_s1ap_AssistanceDataForPaging_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Bearers_SubjectToStatusTransfer_Item_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -9736,6 +10503,14 @@ static int dissect_Bearers_SubjectToStatusTransfer_Item_PDU(tvbuff_t *tvb _U_, p offset += 7; offset >>= 3; return offset; } +static int dissect_BearerType_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_BearerType(tvb, offset, &asn1_ctx, tree, hf_s1ap_BearerType_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; @@ -9768,6 +10543,14 @@ static int dissect_CellAccessMode_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, offset += 7; offset >>= 3; return offset; } +static int dissect_CellIdentifierAndCELevelForCECapableUEs_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_CellIdentifierAndCELevelForCECapableUEs(tvb, offset, &asn1_ctx, tree, hf_s1ap_CellIdentifierAndCELevelForCECapableUEs_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_Cdma2000PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10048,6 +10831,14 @@ static int dissect_ExtendedRepetitionPeriod_PDU(tvbuff_t *tvb _U_, packet_info * offset += 7; offset >>= 3; return offset; } +static int dissect_Extended_UEIdentityIndexValue_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_s1ap_Extended_UEIdentityIndexValue(tvb, offset, &asn1_ctx, tree, hf_s1ap_Extended_UEIdentityIndexValue_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_GUMMEI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10096,6 +10887,14 @@ static int dissect_Masked_IMEISV_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, offset += 7; offset >>= 3; return offset; } +static int dissect_InformationOnRecommendedCellsAndENBsForPaging_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_InformationOnRecommendedCellsAndENBsForPaging(tvb, offset, &asn1_ctx, tree, hf_s1ap_InformationOnRecommendedCellsAndENBsForPaging_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; @@ -10320,6 +11119,22 @@ static int dissect_NASSecurityParameterstoE_UTRAN_PDU(tvbuff_t *tvb _U_, packet_ offset += 7; offset >>= 3; return offset; } +static int dissect_NB_IoT_DefaultPagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_s1ap_NB_IoT_DefaultPagingDRX(tvb, offset, &asn1_ctx, tree, hf_s1ap_NB_IoT_DefaultPagingDRX_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_NB_IoT_Paging_eDRXInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo); + offset = dissect_s1ap_NB_IoT_Paging_eDRXInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_NB_IoT_Paging_eDRXInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_NumberofBroadcastRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10336,6 +11151,14 @@ static int dissect_OverloadResponse_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U offset += 7; offset >>= 3; return offset; } +static int dissect_Paging_eDRXInformation_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_Paging_eDRXInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_Paging_eDRXInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_PagingDRX_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10392,6 +11215,22 @@ static int dissect_ReceiveStatusOfULPDCPSDUsPDCP_SNlength18_PDU(tvbuff_t *tvb _U offset += 7; offset >>= 3; return offset; } +static int dissect_RecommendedCellItem_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_RecommendedCellItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_RecommendedCellItem_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_RecommendedENBItem_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_RecommendedENBItem(tvb, offset, &asn1_ctx, tree, hf_s1ap_RecommendedENBItem_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_RelativeMMECapacity_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10408,6 +11247,14 @@ static int dissect_RelayNode_Indicator_PDU(tvbuff_t *tvb _U_, packet_info *pinfo offset += 7; offset >>= 3; return offset; } +static int dissect_RAT_Type_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_RAT_Type(tvb, offset, &asn1_ctx, tree, hf_s1ap_RAT_Type_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_RequestType_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10688,6 +11535,14 @@ static int dissect_UEAggregateMaximumBitrate_PDU(tvbuff_t *tvb _U_, packet_info offset += 7; offset >>= 3; return offset; } +static int dissect_UE_RetentionInformation_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_UE_RetentionInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_UE_RetentionInformation_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_UE_S1AP_IDs_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -10760,6 +11615,14 @@ static int dissect_UESecurityCapabilities_PDU(tvbuff_t *tvb _U_, packet_info *pi offset += 7; offset >>= 3; return offset; } +static int dissect_UE_Usage_Type_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_UE_Usage_Type(tvb, offset, &asn1_ctx, tree, hf_s1ap_UE_Usage_Type_PDU); + 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; @@ -10768,6 +11631,14 @@ static int dissect_UserLocationInformation_PDU(tvbuff_t *tvb _U_, packet_info *p offset += 7; offset >>= 3; return offset; } +static int dissect_UEUserPlaneCIoTSupportIndicator_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_UEUserPlaneCIoTSupportIndicator(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEUserPlaneCIoTSupportIndicator_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; @@ -11784,6 +12655,70 @@ static int dissect_UEContextModificationConfirm_PDU(tvbuff_t *tvb _U_, packet_in offset += 7; offset >>= 3; return offset; } +static int dissect_UEContextResumeRequest_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_UEContextResumeRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextResumeRequest_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABFailedToResumeListResumeReq_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_E_RABFailedToResumeListResumeReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABFailedToResumeListResumeReq_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABFailedToResumeItemResumeReq_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_E_RABFailedToResumeItemResumeReq(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABFailedToResumeItemResumeReq_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_UEContextResumeResponse_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_UEContextResumeResponse(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextResumeResponse_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABFailedToResumeListResumeRes_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_E_RABFailedToResumeListResumeRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABFailedToResumeListResumeRes_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_E_RABFailedToResumeItemResumeRes_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_E_RABFailedToResumeItemResumeRes(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABFailedToResumeItemResumeRes_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_UEContextResumeFailure_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_UEContextResumeFailure(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEContextResumeFailure_PDU); + offset += 7; offset >>= 3; + return offset; +} +static int dissect_ConnectionEstablishmentIndication_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_ConnectionEstablishmentIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_ConnectionEstablishmentIndication_PDU); + offset += 7; offset >>= 3; + return offset; +} static int dissect_S1AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { int offset = 0; asn1_ctx_t asn1_ctx; @@ -12077,10 +13012,28 @@ proto_reg_handoff_s1ap(void) dissector_add_uint("s1ap.ies", id_E_RABFailedToModifyListBearerModConf, create_dissector_handle(dissect_E_RABList_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_SON_Information_Report, create_dissector_handle(dissect_SONInformationReport_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_E_RABToBeReleasedListBearerModConf, create_dissector_handle(dissect_E_RABList_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_AssistanceDataForPaging, create_dissector_handle(dissect_AssistanceDataForPaging_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_CellIdentifierAndCELevelForCECapableUEs, create_dissector_handle(dissect_CellIdentifierAndCELevelForCECapableUEs_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_InformationOnRecommendedCellsAndENBsForPaging, create_dissector_handle(dissect_InformationOnRecommendedCellsAndENBsForPaging_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_RecommendedCellItem, create_dissector_handle(dissect_RecommendedCellItem_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_RecommendedENBItem, create_dissector_handle(dissect_RecommendedENBItem_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_PWSfailedECGIList, create_dissector_handle(dissect_PWSfailedECGIList_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_MME_Group_ID, create_dissector_handle(dissect_MME_Group_ID_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_Additional_GUTI, create_dissector_handle(dissect_Additional_GUTI_PDU, proto_s1ap)); dissector_add_uint("s1ap.ies", id_CSGMembershipInfo, create_dissector_handle(dissect_CSGMembershipInfo_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_Paging_eDRXInformation, create_dissector_handle(dissect_Paging_eDRXInformation_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_UE_RetentionInformation, create_dissector_handle(dissect_UE_RetentionInformation_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_UE_Usage_Type, create_dissector_handle(dissect_UE_Usage_Type_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_extended_UEIdentityIndexValue, create_dissector_handle(dissect_Extended_UEIdentityIndexValue_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_RAT_Type, create_dissector_handle(dissect_RAT_Type_PDU, proto_s1ap)); + dissector_add_uint("s1ap.extension", id_BearerType, create_dissector_handle(dissect_BearerType_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_NB_IoT_DefaultPagingDRX, create_dissector_handle(dissect_NB_IoT_DefaultPagingDRX_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_E_RABFailedToResumeListResumeReq, create_dissector_handle(dissect_E_RABFailedToResumeListResumeReq_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_E_RABFailedToResumeItemResumeReq, create_dissector_handle(dissect_E_RABFailedToResumeItemResumeReq_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_E_RABFailedToResumeListResumeRes, create_dissector_handle(dissect_E_RABFailedToResumeListResumeRes_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_E_RABFailedToResumeItemResumeRes, create_dissector_handle(dissect_E_RABFailedToResumeItemResumeRes_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_NB_IoT_Paging_eDRXInformation, create_dissector_handle(dissect_NB_IoT_Paging_eDRXInformation_PDU, proto_s1ap)); + dissector_add_uint("s1ap.ies", id_UEUserPlaneCIoTSupportIndicator, create_dissector_handle(dissect_UEUserPlaneCIoTSupportIndicator_PDU, proto_s1ap)); dissector_add_uint("s1ap.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)); @@ -12194,6 +13147,13 @@ proto_reg_handoff_s1ap(void) dissector_add_uint("s1ap.proc.sout", id_UEContextModificationIndication, create_dissector_handle(dissect_UEContextModificationConfirm_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.imsg", id_RerouteNASRequest, create_dissector_handle(dissect_RerouteNASRequest_PDU, proto_s1ap)); dissector_add_uint("s1ap.proc.imsg", id_PWSFailureIndication, create_dissector_handle(dissect_PWSFailureIndication_PDU, proto_s1ap)); + dissector_add_uint("s1ap.proc.imsg", id_ConnectionEstablishmentIndication, create_dissector_handle(dissect_ConnectionEstablishmentIndication_PDU, proto_s1ap)); + dissector_add_uint("s1ap.proc.imsg", id_UEContextSuspend, create_dissector_handle(dissect_UEContextResumeRequest_PDU, proto_s1ap)); + dissector_add_uint("s1ap.proc.sout", id_UEContextSuspend, create_dissector_handle(dissect_UEContextResumeResponse_PDU, proto_s1ap)); + dissector_add_uint("s1ap.proc.uout", id_UEContextSuspend, create_dissector_handle(dissect_UEContextResumeFailure_PDU, proto_s1ap)); + dissector_add_uint("s1ap.proc.imsg", id_UEContextResume, create_dissector_handle(dissect_UEContextResumeRequest_PDU, proto_s1ap)); + dissector_add_uint("s1ap.proc.sout", id_UEContextResume, create_dissector_handle(dissect_UEContextResumeResponse_PDU, proto_s1ap)); + dissector_add_uint("s1ap.proc.uout", id_UEContextResume, create_dissector_handle(dissect_UEContextResumeFailure_PDU, proto_s1ap)); /*--- End of included file: packet-s1ap-dis-tab.c ---*/ @@ -12232,10 +13192,18 @@ void proto_register_s1ap(void) { { "Additional-GUTI", "s1ap.Additional_GUTI_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_AssistanceDataForPaging_PDU, + { "AssistanceDataForPaging", "s1ap.AssistanceDataForPaging_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_Bearers_SubjectToStatusTransfer_Item_PDU, { "Bearers-SubjectToStatusTransfer-Item", "s1ap.Bearers_SubjectToStatusTransfer_Item_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_BearerType_PDU, + { "BearerType", "s1ap.BearerType", + FT_UINT32, BASE_DEC, VALS(s1ap_BearerType_vals), 0, + NULL, HFILL }}, { &hf_s1ap_BroadcastCancelledAreaList_PDU, { "BroadcastCancelledAreaList", "s1ap.BroadcastCancelledAreaList", FT_UINT32, BASE_DEC, VALS(s1ap_BroadcastCancelledAreaList_vals), 0, @@ -12252,6 +13220,10 @@ void proto_register_s1ap(void) { { "CellAccessMode", "s1ap.CellAccessMode", FT_UINT32, BASE_DEC, VALS(s1ap_CellAccessMode_vals), 0, NULL, HFILL }}, + { &hf_s1ap_CellIdentifierAndCELevelForCECapableUEs_PDU, + { "CellIdentifierAndCELevelForCECapableUEs", "s1ap.CellIdentifierAndCELevelForCECapableUEs_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_Cdma2000PDU_PDU, { "Cdma2000PDU", "s1ap.Cdma2000PDU", FT_BYTES, BASE_NONE, NULL, 0, @@ -12392,6 +13364,10 @@ void proto_register_s1ap(void) { { "ExtendedRepetitionPeriod", "s1ap.ExtendedRepetitionPeriod", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_Extended_UEIdentityIndexValue_PDU, + { "Extended-UEIdentityIndexValue", "s1ap.Extended_UEIdentityIndexValue", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_GUMMEI_PDU, { "GUMMEI", "s1ap.GUMMEI_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12416,6 +13392,10 @@ void proto_register_s1ap(void) { { "Masked-IMEISV", "s1ap.Masked_IMEISV", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_InformationOnRecommendedCellsAndENBsForPaging_PDU, + { "InformationOnRecommendedCellsAndENBsForPaging", "s1ap.InformationOnRecommendedCellsAndENBsForPaging_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_KillAllWarningMessages_PDU, { "KillAllWarningMessages", "s1ap.KillAllWarningMessages", FT_UINT32, BASE_DEC, VALS(s1ap_KillAllWarningMessages_vals), 0, @@ -12528,6 +13508,14 @@ void proto_register_s1ap(void) { { "NASSecurityParameterstoE-UTRAN", "s1ap.NASSecurityParameterstoE_UTRAN", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_NB_IoT_DefaultPagingDRX_PDU, + { "NB-IoT-DefaultPagingDRX", "s1ap.NB_IoT_DefaultPagingDRX", + FT_UINT32, BASE_DEC, VALS(s1ap_NB_IoT_DefaultPagingDRX_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_NB_IoT_Paging_eDRXInformation_PDU, + { "NB-IoT-Paging-eDRXInformation", "s1ap.NB_IoT_Paging_eDRXInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_NumberofBroadcastRequest_PDU, { "NumberofBroadcastRequest", "s1ap.NumberofBroadcastRequest", FT_UINT32, BASE_DEC, NULL, 0, @@ -12536,6 +13524,10 @@ void proto_register_s1ap(void) { { "OverloadResponse", "s1ap.OverloadResponse", FT_UINT32, BASE_DEC, VALS(s1ap_OverloadResponse_vals), 0, NULL, HFILL }}, + { &hf_s1ap_Paging_eDRXInformation_PDU, + { "Paging-eDRXInformation", "s1ap.Paging_eDRXInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_PagingDRX_PDU, { "PagingDRX", "s1ap.PagingDRX", FT_UINT32, BASE_DEC, VALS(s1ap_PagingDRX_vals), 0, @@ -12564,6 +13556,14 @@ void proto_register_s1ap(void) { { "ReceiveStatusOfULPDCPSDUsPDCP-SNlength18", "s1ap.ReceiveStatusOfULPDCPSDUsPDCP_SNlength18", FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_RecommendedCellItem_PDU, + { "RecommendedCellItem", "s1ap.RecommendedCellItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_RecommendedENBItem_PDU, + { "RecommendedENBItem", "s1ap.RecommendedENBItem_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_RelativeMMECapacity_PDU, { "RelativeMMECapacity", "s1ap.RelativeMMECapacity", FT_UINT32, BASE_DEC, NULL, 0, @@ -12572,6 +13572,10 @@ void proto_register_s1ap(void) { { "RelayNode-Indicator", "s1ap.RelayNode_Indicator", FT_UINT32, BASE_DEC, VALS(s1ap_RelayNode_Indicator_vals), 0, NULL, HFILL }}, + { &hf_s1ap_RAT_Type_PDU, + { "RAT-Type", "s1ap.RAT_Type", + FT_UINT32, BASE_DEC, VALS(s1ap_RAT_Type_vals), 0, + NULL, HFILL }}, { &hf_s1ap_RequestType_PDU, { "RequestType", "s1ap.RequestType_element", FT_NONE, BASE_NONE, NULL, 0, @@ -12712,6 +13716,10 @@ void proto_register_s1ap(void) { { "UEAggregateMaximumBitrate", "s1ap.UEAggregateMaximumBitrate_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_UE_RetentionInformation_PDU, + { "UE-RetentionInformation", "s1ap.UE_RetentionInformation", + FT_UINT32, BASE_DEC, VALS(s1ap_UE_RetentionInformation_vals), 0, + NULL, HFILL }}, { &hf_s1ap_UE_S1AP_IDs_PDU, { "UE-S1AP-IDs", "s1ap.UE_S1AP_IDs", FT_UINT32, BASE_DEC, VALS(s1ap_UE_S1AP_IDs_vals), 0, @@ -12748,10 +13756,18 @@ void proto_register_s1ap(void) { { "UESecurityCapabilities", "s1ap.UESecurityCapabilities_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_UE_Usage_Type_PDU, + { "UE-Usage-Type", "s1ap.UE_Usage_Type", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_UserLocationInformation_PDU, { "UserLocationInformation", "s1ap.UserLocationInformation_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_UEUserPlaneCIoTSupportIndicator_PDU, + { "UEUserPlaneCIoTSupportIndicator", "s1ap.UEUserPlaneCIoTSupportIndicator", + FT_UINT32, BASE_DEC, VALS(s1ap_UEUserPlaneCIoTSupportIndicator_vals), 0, + NULL, HFILL }}, { &hf_s1ap_VoiceSupportMatchIndicator_PDU, { "VoiceSupportMatchIndicator", "s1ap.VoiceSupportMatchIndicator", FT_UINT32, BASE_DEC, VALS(s1ap_VoiceSupportMatchIndicator_vals), 0, @@ -13260,6 +14276,38 @@ void proto_register_s1ap(void) { { "UEContextModificationConfirm", "s1ap.UEContextModificationConfirm_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_UEContextResumeRequest_PDU, + { "UEContextResumeRequest", "s1ap.UEContextResumeRequest_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_E_RABFailedToResumeListResumeReq_PDU, + { "E-RABFailedToResumeListResumeReq", "s1ap.E_RABFailedToResumeListResumeReq", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_E_RABFailedToResumeItemResumeReq_PDU, + { "E-RABFailedToResumeItemResumeReq", "s1ap.E_RABFailedToResumeItemResumeReq_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_UEContextResumeResponse_PDU, + { "UEContextResumeResponse", "s1ap.UEContextResumeResponse_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_E_RABFailedToResumeListResumeRes_PDU, + { "E-RABFailedToResumeListResumeRes", "s1ap.E_RABFailedToResumeListResumeRes", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_E_RABFailedToResumeItemResumeRes_PDU, + { "E-RABFailedToResumeItemResumeRes", "s1ap.E_RABFailedToResumeItemResumeRes_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_UEContextResumeFailure_PDU, + { "UEContextResumeFailure", "s1ap.UEContextResumeFailure_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_ConnectionEstablishmentIndication_PDU, + { "ConnectionEstablishmentIndication", "s1ap.ConnectionEstablishmentIndication_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_S1AP_PDU_PDU, { "S1AP-PDU", "s1ap.S1AP_PDU", FT_UINT32, BASE_DEC, VALS(s1ap_S1AP_PDU_vals), 0, @@ -13372,6 +14420,26 @@ void proto_register_s1ap(void) { { "pre-emptionVulnerability", "s1ap.pre_emptionVulnerability", FT_UINT32, BASE_DEC, VALS(s1ap_Pre_emptionVulnerability_vals), 0, NULL, HFILL }}, + { &hf_s1ap_cellIdentifierAndCELevelForCECapableUEs, + { "cellIdentifierAndCELevelForCECapableUEs", "s1ap.cellIdentifierAndCELevelForCECapableUEs_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_assistanceDataForRecommendedCells, + { "assistanceDataForRecommendedCells", "s1ap.assistanceDataForRecommendedCells_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_assistanceDataForCECapableUEs, + { "assistanceDataForCECapableUEs", "s1ap.assistanceDataForCECapableUEs_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_pagingAttemptInformation, + { "pagingAttemptInformation", "s1ap.pagingAttemptInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_recommendedCellsForPaging, + { "recommendedCellsForPaging", "s1ap.recommendedCellsForPaging_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_Bearers_SubjectToStatusTransferList_item, { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13456,6 +14524,14 @@ void proto_register_s1ap(void) { { "misc", "s1ap.misc", FT_UINT32, BASE_DEC, VALS(s1ap_CauseMisc_vals), 0, "CauseMisc", HFILL }}, + { &hf_s1ap_global_Cell_ID, + { "global-Cell-ID", "s1ap.global_Cell_ID_element", + FT_NONE, BASE_NONE, NULL, 0, + "EUTRAN_CGI", HFILL }}, + { &hf_s1ap_cELevel, + { "cELevel", "s1ap.cELevel", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, { &hf_s1ap_CellID_Broadcast_item, { "CellID-Broadcast-Item", "s1ap.CellID_Broadcast_Item_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13784,6 +14860,10 @@ void proto_register_s1ap(void) { { "m1periodicReporting", "s1ap.m1periodicReporting_element", FT_NONE, BASE_NONE, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_recommendENBsForPaging, + { "recommendENBsForPaging", "s1ap.recommendENBsForPaging_element", + FT_NONE, BASE_NONE, NULL, 0, + "RecommendedENBsForPaging", HFILL }}, { &hf_s1ap_e_UTRAN_Cell, { "e-UTRAN-Cell", "s1ap.e_UTRAN_Cell_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13796,10 +14876,6 @@ void proto_register_s1ap(void) { { "gERAN-Cell", "s1ap.gERAN_Cell", FT_UINT32, BASE_DEC, VALS(s1ap_LastVisitedGERANCellInformation_vals), 0, "LastVisitedGERANCellInformation", HFILL }}, - { &hf_s1ap_global_Cell_ID, - { "global-Cell-ID", "s1ap.global_Cell_ID_element", - FT_NONE, BASE_NONE, NULL, 0, - "EUTRAN_CGI", HFILL }}, { &hf_s1ap_cellType, { "cellType", "s1ap.cellType_element", FT_NONE, BASE_NONE, NULL, 0, @@ -13920,6 +14996,14 @@ void proto_register_s1ap(void) { { "threshold-RSRQ", "s1ap.threshold_RSRQ", FT_UINT32, BASE_DEC, NULL, 0, NULL, HFILL }}, + { &hf_s1ap_global_ENB_ID, + { "global-ENB-ID", "s1ap.global_ENB_ID_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_muting_pattern_period, { "muting-pattern-period", "s1ap.muting_pattern_period", FT_UINT32, BASE_DEC, VALS(s1ap_T_muting_pattern_period_vals), 0, @@ -13928,10 +15012,38 @@ void proto_register_s1ap(void) { { "muting-pattern-offset", "s1ap.muting_pattern_offset", FT_UINT32, BASE_DEC, NULL, 0, "INTEGER_0_10239_", HFILL }}, + { &hf_s1ap_nB_IoT_paging_eDRX_Cycle, + { "nB-IoT-paging-eDRX-Cycle", "s1ap.nB_IoT_paging_eDRX_Cycle", + FT_UINT32, BASE_DEC, VALS(s1ap_NB_IoT_Paging_eDRX_Cycle_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_nB_IoT_pagingTimeWindow, + { "nB-IoT-pagingTimeWindow", "s1ap.nB_IoT_pagingTimeWindow", + FT_UINT32, BASE_DEC, VALS(s1ap_NB_IoT_PagingTimeWindow_vals), 0, + NULL, HFILL }}, { &hf_s1ap_overloadAction, { "overloadAction", "s1ap.overloadAction", FT_UINT32, BASE_DEC, VALS(s1ap_OverloadAction_vals), 0, NULL, HFILL }}, + { &hf_s1ap_pagingAttemptCount, + { "pagingAttemptCount", "s1ap.pagingAttemptCount", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_intendedNumberOfPagingAttempts, + { "intendedNumberOfPagingAttempts", "s1ap.intendedNumberOfPagingAttempts", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_nextPagingAreaScope, + { "nextPagingAreaScope", "s1ap.nextPagingAreaScope", + FT_UINT32, BASE_DEC, VALS(s1ap_NextPagingAreaScope_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_paging_eDRX_Cycle, + { "paging-eDRX-Cycle", "s1ap.paging_eDRX_Cycle", + FT_UINT32, BASE_DEC, VALS(s1ap_Paging_eDRX_Cycle_vals), 0, + NULL, HFILL }}, + { &hf_s1ap_pagingTimeWindow, + { "pagingTimeWindow", "s1ap.pagingTimeWindow", + FT_UINT32, BASE_DEC, VALS(s1ap_PagingTimeWindow_vals), 0, + NULL, HFILL }}, { &hf_s1ap_reportInterval, { "reportInterval", "s1ap.reportInterval", FT_UINT32, BASE_DEC, VALS(s1ap_ReportIntervalMDT_vals), 0, @@ -13948,6 +15060,34 @@ void proto_register_s1ap(void) { { "proSeDirectCommunication", "s1ap.proSeDirectCommunication", FT_UINT32, BASE_DEC, VALS(s1ap_ProSeDirectCommunication_vals), 0, NULL, HFILL }}, + { &hf_s1ap_recommendedCellList, + { "recommendedCellList", "s1ap.recommendedCellList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_RecommendedCellList_item, + { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element", + FT_NONE, 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_timeStayedInCell, + { "timeStayedInCell", "s1ap.timeStayedInCell", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_4095", HFILL }}, + { &hf_s1ap_recommendedENBList, + { "recommendedENBList", "s1ap.recommendedENBList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_RecommendedENBList_item, + { "ProtocolIE-SingleContainer", "s1ap.ProtocolIE_SingleContainer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_s1ap_mMEPagingTarget, + { "mMEPagingTarget", "s1ap.mMEPagingTarget", + FT_UINT32, BASE_DEC, VALS(s1ap_MMEPagingTarget_vals), 0, + NULL, HFILL }}, { &hf_s1ap_eventType, { "eventType", "s1ap.eventType", FT_UINT32, BASE_DEC, VALS(s1ap_EventType_vals), 0, @@ -14040,10 +15180,6 @@ void proto_register_s1ap(void) { { "aggressoreCGI-List", "s1ap.aggressoreCGI_List", FT_UINT32, BASE_DEC, NULL, 0, "ECGI_List", HFILL }}, - { &hf_s1ap_global_ENB_ID, - { "global-ENB-ID", "s1ap.global_ENB_ID_element", - FT_NONE, BASE_NONE, NULL, 0, - NULL, HFILL }}, { &hf_s1ap_selected_TAI, { "selected-TAI", "s1ap.selected_TAI_element", FT_NONE, BASE_NONE, NULL, 0, @@ -14136,10 +15272,6 @@ void proto_register_s1ap(void) { { "TAI-Broadcast-Item", "s1ap.TAI_Broadcast_Item_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_completedCellinTAI, { "completedCellinTAI", "s1ap.completedCellinTAI", FT_UINT32, BASE_DEC, NULL, 0, @@ -14735,6 +15867,9 @@ void proto_register_s1ap(void) { &ett_s1ap_Additional_GUTI, &ett_s1ap_AreaScopeOfMDT, &ett_s1ap_AllocationAndRetentionPriority, + &ett_s1ap_AssistanceDataForCECapableUEs, + &ett_s1ap_AssistanceDataForPaging, + &ett_s1ap_AssistanceDataForRecommendedCells, &ett_s1ap_Bearers_SubjectToStatusTransferList, &ett_s1ap_Bearers_SubjectToStatusTransfer_Item, &ett_s1ap_BPLMNs, @@ -14745,6 +15880,7 @@ void proto_register_s1ap(void) { &ett_s1ap_CancelledCellinTAI, &ett_s1ap_CancelledCellinTAI_Item, &ett_s1ap_Cause, + &ett_s1ap_CellIdentifierAndCELevelForCECapableUEs, &ett_s1ap_CellID_Broadcast, &ett_s1ap_CellID_Broadcast_Item, &ett_s1ap_CellID_Cancelled, @@ -14798,6 +15934,7 @@ void proto_register_s1ap(void) { &ett_s1ap_GUMMEI, &ett_s1ap_HandoverRestrictionList, &ett_s1ap_ImmediateMDT, + &ett_s1ap_InformationOnRecommendedCellsAndENBsForPaging, &ett_s1ap_LAI, &ett_s1ap_LastVisitedCell_Item, &ett_s1ap_LastVisitedEUTRANCellInformation, @@ -14816,10 +15953,20 @@ void proto_register_s1ap(void) { &ett_s1ap_MDTPLMNList, &ett_s1ap_MDTMode, &ett_s1ap_MeasurementThresholdA2, + &ett_s1ap_MMEPagingTarget, &ett_s1ap_MutingPatternInformation, + &ett_s1ap_NB_IoT_Paging_eDRXInformation, &ett_s1ap_OverloadResponse, + &ett_s1ap_PagingAttemptInformation, + &ett_s1ap_Paging_eDRXInformation, &ett_s1ap_M1PeriodicReporting, &ett_s1ap_ProSeAuthorized, + &ett_s1ap_RecommendedCellsForPaging, + &ett_s1ap_RecommendedCellList, + &ett_s1ap_RecommendedCellItem, + &ett_s1ap_RecommendedENBsForPaging, + &ett_s1ap_RecommendedENBList, + &ett_s1ap_RecommendedENBItem, &ett_s1ap_RequestType, &ett_s1ap_RIMTransfer, &ett_s1ap_RIMRoutingAddress, @@ -14989,6 +16136,14 @@ void proto_register_s1ap(void) { &ett_s1ap_E_RABModifyItemBearerModConf, &ett_s1ap_UEContextModificationIndication, &ett_s1ap_UEContextModificationConfirm, + &ett_s1ap_UEContextSuspendRequest, + &ett_s1ap_UEContextSuspendResponse, + &ett_s1ap_UEContextResumeRequest, + &ett_s1ap_E_RABFailedToResumeItemResumeReq, + &ett_s1ap_UEContextResumeResponse, + &ett_s1ap_E_RABFailedToResumeItemResumeRes, + &ett_s1ap_UEContextResumeFailure, + &ett_s1ap_ConnectionEstablishmentIndication, &ett_s1ap_S1AP_PDU, &ett_s1ap_InitiatingMessage, &ett_s1ap_SuccessfulOutcome, |