aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-s1ap.c
diff options
context:
space:
mode:
authorPascal Quantin <pascal@wireshark.org>2021-01-05 14:34:10 +0100
committerWireshark GitLab Utility <gerald+gitlab-utility@wireshark.org>2021-01-05 13:42:31 +0000
commit40c1ab88da9158d5e2a3b4fbebe946f605f45c77 (patch)
treec083759a46bebcde96c7fb305950ed42e9ada07e /epan/dissectors/packet-s1ap.c
parent11bec9b0b5aa7ab3be7bf8579105a9183fc9e215 (diff)
S1AP: upgrade dissector to v16.4.0
Diffstat (limited to 'epan/dissectors/packet-s1ap.c')
-rw-r--r--epan/dissectors/packet-s1ap.c224
1 files changed, 125 insertions, 99 deletions
diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c
index 38ab74516a..217664e1d1 100644
--- a/epan/dissectors/packet-s1ap.c
+++ b/epan/dissectors/packet-s1ap.c
@@ -18,7 +18,7 @@
*
* Based on the RANAP dissector
*
- * References: 3GPP TS 36.413 V16.3.0 (2020-09)
+ * References: 3GPP TS 36.413 V16.4.0 (2021-01)
*/
#include "config.h"
@@ -522,7 +522,8 @@ typedef enum _ProtocolIE_ID_enum {
id_eNB_EarlyStatusTransfer_TransparentContainer = 321,
id_Bearers_SubjectToEarlyStatusTransfer_Item = 322,
id_WUS_Assistance_Information = 323,
- id_NB_IoT_PagingDRX = 324
+ id_NB_IoT_PagingDRX = 324,
+ id_TraceCollectionEntityURI = 325
} ProtocolIE_ID_enum;
typedef enum _HandoverType_enum {
@@ -813,6 +814,7 @@ static int hf_s1ap_UESidelinkAggregateMaximumBitrate_PDU = -1; /* UESidelinkAgg
static int hf_s1ap_UE_Usage_Type_PDU = -1; /* UE_Usage_Type */
static int hf_s1ap_UL_CP_SecurityInformation_PDU = -1; /* UL_CP_SecurityInformation */
static int hf_s1ap_UnlicensedSpectrumRestriction_PDU = -1; /* UnlicensedSpectrumRestriction */
+static int hf_s1ap_URI_Address_PDU = -1; /* URI_Address */
static int hf_s1ap_UserLocationInformation_PDU = -1; /* UserLocationInformation */
static int hf_s1ap_UEUserPlaneCIoTSupportIndicator_PDU = -1; /* UEUserPlaneCIoTSupportIndicator */
static int hf_s1ap_UE_Application_Layer_Measurement_Capability_PDU = -1; /* UE_Application_Layer_Measurement_Capability */
@@ -2666,6 +2668,7 @@ static const value_string s1ap_ProtocolIE_ID_vals[] = {
{ id_Bearers_SubjectToEarlyStatusTransfer_Item, "id-Bearers-SubjectToEarlyStatusTransfer-Item" },
{ id_WUS_Assistance_Information, "id-WUS-Assistance-Information" },
{ id_NB_IoT_PagingDRX, "id-NB-IoT-PagingDRX" },
+ { id_TraceCollectionEntityURI, "id-TraceCollectionEntityURI" },
{ 0, NULL }
};
@@ -3016,7 +3019,7 @@ dissect_s1ap_AerialUEsubscriptionInformation(tvbuff_t *tvb _U_, int offset _U_,
static int
dissect_s1ap_CellIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2583 "./asn1/s1ap/s1ap.cnf"
+#line 2585 "./asn1/s1ap/s1ap.cnf"
tvbuff_t *cell_id_tvb = NULL;
offset = dissect_per_bit_string(tvb, offset, actx, tree, -1,
28, 28, FALSE, NULL, 0, &cell_id_tvb, NULL);
@@ -4373,7 +4376,7 @@ static value_string_ext s1ap_CauseRadioNetwork_vals_ext = VALUE_STRING_EXT_INIT(
static int
dissect_s1ap_CauseRadioNetwork(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2554 "./asn1/s1ap/s1ap.cnf"
+#line 2556 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
36, &value, TRUE, 5, NULL);
@@ -4395,7 +4398,7 @@ const value_string s1ap_CauseTransport_vals[] = {
static int
dissect_s1ap_CauseTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2559 "./asn1/s1ap/s1ap.cnf"
+#line 2561 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, &value, TRUE, 0, NULL);
@@ -4420,7 +4423,7 @@ const value_string s1ap_CauseNas_vals[] = {
static int
dissect_s1ap_CauseNas(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2564 "./asn1/s1ap/s1ap.cnf"
+#line 2566 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, &value, TRUE, 1, NULL);
@@ -4447,7 +4450,7 @@ const value_string s1ap_CauseProtocol_vals[] = {
static int
dissect_s1ap_CauseProtocol(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2569 "./asn1/s1ap/s1ap.cnf"
+#line 2571 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
7, &value, TRUE, 0, NULL);
@@ -4473,7 +4476,7 @@ const value_string s1ap_CauseMisc_vals[] = {
static int
dissect_s1ap_CauseMisc(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2574 "./asn1/s1ap/s1ap.cnf"
+#line 2576 "./asn1/s1ap/s1ap.cnf"
guint32 value;
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
6, &value, TRUE, 0, NULL);
@@ -11065,6 +11068,16 @@ dissect_s1ap_UnlicensedSpectrumRestriction(tvbuff_t *tvb _U_, int offset _U_, as
}
+
+static int
+dissect_s1ap_URI_Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, FALSE);
+
+ return offset;
+}
+
+
static const per_sequence_t UserLocationInformation_sequence[] = {
{ &hf_s1ap_eutran_cgi , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_EUTRAN_CGI },
{ &hf_s1ap_tai , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_s1ap_TAI },
@@ -11493,7 +11506,7 @@ static const per_sequence_t HandoverPreparationFailure_sequence[] = {
static int
dissect_s1ap_HandoverPreparationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2358 "./asn1/s1ap/s1ap.cnf"
+#line 2360 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverPreparationFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11631,7 +11644,7 @@ static const per_sequence_t HandoverFailure_sequence[] = {
static int
dissect_s1ap_HandoverFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2364 "./asn1/s1ap/s1ap.cnf"
+#line 2366 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11648,7 +11661,7 @@ static const per_sequence_t HandoverNotify_sequence[] = {
static int
dissect_s1ap_HandoverNotify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2366 "./asn1/s1ap/s1ap.cnf"
+#line 2368 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverNotify");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11665,7 +11678,7 @@ static const per_sequence_t PathSwitchRequest_sequence[] = {
static int
dissect_s1ap_PathSwitchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2368 "./asn1/s1ap/s1ap.cnf"
+#line 2370 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11708,7 +11721,7 @@ static const per_sequence_t PathSwitchRequestAcknowledge_sequence[] = {
static int
dissect_s1ap_PathSwitchRequestAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2370 "./asn1/s1ap/s1ap.cnf"
+#line 2372 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11751,7 +11764,7 @@ static const per_sequence_t PathSwitchRequestFailure_sequence[] = {
static int
dissect_s1ap_PathSwitchRequestFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2372 "./asn1/s1ap/s1ap.cnf"
+#line 2374 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PathSwitchRequestFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11768,7 +11781,7 @@ static const per_sequence_t HandoverCancel_sequence[] = {
static int
dissect_s1ap_HandoverCancel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2374 "./asn1/s1ap/s1ap.cnf"
+#line 2376 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancel");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11785,7 +11798,7 @@ static const per_sequence_t HandoverCancelAcknowledge_sequence[] = {
static int
dissect_s1ap_HandoverCancelAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2376 "./asn1/s1ap/s1ap.cnf"
+#line 2378 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverCancelAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11802,7 +11815,7 @@ static const per_sequence_t HandoverSuccess_sequence[] = {
static int
dissect_s1ap_HandoverSuccess(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2544 "./asn1/s1ap/s1ap.cnf"
+#line 2546 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "HandoverSuccess");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11819,7 +11832,7 @@ static const per_sequence_t ENBEarlyStatusTransfer_sequence[] = {
static int
dissect_s1ap_ENBEarlyStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2546 "./asn1/s1ap/s1ap.cnf"
+#line 2548 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBEarlyStatusTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11836,7 +11849,7 @@ static const per_sequence_t MMEEarlyStatusTransfer_sequence[] = {
static int
dissect_s1ap_MMEEarlyStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2548 "./asn1/s1ap/s1ap.cnf"
+#line 2550 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEEarlyStatusTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11853,7 +11866,7 @@ static const per_sequence_t E_RABSetupRequest_sequence[] = {
static int
dissect_s1ap_E_RABSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2378 "./asn1/s1ap/s1ap.cnf"
+#line 2380 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11903,7 +11916,7 @@ static const per_sequence_t E_RABSetupResponse_sequence[] = {
static int
dissect_s1ap_E_RABSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2380 "./asn1/s1ap/s1ap.cnf"
+#line 2382 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABSetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11951,7 +11964,7 @@ static const per_sequence_t E_RABModifyRequest_sequence[] = {
static int
dissect_s1ap_E_RABModifyRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2382 "./asn1/s1ap/s1ap.cnf"
+#line 2384 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -11999,7 +12012,7 @@ static const per_sequence_t E_RABModifyResponse_sequence[] = {
static int
dissect_s1ap_E_RABModifyResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2384 "./asn1/s1ap/s1ap.cnf"
+#line 2386 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModifyResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12045,7 +12058,7 @@ static const per_sequence_t E_RABReleaseCommand_sequence[] = {
static int
dissect_s1ap_E_RABReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2386 "./asn1/s1ap/s1ap.cnf"
+#line 2388 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseCommand");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12062,7 +12075,7 @@ static const per_sequence_t E_RABReleaseResponse_sequence[] = {
static int
dissect_s1ap_E_RABReleaseResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2388 "./asn1/s1ap/s1ap.cnf"
+#line 2390 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12108,7 +12121,7 @@ static const per_sequence_t E_RABReleaseIndication_sequence[] = {
static int
dissect_s1ap_E_RABReleaseIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2390 "./asn1/s1ap/s1ap.cnf"
+#line 2392 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABReleaseIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12125,7 +12138,7 @@ static const per_sequence_t InitialContextSetupRequest_sequence[] = {
static int
dissect_s1ap_InitialContextSetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2392 "./asn1/s1ap/s1ap.cnf"
+#line 2394 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12175,7 +12188,7 @@ static const per_sequence_t InitialContextSetupResponse_sequence[] = {
static int
dissect_s1ap_InitialContextSetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2394 "./asn1/s1ap/s1ap.cnf"
+#line 2396 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12223,7 +12236,7 @@ static const per_sequence_t InitialContextSetupFailure_sequence[] = {
static int
dissect_s1ap_InitialContextSetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2396 "./asn1/s1ap/s1ap.cnf"
+#line 2398 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "InitialContextSetupFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12240,7 +12253,7 @@ static const per_sequence_t Paging_sequence[] = {
static int
dissect_s1ap_Paging(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2398 "./asn1/s1ap/s1ap.cnf"
+#line 2400 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Paging");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12286,7 +12299,7 @@ static const per_sequence_t UEContextReleaseRequest_sequence[] = {
static int
dissect_s1ap_UEContextReleaseRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2400 "./asn1/s1ap/s1ap.cnf"
+#line 2402 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12303,7 +12316,7 @@ static const per_sequence_t UEContextReleaseCommand_sequence[] = {
static int
dissect_s1ap_UEContextReleaseCommand(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2402 "./asn1/s1ap/s1ap.cnf"
+#line 2404 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseCommand");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12320,7 +12333,7 @@ static const per_sequence_t UEContextReleaseComplete_sequence[] = {
static int
dissect_s1ap_UEContextReleaseComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2404 "./asn1/s1ap/s1ap.cnf"
+#line 2406 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextReleaseComplete");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12337,7 +12350,7 @@ static const per_sequence_t UEContextModificationRequest_sequence[] = {
static int
dissect_s1ap_UEContextModificationRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2406 "./asn1/s1ap/s1ap.cnf"
+#line 2408 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12354,7 +12367,7 @@ static const per_sequence_t UEContextModificationResponse_sequence[] = {
static int
dissect_s1ap_UEContextModificationResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2408 "./asn1/s1ap/s1ap.cnf"
+#line 2410 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12371,7 +12384,7 @@ static const per_sequence_t UEContextModificationFailure_sequence[] = {
static int
dissect_s1ap_UEContextModificationFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2410 "./asn1/s1ap/s1ap.cnf"
+#line 2412 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12388,7 +12401,7 @@ static const per_sequence_t UERadioCapabilityMatchRequest_sequence[] = {
static int
dissect_s1ap_UERadioCapabilityMatchRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2412 "./asn1/s1ap/s1ap.cnf"
+#line 2414 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12405,7 +12418,7 @@ static const per_sequence_t UERadioCapabilityMatchResponse_sequence[] = {
static int
dissect_s1ap_UERadioCapabilityMatchResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2414 "./asn1/s1ap/s1ap.cnf"
+#line 2416 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityMatchResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12482,7 +12495,7 @@ static const per_sequence_t NASNonDeliveryIndication_sequence[] = {
static int
dissect_s1ap_NASNonDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2422 "./asn1/s1ap/s1ap.cnf"
+#line 2424 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASNonDeliveryIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12499,7 +12512,7 @@ static const per_sequence_t RerouteNASRequest_sequence[] = {
static int
dissect_s1ap_RerouteNASRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2424 "./asn1/s1ap/s1ap.cnf"
+#line 2426 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RerouteNASRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12538,7 +12551,7 @@ static const per_sequence_t NASDeliveryIndication_sequence[] = {
static int
dissect_s1ap_NASDeliveryIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2528 "./asn1/s1ap/s1ap.cnf"
+#line 2530 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "NASDeliveryIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12555,7 +12568,7 @@ static const per_sequence_t Reset_sequence[] = {
static int
dissect_s1ap_Reset(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2426 "./asn1/s1ap/s1ap.cnf"
+#line 2428 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Reset");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12623,7 +12636,7 @@ static const per_sequence_t ResetAcknowledge_sequence[] = {
static int
dissect_s1ap_ResetAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2428 "./asn1/s1ap/s1ap.cnf"
+#line 2430 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ResetAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12654,7 +12667,7 @@ static const per_sequence_t ErrorIndication_sequence[] = {
static int
dissect_s1ap_ErrorIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2430 "./asn1/s1ap/s1ap.cnf"
+#line 2432 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ErrorIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12671,7 +12684,7 @@ static const per_sequence_t S1SetupRequest_sequence[] = {
static int
dissect_s1ap_S1SetupRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2432 "./asn1/s1ap/s1ap.cnf"
+#line 2434 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12688,7 +12701,7 @@ static const per_sequence_t S1SetupResponse_sequence[] = {
static int
dissect_s1ap_S1SetupResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2434 "./asn1/s1ap/s1ap.cnf"
+#line 2436 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12705,7 +12718,7 @@ static const per_sequence_t S1SetupFailure_sequence[] = {
static int
dissect_s1ap_S1SetupFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2436 "./asn1/s1ap/s1ap.cnf"
+#line 2438 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "S1SetupFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12722,7 +12735,7 @@ static const per_sequence_t ENBConfigurationUpdate_sequence[] = {
static int
dissect_s1ap_ENBConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2438 "./asn1/s1ap/s1ap.cnf"
+#line 2440 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdate");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12739,7 +12752,7 @@ static const per_sequence_t ENBConfigurationUpdateAcknowledge_sequence[] = {
static int
dissect_s1ap_ENBConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2440 "./asn1/s1ap/s1ap.cnf"
+#line 2442 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12756,7 +12769,7 @@ static const per_sequence_t ENBConfigurationUpdateFailure_sequence[] = {
static int
dissect_s1ap_ENBConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2442 "./asn1/s1ap/s1ap.cnf"
+#line 2444 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationUpdateFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12773,7 +12786,7 @@ static const per_sequence_t MMEConfigurationUpdate_sequence[] = {
static int
dissect_s1ap_MMEConfigurationUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2444 "./asn1/s1ap/s1ap.cnf"
+#line 2446 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdate");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12790,7 +12803,7 @@ static const per_sequence_t MMEConfigurationUpdateAcknowledge_sequence[] = {
static int
dissect_s1ap_MMEConfigurationUpdateAcknowledge(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2446 "./asn1/s1ap/s1ap.cnf"
+#line 2448 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateAcknowledge");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12807,7 +12820,7 @@ static const per_sequence_t MMEConfigurationUpdateFailure_sequence[] = {
static int
dissect_s1ap_MMEConfigurationUpdateFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2448 "./asn1/s1ap/s1ap.cnf"
+#line 2450 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationUpdateFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12824,7 +12837,7 @@ static const per_sequence_t DownlinkS1cdma2000tunnelling_sequence[] = {
static int
dissect_s1ap_DownlinkS1cdma2000tunnelling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2450 "./asn1/s1ap/s1ap.cnf"
+#line 2452 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkS1cdma2000tunnelling");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12841,7 +12854,7 @@ static const per_sequence_t UplinkS1cdma2000tunnelling_sequence[] = {
static int
dissect_s1ap_UplinkS1cdma2000tunnelling(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2452 "./asn1/s1ap/s1ap.cnf"
+#line 2454 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkS1cdma2000tunnelling");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12858,7 +12871,7 @@ static const per_sequence_t UECapabilityInfoIndication_sequence[] = {
static int
dissect_s1ap_UECapabilityInfoIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2454 "./asn1/s1ap/s1ap.cnf"
+#line 2456 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UECapabilityInfoIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12875,7 +12888,7 @@ static const per_sequence_t ENBStatusTransfer_sequence[] = {
static int
dissect_s1ap_ENBStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2456 "./asn1/s1ap/s1ap.cnf"
+#line 2458 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBStatusTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12892,7 +12905,7 @@ static const per_sequence_t MMEStatusTransfer_sequence[] = {
static int
dissect_s1ap_MMEStatusTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2458 "./asn1/s1ap/s1ap.cnf"
+#line 2460 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEStatusTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12909,7 +12922,7 @@ static const per_sequence_t TraceStart_sequence[] = {
static int
dissect_s1ap_TraceStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2460 "./asn1/s1ap/s1ap.cnf"
+#line 2462 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceStart");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12926,7 +12939,7 @@ static const per_sequence_t TraceFailureIndication_sequence[] = {
static int
dissect_s1ap_TraceFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2462 "./asn1/s1ap/s1ap.cnf"
+#line 2464 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "TraceFailureIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12943,7 +12956,7 @@ static const per_sequence_t DeactivateTrace_sequence[] = {
static int
dissect_s1ap_DeactivateTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2464 "./asn1/s1ap/s1ap.cnf"
+#line 2466 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DeactivateTrace");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12960,7 +12973,7 @@ static const per_sequence_t CellTrafficTrace_sequence[] = {
static int
dissect_s1ap_CellTrafficTrace(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2466 "./asn1/s1ap/s1ap.cnf"
+#line 2468 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "CellTrafficTrace");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12977,7 +12990,7 @@ static const per_sequence_t LocationReportingControl_sequence[] = {
static int
dissect_s1ap_LocationReportingControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2468 "./asn1/s1ap/s1ap.cnf"
+#line 2470 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingControl");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -12994,7 +13007,7 @@ static const per_sequence_t LocationReportingFailureIndication_sequence[] = {
static int
dissect_s1ap_LocationReportingFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2470 "./asn1/s1ap/s1ap.cnf"
+#line 2472 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReportingFailureIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13011,7 +13024,7 @@ static const per_sequence_t LocationReport_sequence[] = {
static int
dissect_s1ap_LocationReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2472 "./asn1/s1ap/s1ap.cnf"
+#line 2474 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "LocationReport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13028,7 +13041,7 @@ static const per_sequence_t OverloadStart_sequence[] = {
static int
dissect_s1ap_OverloadStart(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2474 "./asn1/s1ap/s1ap.cnf"
+#line 2476 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStart");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13045,7 +13058,7 @@ static const per_sequence_t OverloadStop_sequence[] = {
static int
dissect_s1ap_OverloadStop(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2476 "./asn1/s1ap/s1ap.cnf"
+#line 2478 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "OverloadStop");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13062,7 +13075,7 @@ static const per_sequence_t WriteReplaceWarningRequest_sequence[] = {
static int
dissect_s1ap_WriteReplaceWarningRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2478 "./asn1/s1ap/s1ap.cnf"
+#line 2480 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13079,7 +13092,7 @@ static const per_sequence_t WriteReplaceWarningResponse_sequence[] = {
static int
dissect_s1ap_WriteReplaceWarningResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2480 "./asn1/s1ap/s1ap.cnf"
+#line 2482 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "WriteReplaceWarningResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13096,7 +13109,7 @@ static const per_sequence_t ENBDirectInformationTransfer_sequence[] = {
static int
dissect_s1ap_ENBDirectInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2482 "./asn1/s1ap/s1ap.cnf"
+#line 2484 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBDirectInformationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13133,7 +13146,7 @@ static const per_sequence_t MMEDirectInformationTransfer_sequence[] = {
static int
dissect_s1ap_MMEDirectInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2484 "./asn1/s1ap/s1ap.cnf"
+#line 2486 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEDirectInformationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13150,7 +13163,7 @@ static const per_sequence_t ENBConfigurationTransfer_sequence[] = {
static int
dissect_s1ap_ENBConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2486 "./asn1/s1ap/s1ap.cnf"
+#line 2488 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBConfigurationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13167,7 +13180,7 @@ static const per_sequence_t MMEConfigurationTransfer_sequence[] = {
static int
dissect_s1ap_MMEConfigurationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2488 "./asn1/s1ap/s1ap.cnf"
+#line 2490 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMEConfigurationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13184,7 +13197,7 @@ static const per_sequence_t PrivateMessage_sequence[] = {
static int
dissect_s1ap_PrivateMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2490 "./asn1/s1ap/s1ap.cnf"
+#line 2492 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PrivateMessage");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13201,7 +13214,7 @@ static const per_sequence_t KillRequest_sequence[] = {
static int
dissect_s1ap_KillRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2492 "./asn1/s1ap/s1ap.cnf"
+#line 2494 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13218,7 +13231,7 @@ static const per_sequence_t KillResponse_sequence[] = {
static int
dissect_s1ap_KillResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2494 "./asn1/s1ap/s1ap.cnf"
+#line 2496 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "KillResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13235,7 +13248,7 @@ static const per_sequence_t PWSRestartIndication_sequence[] = {
static int
dissect_s1ap_PWSRestartIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2496 "./asn1/s1ap/s1ap.cnf"
+#line 2498 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSRestartIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13252,7 +13265,7 @@ static const per_sequence_t PWSFailureIndication_sequence[] = {
static int
dissect_s1ap_PWSFailureIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2498 "./asn1/s1ap/s1ap.cnf"
+#line 2500 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWSFailureIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13269,7 +13282,7 @@ static const per_sequence_t DownlinkUEAssociatedLPPaTransport_sequence[] = {
static int
dissect_s1ap_DownlinkUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2500 "./asn1/s1ap/s1ap.cnf"
+#line 2502 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkUEAssociatedLPPaTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13286,7 +13299,7 @@ static const per_sequence_t UplinkUEAssociatedLPPaTransport_sequence[] = {
static int
dissect_s1ap_UplinkUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2502 "./asn1/s1ap/s1ap.cnf"
+#line 2504 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkUEAssociatedLPPaTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13303,7 +13316,7 @@ static const per_sequence_t DownlinkNonUEAssociatedLPPaTransport_sequence[] = {
static int
dissect_s1ap_DownlinkNonUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2504 "./asn1/s1ap/s1ap.cnf"
+#line 2506 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "DownlinkNonUEAssociatedLPPaTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13320,7 +13333,7 @@ static const per_sequence_t UplinkNonUEAssociatedLPPaTransport_sequence[] = {
static int
dissect_s1ap_UplinkNonUEAssociatedLPPaTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2506 "./asn1/s1ap/s1ap.cnf"
+#line 2508 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UplinkNonUEAssociatedLPPaTransport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13337,7 +13350,7 @@ static const per_sequence_t E_RABModificationIndication_sequence[] = {
static int
dissect_s1ap_E_RABModificationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2508 "./asn1/s1ap/s1ap.cnf"
+#line 2510 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13424,7 +13437,7 @@ static const per_sequence_t E_RABModificationConfirm_sequence[] = {
static int
dissect_s1ap_E_RABModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2510 "./asn1/s1ap/s1ap.cnf"
+#line 2512 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "E-RABModificationConfirm");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13470,7 +13483,7 @@ static const per_sequence_t UEContextModificationIndication_sequence[] = {
static int
dissect_s1ap_UEContextModificationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2512 "./asn1/s1ap/s1ap.cnf"
+#line 2514 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13487,7 +13500,7 @@ static const per_sequence_t UEContextModificationConfirm_sequence[] = {
static int
dissect_s1ap_UEContextModificationConfirm(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2514 "./asn1/s1ap/s1ap.cnf"
+#line 2516 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextModificationConfirm");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13504,7 +13517,7 @@ static const per_sequence_t UEContextSuspendRequest_sequence[] = {
static int
dissect_s1ap_UEContextSuspendRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2516 "./asn1/s1ap/s1ap.cnf"
+#line 2518 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13521,7 +13534,7 @@ static const per_sequence_t UEContextSuspendResponse_sequence[] = {
static int
dissect_s1ap_UEContextSuspendResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2518 "./asn1/s1ap/s1ap.cnf"
+#line 2520 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextSuspendResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13538,7 +13551,7 @@ static const per_sequence_t UEContextResumeRequest_sequence[] = {
static int
dissect_s1ap_UEContextResumeRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2520 "./asn1/s1ap/s1ap.cnf"
+#line 2522 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13580,7 +13593,7 @@ static const per_sequence_t UEContextResumeResponse_sequence[] = {
static int
dissect_s1ap_UEContextResumeResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2522 "./asn1/s1ap/s1ap.cnf"
+#line 2524 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13622,7 +13635,7 @@ static const per_sequence_t UEContextResumeFailure_sequence[] = {
static int
dissect_s1ap_UEContextResumeFailure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2524 "./asn1/s1ap/s1ap.cnf"
+#line 2526 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEContextResumeFailure");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13639,7 +13652,7 @@ static const per_sequence_t ConnectionEstablishmentIndication_sequence[] = {
static int
dissect_s1ap_ConnectionEstablishmentIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2526 "./asn1/s1ap/s1ap.cnf"
+#line 2528 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ConnectionEstablishmentIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13656,7 +13669,7 @@ static const per_sequence_t RetrieveUEInformation_sequence[] = {
static int
dissect_s1ap_RetrieveUEInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2530 "./asn1/s1ap/s1ap.cnf"
+#line 2532 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "RetrieveUEInformation");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13673,7 +13686,7 @@ static const per_sequence_t UEInformationTransfer_sequence[] = {
static int
dissect_s1ap_UEInformationTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2532 "./asn1/s1ap/s1ap.cnf"
+#line 2534 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UEInformationTransfer");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13690,7 +13703,7 @@ static const per_sequence_t ENBCPRelocationIndication_sequence[] = {
static int
dissect_s1ap_ENBCPRelocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2534 "./asn1/s1ap/s1ap.cnf"
+#line 2536 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "ENBCPRelocationIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13707,7 +13720,7 @@ static const per_sequence_t MMECPRelocationIndication_sequence[] = {
static int
dissect_s1ap_MMECPRelocationIndication(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2536 "./asn1/s1ap/s1ap.cnf"
+#line 2538 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "MMECPRelocationIndication");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13724,7 +13737,7 @@ static const per_sequence_t SecondaryRATDataUsageReport_sequence[] = {
static int
dissect_s1ap_SecondaryRATDataUsageReport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2538 "./asn1/s1ap/s1ap.cnf"
+#line 2540 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "SecondaryRATDataUsageReport");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13741,7 +13754,7 @@ static const per_sequence_t UERadioCapabilityIDMappingRequest_sequence[] = {
static int
dissect_s1ap_UERadioCapabilityIDMappingRequest(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2540 "./asn1/s1ap/s1ap.cnf"
+#line 2542 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityIDMappingRequest");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -13758,7 +13771,7 @@ static const per_sequence_t UERadioCapabilityIDMappingResponse_sequence[] = {
static int
dissect_s1ap_UERadioCapabilityIDMappingResponse(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
-#line 2542 "./asn1/s1ap/s1ap.cnf"
+#line 2544 "./asn1/s1ap/s1ap.cnf"
col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "UERadioCapabilityIDMappingResponse");
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
@@ -16412,6 +16425,14 @@ static int dissect_UnlicensedSpectrumRestriction_PDU(tvbuff_t *tvb _U_, packet_i
offset += 7; offset >>= 3;
return offset;
}
+static int dissect_URI_Address_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_s1ap_URI_Address(tvb, offset, &asn1_ctx, tree, hf_s1ap_URI_Address_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
static int dissect_UserLocationInformation_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) {
int offset = 0;
asn1_ctx_t asn1_ctx;
@@ -18125,6 +18146,7 @@ proto_reg_handoff_s1ap(void)
dissector_add_uint("s1ap.extension", id_MDTConfigurationNR, create_dissector_handle(dissect_MDT_ConfigurationNR_PDU, proto_s1ap));
dissector_add_uint("s1ap.extension", id_DAPSRequestInfo, create_dissector_handle(dissect_DAPSRequestInfo_PDU, proto_s1ap));
dissector_add_uint("s1ap.extension", id_DAPSResponseInfoList, create_dissector_handle(dissect_DAPSResponseInfoList_PDU, proto_s1ap));
+ dissector_add_uint("s1ap.extension", id_TraceCollectionEntityURI, create_dissector_handle(dissect_URI_Address_PDU, proto_s1ap));
dissector_add_uint("s1ap.proc.imsg", id_HandoverPreparation, create_dissector_handle(dissect_HandoverRequired_PDU, proto_s1ap));
dissector_add_uint("s1ap.proc.sout", id_HandoverPreparation, create_dissector_handle(dissect_HandoverCommand_PDU, proto_s1ap));
dissector_add_uint("s1ap.proc.uout", id_HandoverPreparation, create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_s1ap));
@@ -19288,6 +19310,10 @@ void proto_register_s1ap(void) {
{ "UnlicensedSpectrumRestriction", "s1ap.UnlicensedSpectrumRestriction",
FT_UINT32, BASE_DEC, VALS(s1ap_UnlicensedSpectrumRestriction_vals), 0,
NULL, HFILL }},
+ { &hf_s1ap_URI_Address_PDU,
+ { "URI-Address", "s1ap.URI_Address",
+ FT_STRING, BASE_NONE, NULL, 0,
+ NULL, HFILL }},
{ &hf_s1ap_UserLocationInformation_PDU,
{ "UserLocationInformation", "s1ap.UserLocationInformation_element",
FT_NONE, BASE_NONE, NULL, 0,