aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-s1ap.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal.quantin@gmail.com>2017-07-13 14:55:15 +0200
committerPascal Quantin <pascal.quantin@gmail.com>2017-07-13 13:37:28 +0000
commit3c3c845f33566311e7ef0505a4633f9b5a4e8e49 (patch)
tree56478f0618f33aacf5d25db29e97aefc7fb94ad0 /epan/dissectors/packet-s1ap.c
parent6335764469fc0ca5b217b72b48742605b42973d5 (diff)
S1AP: upgrade dissector to v14.3.0
Change-Id: Ib28228db70a23d6f73f3c1740abc2e6542818ff9 Reviewed-on: https://code.wireshark.org/review/22609 Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Tested-by: Petri Dish Buildbot <buildbot-no-reply@wireshark.org> Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com>
Diffstat (limited to 'epan/dissectors/packet-s1ap.c')
-rw-r--r--epan/dissectors/packet-s1ap.c1009
1 files changed, 822 insertions, 187 deletions
diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c
index cf44a97459..e840eacfbf 100644
--- a/epan/dissectors/packet-s1ap.c
+++ b/epan/dissectors/packet-s1ap.c
@@ -30,7 +30,7 @@
*
* Based on the RANAP dissector
*
- * References: 3GPP TS 36.413 V13.6.0 (2017-06)
+ * References: 3GPP TS 36.413 V14.3.0 (2017-06)
*/
#include "config.h"
@@ -94,6 +94,7 @@ static dissector_handle_t bssgp_handle;
#define maxnoofCellsineNB 256
#define maxnoofTAIforWarning 65535
#define maxnoofCellID 65535
+#define maxnoofDCNs 32
#define maxnoofEmergencyAreaID 65535
#define maxnoofCellinTAI 65535
#define maxnoofCellinEAI 65535
@@ -174,7 +175,12 @@ typedef enum _ProcedureCode_enum {
id_UEContextModificationIndication = 53,
id_ConnectionEstablishmentIndication = 54,
id_UEContextSuspend = 55,
- id_UEContextResume = 56
+ id_UEContextResume = 56,
+ id_NASDeliveryIndication = 57,
+ id_RetrieveUEInformation = 58,
+ id_UEInformationTransfer = 59,
+ id_eNBCPRelocationIndication = 60,
+ id_MMECPRelocationIndication = 61
} ProcedureCode_enum;
typedef enum _ProtocolIE_ID_enum {
@@ -416,12 +422,21 @@ typedef enum _ProtocolIE_ID_enum {
id_E_RABFailedToResumeListResumeRes = 237,
id_E_RABFailedToResumeItemResumeRes = 238,
id_NB_IoT_Paging_eDRXInformation = 239,
- id_Unknown_240 = 240,
+ id_V2XServicesAuthorized = 240,
id_UEUserPlaneCIoTSupportIndicator = 241,
id_CE_mode_B_SupportIndicator = 242,
id_SRVCCOperationNotPossible = 243,
id_NB_IoT_UEIdentityIndexValue = 244,
- id_RRC_Resume_Cause = 245
+ id_RRC_Resume_Cause = 245,
+ id_DCN_ID = 246,
+ id_ServedDCNs = 247,
+ id_UESidelinkAggregateMaximumBitrate = 248,
+ id_DLNASPDUDeliveryAckRequest = 249,
+ id_Coverage_Level = 250,
+ id_EnhancedCoverageRestricted = 251,
+ id_UE_Level_QoS_Parameters = 252,
+ id_DL_CP_SecurityInformation = 253,
+ id_UL_CP_SecurityInformation = 254
} ProtocolIE_ID_enum;
typedef enum _RAT_Type_enum {
@@ -499,10 +514,15 @@ static int hf_s1ap_CSG_IdList_PDU = -1; /* CSG_IdList */
static int hf_s1ap_CSGMembershipStatus_PDU = -1; /* CSGMembershipStatus */
static int hf_s1ap_COUNTValueExtended_PDU = -1; /* COUNTValueExtended */
static int hf_s1ap_COUNTvaluePDCP_SNlength18_PDU = -1; /* COUNTvaluePDCP_SNlength18 */
+static int hf_s1ap_Coverage_Level_PDU = -1; /* Coverage_Level */
static int hf_s1ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
static int hf_s1ap_DataCodingScheme_PDU = -1; /* DataCodingScheme */
+static int hf_s1ap_DCN_ID_PDU = -1; /* DCN_ID */
+static int hf_s1ap_ServedDCNs_PDU = -1; /* ServedDCNs */
+static int hf_s1ap_DL_CP_SecurityInformation_PDU = -1; /* DL_CP_SecurityInformation */
static int hf_s1ap_Direct_Forwarding_Path_Availability_PDU = -1; /* Direct_Forwarding_Path_Availability */
static int hf_s1ap_Data_Forwarding_Not_Possible_PDU = -1; /* Data_Forwarding_Not_Possible */
+static int hf_s1ap_DLNASPDUDeliveryAckRequest_PDU = -1; /* DLNASPDUDeliveryAckRequest */
static int hf_s1ap_PWSfailedECGIList_PDU = -1; /* PWSfailedECGIList */
static int hf_s1ap_EmergencyAreaIDListForRestart_PDU = -1; /* EmergencyAreaIDListForRestart */
static int hf_s1ap_s1ap_Global_ENB_ID_PDU = -1; /* Global_ENB_ID */
@@ -510,9 +530,11 @@ static int hf_s1ap_GUMMEIList_PDU = -1; /* GUMMEIList */
static int hf_s1ap_s1ap_ENB_StatusTransfer_TransparentContainer_PDU = -1; /* ENB_StatusTransfer_TransparentContainer */
static int hf_s1ap_ENB_UE_S1AP_ID_PDU = -1; /* ENB_UE_S1AP_ID */
static int hf_s1ap_ENBname_PDU = -1; /* ENBname */
+static int hf_s1ap_EnhancedCoverageRestricted_PDU = -1; /* EnhancedCoverageRestricted */
static int hf_s1ap_E_RABInformationListItem_PDU = -1; /* E_RABInformationListItem */
static int hf_s1ap_E_RABList_PDU = -1; /* E_RABList */
static int hf_s1ap_E_RABItem_PDU = -1; /* E_RABItem */
+static int hf_s1ap_E_RABLevelQoSParameters_PDU = -1; /* E_RABLevelQoSParameters */
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 */
@@ -617,10 +639,13 @@ 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_UESidelinkAggregateMaximumBitrate_PDU = -1; /* UESidelinkAggregateMaximumBitrate */
static int hf_s1ap_UE_Usage_Type_PDU = -1; /* UE_Usage_Type */
+static int hf_s1ap_UL_CP_SecurityInformation_PDU = -1; /* UL_CP_SecurityInformation */
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_V2XServicesAuthorized_PDU = -1; /* V2XServicesAuthorized */
static int hf_s1ap_WarningAreaList_PDU = -1; /* WarningAreaList */
static int hf_s1ap_WarningType_PDU = -1; /* WarningType */
static int hf_s1ap_WarningSecurityInfo_PDU = -1; /* WarningSecurityInfo */
@@ -693,6 +718,7 @@ static int hf_s1ap_UplinkNASTransport_PDU = -1; /* UplinkNASTransport */
static int hf_s1ap_NASNonDeliveryIndication_PDU = -1; /* NASNonDeliveryIndication */
static int hf_s1ap_RerouteNASRequest_PDU = -1; /* RerouteNASRequest */
static int hf_s1ap_S1_Message_PDU = -1; /* S1_Message */
+static int hf_s1ap_NASDeliveryIndication_PDU = -1; /* NASDeliveryIndication */
static int hf_s1ap_Reset_PDU = -1; /* Reset */
static int hf_s1ap_ResetType_PDU = -1; /* ResetType */
static int hf_s1ap_ResetAcknowledge_PDU = -1; /* ResetAcknowledge */
@@ -758,6 +784,10 @@ static int hf_s1ap_E_RABFailedToResumeListResumeRes_PDU = -1; /* E_RABFailedToR
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_RetrieveUEInformation_PDU = -1; /* RetrieveUEInformation */
+static int hf_s1ap_UEInformationTransfer_PDU = -1; /* UEInformationTransfer */
+static int hf_s1ap_ENBCPRelocationIndication_PDU = -1; /* ENBCPRelocationIndication */
+static int hf_s1ap_MMECPRelocationIndication_PDU = -1; /* MMECPRelocationIndication */
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 */
@@ -842,6 +872,10 @@ static int hf_s1ap_CriticalityDiagnostics_IE_List_item = -1; /* CriticalityDiag
static int hf_s1ap_iECriticality = -1; /* Criticality */
static int hf_s1ap_iE_ID = -1; /* ProtocolIE_ID */
static int hf_s1ap_typeOfError = -1; /* TypeOfError */
+static int hf_s1ap_ServedDCNs_item = -1; /* ServedDCNsItem */
+static int hf_s1ap_dCN_ID = -1; /* DCN_ID */
+static int hf_s1ap_relativeDCNCapacity = -1; /* RelativeMMECapacity */
+static int hf_s1ap_dl_NAS_MAC = -1; /* DL_NAS_MAC */
static int hf_s1ap_ECGIList_item = -1; /* EUTRAN_CGI */
static int hf_s1ap_PWSfailedECGIList_item = -1; /* EUTRAN_CGI */
static int hf_s1ap_EmergencyAreaIDList_item = -1; /* EmergencyAreaID */
@@ -855,6 +889,8 @@ static int hf_s1ap_ECGI_List_item = -1; /* EUTRAN_CGI */
static int hf_s1ap_EmergencyAreaIDListForRestart_item = -1; /* EmergencyAreaID */
static int hf_s1ap_macroENB_ID = -1; /* BIT_STRING_SIZE_20 */
static int hf_s1ap_homeENB_ID = -1; /* BIT_STRING_SIZE_28 */
+static int hf_s1ap_short_macroENB_ID = -1; /* BIT_STRING_SIZE_18 */
+static int hf_s1ap_long_macroENB_ID = -1; /* BIT_STRING_SIZE_21 */
static int hf_s1ap_lAI = -1; /* LAI */
static int hf_s1ap_eNB_ID = -1; /* ENB_ID */
static int hf_s1ap_GUMMEIList_item = -1; /* GUMMEI */
@@ -1027,8 +1063,13 @@ static int hf_s1ap_s_TMSI = -1; /* S_TMSI */
static int hf_s1ap_iMSI = -1; /* IMSI */
static int hf_s1ap_encryptionAlgorithms = -1; /* EncryptionAlgorithms */
static int hf_s1ap_integrityProtectionAlgorithms = -1; /* IntegrityProtectionAlgorithms */
+static int hf_s1ap_uESidelinkAggregateMaximumBitRate = -1; /* BitRate */
+static int hf_s1ap_ul_NAS_MAC = -1; /* UL_NAS_MAC */
+static int hf_s1ap_ul_NAS_Count = -1; /* UL_NAS_Count */
static int hf_s1ap_eutran_cgi = -1; /* EUTRAN_CGI */
static int hf_s1ap_tai = -1; /* TAI */
+static int hf_s1ap_vehicleUE = -1; /* VehicleUE */
+static int hf_s1ap_pedestrianUE = -1; /* PedestrianUE */
static int hf_s1ap_cellIDList = -1; /* ECGIList */
static int hf_s1ap_trackingAreaListforWarning = -1; /* TAIListforWarning */
static int hf_s1ap_emergencyAreaIDList = -1; /* EmergencyAreaIDList */
@@ -1219,6 +1260,9 @@ static gint ett_s1ap_COUNTvaluePDCP_SNlength18 = -1;
static gint ett_s1ap_CriticalityDiagnostics = -1;
static gint ett_s1ap_CriticalityDiagnostics_IE_List = -1;
static gint ett_s1ap_CriticalityDiagnostics_IE_Item = -1;
+static gint ett_s1ap_ServedDCNs = -1;
+static gint ett_s1ap_ServedDCNsItem = -1;
+static gint ett_s1ap_DL_CP_SecurityInformation = -1;
static gint ett_s1ap_ECGIList = -1;
static gint ett_s1ap_PWSfailedECGIList = -1;
static gint ett_s1ap_EmergencyAreaIDList = -1;
@@ -1338,7 +1382,10 @@ static gint ett_s1ap_UE_associatedLogicalS1_ConnectionItem = -1;
static gint ett_s1ap_UE_HistoryInformation = -1;
static gint ett_s1ap_UEPagingID = -1;
static gint ett_s1ap_UESecurityCapabilities = -1;
+static gint ett_s1ap_UESidelinkAggregateMaximumBitrate = -1;
+static gint ett_s1ap_UL_CP_SecurityInformation = -1;
static gint ett_s1ap_UserLocationInformation = -1;
+static gint ett_s1ap_V2XServicesAuthorized = -1;
static gint ett_s1ap_WarningAreaList = -1;
static gint ett_s1ap_X2TNLConfigurationInfo = -1;
static gint ett_s1ap_ENBX2ExtTLAs = -1;
@@ -1403,6 +1450,7 @@ static gint ett_s1ap_InitialUEMessage = -1;
static gint ett_s1ap_UplinkNASTransport = -1;
static gint ett_s1ap_NASNonDeliveryIndication = -1;
static gint ett_s1ap_RerouteNASRequest = -1;
+static gint ett_s1ap_NASDeliveryIndication = -1;
static gint ett_s1ap_Reset = -1;
static gint ett_s1ap_ResetType = -1;
static gint ett_s1ap_UE_associatedLogicalS1_ConnectionListRes = -1;
@@ -1465,6 +1513,10 @@ 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_RetrieveUEInformation = -1;
+static gint ett_s1ap_UEInformationTransfer = -1;
+static gint ett_s1ap_ENBCPRelocationIndication = -1;
+static gint ett_s1ap_MMECPRelocationIndication = -1;
static gint ett_s1ap_S1AP_PDU = -1;
static gint ett_s1ap_InitiatingMessage = -1;
static gint ett_s1ap_SuccessfulOutcome = -1;
@@ -1838,6 +1890,11 @@ static const value_string s1ap_ProcedureCode_vals[] = {
{ id_ConnectionEstablishmentIndication, "id-ConnectionEstablishmentIndication" },
{ id_UEContextSuspend, "id-UEContextSuspend" },
{ id_UEContextResume, "id-UEContextResume" },
+ { id_NASDeliveryIndication, "id-NASDeliveryIndication" },
+ { id_RetrieveUEInformation, "id-RetrieveUEInformation" },
+ { id_UEInformationTransfer, "id-UEInformationTransfer" },
+ { id_eNBCPRelocationIndication, "id-eNBCPRelocationIndication" },
+ { id_MMECPRelocationIndication, "id-MMECPRelocationIndication" },
{ 0, NULL }
};
@@ -2111,12 +2168,21 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = {
{ 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_V2XServicesAuthorized, "id-V2XServicesAuthorized" },
{ id_UEUserPlaneCIoTSupportIndicator, "id-UEUserPlaneCIoTSupportIndicator" },
{ id_CE_mode_B_SupportIndicator, "id-CE-mode-B-SupportIndicator" },
{ id_SRVCCOperationNotPossible, "id-SRVCCOperationNotPossible" },
{ id_NB_IoT_UEIdentityIndexValue, "id-NB-IoT-UEIdentityIndexValue" },
{ id_RRC_Resume_Cause, "id-RRC-Resume-Cause" },
+ { id_DCN_ID, "id-DCN-ID" },
+ { id_ServedDCNs, "id-ServedDCNs" },
+ { id_UESidelinkAggregateMaximumBitrate, "id-UESidelinkAggregateMaximumBitrate" },
+ { id_DLNASPDUDeliveryAckRequest, "id-DLNASPDUDeliveryAckRequest" },
+ { id_Coverage_Level, "id-Coverage-Level" },
+ { id_EnhancedCoverageRestricted, "id-EnhancedCoverageRestricted" },
+ { id_UE_Level_QoS_Parameters, "id-UE-Level-QoS-Parameters" },
+ { id_DL_CP_SecurityInformation, "id-DL-CP-SecurityInformation" },
+ { id_UL_CP_SecurityInformation, "id-UL-CP-SecurityInformation" },
{ 0, NULL }
};
@@ -3428,7 +3494,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 1939 "./asn1/s1ap/s1ap.cnf"
+#line 1984 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
36, &value, TRUE, 3, NULL);
@@ -3450,7 +3516,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 1944 "./asn1/s1ap/s1ap.cnf"
+#line 1989 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, &value, TRUE, 0, NULL);
@@ -3475,7 +3541,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 1949 "./asn1/s1ap/s1ap.cnf"
+#line 1994 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, &value, TRUE, 1, NULL);
@@ -3502,7 +3568,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 1954 "./asn1/s1ap/s1ap.cnf"
+#line 1999 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, &value, TRUE, 0, NULL);
@@ -3528,7 +3594,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 1959 "./asn1/s1ap/s1ap.cnf"
+#line 2004 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, &value, TRUE, 0, NULL);
@@ -4055,6 +4121,21 @@ dissect_s1ap_COUNTvaluePDCP_SNlength18(tvbuff_t *tvb _U_, int offset _U_, asn1_c
}
+static const value_string s1ap_Coverage_Level_vals[] = {
+ { 0, "extendedcoverage" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_Coverage_Level(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_TypeOfError_vals[] = {
{ 0, "not-understood" },
{ 1, "missing" },
@@ -4142,6 +4223,81 @@ dissect_s1ap_DataCodingScheme(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
+
+static int
+dissect_s1ap_DCN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 65535U, NULL, FALSE);
+
+ 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);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedDCNsItem_sequence[] = {
+ { &hf_s1ap_dCN_ID , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_DCN_ID },
+ { &hf_s1ap_relativeDCNCapacity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_RelativeMMECapacity },
+ { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_ServedDCNsItem(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_ServedDCNsItem, ServedDCNsItem_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ServedDCNs_sequence_of[1] = {
+ { &hf_s1ap_ServedDCNs_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_ServedDCNsItem },
+};
+
+static int
+dissect_s1ap_ServedDCNs(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_ServedDCNs, ServedDCNs_sequence_of,
+ 0, maxnoofDCNs, FALSE);
+
+ return offset;
+}
+
+
+
+static int
+dissect_s1ap_DL_NAS_MAC(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,
+ 16, 16, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t DL_CP_SecurityInformation_sequence[] = {
+ { &hf_s1ap_dl_NAS_MAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_DL_NAS_MAC },
+ { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_DL_CP_SecurityInformation(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_DL_CP_SecurityInformation, DL_CP_SecurityInformation_sequence);
+
+ return offset;
+}
+
+
static const value_string s1ap_DL_Forwarding_vals[] = {
{ 0, "dL-Forwarding-proposed" },
{ 0, NULL }
@@ -4187,6 +4343,21 @@ dissect_s1ap_Data_Forwarding_Not_Possible(tvbuff_t *tvb _U_, int offset _U_, asn
}
+static const value_string s1ap_DLNASPDUDeliveryAckRequest_vals[] = {
+ { 0, "requested" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_DLNASPDUDeliveryAckRequest(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_EARFCN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -4287,15 +4458,39 @@ dissect_s1ap_BIT_STRING_SIZE_28(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
+
+static int
+dissect_s1ap_BIT_STRING_SIZE_18(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,
+ 18, 18, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_s1ap_BIT_STRING_SIZE_21(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,
+ 21, 21, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
static const value_string s1ap_ENB_ID_vals[] = {
{ 0, "macroENB-ID" },
{ 1, "homeENB-ID" },
+ { 2, "short-macroENB-ID" },
+ { 3, "long-macroENB-ID" },
{ 0, NULL }
};
static const per_choice_t ENB_ID_choice[] = {
{ 0, &hf_s1ap_macroENB_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_BIT_STRING_SIZE_20 },
{ 1, &hf_s1ap_homeENB_ID , ASN1_EXTENSION_ROOT , dissect_s1ap_BIT_STRING_SIZE_28 },
+ { 2, &hf_s1ap_short_macroENB_ID, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_BIT_STRING_SIZE_18 },
+ { 3, &hf_s1ap_long_macroENB_ID, ASN1_NOT_EXTENSION_ROOT, dissect_s1ap_BIT_STRING_SIZE_21 },
{ 0, NULL, 0, NULL }
};
@@ -4514,6 +4709,21 @@ dissect_s1ap_EncryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
}
+static const value_string s1ap_EnhancedCoverageRestricted_vals[] = {
+ { 0, "restricted" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_EnhancedCoverageRestricted(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 EPLMNs_sequence_of[1] = {
{ &hf_s1ap_EPLMNs_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_s1ap_PLMNidentity },
};
@@ -6306,7 +6516,8 @@ static const value_string s1ap_OverloadAction_vals[] = {
{ 2, "permit-emergency-sessions-and-mobile-terminated-services-only" },
{ 3, "permit-high-priority-sessions-and-mobile-terminated-services-only" },
{ 4, "reject-delay-tolerant-access" },
- { 5, "permit-high-priority-sessions-and-exception-reporting-and-mobile-terminated-services-only" },
+ { 5, "not-accept-mo-data-or-delay-tolerant-access-from-CP-CIoT" },
+ { 6, "permit-high-priority-sessions-and-exception-reporting-and-mobile-terminated-services-only" },
{ 0, NULL }
};
@@ -6314,7 +6525,7 @@ static const value_string s1ap_OverloadAction_vals[] = {
static int
dissect_s1ap_OverloadAction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, TRUE, 3, NULL);
+ 3, NULL, TRUE, 4, NULL);
return offset;
}
@@ -6612,16 +6823,6 @@ dissect_s1ap_RecommendedENBItem(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-
-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);
-
- return offset;
-}
-
-
static const value_string s1ap_RelayNode_Indicator_vals[] = {
{ 0, "true" },
{ 0, NULL }
@@ -8007,6 +8208,21 @@ dissect_s1ap_UESecurityCapabilities(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
}
+static const per_sequence_t UESidelinkAggregateMaximumBitrate_sequence[] = {
+ { &hf_s1ap_uESidelinkAggregateMaximumBitRate, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_BitRate },
+ { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_UESidelinkAggregateMaximumBitrate(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_UESidelinkAggregateMaximumBitrate, UESidelinkAggregateMaximumBitrate_sequence);
+
+ return offset;
+}
+
+
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_) {
@@ -8017,6 +8233,42 @@ dissect_s1ap_UE_Usage_Type(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
+
+static int
+dissect_s1ap_UL_NAS_MAC(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,
+ 16, 16, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+
+static int
+dissect_s1ap_UL_NAS_Count(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,
+ 5, 5, FALSE, NULL, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t UL_CP_SecurityInformation_sequence[] = {
+ { &hf_s1ap_ul_NAS_MAC , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_UL_NAS_MAC },
+ { &hf_s1ap_ul_NAS_Count , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_UL_NAS_Count },
+ { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_UL_CP_SecurityInformation(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_UL_CP_SecurityInformation, UL_CP_SecurityInformation_sequence);
+
+ 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 },
@@ -8064,6 +8316,54 @@ dissect_s1ap_VoiceSupportMatchIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_
}
+static const value_string s1ap_VehicleUE_vals[] = {
+ { 0, "authorized" },
+ { 1, "not-authorized" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_VehicleUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 2, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const value_string s1ap_PedestrianUE_vals[] = {
+ { 0, "authorized" },
+ { 1, "not-authorized" },
+ { 0, NULL }
+};
+
+
+static int
+dissect_s1ap_PedestrianUE(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 V2XServicesAuthorized_sequence[] = {
+ { &hf_s1ap_vehicleUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_VehicleUE },
+ { &hf_s1ap_pedestrianUE , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_PedestrianUE },
+ { &hf_s1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_s1ap_ProtocolExtensionContainer },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_V2XServicesAuthorized(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_V2XServicesAuthorized, V2XServicesAuthorized_sequence);
+
+ return offset;
+}
+
+
static const value_string s1ap_WarningAreaList_vals[] = {
{ 0, "cellIDList" },
{ 1, "trackingAreaListforWarning" },
@@ -8223,7 +8523,7 @@ dissect_s1ap_HandoverRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
#line 361 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
s1ap_data->handover_type_value = 0;
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequired");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequired");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_HandoverRequired, HandoverRequired_sequence);
@@ -8242,7 +8542,7 @@ dissect_s1ap_HandoverCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
#line 364 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
s1ap_data->handover_type_value = 0;
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCommand");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCommand");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_HandoverCommand, HandoverCommand_sequence);
@@ -8286,8 +8586,8 @@ 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 1765 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
+#line 1800 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_HandoverPreparationFailure, HandoverPreparationFailure_sequence);
@@ -8306,7 +8606,7 @@ dissect_s1ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
#line 367 "./asn1/s1ap/s1ap.cnf"
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
s1ap_data->handover_type_value = 0;
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_HandoverRequest, HandoverRequest_sequence);
@@ -8353,7 +8653,7 @@ dissect_s1ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_
struct s1ap_private_data *s1ap_data = s1ap_get_private_data(actx->pinfo);
s1ap_data->handover_type_value = 0;
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverRequestAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_HandoverRequestAcknowledge, HandoverRequestAcknowledge_sequence);
@@ -8424,8 +8724,8 @@ 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 1771 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverFailure");
+#line 1806 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_HandoverFailure, HandoverFailure_sequence);
@@ -8441,8 +8741,8 @@ 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 1773 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverNotify");
+#line 1808 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverNotify");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_HandoverNotify, HandoverNotify_sequence);
@@ -8458,8 +8758,8 @@ 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 1775 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequest");
+#line 1810 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_PathSwitchRequest, PathSwitchRequest_sequence);
@@ -8501,8 +8801,8 @@ 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 1777 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestAcknowledge");
+#line 1812 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_PathSwitchRequestAcknowledge, PathSwitchRequestAcknowledge_sequence);
@@ -8544,8 +8844,8 @@ 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 1779 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestFailure");
+#line 1814 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_PathSwitchRequestFailure, PathSwitchRequestFailure_sequence);
@@ -8561,8 +8861,8 @@ 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 1781 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
+#line 1816 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_HandoverCancel, HandoverCancel_sequence);
@@ -8578,8 +8878,8 @@ 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 1783 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancelAcknowledge");
+#line 1818 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancelAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_HandoverCancelAcknowledge, HandoverCancelAcknowledge_sequence);
@@ -8595,8 +8895,8 @@ 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 1785 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupRequest");
+#line 1820 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_E_RABSetupRequest, E_RABSetupRequest_sequence);
@@ -8645,8 +8945,8 @@ 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 1787 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupResponse");
+#line 1822 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_E_RABSetupResponse, E_RABSetupResponse_sequence);
@@ -8693,8 +8993,8 @@ 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 1789 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyRequest");
+#line 1824 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_E_RABModifyRequest, E_RABModifyRequest_sequence);
@@ -8741,8 +9041,8 @@ 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 1791 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyResponse");
+#line 1826 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_E_RABModifyResponse, E_RABModifyResponse_sequence);
@@ -8787,8 +9087,8 @@ 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 1793 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseCommand");
+#line 1828 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseCommand");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_E_RABReleaseCommand, E_RABReleaseCommand_sequence);
@@ -8804,8 +9104,8 @@ 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 1795 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseResponse");
+#line 1830 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_E_RABReleaseResponse, E_RABReleaseResponse_sequence);
@@ -8850,8 +9150,8 @@ 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 1797 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseIndication");
+#line 1832 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_E_RABReleaseIndication, E_RABReleaseIndication_sequence);
@@ -8867,8 +9167,8 @@ 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 1799 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupRequest");
+#line 1834 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_InitialContextSetupRequest, InitialContextSetupRequest_sequence);
@@ -8917,8 +9217,8 @@ 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 1801 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupResponse");
+#line 1836 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_InitialContextSetupResponse, InitialContextSetupResponse_sequence);
@@ -8965,8 +9265,8 @@ 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 1803 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupFailure");
+#line 1838 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_InitialContextSetupFailure, InitialContextSetupFailure_sequence);
@@ -8982,8 +9282,8 @@ static const per_sequence_t Paging_sequence[] = {
static int
dissect_s1ap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1805 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
+#line 1840 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_Paging, Paging_sequence);
@@ -9028,8 +9328,8 @@ 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 1807 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest");
+#line 1842 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextReleaseRequest, UEContextReleaseRequest_sequence);
@@ -9045,8 +9345,8 @@ 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 1809 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand");
+#line 1844 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextReleaseCommand, UEContextReleaseCommand_sequence);
@@ -9062,8 +9362,8 @@ 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 1811 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete");
+#line 1846 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextReleaseComplete, UEContextReleaseComplete_sequence);
@@ -9079,8 +9379,8 @@ 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 1813 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest");
+#line 1848 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextModificationRequest, UEContextModificationRequest_sequence);
@@ -9096,8 +9396,8 @@ 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 1815 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse");
+#line 1850 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextModificationResponse, UEContextModificationResponse_sequence);
@@ -9113,8 +9413,8 @@ 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 1817 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure");
+#line 1852 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextModificationFailure, UEContextModificationFailure_sequence);
@@ -9130,8 +9430,8 @@ 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 1819 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchRequest");
+#line 1854 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UERadioCapabilityMatchRequest, UERadioCapabilityMatchRequest_sequence);
@@ -9147,8 +9447,8 @@ 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 1821 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchResponse");
+#line 1856 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UERadioCapabilityMatchResponse, UERadioCapabilityMatchResponse_sequence);
@@ -9168,7 +9468,7 @@ dissect_s1ap_DownlinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_DL;
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNASTransport");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNASTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_DownlinkNASTransport, DownlinkNASTransport_sequence);
@@ -9188,7 +9488,7 @@ dissect_s1ap_InitialUEMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_UL;
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialUEMessage");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialUEMessage");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_InitialUEMessage, InitialUEMessage_sequence);
@@ -9208,7 +9508,7 @@ dissect_s1ap_UplinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
/* Set the direction of the message */
actx->pinfo->link_dir=P2P_DIR_UL;
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNASTransport");
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNASTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UplinkNASTransport, UplinkNASTransport_sequence);
@@ -9224,8 +9524,8 @@ static const per_sequence_t NASNonDeliveryIndication_sequence[] = {
static int
dissect_s1ap_NASNonDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1829 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASNonDeliveryIndication");
+#line 1864 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASNonDeliveryIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_NASNonDeliveryIndication, NASNonDeliveryIndication_sequence);
@@ -9241,8 +9541,8 @@ 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 1831 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RerouteNASRequest");
+#line 1866 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RerouteNASRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_RerouteNASRequest, RerouteNASRequest_sequence);
@@ -9273,6 +9573,23 @@ dissect_s1ap_S1_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
+static const per_sequence_t NASDeliveryIndication_sequence[] = {
+ { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_NASDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1970 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASDeliveryIndication");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_NASDeliveryIndication, NASDeliveryIndication_sequence);
+
+ return offset;
+}
+
+
static const per_sequence_t Reset_sequence[] = {
{ &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
{ NULL, 0, 0, NULL }
@@ -9280,8 +9597,8 @@ 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 1833 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
+#line 1868 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_Reset, Reset_sequence);
@@ -9348,8 +9665,8 @@ 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 1835 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge");
+#line 1870 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_ResetAcknowledge, ResetAcknowledge_sequence);
@@ -9393,8 +9710,8 @@ 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 1839 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupRequest");
+#line 1874 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_S1SetupRequest, S1SetupRequest_sequence);
@@ -9410,8 +9727,8 @@ 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 1841 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupResponse");
+#line 1876 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_S1SetupResponse, S1SetupResponse_sequence);
@@ -9427,8 +9744,8 @@ 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 1843 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupFailure");
+#line 1878 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_S1SetupFailure, S1SetupFailure_sequence);
@@ -9444,8 +9761,8 @@ 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 1845 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate");
+#line 1880 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_ENBConfigurationUpdate, ENBConfigurationUpdate_sequence);
@@ -9461,8 +9778,8 @@ 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 1847 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge");
+#line 1882 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_ENBConfigurationUpdateAcknowledge, ENBConfigurationUpdateAcknowledge_sequence);
@@ -9478,8 +9795,8 @@ 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 1849 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure");
+#line 1884 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_ENBConfigurationUpdateFailure, ENBConfigurationUpdateFailure_sequence);
@@ -9495,8 +9812,8 @@ 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 1851 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdate");
+#line 1886 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdate");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_MMEConfigurationUpdate, MMEConfigurationUpdate_sequence);
@@ -9512,8 +9829,8 @@ 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 1853 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateAcknowledge");
+#line 1888 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_MMEConfigurationUpdateAcknowledge, MMEConfigurationUpdateAcknowledge_sequence);
@@ -9529,8 +9846,8 @@ 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 1855 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateFailure");
+#line 1890 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_MMEConfigurationUpdateFailure, MMEConfigurationUpdateFailure_sequence);
@@ -9546,8 +9863,8 @@ static const per_sequence_t DownlinkS1cdma2000tunnelling_sequence[] = {
static int
dissect_s1ap_DownlinkS1cdma2000tunnelling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1857 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkS1cdma2000tunnelling");
+#line 1892 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkS1cdma2000tunnelling");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_DownlinkS1cdma2000tunnelling, DownlinkS1cdma2000tunnelling_sequence);
@@ -9563,8 +9880,8 @@ static const per_sequence_t UplinkS1cdma2000tunnelling_sequence[] = {
static int
dissect_s1ap_UplinkS1cdma2000tunnelling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1859 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkS1cdma2000tunnelling");
+#line 1894 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkS1cdma2000tunnelling");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UplinkS1cdma2000tunnelling, UplinkS1cdma2000tunnelling_sequence);
@@ -9580,8 +9897,8 @@ static const per_sequence_t UECapabilityInfoIndication_sequence[] = {
static int
dissect_s1ap_UECapabilityInfoIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1861 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityInfoIndication");
+#line 1896 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityInfoIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UECapabilityInfoIndication, UECapabilityInfoIndication_sequence);
@@ -9597,8 +9914,8 @@ static const per_sequence_t ENBStatusTransfer_sequence[] = {
static int
dissect_s1ap_ENBStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1863 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBStatusTransfer");
+#line 1898 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBStatusTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_ENBStatusTransfer, ENBStatusTransfer_sequence);
@@ -9614,8 +9931,8 @@ static const per_sequence_t MMEStatusTransfer_sequence[] = {
static int
dissect_s1ap_MMEStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1865 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEStatusTransfer");
+#line 1900 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEStatusTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_MMEStatusTransfer, MMEStatusTransfer_sequence);
@@ -9631,8 +9948,8 @@ static const per_sequence_t TraceStart_sequence[] = {
static int
dissect_s1ap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1867 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart");
+#line 1902 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_TraceStart, TraceStart_sequence);
@@ -9648,8 +9965,8 @@ static const per_sequence_t TraceFailureIndication_sequence[] = {
static int
dissect_s1ap_TraceFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1869 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceFailureIndication");
+#line 1904 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceFailureIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_TraceFailureIndication, TraceFailureIndication_sequence);
@@ -9665,8 +9982,8 @@ static const per_sequence_t DeactivateTrace_sequence[] = {
static int
dissect_s1ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1871 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace");
+#line 1906 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_DeactivateTrace, DeactivateTrace_sequence);
@@ -9682,8 +9999,8 @@ static const per_sequence_t CellTrafficTrace_sequence[] = {
static int
dissect_s1ap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1873 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace");
+#line 1908 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_CellTrafficTrace, CellTrafficTrace_sequence);
@@ -9699,8 +10016,8 @@ static const per_sequence_t LocationReportingControl_sequence[] = {
static int
dissect_s1ap_LocationReportingControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1875 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingControl");
+#line 1910 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingControl");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_LocationReportingControl, LocationReportingControl_sequence);
@@ -9716,8 +10033,8 @@ static const per_sequence_t LocationReportingFailureIndication_sequence[] = {
static int
dissect_s1ap_LocationReportingFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1877 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingFailureIndication");
+#line 1912 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingFailureIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_LocationReportingFailureIndication, LocationReportingFailureIndication_sequence);
@@ -9733,8 +10050,8 @@ static const per_sequence_t LocationReport_sequence[] = {
static int
dissect_s1ap_LocationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1879 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReport");
+#line 1914 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_LocationReport, LocationReport_sequence);
@@ -9750,8 +10067,8 @@ static const per_sequence_t OverloadStart_sequence[] = {
static int
dissect_s1ap_OverloadStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1881 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStart");
+#line 1916 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStart");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_OverloadStart, OverloadStart_sequence);
@@ -9767,8 +10084,8 @@ static const per_sequence_t OverloadStop_sequence[] = {
static int
dissect_s1ap_OverloadStop(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1883 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStop");
+#line 1918 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStop");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_OverloadStop, OverloadStop_sequence);
@@ -9784,8 +10101,8 @@ 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 1885 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningRequest");
+#line 1920 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_WriteReplaceWarningRequest, WriteReplaceWarningRequest_sequence);
@@ -9801,8 +10118,8 @@ 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 1887 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningResponse");
+#line 1922 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_WriteReplaceWarningResponse, WriteReplaceWarningResponse_sequence);
@@ -9818,8 +10135,8 @@ static const per_sequence_t ENBDirectInformationTransfer_sequence[] = {
static int
dissect_s1ap_ENBDirectInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1889 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBDirectInformationTransfer");
+#line 1924 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBDirectInformationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_ENBDirectInformationTransfer, ENBDirectInformationTransfer_sequence);
@@ -9855,8 +10172,8 @@ static const per_sequence_t MMEDirectInformationTransfer_sequence[] = {
static int
dissect_s1ap_MMEDirectInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1891 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEDirectInformationTransfer");
+#line 1926 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEDirectInformationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_MMEDirectInformationTransfer, MMEDirectInformationTransfer_sequence);
@@ -9872,8 +10189,8 @@ static const per_sequence_t ENBConfigurationTransfer_sequence[] = {
static int
dissect_s1ap_ENBConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1893 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationTransfer");
+#line 1928 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_ENBConfigurationTransfer, ENBConfigurationTransfer_sequence);
@@ -9889,8 +10206,8 @@ static const per_sequence_t MMEConfigurationTransfer_sequence[] = {
static int
dissect_s1ap_MMEConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1895 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationTransfer");
+#line 1930 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_MMEConfigurationTransfer, MMEConfigurationTransfer_sequence);
@@ -9906,8 +10223,8 @@ static const per_sequence_t PrivateMessage_sequence[] = {
static int
dissect_s1ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1897 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
+#line 1932 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_PrivateMessage, PrivateMessage_sequence);
@@ -9923,8 +10240,8 @@ 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 1899 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillRequest");
+#line 1934 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_KillRequest, KillRequest_sequence);
@@ -9940,8 +10257,8 @@ 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 1901 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillResponse");
+#line 1936 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_KillResponse, KillResponse_sequence);
@@ -9957,8 +10274,8 @@ static const per_sequence_t PWSRestartIndication_sequence[] = {
static int
dissect_s1ap_PWSRestartIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1903 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSRestartIndication");
+#line 1938 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSRestartIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_PWSRestartIndication, PWSRestartIndication_sequence);
@@ -9974,8 +10291,8 @@ 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 1905 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSFailureIndication");
+#line 1940 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSFailureIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_PWSFailureIndication, PWSFailureIndication_sequence);
@@ -9991,8 +10308,8 @@ 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 1907 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkUEAssociatedLPPaTransport");
+#line 1942 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkUEAssociatedLPPaTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_DownlinkUEAssociatedLPPaTransport, DownlinkUEAssociatedLPPaTransport_sequence);
@@ -10008,8 +10325,8 @@ 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 1909 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkUEAssociatedLPPaTransport");
+#line 1944 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkUEAssociatedLPPaTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UplinkUEAssociatedLPPaTransport, UplinkUEAssociatedLPPaTransport_sequence);
@@ -10025,8 +10342,8 @@ 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 1911 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNonUEAssociatedLPPaTransport");
+#line 1946 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNonUEAssociatedLPPaTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_DownlinkNonUEAssociatedLPPaTransport, DownlinkNonUEAssociatedLPPaTransport_sequence);
@@ -10042,8 +10359,8 @@ 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 1913 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNonUEAssociatedLPPaTransport");
+#line 1948 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNonUEAssociatedLPPaTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UplinkNonUEAssociatedLPPaTransport, UplinkNonUEAssociatedLPPaTransport_sequence);
@@ -10059,8 +10376,8 @@ 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 1915 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationIndication");
+#line 1950 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_E_RABModificationIndication, E_RABModificationIndication_sequence);
@@ -10146,8 +10463,8 @@ 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 1917 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationConfirm");
+#line 1952 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationConfirm");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_E_RABModificationConfirm, E_RABModificationConfirm_sequence);
@@ -10192,8 +10509,8 @@ 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 1919 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationIndication");
+#line 1954 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextModificationIndication, UEContextModificationIndication_sequence);
@@ -10209,8 +10526,8 @@ 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 1921 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationConfirm");
+#line 1956 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationConfirm");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextModificationConfirm, UEContextModificationConfirm_sequence);
@@ -10226,8 +10543,8 @@ static const per_sequence_t UEContextSuspendRequest_sequence[] = {
static int
dissect_s1ap_UEContextSuspendRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1923 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendRequest");
+#line 1958 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextSuspendRequest, UEContextSuspendRequest_sequence);
@@ -10243,8 +10560,8 @@ static const per_sequence_t UEContextSuspendResponse_sequence[] = {
static int
dissect_s1ap_UEContextSuspendResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1925 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendResponse");
+#line 1960 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextSuspendResponse, UEContextSuspendResponse_sequence);
@@ -10260,8 +10577,8 @@ static const per_sequence_t UEContextResumeRequest_sequence[] = {
static int
dissect_s1ap_UEContextResumeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1927 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeRequest");
+#line 1962 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextResumeRequest, UEContextResumeRequest_sequence);
@@ -10302,8 +10619,8 @@ static const per_sequence_t UEContextResumeResponse_sequence[] = {
static int
dissect_s1ap_UEContextResumeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1929 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeResponse");
+#line 1964 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextResumeResponse, UEContextResumeResponse_sequence);
@@ -10344,8 +10661,8 @@ static const per_sequence_t UEContextResumeFailure_sequence[] = {
static int
dissect_s1ap_UEContextResumeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1931 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeFailure");
+#line 1966 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_UEContextResumeFailure, UEContextResumeFailure_sequence);
@@ -10361,8 +10678,8 @@ static const per_sequence_t ConnectionEstablishmentIndication_sequence[] = {
static int
dissect_s1ap_ConnectionEstablishmentIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 1933 "./asn1/s1ap/s1ap.cnf"
-col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConnectionEstablishmentIndication");
+#line 1968 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConnectionEstablishmentIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
ett_s1ap_ConnectionEstablishmentIndication, ConnectionEstablishmentIndication_sequence);
@@ -10371,6 +10688,74 @@ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConnectionEstablishmentI
}
+static const per_sequence_t RetrieveUEInformation_sequence[] = {
+ { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_RetrieveUEInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1972 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEInformation");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_RetrieveUEInformation, RetrieveUEInformation_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t UEInformationTransfer_sequence[] = {
+ { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_UEInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1974 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationTransfer");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_UEInformationTransfer, UEInformationTransfer_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t ENBCPRelocationIndication_sequence[] = {
+ { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_ENBCPRelocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1976 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBCPRelocationIndication");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_ENBCPRelocationIndication, ENBCPRelocationIndication_sequence);
+
+ return offset;
+}
+
+
+static const per_sequence_t MMECPRelocationIndication_sequence[] = {
+ { &hf_s1ap_protocolIEs , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_ProtocolIE_Container },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_s1ap_MMECPRelocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 1978 "./asn1/s1ap/s1ap.cnf"
+ col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMECPRelocationIndication");
+
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_s1ap_MMECPRelocationIndication, MMECPRelocationIndication_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_) {
@@ -11529,6 +11914,14 @@ static int dissect_COUNTvaluePDCP_SNlength18_PDU(tvbuff_t *tvb _U_, packet_info
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_Coverage_Level_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_Coverage_Level(tvb, offset, &asn1_ctx, tree, hf_s1ap_Coverage_Level_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_CriticalityDiagnostics_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -11545,6 +11938,30 @@ static int dissect_DataCodingScheme_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_DCN_ID_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_s1ap_DCN_ID(tvb, offset, &asn1_ctx, tree, hf_s1ap_DCN_ID_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ServedDCNs_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_ServedDCNs(tvb, offset, &asn1_ctx, tree, hf_s1ap_ServedDCNs_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_DL_CP_SecurityInformation_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_DL_CP_SecurityInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_DL_CP_SecurityInformation_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_Direct_Forwarding_Path_Availability_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -11561,6 +11978,14 @@ static int dissect_Data_Forwarding_Not_Possible_PDU(tvbuff_t *tvb _U_, packet_in
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_DLNASPDUDeliveryAckRequest_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_DLNASPDUDeliveryAckRequest(tvb, offset, &asn1_ctx, tree, hf_s1ap_DLNASPDUDeliveryAckRequest_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_PWSfailedECGIList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -11617,6 +12042,14 @@ static int dissect_ENBname_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_EnhancedCoverageRestricted_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_EnhancedCoverageRestricted(tvb, offset, &asn1_ctx, tree, hf_s1ap_EnhancedCoverageRestricted_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_E_RABInformationListItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -11641,6 +12074,14 @@ static int dissect_E_RABItem_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, prot
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_E_RABLevelQoSParameters_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_RABLevelQoSParameters(tvb, offset, &asn1_ctx, tree, hf_s1ap_E_RABLevelQoSParameters_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_EUTRAN_CGI_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -12473,6 +12914,14 @@ static int dissect_UESecurityCapabilities_PDU(tvbuff_t *tvb _U_, packet_info *pi
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_UESidelinkAggregateMaximumBitrate_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_UESidelinkAggregateMaximumBitrate(tvb, offset, &asn1_ctx, tree, hf_s1ap_UESidelinkAggregateMaximumBitrate_PDU);
+ 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;
@@ -12481,6 +12930,14 @@ static int dissect_UE_Usage_Type_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_,
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_UL_CP_SecurityInformation_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_UL_CP_SecurityInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_UL_CP_SecurityInformation_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;
@@ -12505,6 +12962,14 @@ static int dissect_VoiceSupportMatchIndicator_PDU(tvbuff_t *tvb _U_, packet_info
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_V2XServicesAuthorized_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_V2XServicesAuthorized(tvb, offset, &asn1_ctx, tree, hf_s1ap_V2XServicesAuthorized_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_WarningAreaList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -13081,6 +13546,14 @@ static int dissect_S1_Message_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, pro
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_NASDeliveryIndication_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_NASDeliveryIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_NASDeliveryIndication_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_Reset_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -13601,6 +14074,38 @@ static int dissect_ConnectionEstablishmentIndication_PDU(tvbuff_t *tvb _U_, pack
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_RetrieveUEInformation_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_RetrieveUEInformation(tvb, offset, &asn1_ctx, tree, hf_s1ap_RetrieveUEInformation_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_UEInformationTransfer_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_UEInformationTransfer(tvb, offset, &asn1_ctx, tree, hf_s1ap_UEInformationTransfer_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_ENBCPRelocationIndication_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_ENBCPRelocationIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_ENBCPRelocationIndication_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_MMECPRelocationIndication_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_MMECPRelocationIndication(tvb, offset, &asn1_ctx, tree, hf_s1ap_MMECPRelocationIndication_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;
@@ -13949,6 +14454,16 @@ proto_reg_handoff_s1ap(void)
dissector_add_uint("s1ap.ies", id_SRVCCOperationNotPossible, create_dissector_handle(dissect_SRVCCOperationNotPossible_PDU, proto_s1ap));
dissector_add_uint("s1ap.ies", id_NB_IoT_UEIdentityIndexValue, create_dissector_handle(dissect_NB_IoT_UEIdentityIndexValue_PDU, proto_s1ap));
dissector_add_uint("s1ap.ies", id_RRC_Resume_Cause, create_dissector_handle(dissect_RRC_Establishment_Cause_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_V2XServicesAuthorized, create_dissector_handle(dissect_V2XServicesAuthorized_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_UESidelinkAggregateMaximumBitrate, create_dissector_handle(dissect_UESidelinkAggregateMaximumBitrate_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_EnhancedCoverageRestricted, create_dissector_handle(dissect_EnhancedCoverageRestricted_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_DLNASPDUDeliveryAckRequest, create_dissector_handle(dissect_DLNASPDUDeliveryAckRequest_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_DCN_ID, create_dissector_handle(dissect_DCN_ID_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_Coverage_Level, create_dissector_handle(dissect_Coverage_Level_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_ServedDCNs, create_dissector_handle(dissect_ServedDCNs_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_DL_CP_SecurityInformation, create_dissector_handle(dissect_DL_CP_SecurityInformation_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_UE_Level_QoS_Parameters, create_dissector_handle(dissect_E_RABLevelQoSParameters_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.ies", id_UL_CP_SecurityInformation, create_dissector_handle(dissect_UL_CP_SecurityInformation_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));
@@ -14070,6 +14585,11 @@ proto_reg_handoff_s1ap(void)
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));
+ dissector_add_uint("s1ap.proc.imsg", id_NASDeliveryIndication, create_dissector_handle(dissect_NASDeliveryIndication_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.proc.imsg", id_RetrieveUEInformation, create_dissector_handle(dissect_RetrieveUEInformation_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.proc.imsg", id_UEInformationTransfer, create_dissector_handle(dissect_UEInformationTransfer_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.proc.imsg", id_eNBCPRelocationIndication, create_dissector_handle(dissect_ENBCPRelocationIndication_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.proc.imsg", id_MMECPRelocationIndication, create_dissector_handle(dissect_MMECPRelocationIndication_PDU, proto_s1ap));
/*--- End of included file: packet-s1ap-dis-tab.c ---*/
@@ -14343,6 +14863,10 @@ void proto_register_s1ap(void) {
{ "COUNTvaluePDCP-SNlength18", "s1ap.COUNTvaluePDCP_SNlength18_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_Coverage_Level_PDU,
+ { "Coverage-Level", "s1ap.Coverage_Level",
+ FT_UINT32, BASE_DEC, VALS(s1ap_Coverage_Level_vals), 0,
+ NULL, HFILL }},
{ &hf_s1ap_CriticalityDiagnostics_PDU,
{ "CriticalityDiagnostics", "s1ap.CriticalityDiagnostics_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14351,6 +14875,18 @@ void proto_register_s1ap(void) {
{ "DataCodingScheme", "s1ap.DataCodingScheme",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_DCN_ID_PDU,
+ { "DCN-ID", "s1ap.DCN_ID",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_ServedDCNs_PDU,
+ { "ServedDCNs", "s1ap.ServedDCNs",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_DL_CP_SecurityInformation_PDU,
+ { "DL-CP-SecurityInformation", "s1ap.DL_CP_SecurityInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_s1ap_Direct_Forwarding_Path_Availability_PDU,
{ "Direct-Forwarding-Path-Availability", "s1ap.Direct_Forwarding_Path_Availability",
FT_UINT32, BASE_DEC, VALS(s1ap_Direct_Forwarding_Path_Availability_vals), 0,
@@ -14359,6 +14895,10 @@ void proto_register_s1ap(void) {
{ "Data-Forwarding-Not-Possible", "s1ap.Data_Forwarding_Not_Possible",
FT_UINT32, BASE_DEC, VALS(s1ap_Data_Forwarding_Not_Possible_vals), 0,
NULL, HFILL }},
+ { &hf_s1ap_DLNASPDUDeliveryAckRequest_PDU,
+ { "DLNASPDUDeliveryAckRequest", "s1ap.DLNASPDUDeliveryAckRequest",
+ FT_UINT32, BASE_DEC, VALS(s1ap_DLNASPDUDeliveryAckRequest_vals), 0,
+ NULL, HFILL }},
{ &hf_s1ap_PWSfailedECGIList_PDU,
{ "PWSfailedECGIList", "s1ap.PWSfailedECGIList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -14387,6 +14927,10 @@ void proto_register_s1ap(void) {
{ "ENBname", "s1ap.ENBname",
FT_STRING, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_EnhancedCoverageRestricted_PDU,
+ { "EnhancedCoverageRestricted", "s1ap.EnhancedCoverageRestricted",
+ FT_UINT32, BASE_DEC, VALS(s1ap_EnhancedCoverageRestricted_vals), 0,
+ NULL, HFILL }},
{ &hf_s1ap_E_RABInformationListItem_PDU,
{ "E-RABInformationListItem", "s1ap.E_RABInformationListItem_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14399,6 +14943,10 @@ void proto_register_s1ap(void) {
{ "E-RABItem", "s1ap.E_RABItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_E_RABLevelQoSParameters_PDU,
+ { "E-RABLevelQoSParameters", "s1ap.E_RABLevelQoSParameters_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_s1ap_EUTRAN_CGI_PDU,
{ "EUTRAN-CGI", "s1ap.EUTRAN_CGI_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14815,10 +15363,18 @@ void proto_register_s1ap(void) {
{ "UESecurityCapabilities", "s1ap.UESecurityCapabilities_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_UESidelinkAggregateMaximumBitrate_PDU,
+ { "UESidelinkAggregateMaximumBitrate", "s1ap.UESidelinkAggregateMaximumBitrate_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_UL_CP_SecurityInformation_PDU,
+ { "UL-CP-SecurityInformation", "s1ap.UL_CP_SecurityInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_s1ap_UserLocationInformation_PDU,
{ "UserLocationInformation", "s1ap.UserLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -14831,6 +15387,10 @@ void proto_register_s1ap(void) {
{ "VoiceSupportMatchIndicator", "s1ap.VoiceSupportMatchIndicator",
FT_UINT32, BASE_DEC, VALS(s1ap_VoiceSupportMatchIndicator_vals), 0,
NULL, HFILL }},
+ { &hf_s1ap_V2XServicesAuthorized_PDU,
+ { "V2XServicesAuthorized", "s1ap.V2XServicesAuthorized_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_s1ap_WarningAreaList_PDU,
{ "WarningAreaList", "s1ap.WarningAreaList",
FT_UINT32, BASE_DEC, VALS(s1ap_WarningAreaList_vals), 0,
@@ -15119,6 +15679,10 @@ void proto_register_s1ap(void) {
{ "S1-Message", "s1ap.S1_Message",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_NASDeliveryIndication_PDU,
+ { "NASDeliveryIndication", "s1ap.NASDeliveryIndication_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_s1ap_Reset_PDU,
{ "Reset", "s1ap.Reset_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -15379,6 +15943,22 @@ void proto_register_s1ap(void) {
{ "ConnectionEstablishmentIndication", "s1ap.ConnectionEstablishmentIndication_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_RetrieveUEInformation_PDU,
+ { "RetrieveUEInformation", "s1ap.RetrieveUEInformation_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_UEInformationTransfer_PDU,
+ { "UEInformationTransfer", "s1ap.UEInformationTransfer_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_ENBCPRelocationIndication_PDU,
+ { "ENBCPRelocationIndication", "s1ap.ENBCPRelocationIndication_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_MMECPRelocationIndication_PDU,
+ { "MMECPRelocationIndication", "s1ap.MMECPRelocationIndication_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,
@@ -15715,6 +16295,22 @@ void proto_register_s1ap(void) {
{ "typeOfError", "s1ap.typeOfError",
FT_UINT32, BASE_DEC, VALS(s1ap_TypeOfError_vals), 0,
NULL, HFILL }},
+ { &hf_s1ap_ServedDCNs_item,
+ { "ServedDCNsItem", "s1ap.ServedDCNsItem_element",
+ FT_NONE, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_dCN_ID,
+ { "dCN-ID", "s1ap.dCN_ID",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_relativeDCNCapacity,
+ { "relativeDCNCapacity", "s1ap.relativeDCNCapacity",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "RelativeMMECapacity", HFILL }},
+ { &hf_s1ap_dl_NAS_MAC,
+ { "dl-NAS-MAC", "s1ap.dl_NAS_MAC",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_s1ap_ECGIList_item,
{ "EUTRAN-CGI", "s1ap.EUTRAN_CGI_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -15767,6 +16363,14 @@ void proto_register_s1ap(void) {
{ "homeENB-ID", "s1ap.homeENB_ID",
FT_BYTES, BASE_NONE, NULL, 0,
"BIT_STRING_SIZE_28", HFILL }},
+ { &hf_s1ap_short_macroENB_ID,
+ { "short-macroENB-ID", "s1ap.short_macroENB_ID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_18", HFILL }},
+ { &hf_s1ap_long_macroENB_ID,
+ { "long-macroENB-ID", "s1ap.long_macroENB_ID",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ "BIT_STRING_SIZE_21", HFILL }},
{ &hf_s1ap_lAI,
{ "lAI", "s1ap.lAI_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -16455,6 +17059,18 @@ void proto_register_s1ap(void) {
{ "integrityProtectionAlgorithms", "s1ap.integrityProtectionAlgorithms",
FT_BYTES, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_uESidelinkAggregateMaximumBitRate,
+ { "uESidelinkAggregateMaximumBitRate", "s1ap.uESidelinkAggregateMaximumBitRate",
+ FT_UINT64, BASE_DEC|BASE_UNIT_STRING, &units_bit_sec, 0,
+ "BitRate", HFILL }},
+ { &hf_s1ap_ul_NAS_MAC,
+ { "ul-NAS-MAC", "s1ap.ul_NAS_MAC",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
+ { &hf_s1ap_ul_NAS_Count,
+ { "ul-NAS-Count", "s1ap.ul_NAS_Count",
+ FT_BYTES, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_s1ap_eutran_cgi,
{ "eutran-cgi", "s1ap.eutran_cgi_element",
FT_NONE, BASE_NONE, NULL, 0,
@@ -16463,6 +17079,14 @@ void proto_register_s1ap(void) {
{ "tai", "s1ap.tai_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
+ { &hf_s1ap_vehicleUE,
+ { "vehicleUE", "s1ap.vehicleUE",
+ FT_UINT32, BASE_DEC, VALS(s1ap_VehicleUE_vals), 0,
+ NULL, HFILL }},
+ { &hf_s1ap_pedestrianUE,
+ { "pedestrianUE", "s1ap.pedestrianUE",
+ FT_UINT32, BASE_DEC, VALS(s1ap_PedestrianUE_vals), 0,
+ NULL, HFILL }},
{ &hf_s1ap_cellIDList,
{ "cellIDList", "s1ap.cellIDList",
FT_UINT32, BASE_DEC, NULL, 0,
@@ -16988,6 +17612,9 @@ void proto_register_s1ap(void) {
&ett_s1ap_CriticalityDiagnostics,
&ett_s1ap_CriticalityDiagnostics_IE_List,
&ett_s1ap_CriticalityDiagnostics_IE_Item,
+ &ett_s1ap_ServedDCNs,
+ &ett_s1ap_ServedDCNsItem,
+ &ett_s1ap_DL_CP_SecurityInformation,
&ett_s1ap_ECGIList,
&ett_s1ap_PWSfailedECGIList,
&ett_s1ap_EmergencyAreaIDList,
@@ -17107,7 +17734,10 @@ void proto_register_s1ap(void) {
&ett_s1ap_UE_HistoryInformation,
&ett_s1ap_UEPagingID,
&ett_s1ap_UESecurityCapabilities,
+ &ett_s1ap_UESidelinkAggregateMaximumBitrate,
+ &ett_s1ap_UL_CP_SecurityInformation,
&ett_s1ap_UserLocationInformation,
+ &ett_s1ap_V2XServicesAuthorized,
&ett_s1ap_WarningAreaList,
&ett_s1ap_X2TNLConfigurationInfo,
&ett_s1ap_ENBX2ExtTLAs,
@@ -17172,6 +17802,7 @@ void proto_register_s1ap(void) {
&ett_s1ap_UplinkNASTransport,
&ett_s1ap_NASNonDeliveryIndication,
&ett_s1ap_RerouteNASRequest,
+ &ett_s1ap_NASDeliveryIndication,
&ett_s1ap_Reset,
&ett_s1ap_ResetType,
&ett_s1ap_UE_associatedLogicalS1_ConnectionListRes,
@@ -17234,6 +17865,10 @@ void proto_register_s1ap(void) {
&ett_s1ap_E_RABFailedToResumeItemResumeRes,
&ett_s1ap_UEContextResumeFailure,
&ett_s1ap_ConnectionEstablishmentIndication,
+ &ett_s1ap_RetrieveUEInformation,
+ &ett_s1ap_UEInformationTransfer,
+ &ett_s1ap_ENBCPRelocationIndication,
+ &ett_s1ap_MMECPRelocationIndication,
&ett_s1ap_S1AP_PDU,
&ett_s1ap_InitiatingMessage,
&ett_s1ap_SuccessfulOutcome,