|
|
@ -32,7 +32,7 @@
|
|
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
|
|
|
*
|
|
|
|
*
|
|
|
|
* Ref:
|
|
|
|
* Ref:
|
|
|
|
* 3GPP TS 36.423 V13.4.0 (2016-06)
|
|
|
|
* 3GPP TS 36.423 V13.5.0 (2016-09)
|
|
|
|
*/
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
|
|
#include "config.h"
|
|
|
|
#include "config.h"
|
|
|
@ -42,6 +42,7 @@
|
|
|
|
#include <epan/asn1.h>
|
|
|
|
#include <epan/asn1.h>
|
|
|
|
#include <epan/prefs.h>
|
|
|
|
#include <epan/prefs.h>
|
|
|
|
#include <epan/sctpppids.h>
|
|
|
|
#include <epan/sctpppids.h>
|
|
|
|
|
|
|
|
#include <epan/proto_data.h>
|
|
|
|
|
|
|
|
|
|
|
|
#include "packet-per.h"
|
|
|
|
#include "packet-per.h"
|
|
|
|
#include "packet-e212.h"
|
|
|
|
#include "packet-e212.h"
|
|
|
@ -307,7 +308,7 @@ typedef enum _ProtocolIE_ID_enum {
|
|
|
|
} ProtocolIE_ID_enum;
|
|
|
|
} ProtocolIE_ID_enum;
|
|
|
|
|
|
|
|
|
|
|
|
/*--- End of included file: packet-x2ap-val.h ---*/
|
|
|
|
/*--- End of included file: packet-x2ap-val.h ---*/
|
|
|
|
#line 57 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
#line 58 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
|
|
|
|
|
|
|
|
/* Initialize the protocol and registered fields */
|
|
|
|
/* Initialize the protocol and registered fields */
|
|
|
|
static int proto_x2ap = -1;
|
|
|
|
static int proto_x2ap = -1;
|
|
|
@ -941,7 +942,7 @@ static int hf_x2ap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */
|
|
|
|
static int hf_x2ap_value = -1; /* UnsuccessfulOutcome_value */
|
|
|
|
static int hf_x2ap_value = -1; /* UnsuccessfulOutcome_value */
|
|
|
|
|
|
|
|
|
|
|
|
/*--- End of included file: packet-x2ap-hf.c ---*/
|
|
|
|
/*--- End of included file: packet-x2ap-hf.c ---*/
|
|
|
|
#line 114 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
#line 115 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
|
|
|
|
|
|
|
|
/* Initialize the subtree pointers */
|
|
|
|
/* Initialize the subtree pointers */
|
|
|
|
static int ett_x2ap = -1;
|
|
|
|
static int ett_x2ap = -1;
|
|
|
@ -1242,12 +1243,27 @@ static gint ett_x2ap_SuccessfulOutcome = -1;
|
|
|
|
static gint ett_x2ap_UnsuccessfulOutcome = -1;
|
|
|
|
static gint ett_x2ap_UnsuccessfulOutcome = -1;
|
|
|
|
|
|
|
|
|
|
|
|
/*--- End of included file: packet-x2ap-ett.c ---*/
|
|
|
|
/*--- End of included file: packet-x2ap-ett.c ---*/
|
|
|
|
#line 138 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
#line 139 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
struct x2ap_private_data {
|
|
|
|
|
|
|
|
guint32 procedure_code;
|
|
|
|
|
|
|
|
guint32 protocol_ie_id;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
enum {
|
|
|
|
|
|
|
|
X2AP_RRC_CONTEXT_LTE,
|
|
|
|
|
|
|
|
X2AP_RRC_CONTEXT_NBIOT
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static const enum_val_t x2ap_rrc_context_vals[] = {
|
|
|
|
|
|
|
|
{"lte", "LTE", X2AP_RRC_CONTEXT_LTE},
|
|
|
|
|
|
|
|
{"nb-iot","NB-IoT", X2AP_RRC_CONTEXT_NBIOT},
|
|
|
|
|
|
|
|
{NULL, NULL, -1}
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* Global variables */
|
|
|
|
/* Global variables */
|
|
|
|
static guint32 ProcedureCode;
|
|
|
|
|
|
|
|
static guint32 ProtocolIE_ID;
|
|
|
|
|
|
|
|
static guint gbl_x2apSctpPort=SCTP_PORT_X2AP;
|
|
|
|
static guint gbl_x2apSctpPort=SCTP_PORT_X2AP;
|
|
|
|
|
|
|
|
static gint g_x2ap_dissect_rrc_context_as = X2AP_RRC_CONTEXT_LTE;
|
|
|
|
|
|
|
|
|
|
|
|
/* Dissector tables */
|
|
|
|
/* Dissector tables */
|
|
|
|
static dissector_table_t x2ap_ies_dissector_table;
|
|
|
|
static dissector_table_t x2ap_ies_dissector_table;
|
|
|
@ -1305,6 +1321,17 @@ x2ap_Threshold_RSRQ_fmt(gchar *s, guint32 v)
|
|
|
|
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-20, v);
|
|
|
|
g_snprintf(s, ITEM_LABEL_LENGTH, "%.1fdB (%u)", ((float)v/2)-20, v);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
static struct x2ap_private_data*
|
|
|
|
|
|
|
|
x2ap_get_private_data(packet_info *pinfo)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
struct x2ap_private_data *x2ap_data = (struct x2ap_private_data*)p_get_proto_data(pinfo->pool, pinfo, proto_x2ap, 0);
|
|
|
|
|
|
|
|
if (!x2ap_data) {
|
|
|
|
|
|
|
|
x2ap_data = wmem_new0(pinfo->pool, struct x2ap_private_data);
|
|
|
|
|
|
|
|
p_add_proto_data(pinfo->pool, pinfo, proto_x2ap, 0, x2ap_data);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return x2ap_data;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*--- Included file: packet-x2ap-fn.c ---*/
|
|
|
|
/*--- Included file: packet-x2ap-fn.c ---*/
|
|
|
|
#line 1 "./asn1/x2ap/packet-x2ap-fn.c"
|
|
|
|
#line 1 "./asn1/x2ap/packet-x2ap-fn.c"
|
|
|
@ -1403,11 +1430,12 @@ static value_string_ext x2ap_ProcedureCode_vals_ext = VALUE_STRING_EXT_INIT(x2ap
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 65 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 64 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
ProcedureCode = 0xFFFF;
|
|
|
|
struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
|
|
0U, 255U, &ProcedureCode, FALSE);
|
|
|
|
0U, 255U, &x2ap_data->procedure_code, FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
return offset;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -1595,12 +1623,16 @@ static value_string_ext x2ap_ProtocolIE_ID_vals_ext = VALUE_STRING_EXT_INIT(x2ap
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
|
|
|
|
#line 51 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
|
|
|
|
struct x2ap_private_data *x2ap_data = x2ap_get_private_data(actx->pinfo);
|
|
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
|
|
0U, maxProtocolIEs, &ProtocolIE_ID, FALSE);
|
|
|
|
0U, maxProtocolIEs, &x2ap_data->protocol_ie_id, FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
#line 52 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#line 54 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
if (tree) {
|
|
|
|
if (tree) {
|
|
|
|
proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(ProtocolIE_ID, &x2ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
|
|
|
|
proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str_ext(x2ap_data->protocol_ie_id, &x2ap_ProtocolIE_ID_vals_ext, "unknown (%d)"));
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
return offset;
|
|
|
|
return offset;
|
|
|
@ -2092,7 +2124,7 @@ dissect_x2ap_AllocationAndRetentionPriority(tvbuff_t *tvb _U_, int offset _U_, a
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_PLMN_Identity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 295 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 298 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
proto_tree *subtree;
|
|
|
|
proto_tree *subtree;
|
|
|
|
|
|
|
|
|
|
|
@ -2173,7 +2205,7 @@ dissect_x2ap_CellBasedMDT(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_TAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 279 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 282 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
|
|
2, 2, FALSE, ¶meter_tvb);
|
|
|
|
2, 2, FALSE, ¶meter_tvb);
|
|
|
@ -2355,7 +2387,7 @@ dissect_x2ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
|
|
|
|
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_constrained_integer_64b(tvb, offset, actx, tree, hf_index,
|
|
|
|
0U, G_GUINT64_CONSTANT(10000000000), NULL, FALSE);
|
|
|
|
0U, G_GUINT64_CONSTANT(10000000000), NULL, FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
#line 310 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 313 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
proto_item_append_text(actx->created_item, "bit/s");
|
|
|
|
proto_item_append_text(actx->created_item, "bit/s");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -3443,7 +3475,7 @@ dissect_x2ap_DL_Total_PRB_usage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_T_transmissionModes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_T_transmissionModes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 424 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 427 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
8, 8, FALSE, ¶meter_tvb, NULL);
|
|
|
|
8, 8, FALSE, ¶meter_tvb, NULL);
|
|
|
@ -3693,7 +3725,7 @@ dissect_x2ap_ENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pro
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_EncryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_EncryptionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 331 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 334 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
16, 16, TRUE, ¶meter_tvb, NULL);
|
|
|
|
16, 16, TRUE, ¶meter_tvb, NULL);
|
|
|
@ -3957,7 +3989,7 @@ dissect_x2ap_EUTRA_Mode_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_EUTRANTraceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_EUTRANTraceID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 228 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 231 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
proto_tree *subtree = NULL;
|
|
|
|
proto_tree *subtree = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
@ -3997,7 +4029,7 @@ dissect_x2ap_ExpectedActivityPeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
|
|
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
|
|
1U, 181U, NULL, FALSE);
|
|
|
|
1U, 181U, NULL, FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
#line 415 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 418 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
proto_item_append_text(actx->created_item, "s");
|
|
|
|
proto_item_append_text(actx->created_item, "s");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -4011,7 +4043,7 @@ dissect_x2ap_ExpectedIdlePeriod(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
|
|
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
|
|
1U, 181U, NULL, FALSE);
|
|
|
|
1U, 181U, NULL, FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
#line 418 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 421 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
proto_item_append_text(actx->created_item, "s");
|
|
|
|
proto_item_append_text(actx->created_item, "s");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -4213,7 +4245,7 @@ dissect_x2ap_ForbiddenTAs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_LAC(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 288 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 291 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
|
|
2, 2, FALSE, ¶meter_tvb);
|
|
|
|
2, 2, FALSE, ¶meter_tvb);
|
|
|
@ -4327,7 +4359,7 @@ dissect_x2ap_GlobalENB_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 95 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 94 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
proto_tree *subtree;
|
|
|
|
proto_tree *subtree;
|
|
|
|
int len;
|
|
|
|
int len;
|
|
|
@ -4387,7 +4419,7 @@ dissect_x2ap_GTPtunnelEndpoint(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_MME_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_MME_Group_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 324 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 327 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
|
|
2, 2, FALSE, ¶meter_tvb);
|
|
|
|
2, 2, FALSE, ¶meter_tvb);
|
|
|
@ -4435,7 +4467,7 @@ dissect_x2ap_GUGroupIDList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_MME_Code(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 315 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 318 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
|
|
1, 1, FALSE, ¶meter_tvb);
|
|
|
|
1, 1, FALSE, ¶meter_tvb);
|
|
|
@ -4539,7 +4571,7 @@ dissect_x2ap_HWLoadIndicator(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 346 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 349 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
16, 16, TRUE, ¶meter_tvb, NULL);
|
|
|
|
16, 16, TRUE, ¶meter_tvb, NULL);
|
|
|
@ -4565,7 +4597,7 @@ dissect_x2ap_IntegrityProtectionAlgorithms(tvbuff_t *tvb _U_, int offset _U_, as
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_InterfacesToTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 239 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 242 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
8, 8, FALSE, ¶meter_tvb, NULL);
|
|
|
|
8, 8, FALSE, ¶meter_tvb, NULL);
|
|
|
@ -4611,7 +4643,7 @@ dissect_x2ap_Time_UE_StayedInCell(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
|
|
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
|
|
|
|
0U, 4095U, NULL, FALSE);
|
|
|
|
0U, 4095U, NULL, FALSE);
|
|
|
|
|
|
|
|
|
|
|
|
#line 361 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 364 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
proto_item_append_text(actx->created_item, "s");
|
|
|
|
proto_item_append_text(actx->created_item, "s");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -4693,7 +4725,7 @@ dissect_x2ap_LastVisitedCell_Item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_LHN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_LHN_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 445 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 448 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
|
|
32, 256, FALSE, ¶meter_tvb);
|
|
|
|
32, 256, FALSE, ¶meter_tvb);
|
|
|
@ -5126,7 +5158,7 @@ dissect_x2ap_MDT_Activation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_MeasurementsToActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 376 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 379 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
8, 8, FALSE, ¶meter_tvb, NULL);
|
|
|
|
8, 8, FALSE, ¶meter_tvb, NULL);
|
|
|
@ -5190,7 +5222,7 @@ dissect_x2ap_MDTPLMNList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_MDT_Location_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_MDT_Location_Info(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 401 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 404 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
8, 8, FALSE, ¶meter_tvb, NULL);
|
|
|
|
8, 8, FALSE, ¶meter_tvb, NULL);
|
|
|
@ -5225,7 +5257,7 @@ dissect_x2ap_Measurement_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_MeNBtoSeNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_MeNBtoSeNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 210 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 213 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
proto_tree *subtree = NULL;
|
|
|
|
proto_tree *subtree = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
@ -5488,7 +5520,7 @@ dissect_x2ap_Number_of_Antennaports(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_Port_Number(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_Port_Number(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 120 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 119 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, -1,
|
|
|
|
2, 2, FALSE, ¶meter_tvb);
|
|
|
|
2, 2, FALSE, ¶meter_tvb);
|
|
|
@ -5792,7 +5824,7 @@ dissect_x2ap_RelativeNarrowbandTxPower(tvbuff_t *tvb _U_, int offset _U_, asn1_c
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 151 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 154 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
32, 32, FALSE, ¶meter_tvb, NULL);
|
|
|
|
32, 32, FALSE, ¶meter_tvb, NULL);
|
|
|
@ -5891,7 +5923,7 @@ dissect_x2ap_ResumeID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_RRC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_RRC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 131 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 130 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
proto_tree *subtree;
|
|
|
|
proto_tree *subtree;
|
|
|
|
|
|
|
|
|
|
|
@ -5902,7 +5934,11 @@ dissect_x2ap_RRC_Context(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
|
|
|
|
return offset;
|
|
|
|
return offset;
|
|
|
|
|
|
|
|
|
|
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRC_Context);
|
|
|
|
subtree = proto_item_add_subtree(actx->created_item, ett_x2ap_RRC_Context);
|
|
|
|
dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
|
|
|
|
if (g_x2ap_dissect_rrc_context_as == X2AP_RRC_CONTEXT_NBIOT) {
|
|
|
|
|
|
|
|
dissect_lte_rrc_HandoverPreparationInformation_NB_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
|
|
|
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
dissect_lte_rrc_HandoverPreparationInformation_PDU(parameter_tvb, actx->pinfo, subtree, NULL);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -6057,7 +6093,7 @@ dissect_x2ap_SeNBSecurityKey(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBtoMeNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBtoMeNBContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 219 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 222 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
proto_tree *subtree = NULL;
|
|
|
|
proto_tree *subtree = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6186,7 +6222,7 @@ dissect_x2ap_TargetCellInUTRAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_TargeteNBtoSource_eNBTransparentContainer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 76 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 75 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
proto_tree *subtree;
|
|
|
|
proto_tree *subtree;
|
|
|
|
|
|
|
|
|
|
|
@ -6258,7 +6294,7 @@ dissect_x2ap_TraceDepth(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_TraceCollectionEntityIPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_TraceCollectionEntityIPAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 254 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 257 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
proto_tree *subtree;
|
|
|
|
proto_tree *subtree;
|
|
|
|
int len;
|
|
|
|
int len;
|
|
|
@ -6371,7 +6407,7 @@ dissect_x2ap_UE_HistoryInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_UE_HistoryInformationFromTheUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_UE_HistoryInformationFromTheUE(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 142 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 145 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
proto_tree *subtree;
|
|
|
|
proto_tree *subtree;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6421,7 +6457,7 @@ dissect_x2ap_UE_X2AP_ID_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_UE_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_UE_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 192 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 195 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
proto_tree *subtree = NULL;
|
|
|
|
proto_tree *subtree = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6441,7 +6477,7 @@ dissect_x2ap_UE_RLF_Report_Container(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_UE_RLF_Report_Container_for_extended_bands(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_UE_RLF_Report_Container_for_extended_bands(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 201 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 204 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
proto_tree *subtree = NULL;
|
|
|
|
proto_tree *subtree = NULL;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6531,7 +6567,7 @@ static const per_sequence_t HandoverRequest_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_HandoverRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 459 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 462 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
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,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6630,7 +6666,7 @@ static const per_sequence_t HandoverRequestAcknowledge_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_HandoverRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 461 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 464 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
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,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6678,7 +6714,7 @@ static const per_sequence_t HandoverPreparationFailure_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 463 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 466 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6695,7 +6731,7 @@ static const per_sequence_t HandoverReport_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_HandoverReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_HandoverReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 501 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 504 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverReport");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverReport");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6712,7 +6748,7 @@ static const per_sequence_t SNStatusTransfer_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SNStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SNStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 465 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 468 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNStatusTransfer");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SNStatusTransfer");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6761,7 +6797,7 @@ static const per_sequence_t UEContextRelease_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_UEContextRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_UEContextRelease(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 467 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 470 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextRelease");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextRelease");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6778,7 +6814,7 @@ static const per_sequence_t HandoverCancel_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 469 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 472 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6795,7 +6831,7 @@ static const per_sequence_t ErrorIndication_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 471 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 474 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6812,7 +6848,7 @@ static const per_sequence_t ResetRequest_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ResetRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 473 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 476 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetRequest");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6829,7 +6865,7 @@ static const per_sequence_t ResetResponse_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ResetResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 475 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 478 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetResponse");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6846,7 +6882,7 @@ static const per_sequence_t X2SetupRequest_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_X2SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_X2SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 477 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 480 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupRequest");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupRequest");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6863,7 +6899,7 @@ static const per_sequence_t X2SetupResponse_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_X2SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_X2SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 479 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 482 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupResponse");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupResponse");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6880,7 +6916,7 @@ static const per_sequence_t X2SetupFailure_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_X2SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_X2SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 481 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 484 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupFailure");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2SetupFailure");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6897,7 +6933,7 @@ static const per_sequence_t LoadInformation_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_LoadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_LoadInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 483 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 486 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LoadInformation");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LoadInformation");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -6946,7 +6982,7 @@ static const per_sequence_t ENBConfigurationUpdate_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 485 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 488 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7008,7 +7044,7 @@ static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 487 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 490 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7025,7 +7061,7 @@ static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 489 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 492 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7042,7 +7078,7 @@ static const per_sequence_t ResourceStatusRequest_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ResourceStatusRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 491 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 494 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusRequest");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7121,7 +7157,7 @@ static const per_sequence_t ResourceStatusResponse_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ResourceStatusResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 493 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 496 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusResponse");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7178,7 +7214,7 @@ dissect_x2ap_MeasurementInitiationResult_Item(tvbuff_t *tvb _U_, int offset _U_,
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_T_measurementFailedReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_T_measurementFailedReportCharacteristics(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 170 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 173 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
tvbuff_t *parameter_tvb = NULL;
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_bit_string(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7229,7 +7265,7 @@ static const per_sequence_t ResourceStatusFailure_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ResourceStatusFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 495 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 498 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusFailure");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7276,7 +7312,7 @@ static const per_sequence_t ResourceStatusUpdate_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_ResourceStatusUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 497 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 500 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResourceStatusUpdate");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7325,7 +7361,7 @@ static const per_sequence_t PrivateMessage_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 499 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 502 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7342,7 +7378,7 @@ static const per_sequence_t MobilityChangeRequest_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_MobilityChangeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_MobilityChangeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 505 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 508 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeRequest");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeRequest");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7359,7 +7395,7 @@ static const per_sequence_t MobilityChangeAcknowledge_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_MobilityChangeAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_MobilityChangeAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 507 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 510 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeAcknowledge");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeAcknowledge");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7376,7 +7412,7 @@ static const per_sequence_t MobilityChangeFailure_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_MobilityChangeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_MobilityChangeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 509 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 512 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeFailure");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MobilityChangeFailure");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7393,7 +7429,7 @@ static const per_sequence_t RLFIndication_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_RLFIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_RLFIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 503 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 506 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RLFIndication");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RLFIndication");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7410,7 +7446,7 @@ static const per_sequence_t CellActivationRequest_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_CellActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_CellActivationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 511 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 514 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationRequest");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationRequest");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7456,7 +7492,7 @@ static const per_sequence_t CellActivationResponse_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_CellActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_CellActivationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 513 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 516 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationResponse");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationResponse");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7502,7 +7538,7 @@ static const per_sequence_t CellActivationFailure_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_CellActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_CellActivationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 515 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 518 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationFailure");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellActivationFailure");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7519,7 +7555,7 @@ static const per_sequence_t X2Release_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_X2Release(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_X2Release(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 517 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 520 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2Release");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2Release");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7536,7 +7572,7 @@ static const per_sequence_t X2APMessageTransfer_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_X2APMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_X2APMessageTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 519 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 522 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2APMessageTransfer");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2APMessageTransfer");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7565,7 +7601,7 @@ dissect_x2ap_RNL_Header(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_X2AP_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_X2AP_Message(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 450 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 453 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
tvbuff_t *parameter_tvb;
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
|
|
|
|
NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb);
|
|
|
|
NO_BOUND, NO_BOUND, FALSE, ¶meter_tvb);
|
|
|
@ -7587,7 +7623,7 @@ static const per_sequence_t SeNBAdditionRequest_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBAdditionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBAdditionRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 527 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 530 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequest");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequest");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7675,7 +7711,7 @@ static const per_sequence_t SeNBAdditionRequestAcknowledge_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBAdditionRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBAdditionRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 529 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 532 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestAcknowledge");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestAcknowledge");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7762,7 +7798,7 @@ static const per_sequence_t SeNBAdditionRequestReject_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBAdditionRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBAdditionRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 531 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 534 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestReject");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBAdditionRequestReject");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7779,7 +7815,7 @@ static const per_sequence_t SeNBReconfigurationComplete_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBReconfigurationComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 533 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 536 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReconfigurationComplete");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReconfigurationComplete");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -7849,7 +7885,7 @@ static const per_sequence_t SeNBModificationRequest_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 535 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 538 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequest");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequest");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8096,7 +8132,7 @@ static const per_sequence_t SeNBModificationRequestAcknowledge_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBModificationRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBModificationRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 537 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 540 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestAcknowledge");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestAcknowledge");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8317,7 +8353,7 @@ static const per_sequence_t SeNBModificationRequestReject_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBModificationRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBModificationRequestReject(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 539 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 542 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestReject");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequestReject");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8334,7 +8370,7 @@ static const per_sequence_t SeNBModificationRequired_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBModificationRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 541 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 544 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequired");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRequired");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8381,7 +8417,7 @@ static const per_sequence_t SeNBModificationConfirm_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 543 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 546 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationConfirm");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationConfirm");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8398,7 +8434,7 @@ static const per_sequence_t SeNBModificationRefuse_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBModificationRefuse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 545 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 548 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRefuse");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBModificationRefuse");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8415,7 +8451,7 @@ static const per_sequence_t SeNBReleaseRequest_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 547 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 550 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequest");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequest");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8501,7 +8537,7 @@ static const per_sequence_t SeNBReleaseRequired_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBReleaseRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBReleaseRequired(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 549 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 552 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequired");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseRequired");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8518,7 +8554,7 @@ static const per_sequence_t SeNBReleaseConfirm_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBReleaseConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBReleaseConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 551 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 554 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseConfirm");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBReleaseConfirm");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8604,7 +8640,7 @@ static const per_sequence_t SeNBCounterCheckRequest_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_SeNBCounterCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_SeNBCounterCheckRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 553 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 556 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBCounterCheckRequest");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SeNBCounterCheckRequest");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8662,7 +8698,7 @@ static const per_sequence_t X2RemovalRequest_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_X2RemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_X2RemovalRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 521 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 524 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalRequest");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalRequest");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8679,7 +8715,7 @@ static const per_sequence_t X2RemovalResponse_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_X2RemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_X2RemovalResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 523 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 526 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalResponse");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalResponse");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8696,7 +8732,7 @@ static const per_sequence_t X2RemovalFailure_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_X2RemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_X2RemovalFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 525 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 528 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalFailure");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "X2RemovalFailure");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8713,7 +8749,7 @@ static const per_sequence_t RetrieveUEContextRequest_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_RetrieveUEContextRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_RetrieveUEContextRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 555 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 558 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextRequest");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextRequest");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8730,7 +8766,7 @@ static const per_sequence_t RetrieveUEContextResponse_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_RetrieveUEContextResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_RetrieveUEContextResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 557 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 560 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextResponse");
|
|
|
|
|
|
|
|
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
|
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
|
|
|
@ -8803,7 +8839,7 @@ static const per_sequence_t RetrieveUEContextFailure_sequence[] = {
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
|
dissect_x2ap_RetrieveUEContextFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
dissect_x2ap_RetrieveUEContextFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
|
|
|
|
#line 559 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
#line 562 "./asn1/x2ap/x2ap.cnf"
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure");
|
|
|
|
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEContextFailure");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -10501,31 +10537,41 @@ static int dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*--- End of included file: packet-x2ap-fn.c ---*/
|
|
|
|
/*--- End of included file: packet-x2ap-fn.c ---*/
|
|
|
|
#line 201 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
#line 228 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
|
|
|
|
|
|
|
|
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
|
|
static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return (dissector_try_uint(x2ap_ies_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
|
|
|
|
struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return (dissector_try_uint(x2ap_ies_dissector_table, x2ap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
|
|
static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return (dissector_try_uint(x2ap_extension_dissector_table, ProtocolIE_ID, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
|
|
|
|
struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return (dissector_try_uint(x2ap_extension_dissector_table, x2ap_data->protocol_ie_id, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
|
|
static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return (dissector_try_uint(x2ap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
|
|
|
|
struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return (dissector_try_uint(x2ap_proc_imsg_dissector_table, x2ap_data->procedure_code, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
|
|
static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return (dissector_try_uint(x2ap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
|
|
|
|
struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return (dissector_try_uint(x2ap_proc_sout_dissector_table, x2ap_data->procedure_code, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
|
|
static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return (dissector_try_uint(x2ap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
|
|
|
|
struct x2ap_private_data *x2ap_data = x2ap_get_private_data(pinfo);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return (dissector_try_uint(x2ap_proc_uout_dissector_table, x2ap_data->procedure_code, tvb, pinfo, tree)) ? tvb_captured_length(tvb) : 0;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
static int
|
|
|
|
static int
|
|
|
@ -13057,7 +13103,7 @@ void proto_register_x2ap(void) {
|
|
|
|
"UnsuccessfulOutcome_value", HFILL }},
|
|
|
|
"UnsuccessfulOutcome_value", HFILL }},
|
|
|
|
|
|
|
|
|
|
|
|
/*--- End of included file: packet-x2ap-hfarr.c ---*/
|
|
|
|
/*--- End of included file: packet-x2ap-hfarr.c ---*/
|
|
|
|
#line 464 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
#line 501 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
/* List of subtrees */
|
|
|
|
/* List of subtrees */
|
|
|
@ -13360,7 +13406,7 @@ void proto_register_x2ap(void) {
|
|
|
|
&ett_x2ap_UnsuccessfulOutcome,
|
|
|
|
&ett_x2ap_UnsuccessfulOutcome,
|
|
|
|
|
|
|
|
|
|
|
|
/*--- End of included file: packet-x2ap-ettarr.c ---*/
|
|
|
|
/*--- End of included file: packet-x2ap-ettarr.c ---*/
|
|
|
|
#line 490 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
#line 527 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
module_t *x2ap_module;
|
|
|
|
module_t *x2ap_module;
|
|
|
@ -13389,7 +13435,9 @@ void proto_register_x2ap(void) {
|
|
|
|
"Set the SCTP port for X2AP messages",
|
|
|
|
"Set the SCTP port for X2AP messages",
|
|
|
|
10,
|
|
|
|
10,
|
|
|
|
&gbl_x2apSctpPort);
|
|
|
|
&gbl_x2apSctpPort);
|
|
|
|
|
|
|
|
prefs_register_enum_preference(x2ap_module, "dissect_rrc_context_as", "Dissect RRC Context as",
|
|
|
|
|
|
|
|
"Select whether RRC Context should be dissected as legacy LTE or NB-IOT",
|
|
|
|
|
|
|
|
&g_x2ap_dissect_rrc_context_as, x2ap_rrc_context_vals, FALSE);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@ -13397,13 +13445,13 @@ void proto_register_x2ap(void) {
|
|
|
|
void
|
|
|
|
void
|
|
|
|
proto_reg_handoff_x2ap(void)
|
|
|
|
proto_reg_handoff_x2ap(void)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
static gboolean Initialized=FALSE;
|
|
|
|
static gboolean Initialized=FALSE;
|
|
|
|
static guint SctpPort;
|
|
|
|
static guint SctpPort;
|
|
|
|
|
|
|
|
|
|
|
|
if (!Initialized) {
|
|
|
|
if (!Initialized) {
|
|
|
|
dissector_add_for_decode_as("sctp.port", x2ap_handle);
|
|
|
|
dissector_add_for_decode_as("sctp.port", x2ap_handle);
|
|
|
|
dissector_add_uint("sctp.ppi", X2AP_PAYLOAD_PROTOCOL_ID, x2ap_handle);
|
|
|
|
dissector_add_uint("sctp.ppi", X2AP_PAYLOAD_PROTOCOL_ID, x2ap_handle);
|
|
|
|
Initialized=TRUE;
|
|
|
|
Initialized=TRUE;
|
|
|
|
|
|
|
|
|
|
|
|
/*--- Included file: packet-x2ap-dis-tab.c ---*/
|
|
|
|
/*--- Included file: packet-x2ap-dis-tab.c ---*/
|
|
|
|
#line 1 "./asn1/x2ap/packet-x2ap-dis-tab.c"
|
|
|
|
#line 1 "./asn1/x2ap/packet-x2ap-dis-tab.c"
|
|
|
@ -13633,18 +13681,17 @@ proto_reg_handoff_x2ap(void)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/*--- End of included file: packet-x2ap-dis-tab.c ---*/
|
|
|
|
/*--- End of included file: packet-x2ap-dis-tab.c ---*/
|
|
|
|
#line 534 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
#line 573 "./asn1/x2ap/packet-x2ap-template.c"
|
|
|
|
} else {
|
|
|
|
} else {
|
|
|
|
if (SctpPort != 0) {
|
|
|
|
if (SctpPort != 0) {
|
|
|
|
dissector_delete_uint("sctp.port", SctpPort, x2ap_handle);
|
|
|
|
dissector_delete_uint("sctp.port", SctpPort, x2ap_handle);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
SctpPort=gbl_x2apSctpPort;
|
|
|
|
|
|
|
|
if (SctpPort != 0) {
|
|
|
|
|
|
|
|
dissector_add_uint("sctp.port", SctpPort, x2ap_handle);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SctpPort=gbl_x2apSctpPort;
|
|
|
|
|
|
|
|
if (SctpPort != 0) {
|
|
|
|
|
|
|
|
dissector_add_uint("sctp.port", SctpPort, x2ap_handle);
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|