E1AP: upgrade dissector to v16.4.0

This commit is contained in:
Pascal Quantin 2021-01-05 22:27:42 +01:00 committed by Wireshark GitLab Utility
parent b0abc6f380
commit fc49e2fb6e
9 changed files with 246 additions and 74 deletions

View File

@ -1,4 +1,4 @@
-- 3GPP TS 38.463 V16.3.0 (2020-09)
-- 3GPP TS 38.463 V16.4.0 (2021-01)
-- **************************************************************
--
-- Common definitions

View File

@ -1,4 +1,4 @@
-- 3GPP TS 38.463 V16.3.0 (2020-09)
-- 3GPP TS 38.463 V16.4.0 (2021-01)
-- **************************************************************
--
-- Constant definitions
@ -82,6 +82,7 @@ maxnoofTNLAddresses INTEGER ::= 8
maxnoofMDTPLMNs INTEGER ::= 16
maxnoofQoSParaSets INTEGER ::= 8
maxnoofExtSliceItems INTEGER ::= 65535
maxnoofDataForwardingTunneltoE-UTRAN INTEGER ::= 256
-- **************************************************************
@ -221,6 +222,8 @@ id-Number-of-tunnels ProtocolIE-ID ::= 127
id-DRB-Measurement-Results-Information-List ProtocolIE-ID ::= 128
id-Extended-GNB-CU-CP-Name ProtocolIE-ID ::= 129
id-Extended-GNB-CU-UP-Name ProtocolIE-ID ::= 130
id-DataForwardingtoE-UTRANInformationList ProtocolIE-ID ::= 131
id-QosMonitoringReportingFrequency ProtocolIE-ID ::= 132
END

View File

@ -1,4 +1,4 @@
-- 3GPP TS 38.463 V16.3.0 (2020-09)
-- 3GPP TS 38.463 V16.4.0 (2021-01)
-- **************************************************************
--
-- Container definitions

View File

@ -1,4 +1,4 @@
-- 3GPP TS 38.463 V16.3.0 (2020-09)
-- 3GPP TS 38.463 V16.4.0 (2021-01)
-- **************************************************************
--
-- Information Element Definitions
@ -25,6 +25,7 @@ IMPORTS
id-TNLAssociationTransportLayerAddressgNBCUUP,
id-Cause,
id-QoSMonitoringRequest,
id-QosMonitoringReportingFrequency,
id-PDCP-StatusReportIndication,
id-RedundantCommonNetworkInstance,
id-redundant-nG-UL-UP-TNL-Information,
@ -47,6 +48,7 @@ IMPORTS
id-AlternativeQoSParaSetList,
id-MCG-OfferedGBRQoSFlowInfo,
id-Number-of-tunnels,
id-DataForwardingtoE-UTRANInformationList,
maxnoofQoSParaSets,
maxnoofErrors,
maxnoofSliceItems,
@ -63,7 +65,8 @@ IMPORTS
maxnoofGTPTLAs,
maxnoofSPLMNs,
maxnoofMDTPLMNs,
maxnoofExtSliceItems
maxnoofExtSliceItems,
maxnoofDataForwardingTunneltoE-UTRAN
FROM E1AP-Constants
@ -352,6 +355,19 @@ Data-Forwarding-Request ::= ENUMERATED {
...
}
DataForwardingtoE-UTRANInformationList ::= SEQUENCE (SIZE(1.. maxnoofDataForwardingTunneltoE-UTRAN)) OF DataForwardingtoE-UTRANInformationListItem
DataForwardingtoE-UTRANInformationListItem ::= SEQUENCE {
data-forwarding-tunnel-information UP-TNL-Information,
qoS-Flows-to-be-forwarded-List QoS-Flows-to-be-forwarded-List,
iE-Extensions ProtocolExtensionContainer { { DataForwardingtoE-UTRANInformationListItem-ExtIEs} } OPTIONAL,
...
}
DataForwardingtoE-UTRANInformationListItem-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
...
}
Data-Usage-per-PDU-Session-Report ::= SEQUENCE {
secondaryRATType ENUMERATED {nR, e-UTRA, ...},
pDU-session-Timed-Report-List SEQUENCE (SIZE(1..maxnooftimeperiods)) OF MRDC-Data-Usage-Report-Item,
@ -1863,7 +1879,8 @@ PDU-Session-Resource-To-Modify-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
{ID id-SNSSAI CRITICALITY reject EXTENSION SNSSAI PRESENCE optional}|
{ ID id-CommonNetworkInstance CRITICALITY ignore EXTENSION CommonNetworkInstance PRESENCE optional }|
{ID id-redundant-nG-UL-UP-TNL-Information CRITICALITY ignore EXTENSION UP-TNL-Information PRESENCE optional }|
{ID id-RedundantCommonNetworkInstance CRITICALITY ignore EXTENSION CommonNetworkInstance PRESENCE optional },
{ID id-RedundantCommonNetworkInstance CRITICALITY ignore EXTENSION CommonNetworkInstance PRESENCE optional }|
{ID id-DataForwardingtoE-UTRANInformationList CRITICALITY ignore EXTENSION DataForwardingtoE-UTRANInformationList PRESENCE optional },
...
}
@ -2076,12 +2093,15 @@ QoSFlowLevelQoSParameters ::= SEQUENCE {
QoSFlowLevelQoSParameters-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
{ID id-QoSMonitoringRequest CRITICALITY ignore EXTENSION QosMonitoringRequest PRESENCE optional}|
{ID id-MCG-OfferedGBRQoSFlowInfo CRITICALITY ignore EXTENSION GBR-QoSFlowInformation PRESENCE optional},
{ID id-MCG-OfferedGBRQoSFlowInfo CRITICALITY ignore EXTENSION GBR-QoSFlowInformation PRESENCE optional}|
{ID id-QosMonitoringReportingFrequency CRITICALITY ignore EXTENSION QosMonitoringReportingFrequency PRESENCE optional},
...
}
QosMonitoringRequest ::= ENUMERATED {ul, dl, both}
QosMonitoringReportingFrequency ::= INTEGER (1..1800, ...)
QoS-Flow-Removed-Item ::= SEQUENCE {
qoS-Flow-Identifier QoS-Flow-Identifier,
qoS-Flow-Released-In-Session ENUMERATED {released-in-session, not-released-in-session, ...} OPTIONAL,
@ -2094,6 +2114,18 @@ QoS-Flow-Removed-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
...
}
QoS-Flows-to-be-forwarded-List ::= SEQUENCE (SIZE(1.. maxnoofQoSFlows)) OF QoS-Flows-to-be-forwarded-Item
QoS-Flows-to-be-forwarded-Item ::= SEQUENCE {
qoS-Flow-Identifier QoS-Flow-Identifier,
iE-Extensions ProtocolExtensionContainer { { QoS-Flows-to-be-forwarded-Item-ExtIEs } } OPTIONAL,
...
}
QoS-Flows-to-be-forwarded-Item-ExtIEs E1AP-PROTOCOL-EXTENSION ::= {
...
}
QoS-Mapping-Information ::= SEQUENCE {
dscp BIT STRING (SIZE(6)) OPTIONAL,
flow-label BIT STRING (SIZE(20)) OPTIONAL,

View File

@ -1,4 +1,4 @@
-- 3GPP TS 38.463 V16.3.0 (2020-09)
-- 3GPP TS 38.463 V16.4.0 (2021-01)
-- **************************************************************
--
-- PDU definitions for E1AP

View File

@ -1,4 +1,4 @@
-- 3GPP TS 38.463 V16.3.0 (2020-09)
-- 3GPP TS 38.463 V16.4.0 (2021-01)
-- **************************************************************
--
-- Elementary Procedure definitions

View File

@ -280,6 +280,8 @@ id-Number-of-tunnels ProtocolIE-ID
id-DRB-Measurement-Results-Information-List ProtocolIE-ID
id-Extended-GNB-CU-CP-Name ProtocolIE-ID
id-Extended-GNB-CU-UP-Name ProtocolIE-ID
id-DataForwardingtoE-UTRANInformationList ProtocolIE-ID
id-QosMonitoringReportingFrequency ProtocolIE-ID
#.END
#.REGISTER
@ -418,6 +420,8 @@ AlternativeQoSParaSetList N e1ap.extension id-AlternativeQoSP
ExtendedSliceSupportList N e1ap.extension id-ExtendedSliceSupportList
GBR-QoSFlowInformation N e1ap.extension id-MCG-OfferedGBRQoSFlowInfo
Number-of-tunnels N e1ap.extension id-Number-of-tunnels
DataForwardingtoE-UTRANInformationList N e1ap.extension id-DataForwardingtoE-UTRANInformationList
QosMonitoringReportingFrequency N e1ap.extension id-QosMonitoringReportingFrequency
#E1AP-ELEMENTARY-PROCEDURE
Reset N e1ap.proc.imsg id-reset
@ -673,6 +677,9 @@ Periodicity DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_microseconds
#.TYPE_ATTR
DRB-Measurement-Results-Information-Item/uL-D1-Result DISPLAY = BASE_CUSTOM STRINGS = CF_FUNC(e1ap_PacketDelayBudget_uL_D1_Result_fmt)
#.TYPE_ATTR
QosMonitoringReportingFrequency DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds
#.FN_HDR Reset
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
#.FN_HDR ResetAcknowledge

View File

@ -8,7 +8,7 @@
*
* SPDX-License-Identifier: GPL-2.0-or-later
*
* References: 3GPP TS 38.463 V16.3.0 (2020-09)
* References: 3GPP TS 38.463 V16.4.0 (2021-01)
*/
#include "config.h"

View File

@ -16,7 +16,7 @@
*
* SPDX-License-Identifier: GPL-2.0-or-later
*
* References: 3GPP TS 38.463 V16.3.0 (2020-09)
* References: 3GPP TS 38.463 V16.4.0 (2021-01)
*/
#include "config.h"
@ -68,6 +68,7 @@ void proto_reg_handoff_e1ap(void);
#define maxnoofMDTPLMNs 16
#define maxnoofQoSParaSets 8
#define maxnoofExtSliceItems 65535
#define maxnoofDataForwardingTunneltoE_UTRAN 256
typedef enum _ProcedureCode_enum {
id_reset = 0,
@ -231,7 +232,9 @@ typedef enum _ProtocolIE_ID_enum {
id_Number_of_tunnels = 127,
id_DRB_Measurement_Results_Information_List = 128,
id_Extended_GNB_CU_CP_Name = 129,
id_Extended_GNB_CU_UP_Name = 130
id_Extended_GNB_CU_UP_Name = 130,
id_DataForwardingtoE_UTRANInformationList = 131,
id_QosMonitoringReportingFrequency = 132
} ProtocolIE_ID_enum;
/*--- End of included file: packet-e1ap-val.h ---*/
@ -274,6 +277,7 @@ static int hf_e1ap_CommonNetworkInstance_PDU = -1; /* CommonNetworkInstance */
static int hf_e1ap_CP_TNL_Information_PDU = -1; /* CP_TNL_Information */
static int hf_e1ap_CriticalityDiagnostics_PDU = -1; /* CriticalityDiagnostics */
static int hf_e1ap_DAPSRequestInfo_PDU = -1; /* DAPSRequestInfo */
static int hf_e1ap_DataForwardingtoE_UTRANInformationList_PDU = -1; /* DataForwardingtoE_UTRANInformationList */
static int hf_e1ap_Data_Usage_Report_List_PDU = -1; /* Data_Usage_Report_List */
static int hf_e1ap_DRB_Confirm_Modified_List_EUTRAN_PDU = -1; /* DRB_Confirm_Modified_List_EUTRAN */
static int hf_e1ap_DRB_Failed_List_EUTRAN_PDU = -1; /* DRB_Failed_List_EUTRAN */
@ -340,6 +344,7 @@ static int hf_e1ap_QoS_Flow_List_PDU = -1; /* QoS_Flow_List */
static int hf_e1ap_QoS_Flow_Mapping_Indication_PDU = -1; /* QoS_Flow_Mapping_Indication */
static int hf_e1ap_QoSFlowLevelQoSParameters_PDU = -1; /* QoSFlowLevelQoSParameters */
static int hf_e1ap_QosMonitoringRequest_PDU = -1; /* QosMonitoringRequest */
static int hf_e1ap_QosMonitoringReportingFrequency_PDU = -1; /* QosMonitoringReportingFrequency */
static int hf_e1ap_QoS_Mapping_Information_PDU = -1; /* QoS_Mapping_Information */
static int hf_e1ap_RANUEID_PDU = -1; /* RANUEID */
static int hf_e1ap_RedundantQoSFlowIndicator_PDU = -1; /* RedundantQoSFlowIndicator */
@ -478,6 +483,9 @@ static int hf_e1ap_data_Forwarding_Request = -1; /* Data_Forwarding_Request */
static int hf_e1ap_qoS_Flows_Forwarded_On_Fwd_Tunnels = -1; /* QoS_Flow_Mapping_List */
static int hf_e1ap_uL_Data_Forwarding = -1; /* UP_TNL_Information */
static int hf_e1ap_dL_Data_Forwarding = -1; /* UP_TNL_Information */
static int hf_e1ap_DataForwardingtoE_UTRANInformationList_item = -1; /* DataForwardingtoE_UTRANInformationListItem */
static int hf_e1ap_data_forwarding_tunnel_information = -1; /* UP_TNL_Information */
static int hf_e1ap_qoS_Flows_to_be_forwarded_List = -1; /* QoS_Flows_to_be_forwarded_List */
static int hf_e1ap_secondaryRATType = -1; /* T_secondaryRATType */
static int hf_e1ap_pDU_session_Timed_Report_List = -1; /* SEQUENCE_SIZE_1_maxnooftimeperiods_OF_MRDC_Data_Usage_Report_Item */
static int hf_e1ap_pDU_session_Timed_Report_List_item = -1; /* MRDC_Data_Usage_Report_Item */
@ -731,6 +739,7 @@ static int hf_e1ap_paging_Policy_Indicator = -1; /* INTEGER_1_8_ */
static int hf_e1ap_reflective_QoS_Indicator = -1; /* T_reflective_QoS_Indicator */
static int hf_e1ap_qoS_Flow_Released_In_Session = -1; /* T_qoS_Flow_Released_In_Session */
static int hf_e1ap_qoS_Flow_Accumulated_Session_Time = -1; /* OCTET_STRING_SIZE_5 */
static int hf_e1ap_QoS_Flows_to_be_forwarded_List_item = -1; /* QoS_Flows_to_be_forwarded_Item */
static int hf_e1ap_dscp = -1; /* BIT_STRING_SIZE_6 */
static int hf_e1ap_flow_label = -1; /* BIT_STRING_SIZE_20 */
static int hf_e1ap_rSN = -1; /* RSN */
@ -856,6 +865,8 @@ static gint ett_e1ap_CriticalityDiagnostics_IE_List_item = -1;
static gint ett_e1ap_DAPSRequestInfo = -1;
static gint ett_e1ap_Data_Forwarding_Information_Request = -1;
static gint ett_e1ap_Data_Forwarding_Information = -1;
static gint ett_e1ap_DataForwardingtoE_UTRANInformationList = -1;
static gint ett_e1ap_DataForwardingtoE_UTRANInformationListItem = -1;
static gint ett_e1ap_Data_Usage_per_PDU_Session_Report = -1;
static gint ett_e1ap_SEQUENCE_SIZE_1_maxnooftimeperiods_OF_MRDC_Data_Usage_Report_Item = -1;
static gint ett_e1ap_Data_Usage_per_QoS_Flow_List = -1;
@ -1028,6 +1039,8 @@ static gint ett_e1ap_QoS_Flow_QoS_Parameter_List = -1;
static gint ett_e1ap_QoS_Flow_QoS_Parameter_Item = -1;
static gint ett_e1ap_QoSFlowLevelQoSParameters = -1;
static gint ett_e1ap_QoS_Flow_Removed_Item = -1;
static gint ett_e1ap_QoS_Flows_to_be_forwarded_List = -1;
static gint ett_e1ap_QoS_Flows_to_be_forwarded_Item = -1;
static gint ett_e1ap_QoS_Mapping_Information = -1;
static gint ett_e1ap_RedundantPDUSessionInformation = -1;
static gint ett_e1ap_RetainabilityMeasurementsInfo = -1;
@ -1450,6 +1463,8 @@ static const value_string e1ap_ProtocolIE_ID_vals[] = {
{ id_DRB_Measurement_Results_Information_List, "id-DRB-Measurement-Results-Information-List" },
{ id_Extended_GNB_CU_CP_Name, "id-Extended-GNB-CU-CP-Name" },
{ id_Extended_GNB_CU_UP_Name, "id-Extended-GNB-CU-UP-Name" },
{ id_DataForwardingtoE_UTRANInformationList, "id-DataForwardingtoE-UTRANInformationList" },
{ id_QosMonitoringReportingFrequency, "id-QosMonitoringReportingFrequency" },
{ 0, NULL }
};
@ -2283,7 +2298,7 @@ dissect_e1ap_ConfidentialityProtectionResult(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_e1ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 560 "./asn1/e1ap/e1ap.cnf"
#line 564 "./asn1/e1ap/e1ap.cnf"
tvbuff_t *param_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
1, 160, TRUE, NULL, 0, &param_tvb, NULL);
@ -2595,6 +2610,65 @@ dissect_e1ap_Data_Forwarding_Information(tvbuff_t *tvb _U_, int offset _U_, asn1
}
static const per_sequence_t QoS_Flows_to_be_forwarded_Item_sequence[] = {
{ &hf_e1ap_qoS_Flow_Identifier, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e1ap_QoS_Flow_Identifier },
{ &hf_e1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e1ap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_e1ap_QoS_Flows_to_be_forwarded_Item(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_e1ap_QoS_Flows_to_be_forwarded_Item, QoS_Flows_to_be_forwarded_Item_sequence);
return offset;
}
static const per_sequence_t QoS_Flows_to_be_forwarded_List_sequence_of[1] = {
{ &hf_e1ap_QoS_Flows_to_be_forwarded_List_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e1ap_QoS_Flows_to_be_forwarded_Item },
};
static int
dissect_e1ap_QoS_Flows_to_be_forwarded_List(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_e1ap_QoS_Flows_to_be_forwarded_List, QoS_Flows_to_be_forwarded_List_sequence_of,
1, maxnoofQoSFlows, FALSE);
return offset;
}
static const per_sequence_t DataForwardingtoE_UTRANInformationListItem_sequence[] = {
{ &hf_e1ap_data_forwarding_tunnel_information, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e1ap_UP_TNL_Information },
{ &hf_e1ap_qoS_Flows_to_be_forwarded_List, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_e1ap_QoS_Flows_to_be_forwarded_List },
{ &hf_e1ap_iE_Extensions , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_e1ap_ProtocolExtensionContainer },
{ NULL, 0, 0, NULL }
};
static int
dissect_e1ap_DataForwardingtoE_UTRANInformationListItem(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_e1ap_DataForwardingtoE_UTRANInformationListItem, DataForwardingtoE_UTRANInformationListItem_sequence);
return offset;
}
static const per_sequence_t DataForwardingtoE_UTRANInformationList_sequence_of[1] = {
{ &hf_e1ap_DataForwardingtoE_UTRANInformationList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_e1ap_DataForwardingtoE_UTRANInformationListItem },
};
static int
dissect_e1ap_DataForwardingtoE_UTRANInformationList(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_e1ap_DataForwardingtoE_UTRANInformationList, DataForwardingtoE_UTRANInformationList_sequence_of,
1, maxnoofDataForwardingTunneltoE_UTRAN, FALSE);
return offset;
}
static const value_string e1ap_T_secondaryRATType_vals[] = {
{ 0, "nR" },
{ 1, "e-UTRA" },
@ -2614,7 +2688,7 @@ dissect_e1ap_T_secondaryRATType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
static int
dissect_e1ap_T_startTimeStamp_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 583 "./asn1/e1ap/e1ap.cnf"
#line 587 "./asn1/e1ap/e1ap.cnf"
tvbuff_t *timestamp_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, &timestamp_tvb);
@ -2622,7 +2696,7 @@ dissect_e1ap_T_startTimeStamp_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
#line 587 "./asn1/e1ap/e1ap.cnf"
#line 591 "./asn1/e1ap/e1ap.cnf"
if (timestamp_tvb) {
proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
}
@ -2635,7 +2709,7 @@ dissect_e1ap_T_startTimeStamp_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
dissect_e1ap_T_endTimeStamp_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 592 "./asn1/e1ap/e1ap.cnf"
#line 596 "./asn1/e1ap/e1ap.cnf"
tvbuff_t *timestamp_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, &timestamp_tvb);
@ -2643,7 +2717,7 @@ dissect_e1ap_T_endTimeStamp_01(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
#line 596 "./asn1/e1ap/e1ap.cnf"
#line 600 "./asn1/e1ap/e1ap.cnf"
if (timestamp_tvb) {
proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
}
@ -2761,7 +2835,7 @@ dissect_e1ap_Data_Usage_per_QoS_Flow_List(tvbuff_t *tvb _U_, int offset _U_, asn
static int
dissect_e1ap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 521 "./asn1/e1ap/e1ap.cnf"
#line 525 "./asn1/e1ap/e1ap.cnf"
tvbuff_t *timestamp_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, &timestamp_tvb);
@ -2769,7 +2843,7 @@ dissect_e1ap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
#line 525 "./asn1/e1ap/e1ap.cnf"
#line 529 "./asn1/e1ap/e1ap.cnf"
if (timestamp_tvb) {
proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
}
@ -2782,7 +2856,7 @@ dissect_e1ap_T_startTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
static int
dissect_e1ap_T_endTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 530 "./asn1/e1ap/e1ap.cnf"
#line 534 "./asn1/e1ap/e1ap.cnf"
tvbuff_t *timestamp_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
4, 4, FALSE, &timestamp_tvb);
@ -2790,7 +2864,7 @@ dissect_e1ap_T_endTimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
#line 534 "./asn1/e1ap/e1ap.cnf"
#line 538 "./asn1/e1ap/e1ap.cnf"
if (timestamp_tvb) {
proto_item_append_text(actx->created_item, " (%s)", tvb_ntp_fmt_ts_sec(timestamp_tvb, 0));
}
@ -5219,7 +5293,7 @@ dissect_e1ap_EncryptionKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
static int
dissect_e1ap_PortNumber(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 511 "./asn1/e1ap/e1ap.cnf"
#line 515 "./asn1/e1ap/e1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
16, 16, FALSE, NULL, 0, &parameter_tvb, NULL);
@ -5752,7 +5826,7 @@ dissect_e1ap_IntegrityProtectionResult(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static int
dissect_e1ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 613 "./asn1/e1ap/e1ap.cnf"
#line 617 "./asn1/e1ap/e1ap.cnf"
tvbuff_t *param_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, NULL, 0, &param_tvb, NULL);
@ -5780,7 +5854,7 @@ dissect_e1ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_e1ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 633 "./asn1/e1ap/e1ap.cnf"
#line 637 "./asn1/e1ap/e1ap.cnf"
tvbuff_t *param_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
8, 8, FALSE, NULL, 0, &param_tvb, NULL);
@ -6048,7 +6122,7 @@ dissect_e1ap_MDT_Configuration(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
dissect_e1ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 500 "./asn1/e1ap/e1ap.cnf"
#line 504 "./asn1/e1ap/e1ap.cnf"
tvbuff_t *param_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
3, 3, FALSE, &param_tvb);
@ -6876,6 +6950,16 @@ dissect_e1ap_QosMonitoringRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
dissect_e1ap_QosMonitoringReportingFrequency(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
1U, 1800U, NULL, TRUE);
return offset;
}
static int
dissect_e1ap_BIT_STRING_SIZE_6(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,
@ -7000,7 +7084,7 @@ dissect_e1ap_RegistrationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
dissect_e1ap_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 649 "./asn1/e1ap/e1ap.cnf"
#line 653 "./asn1/e1ap/e1ap.cnf"
tvbuff_t *parameter_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
36, 36, FALSE, NULL, 0, &parameter_tvb, NULL);
@ -7185,7 +7269,7 @@ dissect_e1ap_Periodicity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
static int
dissect_e1ap_BurstArrivalTime(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 666 "./asn1/e1ap/e1ap.cnf"
#line 670 "./asn1/e1ap/e1ap.cnf"
tvbuff_t *param_tvb = NULL;
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
NO_BOUND, NO_BOUND, FALSE, &param_tvb);
@ -7406,7 +7490,7 @@ static const per_sequence_t Reset_sequence[] = {
static int
dissect_e1ap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 677 "./asn1/e1ap/e1ap.cnf"
#line 684 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7476,7 +7560,7 @@ static const per_sequence_t ResetAcknowledge_sequence[] = {
static int
dissect_e1ap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 679 "./asn1/e1ap/e1ap.cnf"
#line 686 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7507,7 +7591,7 @@ static const per_sequence_t ErrorIndication_sequence[] = {
static int
dissect_e1ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 681 "./asn1/e1ap/e1ap.cnf"
#line 688 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7524,7 +7608,7 @@ static const per_sequence_t GNB_CU_UP_E1SetupRequest_sequence[] = {
static int
dissect_e1ap_GNB_CU_UP_E1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 683 "./asn1/e1ap/e1ap.cnf"
#line 690 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-E1SetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7573,7 +7657,7 @@ static const per_sequence_t GNB_CU_UP_E1SetupResponse_sequence[] = {
static int
dissect_e1ap_GNB_CU_UP_E1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 685 "./asn1/e1ap/e1ap.cnf"
#line 692 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-E1SetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7590,7 +7674,7 @@ static const per_sequence_t GNB_CU_UP_E1SetupFailure_sequence[] = {
static int
dissect_e1ap_GNB_CU_UP_E1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 687 "./asn1/e1ap/e1ap.cnf"
#line 694 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-E1SetupFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7607,7 +7691,7 @@ static const per_sequence_t GNB_CU_CP_E1SetupRequest_sequence[] = {
static int
dissect_e1ap_GNB_CU_CP_E1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 689 "./asn1/e1ap/e1ap.cnf"
#line 696 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-E1SetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7624,7 +7708,7 @@ static const per_sequence_t GNB_CU_CP_E1SetupResponse_sequence[] = {
static int
dissect_e1ap_GNB_CU_CP_E1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 691 "./asn1/e1ap/e1ap.cnf"
#line 698 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-E1SetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7641,7 +7725,7 @@ static const per_sequence_t GNB_CU_CP_E1SetupFailure_sequence[] = {
static int
dissect_e1ap_GNB_CU_CP_E1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 693 "./asn1/e1ap/e1ap.cnf"
#line 700 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-E1SetupFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7658,7 +7742,7 @@ static const per_sequence_t GNB_CU_UP_ConfigurationUpdate_sequence[] = {
static int
dissect_e1ap_GNB_CU_UP_ConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 695 "./asn1/e1ap/e1ap.cnf"
#line 702 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-ConfigurationUpdate");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7689,7 +7773,7 @@ static const per_sequence_t GNB_CU_UP_ConfigurationUpdateAcknowledge_sequence[]
static int
dissect_e1ap_GNB_CU_UP_ConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 697 "./asn1/e1ap/e1ap.cnf"
#line 704 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-ConfigurationUpdateAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7706,7 +7790,7 @@ static const per_sequence_t GNB_CU_UP_ConfigurationUpdateFailure_sequence[] = {
static int
dissect_e1ap_GNB_CU_UP_ConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 699 "./asn1/e1ap/e1ap.cnf"
#line 706 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-ConfigurationUpdateFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7723,7 +7807,7 @@ static const per_sequence_t GNB_CU_CP_ConfigurationUpdate_sequence[] = {
static int
dissect_e1ap_GNB_CU_CP_ConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 701 "./asn1/e1ap/e1ap.cnf"
#line 708 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-ConfigurationUpdate");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7782,7 +7866,7 @@ static const per_sequence_t GNB_CU_CP_ConfigurationUpdateAcknowledge_sequence[]
static int
dissect_e1ap_GNB_CU_CP_ConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 703 "./asn1/e1ap/e1ap.cnf"
#line 710 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-ConfigurationUpdateAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7827,7 +7911,7 @@ static const per_sequence_t GNB_CU_CP_ConfigurationUpdateFailure_sequence[] = {
static int
dissect_e1ap_GNB_CU_CP_ConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 705 "./asn1/e1ap/e1ap.cnf"
#line 712 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CP-ConfigurationUpdateFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7844,7 +7928,7 @@ static const per_sequence_t E1ReleaseRequest_sequence[] = {
static int
dissect_e1ap_E1ReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 707 "./asn1/e1ap/e1ap.cnf"
#line 714 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E1ReleaseRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7861,7 +7945,7 @@ static const per_sequence_t E1ReleaseResponse_sequence[] = {
static int
dissect_e1ap_E1ReleaseResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 709 "./asn1/e1ap/e1ap.cnf"
#line 716 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E1ReleaseResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7878,7 +7962,7 @@ static const per_sequence_t BearerContextSetupRequest_sequence[] = {
static int
dissect_e1ap_BearerContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 711 "./asn1/e1ap/e1ap.cnf"
#line 718 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextSetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7919,7 +8003,7 @@ static const per_sequence_t BearerContextSetupResponse_sequence[] = {
static int
dissect_e1ap_BearerContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 713 "./asn1/e1ap/e1ap.cnf"
#line 720 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextSetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7960,7 +8044,7 @@ static const per_sequence_t BearerContextSetupFailure_sequence[] = {
static int
dissect_e1ap_BearerContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 715 "./asn1/e1ap/e1ap.cnf"
#line 722 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextSetupFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -7977,7 +8061,7 @@ static const per_sequence_t BearerContextModificationRequest_sequence[] = {
static int
dissect_e1ap_BearerContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 717 "./asn1/e1ap/e1ap.cnf"
#line 724 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8018,7 +8102,7 @@ static const per_sequence_t BearerContextModificationResponse_sequence[] = {
static int
dissect_e1ap_BearerContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 719 "./asn1/e1ap/e1ap.cnf"
#line 726 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8059,7 +8143,7 @@ static const per_sequence_t BearerContextModificationFailure_sequence[] = {
static int
dissect_e1ap_BearerContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 721 "./asn1/e1ap/e1ap.cnf"
#line 728 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8076,7 +8160,7 @@ static const per_sequence_t BearerContextModificationRequired_sequence[] = {
static int
dissect_e1ap_BearerContextModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 723 "./asn1/e1ap/e1ap.cnf"
#line 730 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationRequired");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8117,7 +8201,7 @@ static const per_sequence_t BearerContextModificationConfirm_sequence[] = {
static int
dissect_e1ap_BearerContextModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 725 "./asn1/e1ap/e1ap.cnf"
#line 732 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextModificationConfirm");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8158,7 +8242,7 @@ static const per_sequence_t BearerContextReleaseCommand_sequence[] = {
static int
dissect_e1ap_BearerContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 727 "./asn1/e1ap/e1ap.cnf"
#line 734 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextReleaseCommand");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8175,7 +8259,7 @@ static const per_sequence_t BearerContextReleaseComplete_sequence[] = {
static int
dissect_e1ap_BearerContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 729 "./asn1/e1ap/e1ap.cnf"
#line 736 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextReleaseComplete");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8192,7 +8276,7 @@ static const per_sequence_t BearerContextReleaseRequest_sequence[] = {
static int
dissect_e1ap_BearerContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 731 "./asn1/e1ap/e1ap.cnf"
#line 738 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextReleaseRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8223,7 +8307,7 @@ static const per_sequence_t BearerContextInactivityNotification_sequence[] = {
static int
dissect_e1ap_BearerContextInactivityNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 733 "./asn1/e1ap/e1ap.cnf"
#line 740 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "BearerContextInactivityNotification");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8240,7 +8324,7 @@ static const per_sequence_t DLDataNotification_sequence[] = {
static int
dissect_e1ap_DLDataNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 735 "./asn1/e1ap/e1ap.cnf"
#line 742 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DLDataNotification");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8257,7 +8341,7 @@ static const per_sequence_t ULDataNotification_sequence[] = {
static int
dissect_e1ap_ULDataNotification(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 737 "./asn1/e1ap/e1ap.cnf"
#line 744 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ULDataNotification");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8274,7 +8358,7 @@ static const per_sequence_t DataUsageReport_sequence[] = {
static int
dissect_e1ap_DataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 739 "./asn1/e1ap/e1ap.cnf"
#line 746 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DataUsageReport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8291,7 +8375,7 @@ static const per_sequence_t GNB_CU_UP_CounterCheckRequest_sequence[] = {
static int
dissect_e1ap_GNB_CU_UP_CounterCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 741 "./asn1/e1ap/e1ap.cnf"
#line 748 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-CounterCheckRequest");
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-UP-CounterCheckRequest");
@ -8347,7 +8431,7 @@ static const per_sequence_t GNB_CU_CPMeasurementResultsInformation_sequence[] =
static int
dissect_e1ap_GNB_CU_CPMeasurementResultsInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 747 "./asn1/e1ap/e1ap.cnf"
#line 754 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "GNB-CU-CPMeasurementResultsInformation");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8364,7 +8448,7 @@ static const per_sequence_t MRDC_DataUsageReport_sequence[] = {
static int
dissect_e1ap_MRDC_DataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 749 "./asn1/e1ap/e1ap.cnf"
#line 756 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MRDC-DataUsageReport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8381,7 +8465,7 @@ static const per_sequence_t TraceStart_sequence[] = {
static int
dissect_e1ap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 753 "./asn1/e1ap/e1ap.cnf"
#line 760 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8398,7 +8482,7 @@ static const per_sequence_t DeactivateTrace_sequence[] = {
static int
dissect_e1ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 751 "./asn1/e1ap/e1ap.cnf"
#line 758 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8415,7 +8499,7 @@ static const per_sequence_t CellTrafficTrace_sequence[] = {
static int
dissect_e1ap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 769 "./asn1/e1ap/e1ap.cnf"
#line 776 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8432,7 +8516,7 @@ static const per_sequence_t PrivateMessage_sequence[] = {
static int
dissect_e1ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 745 "./asn1/e1ap/e1ap.cnf"
#line 752 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8449,7 +8533,7 @@ static const per_sequence_t ResourceStatusRequest_sequence[] = {
static int
dissect_e1ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 755 "./asn1/e1ap/e1ap.cnf"
#line 762 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8476,7 +8560,7 @@ static const per_sequence_t ResourceStatusResponse_sequence[] = {
static int
dissect_e1ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 757 "./asn1/e1ap/e1ap.cnf"
#line 764 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8493,7 +8577,7 @@ static const per_sequence_t ResourceStatusFailure_sequence[] = {
static int
dissect_e1ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 759 "./asn1/e1ap/e1ap.cnf"
#line 766 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8510,7 +8594,7 @@ static const per_sequence_t ResourceStatusUpdate_sequence[] = {
static int
dissect_e1ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 761 "./asn1/e1ap/e1ap.cnf"
#line 768 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8527,7 +8611,7 @@ static const per_sequence_t IAB_UPTNLAddressUpdate_sequence[] = {
static int
dissect_e1ap_IAB_UPTNLAddressUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 763 "./asn1/e1ap/e1ap.cnf"
#line 770 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB-UPTNLAddressUpdate");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8558,7 +8642,7 @@ static const per_sequence_t IAB_UPTNLAddressUpdateAcknowledge_sequence[] = {
static int
dissect_e1ap_IAB_UPTNLAddressUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 765 "./asn1/e1ap/e1ap.cnf"
#line 772 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB-UPTNLAddressUpdateAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8589,7 +8673,7 @@ static const per_sequence_t IAB_UPTNLAddressUpdateFailure_sequence[] = {
static int
dissect_e1ap_IAB_UPTNLAddressUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 767 "./asn1/e1ap/e1ap.cnf"
#line 774 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "IAB-UPTNLAddressUpdateFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8606,7 +8690,7 @@ static const per_sequence_t EarlyForwardingSNTransfer_sequence[] = {
static int
dissect_e1ap_EarlyForwardingSNTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
#line 771 "./asn1/e1ap/e1ap.cnf"
#line 778 "./asn1/e1ap/e1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "EarlyForwardingSNTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@ -8848,6 +8932,14 @@ static int dissect_DAPSRequestInfo_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_
offset += 7; offset >>= 3;
return offset;
}
static int dissect_DataForwardingtoE_UTRANInformationList_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_e1ap_DataForwardingtoE_UTRANInformationList(tvb, offset, &asn1_ctx, tree, hf_e1ap_DataForwardingtoE_UTRANInformationList_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_Data_Usage_Report_List_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@ -9376,6 +9468,14 @@ static int dissect_QosMonitoringRequest_PDU(tvbuff_t *tvb _U_, packet_info *pinf
offset += 7; offset >>= 3;
return offset;
}
static int dissect_QosMonitoringReportingFrequency_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_e1ap_QosMonitoringReportingFrequency(tvb, offset, &asn1_ctx, tree, hf_e1ap_QosMonitoringReportingFrequency_PDU);
offset += 7; offset >>= 3;
return offset;
}
static int dissect_QoS_Mapping_Information_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@ -10305,6 +10405,10 @@ void proto_register_e1ap(void) {
{ "DAPSRequestInfo", "e1ap.DAPSRequestInfo_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_e1ap_DataForwardingtoE_UTRANInformationList_PDU,
{ "DataForwardingtoE-UTRANInformationList", "e1ap.DataForwardingtoE_UTRANInformationList",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_e1ap_Data_Usage_Report_List_PDU,
{ "Data-Usage-Report-List", "e1ap.Data_Usage_Report_List",
FT_UINT32, BASE_DEC, NULL, 0,
@ -10569,6 +10673,10 @@ void proto_register_e1ap(void) {
{ "QosMonitoringRequest", "e1ap.QosMonitoringRequest",
FT_UINT32, BASE_DEC, VALS(e1ap_QosMonitoringRequest_vals), 0,
NULL, HFILL }},
{ &hf_e1ap_QosMonitoringReportingFrequency_PDU,
{ "QosMonitoringReportingFrequency", "e1ap.QosMonitoringReportingFrequency",
FT_UINT32, BASE_DEC|BASE_UNIT_STRING, &units_seconds, 0,
NULL, HFILL }},
{ &hf_e1ap_QoS_Mapping_Information_PDU,
{ "QoS-Mapping-Information", "e1ap.QoS_Mapping_Information_element",
FT_NONE, BASE_NONE, NULL, 0,
@ -11121,6 +11229,18 @@ void proto_register_e1ap(void) {
{ "dL-Data-Forwarding", "e1ap.dL_Data_Forwarding",
FT_UINT32, BASE_DEC, VALS(e1ap_UP_TNL_Information_vals), 0,
"UP_TNL_Information", HFILL }},
{ &hf_e1ap_DataForwardingtoE_UTRANInformationList_item,
{ "DataForwardingtoE-UTRANInformationListItem", "e1ap.DataForwardingtoE_UTRANInformationListItem_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_e1ap_data_forwarding_tunnel_information,
{ "data-forwarding-tunnel-information", "e1ap.data_forwarding_tunnel_information",
FT_UINT32, BASE_DEC, VALS(e1ap_UP_TNL_Information_vals), 0,
"UP_TNL_Information", HFILL }},
{ &hf_e1ap_qoS_Flows_to_be_forwarded_List,
{ "qoS-Flows-to-be-forwarded-List", "e1ap.qoS_Flows_to_be_forwarded_List",
FT_UINT32, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_e1ap_secondaryRATType,
{ "secondaryRATType", "e1ap.secondaryRATType",
FT_UINT32, BASE_DEC, VALS(e1ap_T_secondaryRATType_vals), 0,
@ -12133,6 +12253,10 @@ void proto_register_e1ap(void) {
{ "qoS-Flow-Accumulated-Session-Time", "e1ap.qoS_Flow_Accumulated_Session_Time",
FT_BYTES, BASE_NONE, NULL, 0,
"OCTET_STRING_SIZE_5", HFILL }},
{ &hf_e1ap_QoS_Flows_to_be_forwarded_List_item,
{ "QoS-Flows-to-be-forwarded-Item", "e1ap.QoS_Flows_to_be_forwarded_Item_element",
FT_NONE, BASE_NONE, NULL, 0,
NULL, HFILL }},
{ &hf_e1ap_dscp,
{ "dscp", "e1ap.dscp",
FT_BYTES, BASE_NONE, NULL, 0,
@ -12530,6 +12654,8 @@ void proto_register_e1ap(void) {
&ett_e1ap_DAPSRequestInfo,
&ett_e1ap_Data_Forwarding_Information_Request,
&ett_e1ap_Data_Forwarding_Information,
&ett_e1ap_DataForwardingtoE_UTRANInformationList,
&ett_e1ap_DataForwardingtoE_UTRANInformationListItem,
&ett_e1ap_Data_Usage_per_PDU_Session_Report,
&ett_e1ap_SEQUENCE_SIZE_1_maxnooftimeperiods_OF_MRDC_Data_Usage_Report_Item,
&ett_e1ap_Data_Usage_per_QoS_Flow_List,
@ -12702,6 +12828,8 @@ void proto_register_e1ap(void) {
&ett_e1ap_QoS_Flow_QoS_Parameter_Item,
&ett_e1ap_QoSFlowLevelQoSParameters,
&ett_e1ap_QoS_Flow_Removed_Item,
&ett_e1ap_QoS_Flows_to_be_forwarded_List,
&ett_e1ap_QoS_Flows_to_be_forwarded_Item,
&ett_e1ap_QoS_Mapping_Information,
&ett_e1ap_RedundantPDUSessionInformation,
&ett_e1ap_RetainabilityMeasurementsInfo,
@ -12966,6 +13094,8 @@ proto_reg_handoff_e1ap(void)
dissector_add_uint("e1ap.extension", id_ExtendedSliceSupportList, create_dissector_handle(dissect_ExtendedSliceSupportList_PDU, proto_e1ap));
dissector_add_uint("e1ap.extension", id_MCG_OfferedGBRQoSFlowInfo, create_dissector_handle(dissect_GBR_QoSFlowInformation_PDU, proto_e1ap));
dissector_add_uint("e1ap.extension", id_Number_of_tunnels, create_dissector_handle(dissect_Number_of_tunnels_PDU, proto_e1ap));
dissector_add_uint("e1ap.extension", id_DataForwardingtoE_UTRANInformationList, create_dissector_handle(dissect_DataForwardingtoE_UTRANInformationList_PDU, proto_e1ap));
dissector_add_uint("e1ap.extension", id_QosMonitoringReportingFrequency, create_dissector_handle(dissect_QosMonitoringReportingFrequency_PDU, proto_e1ap));
dissector_add_uint("e1ap.proc.imsg", id_reset, create_dissector_handle(dissect_Reset_PDU, proto_e1ap));
dissector_add_uint("e1ap.proc.sout", id_reset, create_dissector_handle(dissect_ResetAcknowledge_PDU, proto_e1ap));
dissector_add_uint("e1ap.proc.imsg", id_errorIndication, create_dissector_handle(dissect_ErrorIndication_PDU, proto_e1ap));