diff --git a/asn1/nbap/nbap.cnf b/asn1/nbap/nbap.cnf index 70808d6fca..24b396e255 100644 --- a/asn1/nbap/nbap.cnf +++ b/asn1/nbap/nbap.cnf @@ -76,10 +76,9 @@ ProtocolIE-ContainerPairList #.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode #.FN_FTR ProcedureCode - if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", - val_to_str(ProcedureCode, nbap_ProcedureCode_vals, - "unknown message")); + col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", + val_to_str(ProcedureCode, nbap_ProcedureCode_vals, + "unknown message")); #.END #.FN_PARS ProcedureID/ddMode VAL_PTR = &ddMode @@ -344,41 +343,41 @@ RL-InformationResponse-RL-AdditionRspTDD N nbap.ies id-RL-InformationResponse-RL CauseLevel-RL-AdditionFailureFDD N nbap.ies id-CauseLevel-RL-AdditionFailureFDD Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD N nbap.ies id-Unsuccessful-RL-InformationRespItem-RL-AdditionFailureFDD Successful-RL-InformationRespItem-RL-AdditionFailureFDD N nbap.ies id-Successful-RL-InformationRespItem-RL-AdditionFailureFDD -CauseLevel-RL-AdditionFailureTDD N nbap.ies id-CauseLevel-RL-AdditionFailureTDD +CauseLevel-RL-AdditionFailureTDD N nbap.ies id-CauseLevel-RL-AdditionFailureTDD Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD N nbap.ies id-Unsuccessful-RL-InformationResp-RL-AdditionFailureTDD -UL-DPCH-Information-RL-ReconfPrepFDD N nbap.ies id-UL-DPCH-Information-RL-ReconfPrepFDD -DL-DPCH-Information-RL-ReconfPrepFDD N nbap.ies id-DL-DPCH-Information-RL-ReconfPrepFDD -FDD-DCHs-to-Modify N nbap.ies id-FDD-DCHs-to-Modify -DCH-FDD-Information N nbap.ies id-DCHs-to-Add-FDD -DCH-DeleteList-RL-ReconfPrepFDD N nbap.ies id-DCH-DeleteList-RL-ReconfPrepFDD -RL-InformationList-RL-ReconfPrepFDD N nbap.ies id-RL-InformationList-RL-ReconfPrepFDD -RL-InformationItem-RL-ReconfPrepFDD N nbap.ies id-RL-InformationItem-RL-ReconfPrepFDD -UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD N nbap.ies id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD -UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD N nbap.ies id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD -UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD N nbap.ies id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD -DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD N nbap.ies id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD -DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD N nbap.ies id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD -DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD N nbap.ies id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD -TDD-DCHs-to-Modify N nbap.ies id-TDD-DCHs-to-Modify -DCH-TDD-Information N nbap.ies id-DCHs-to-Add-TDD -DCH-DeleteList-RL-ReconfPrepTDD N nbap.ies id-DCH-DeleteList-RL-ReconfPrepTDD -DSCH-Information-ModifyList-RL-ReconfPrepTDD N nbap.ies id-DSCH-Information-ModifyList-RL-ReconfPrepTDD -DSCH-TDD-Information N nbap.ies id-DSCHs-to-Add-TDD -DSCH-Information-DeleteList-RL-ReconfPrepTDD N nbap.ies id-DSCH-Information-DeleteList-RL-ReconfPrepTDD -USCH-Information-ModifyList-RL-ReconfPrepTDD N nbap.ies id-USCH-Information-ModifyList-RL-ReconfPrepTDD -USCH-Information N nbap.ies id-USCH-Information-Add -USCH-Information-DeleteList-RL-ReconfPrepTDD N nbap.ies id-USCH-Information-DeleteList-RL-ReconfPrepTDD -RL-Information-RL-ReconfPrepTDD N nbap.ies id-RL-Information-RL-ReconfPrepTDD -UL-DPCH-InformationAddItem-RL-ReconfPrepTDD N nbap.ies id-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD -UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD N nbap.ies id-UL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD +UL-DPCH-Information-RL-ReconfPrepFDD N nbap.ies id-UL-DPCH-Information-RL-ReconfPrepFDD +DL-DPCH-Information-RL-ReconfPrepFDD N nbap.ies id-DL-DPCH-Information-RL-ReconfPrepFDD +FDD-DCHs-to-Modify N nbap.ies id-FDD-DCHs-to-Modify +DCH-FDD-Information N nbap.ies id-DCHs-to-Add-FDD +DCH-DeleteList-RL-ReconfPrepFDD N nbap.ies id-DCH-DeleteList-RL-ReconfPrepFDD +RL-InformationList-RL-ReconfPrepFDD N nbap.ies id-RL-InformationList-RL-ReconfPrepFDD +RL-InformationItem-RL-ReconfPrepFDD N nbap.ies id-RL-InformationItem-RL-ReconfPrepFDD +UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD N nbap.ies id-UL-CCTrCH-InformationAddList-RL-ReconfPrepTDD +UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD N nbap.ies id-UL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD +UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD N nbap.ies id-UL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD +DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD N nbap.ies id-DL-CCTrCH-InformationAddList-RL-ReconfPrepTDD +DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD N nbap.ies id-DL-CCTrCH-InformationModifyList-RL-ReconfPrepTDD +DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD N nbap.ies id-DL-CCTrCH-InformationDeleteList-RL-ReconfPrepTDD +TDD-DCHs-to-Modify N nbap.ies id-TDD-DCHs-to-Modify +DCH-TDD-Information N nbap.ies id-DCHs-to-Add-TDD +DCH-DeleteList-RL-ReconfPrepTDD N nbap.ies id-DCH-DeleteList-RL-ReconfPrepTDD +DSCH-Information-ModifyList-RL-ReconfPrepTDD N nbap.ies id-DSCH-Information-ModifyList-RL-ReconfPrepTDD +DSCH-TDD-Information N nbap.ies id-DSCHs-to-Add-TDD +DSCH-Information-DeleteList-RL-ReconfPrepTDD N nbap.ies id-DSCH-Information-DeleteList-RL-ReconfPrepTDD +USCH-Information-ModifyList-RL-ReconfPrepTDD N nbap.ies id-USCH-Information-ModifyList-RL-ReconfPrepTDD +USCH-Information N nbap.ies id-USCH-Information-Add +USCH-Information-DeleteList-RL-ReconfPrepTDD N nbap.ies id-USCH-Information-DeleteList-RL-ReconfPrepTDD +RL-Information-RL-ReconfPrepTDD N nbap.ies id-RL-Information-RL-ReconfPrepTDD +UL-DPCH-InformationAddItem-RL-ReconfPrepTDD N nbap.ies id-UL-DPCH-InformationAddListIE-RL-ReconfPrepTDD +UL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD N nbap.ies id-UL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD UL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD N nbap.ies id-UL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD N nbap.ies id-UL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD -DL-DPCH-InformationAddItem-RL-ReconfPrepTDD N nbap.ies id-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD -DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD N nbap.ies id-DL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD +DL-DPCH-InformationAddItem-RL-ReconfPrepTDD N nbap.ies id-DL-DPCH-InformationAddListIE-RL-ReconfPrepTDD +DL-DPCH-InformationModify-AddItem-RL-ReconfPrepTDD N nbap.ies id-DL-DPCH-InformationModify-AddListIE-RL-ReconfPrepTDD DL-DPCH-InformationModify-ModifyItem-RL-ReconfPrepTDD N nbap.ies id-DL-DPCH-InformationModify-ModifyListIE-RL-ReconfPrepTDD DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD N nbap.ies id-DL-DPCH-InformationModify-DeleteListIE-RL-ReconfPrepTDD -RL-InformationResponseList-RL-ReconfReady N nbap.ies id-RL-InformationResponseList-RL-ReconfReady -RL-InformationResponseItem-RL-ReconfReady N nbap.ies id-RL-InformationResponseItem-RL-ReconfReady +RL-InformationResponseList-RL-ReconfReady N nbap.ies id-RL-InformationResponseList-RL-ReconfReady +RL-InformationResponseItem-RL-ReconfReady N nbap.ies id-RL-InformationResponseItem-RL-ReconfReady CauseLevel-RL-ReconfFailure N nbap.ies id-CauseLevel-RL-ReconfFailure RL-ReconfigurationFailureItem-RL-ReconfFailure N nbap.ies id-RL-ReconfigurationFailureItem-RL-ReconfFailure CFN N nbap.ies id-CFN diff --git a/asn1/s1ap/s1ap.cnf b/asn1/s1ap/s1ap.cnf index 04318e4ec6..de91ab31c6 100644 --- a/asn1/s1ap/s1ap.cnf +++ b/asn1/s1ap/s1ap.cnf @@ -80,10 +80,9 @@ ProtocolIE-Field/value ie_field_value #.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode #.FN_FTR ProcedureCode - if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", - val_to_str(ProcedureCode, s1ap_ProcedureCode_vals, - "unknown message")); + col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", + val_to_str(ProcedureCode, s1ap_ProcedureCode_vals, + "unknown message")); #.END #.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue @@ -555,11 +554,11 @@ ConcurrentWarningMessageIndicator N s1ap.ies id-ConcurrentWarningMessageIndicat #RAB-SetupOrModifyItemFirst N s1ap.ies.pair.first id-RAB-SetupOrModifyItem #RAB-SetupOrModifyItemSecond N s1ap.ies.pair.second id-RAB-SetupOrModifyItem -#NBAP-PROTOCOL-EXTENSION +#S1AP-PROTOCOL-EXTENSION #RAB-Parameters N s1ap.extension id-AlternativeRABConfiguration #Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf N s1ap.extension id-Alt-RAB-Parameter-ExtendedGuaranteedBitrateInf -#NBAP-ELEMENTARY-PROCEDURE +#S1AP-ELEMENTARY-PROCEDURE HandoverRequired N s1ap.proc.imsg id-HandoverPreparation HandoverCommand N s1ap.proc.sout id-HandoverPreparation HandoverPreparationFailure N s1ap.proc.uout id-HandoverPreparation diff --git a/asn1/x2ap/packet-x2ap-template.c b/asn1/x2ap/packet-x2ap-template.c index 1d93e31251..5f993664fa 100644 --- a/asn1/x2ap/packet-x2ap-template.c +++ b/asn1/x2ap/packet-x2ap-template.c @@ -42,6 +42,7 @@ #include #include "packet-per.h" +#include "packet-e212.h" #ifdef _MSC_VER /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ @@ -98,20 +99,17 @@ static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_in static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - if (!ProcedureID) return 0; - return (dissector_try_string(x2ap_proc_imsg_dissector_table, ProcedureID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port(x2ap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; } static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - if (!ProcedureID) return 0; - return (dissector_try_string(x2ap_proc_sout_dissector_table, ProcedureID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port(x2ap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; } static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - if (!ProcedureID) return 0; - return (dissector_try_string(x2ap_proc_uout_dissector_table, ProcedureID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port(x2ap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; } static void @@ -158,9 +156,9 @@ void proto_register_x2ap(void) { /* Register dissector tables */ x2ap_ies_dissector_table = register_dissector_table("x2ap.ies", "X2AP-PROTOCOL-IES", FT_UINT32, BASE_DEC); x2ap_extension_dissector_table = register_dissector_table("x2ap.extension", "X2AP-PROTOCOL-EXTENSION", FT_UINT32, BASE_DEC); - x2ap_proc_imsg_dissector_table = register_dissector_table("x2ap.proc.imsg", "X2AP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_STRING, BASE_NONE); - x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_STRING, BASE_NONE); - x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_STRING, BASE_NONE); + x2ap_proc_imsg_dissector_table = register_dissector_table("x2ap.proc.imsg", "X2AP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_UINT32, BASE_DEC); + x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_UINT32, BASE_DEC); + x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_UINT32, BASE_DEC); } diff --git a/asn1/x2ap/x2ap.cnf b/asn1/x2ap/x2ap.cnf index 6e43fffb2e..bf82b0a893 100644 --- a/asn1/x2ap/x2ap.cnf +++ b/asn1/x2ap/x2ap.cnf @@ -15,11 +15,9 @@ ALIGNED #.PDU X2AP-PDU -#.MAKE_DEFINES -ProcedureCode - #.MAKE_ENUM ProtocolIE-ID +ProcedureCode #.TYPE_RENAME @@ -48,6 +46,11 @@ ProtocolIE-ContainerPairList #.END #.FN_PARS ProtocolIE-ID VAL_PTR = &ProtocolIE_ID +#.FN_FTR ProtocolIE-ID + if (tree) { + proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(x2ap_ProtocolIE_ID_vals), "unknown (%d)")); + } +#.END #.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue @@ -55,10 +58,9 @@ ProtocolIE-ContainerPairList #.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode #.FN_FTR ProcedureCode - if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", - val_to_str(ProcedureCode, x2ap_ProcedureCode_vals, - "unknown message")); + col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", + val_to_str(ProcedureCode, x2ap_ProcedureCode_vals, + "unknown message")); #.END #.FN_HDR ProcedureCode @@ -72,9 +74,21 @@ ProtocolIE-ContainerPairList #.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue +#.FN_BODY PLMN-Identity VAL_PTR = parameter_tvb + tvbuff_t *parameter_tvb=NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 3, 3, FALSE, ¶meter_tvb); + if(tvb_length(tvb)==0) + return offset; + + if (!parameter_tvb) + return offset; + dissect_e212_mcc_mnc(parameter_tvb, tree, 0); +#.END #.TYPE_ATTR +ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(x2ap_ProtocolIE_ID_vals) #.END # Handle 64 bit constraint @@ -188,36 +202,36 @@ Number-of-Antennaports N x2ap.extension id-Number-of-Antennaports # X2AP-PDU-Descriptions.asn Interface Elementary Procedures #X2AP-ELEMENTARY-PROCEDURE -HandoverRequest S x2ap.proc.imsg "id-handoverPreparation" -HandoverRequestAcknowledge S x2ap.proc.sout "id-handoverPreparation" -HandoverPreparationFailure S x2ap.proc.uout "id-handoverPreparation" +HandoverRequest N x2ap.proc.imsg id-handoverPreparation +HandoverRequestAcknowledge N x2ap.proc.sout id-handoverPreparation +HandoverPreparationFailure N x2ap.proc.uout id-handoverPreparation -SNStatusTransfer S x2ap.proc.imsg "id-snStatusTransfer" +SNStatusTransfer N x2ap.proc.imsg id-snStatusTransfer -UEContextRelease S x2ap.proc.imsg "id-uEContextRelease" +UEContextRelease N x2ap.proc.imsg id-uEContextRelease -HandoverCancel S x2ap.proc.imsg "id-handoverCancel" +HandoverCancel N x2ap.proc.imsg id-handoverCancel -ErrorIndication S x2ap.proc.imsg "id-errorIndication" +ErrorIndication N x2ap.proc.imsg id-errorIndication -ResetRequest S x2ap.proc.imsg "id-reset" -ResetResponse S x2ap.proc.sout "id-reset" +ResetRequest N x2ap.proc.imsg id-reset +ResetResponse N x2ap.proc.sout id-reset -X2SetupRequest S x2ap.proc.imsg "id-x2Setup" -X2SetupResponse S x2ap.proc.sout "id-x2Setup" -X2SetupFailure S x2ap.proc.uout "id-x2Setup" +X2SetupRequest N x2ap.proc.imsg id-x2Setup +X2SetupResponse N x2ap.proc.sout id-x2Setup +X2SetupFailure N x2ap.proc.uout id-x2Setup -LoadInformation S x2ap.proc.imsg "id-loadIndication" +LoadInformation N x2ap.proc.imsg id-loadIndication -ENBConfigurationUpdate S x2ap.proc.imsg "id-eNBConfigurationUpdate" -ENBConfigurationUpdateAcknowledge S x2ap.proc.sout "id-eNBConfigurationUpdate" -ENBConfigurationUpdateFailure S x2ap.proc.uout "id-eNBConfigurationUpdate" +ENBConfigurationUpdate N x2ap.proc.imsg id-eNBConfigurationUpdate +ENBConfigurationUpdateAcknowledge N x2ap.proc.sout id-eNBConfigurationUpdate +ENBConfigurationUpdateFailure N x2ap.proc.uout id-eNBConfigurationUpdate -ResourceStatusRequest S x2ap.proc.imsg "id-resourceStatusReportingInitiation" -ResourceStatusResponse S x2ap.proc.sout "id-resourceStatusReportingInitiation" -ResourceStatusFailure S x2ap.proc.uout "id-resourceStatusReportingInitiation" +ResourceStatusRequest N x2ap.proc.imsg id-resourceStatusReportingInitiation +ResourceStatusResponse N x2ap.proc.sout id-resourceStatusReportingInitiation +ResourceStatusFailure N x2ap.proc.uout id-resourceStatusReportingInitiation -ResourceStatusUpdate S x2ap.proc.imsg "id-resourceStatusReporting" +ResourceStatusUpdate N x2ap.proc.imsg id-resourceStatusReporting -PrivateMessage S x2ap.proc.imsg "id-privateMessage" +PrivateMessage N x2ap.proc.imsg id-privateMessage #.END diff --git a/epan/dissectors/packet-nbap.c b/epan/dissectors/packet-nbap.c index 1591fac822..992681665f 100644 --- a/epan/dissectors/packet-nbap.c +++ b/epan/dissectors/packet-nbap.c @@ -5866,10 +5866,9 @@ dissect_nbap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ 0U, 255U, &ProcedureCode, FALSE); #line 79 "nbap.cnf" - if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", - val_to_str(ProcedureCode, nbap_ProcedureCode_vals, - "unknown message")); + col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", + val_to_str(ProcedureCode, nbap_ProcedureCode_vals, + "unknown message")); return offset; } @@ -5900,7 +5899,7 @@ static const per_sequence_t ProcedureID_sequence[] = { static int dissect_nbap_ProcedureID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 87 "nbap.cnf" +#line 86 "nbap.cnf" ProcedureCode = 0xFFFF; ddMode = 0xFFFF; ProcedureID = NULL; @@ -5908,7 +5907,7 @@ dissect_nbap_ProcedureID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_nbap_ProcedureID, ProcedureID_sequence); -#line 93 "nbap.cnf" +#line 92 "nbap.cnf" ProcedureID = ep_strdup_printf("%s/%s", val_to_str(ProcedureCode, VALS(nbap_ProcedureCode_vals), "unknown(%u)"), val_to_str(ddMode, VALS(nbap_DdMode_vals), "unknown(%u)")); @@ -8942,7 +8941,7 @@ dissect_nbap_TransportBearerRequestIndicator(tvbuff_t *tvb _U_, int offset _U_, static int dissect_nbap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 105 "nbap.cnf" +#line 104 "nbap.cnf" tvbuff_t *parameter_tvb=NULL; proto_tree *subtree; gint tvb_len; diff --git a/epan/dissectors/packet-s1ap.c b/epan/dissectors/packet-s1ap.c index 90b34eba75..950f46e5ac 100644 --- a/epan/dissectors/packet-s1ap.c +++ b/epan/dissectors/packet-s1ap.c @@ -1010,10 +1010,9 @@ dissect_s1ap_ProcedureCode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ 0U, 255U, &ProcedureCode, FALSE); #line 83 "s1ap.cnf" - if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", - val_to_str(ProcedureCode, s1ap_ProcedureCode_vals, - "unknown message")); + col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", + val_to_str(ProcedureCode, s1ap_ProcedureCode_vals, + "unknown message")); return offset; } @@ -1245,7 +1244,7 @@ static const per_sequence_t ProtocolIE_ContainerList_sequence_of[1] = { static int dissect_s1ap_ProtocolIE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 105 "s1ap.cnf" +#line 104 "s1ap.cnf" static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = { { "lowerBound", ASN1_PAR_INTEGER }, { "upperBound", ASN1_PAR_INTEGER }, @@ -1508,7 +1507,7 @@ dissect_s1ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr static int dissect_s1ap_PLMNidentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 167 "s1ap.cnf" +#line 166 "s1ap.cnf" tvbuff_t *parameter_tvb=NULL; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, @@ -2654,7 +2653,7 @@ dissect_s1ap_ENB_UE_S1AP_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx static int dissect_s1ap_ENBname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 179 "s1ap.cnf" +#line 178 "s1ap.cnf" tvbuff_t *parameter_tvb=NULL; int length; int p_offset; @@ -2687,7 +2686,7 @@ dissect_s1ap_ENBname(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr static int dissect_s1ap_TransportLayerAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 214 "s1ap.cnf" +#line 213 "s1ap.cnf" tvbuff_t *parameter_tvb=NULL; proto_tree *subtree; gint tvb_len; @@ -3255,7 +3254,7 @@ dissect_s1ap_MSClassmark3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static int dissect_s1ap_NAS_PDU(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 205 "s1ap.cnf" +#line 204 "s1ap.cnf" tvbuff_t *parameter_tvb=NULL; @@ -4134,7 +4133,7 @@ dissect_s1ap_WarningMessageContents(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_ static int dissect_s1ap_E_RAB_IE_ContainerList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 132 "s1ap.cnf" +#line 131 "s1ap.cnf" asn1_stack_frame_push(actx, "ProtocolIE-ContainerList"); asn1_param_push_integer(actx, 1); asn1_param_push_integer(actx, maxNrOfE_RABs); @@ -4968,7 +4967,7 @@ static const per_sequence_t DownlinkNASTransport_sequence[] = { static int dissect_s1ap_DownlinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 241 "s1ap.cnf" +#line 240 "s1ap.cnf" /* Set the direction of the message */ actx->pinfo->link_dir=P2P_DIR_DL; @@ -4987,7 +4986,7 @@ static const per_sequence_t InitialUEMessage_sequence[] = { static int dissect_s1ap_InitialUEMessage(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 237 "s1ap.cnf" +#line 236 "s1ap.cnf" /* Set the direction of the message */ actx->pinfo->link_dir=P2P_DIR_UL; @@ -5006,7 +5005,7 @@ static const per_sequence_t UplinkNASTransport_sequence[] = { static int dissect_s1ap_UplinkNASTransport(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { -#line 245 "s1ap.cnf" +#line 244 "s1ap.cnf" /* Set the direction of the message */ actx->pinfo->link_dir=P2P_DIR_UL; diff --git a/epan/dissectors/packet-sctp.c b/epan/dissectors/packet-sctp.c index a914a5323d..1502b62e55 100644 --- a/epan/dissectors/packet-sctp.c +++ b/epan/dissectors/packet-sctp.c @@ -3528,7 +3528,7 @@ dissect_sctp_chunk(tvbuff_t *chunk_tvb, length = tvb_get_ntohs(chunk_tvb, CHUNK_LENGTH_OFFSET); padding_length = tvb_length(chunk_tvb) - length; - if (useinfo && (check_col(pinfo->cinfo, COL_INFO))) + if (useinfo) col_append_fstr(pinfo->cinfo, COL_INFO, "%s ", val_to_str(type, chunk_type_values, "RESERVED")); if (tree) { @@ -3646,7 +3646,7 @@ dissect_sctp_chunk(tvbuff_t *chunk_tvb, if (padding_length > 0) proto_tree_add_item(chunk_tree, hf_chunk_padding, chunk_tvb, CHUNK_HEADER_OFFSET + length, padding_length, NETWORK_BYTE_ORDER); - if (useinfo && ((type == SCTP_DATA_CHUNK_ID) || show_always_control_chunks) && check_col(pinfo->cinfo, COL_INFO)) + if (useinfo && ((type == SCTP_DATA_CHUNK_ID) || show_always_control_chunks)) col_set_fence(pinfo->cinfo, COL_INFO); return result; @@ -3863,8 +3863,7 @@ dissect_sctp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) col_set_str(pinfo->cinfo, COL_PROTOCOL, "SCTP"); /* Clear entries in Info column on summary display */ - if (check_col(pinfo->cinfo, COL_INFO)) - col_set_str(pinfo->cinfo, COL_INFO, ""); + col_set_str(pinfo->cinfo, COL_INFO, ""); memset(&pinfo->ppids, 0, sizeof(pinfo->ppids)); diff --git a/epan/dissectors/packet-x2ap.c b/epan/dissectors/packet-x2ap.c index a82ab0904d..d8b3de8263 100644 --- a/epan/dissectors/packet-x2ap.c +++ b/epan/dissectors/packet-x2ap.c @@ -50,6 +50,7 @@ #include #include "packet-per.h" +#include "packet-e212.h" #ifdef _MSC_VER /* disable: "warning C4146: unary minus operator applied to unsigned type, result still unsigned" */ @@ -84,19 +85,20 @@ #define maxPools 16 #define maxnoofCells 16 -/* enumerated values for ProcedureCode */ -#define X2AP_ID_HANDOVERPREPARATION 0 -#define X2AP_ID_HANDOVERCANCEL 1 -#define X2AP_ID_LOADINDICATION 2 -#define X2AP_ID_ERRORINDICATION 3 -#define X2AP_ID_SNSTATUSTRANSFER 4 -#define X2AP_ID_UECONTEXTRELEASE 5 -#define X2AP_ID_X2SETUP 6 -#define X2AP_ID_RESET 7 -#define X2AP_ID_ENBCONFIGURATIONUPDATE 8 -#define X2AP_ID_RESOURCESTATUSREPORTINGINITIATION 9 -#define X2AP_ID_RESOURCESTATUSREPORTING 10 -#define X2AP_ID_PRIVATEMESSAGE 11 +typedef enum _ProcedureCode_enum { + id_handoverPreparation = 0, + id_handoverCancel = 1, + id_loadIndication = 2, + id_errorIndication = 3, + id_snStatusTransfer = 4, + id_uEContextRelease = 5, + id_x2Setup = 6, + id_reset = 7, + id_eNBConfigurationUpdate = 8, + id_resourceStatusReportingInitiation = 9, + id_resourceStatusReporting = 10, + id_privateMessage = 11 +} ProcedureCode_enum; typedef enum _ProtocolIE_ID_enum { id_E_RABs_Admitted_Item = 0, @@ -143,7 +145,7 @@ typedef enum _ProtocolIE_ID_enum { } ProtocolIE_ID_enum; /*--- End of included file: packet-x2ap-val.h ---*/ -#line 58 "packet-x2ap-template.c" +#line 59 "packet-x2ap-template.c" /* Initialize the protocol and registered fields */ static int proto_x2ap = -1; @@ -377,7 +379,7 @@ static int hf_x2ap_successfulOutcome_value = -1; /* SuccessfulOutcome_value */ static int hf_x2ap_value = -1; /* UnsuccessfulOutcome_value */ /*--- End of included file: packet-x2ap-hf.c ---*/ -#line 63 "packet-x2ap-template.c" +#line 64 "packet-x2ap-template.c" /* Initialize the subtree pointers */ static int ett_x2ap = -1; @@ -487,7 +489,7 @@ static gint ett_x2ap_SuccessfulOutcome = -1; static gint ett_x2ap_UnsuccessfulOutcome = -1; /*--- End of included file: packet-x2ap-ett.c ---*/ -#line 68 "packet-x2ap-template.c" +#line 69 "packet-x2ap-template.c" /* Global variables */ static guint32 ProcedureCode; @@ -570,35 +572,34 @@ dissect_x2ap_PrivateIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U static const value_string x2ap_ProcedureCode_vals[] = { - { X2AP_ID_HANDOVERPREPARATION, "id-handoverPreparation" }, - { X2AP_ID_HANDOVERCANCEL, "id-handoverCancel" }, - { X2AP_ID_LOADINDICATION, "id-loadIndication" }, - { X2AP_ID_ERRORINDICATION, "id-errorIndication" }, - { X2AP_ID_SNSTATUSTRANSFER, "id-snStatusTransfer" }, - { X2AP_ID_UECONTEXTRELEASE, "id-uEContextRelease" }, - { X2AP_ID_X2SETUP, "id-x2Setup" }, - { X2AP_ID_RESET, "id-reset" }, - { X2AP_ID_ENBCONFIGURATIONUPDATE, "id-eNBConfigurationUpdate" }, - { X2AP_ID_RESOURCESTATUSREPORTINGINITIATION, "id-resourceStatusReportingInitiation" }, - { X2AP_ID_RESOURCESTATUSREPORTING, "id-resourceStatusReporting" }, - { X2AP_ID_PRIVATEMESSAGE, "id-privateMessage" }, + { id_handoverPreparation, "id-handoverPreparation" }, + { id_handoverCancel, "id-handoverCancel" }, + { id_loadIndication, "id-loadIndication" }, + { id_errorIndication, "id-errorIndication" }, + { id_snStatusTransfer, "id-snStatusTransfer" }, + { id_uEContextRelease, "id-uEContextRelease" }, + { id_x2Setup, "id-x2Setup" }, + { id_reset, "id-reset" }, + { id_eNBConfigurationUpdate, "id-eNBConfigurationUpdate" }, + { id_resourceStatusReportingInitiation, "id-resourceStatusReportingInitiation" }, + { id_resourceStatusReporting, "id-resourceStatusReporting" }, + { id_privateMessage, "id-privateMessage" }, { 0, NULL } }; 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_) { -#line 65 "x2ap.cnf" +#line 67 "x2ap.cnf" ProcedureCode = 0xFFFF; offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, 255U, &ProcedureCode, FALSE); -#line 58 "x2ap.cnf" - if (check_col(actx->pinfo->cinfo, COL_INFO)) - col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", - val_to_str(ProcedureCode, x2ap_ProcedureCode_vals, - "unknown message")); +#line 61 "x2ap.cnf" + col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", + val_to_str(ProcedureCode, x2ap_ProcedureCode_vals, + "unknown message")); return offset; } @@ -655,6 +656,11 @@ dissect_x2ap_ProtocolIE_ID(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0U, maxProtocolIEs, &ProtocolIE_ID, FALSE); +#line 50 "x2ap.cnf" + if (tree) { + proto_item_append_text(proto_item_get_parent_nth(actx->created_item, 2), ": %s", val_to_str(ProtocolIE_ID, VALS(x2ap_ProtocolIE_ID_vals), "unknown (%d)")); + } + return offset; } @@ -918,8 +924,18 @@ dissect_x2ap_BitRate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr 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_) { +#line 78 "x2ap.cnf" + tvbuff_t *parameter_tvb=NULL; + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, - 3, 3, FALSE, NULL); + 3, 3, FALSE, ¶meter_tvb); + if(tvb_length(tvb)==0) + return offset; + + if (!parameter_tvb) + return offset; + dissect_e212_mcc_mnc(parameter_tvb, tree, 0); + return offset; } @@ -3738,7 +3754,7 @@ static void dissect_X2AP_PDU_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, prot /*--- End of included file: packet-x2ap-fn.c ---*/ -#line 88 "packet-x2ap-template.c" +#line 89 "packet-x2ap-template.c" static int dissect_ProtocolIEFieldValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { @@ -3752,20 +3768,17 @@ static int dissect_ProtocolExtensionFieldExtensionValue(tvbuff_t *tvb, packet_in static int dissect_InitiatingMessageValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - if (!ProcedureID) return 0; - return (dissector_try_string(x2ap_proc_imsg_dissector_table, ProcedureID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port(x2ap_proc_imsg_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; } static int dissect_SuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - if (!ProcedureID) return 0; - return (dissector_try_string(x2ap_proc_sout_dissector_table, ProcedureID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port(x2ap_proc_sout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; } static int dissect_UnsuccessfulOutcomeValue(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) { - if (!ProcedureID) return 0; - return (dissector_try_string(x2ap_proc_uout_dissector_table, ProcedureID, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; + return (dissector_try_port(x2ap_proc_uout_dissector_table, ProcedureCode, tvb, pinfo, tree)) ? tvb_length(tvb) : 0; } static void @@ -4691,7 +4704,7 @@ void proto_register_x2ap(void) { "x2ap.UnsuccessfulOutcome_value", HFILL }}, /*--- End of included file: packet-x2ap-hfarr.c ---*/ -#line 140 "packet-x2ap-template.c" +#line 138 "packet-x2ap-template.c" }; /* List of subtrees */ @@ -4802,7 +4815,7 @@ void proto_register_x2ap(void) { &ett_x2ap_UnsuccessfulOutcome, /*--- End of included file: packet-x2ap-ettarr.c ---*/ -#line 146 "packet-x2ap-template.c" +#line 144 "packet-x2ap-template.c" }; @@ -4818,9 +4831,9 @@ void proto_register_x2ap(void) { /* Register dissector tables */ x2ap_ies_dissector_table = register_dissector_table("x2ap.ies", "X2AP-PROTOCOL-IES", FT_UINT32, BASE_DEC); x2ap_extension_dissector_table = register_dissector_table("x2ap.extension", "X2AP-PROTOCOL-EXTENSION", FT_UINT32, BASE_DEC); - x2ap_proc_imsg_dissector_table = register_dissector_table("x2ap.proc.imsg", "X2AP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_STRING, BASE_NONE); - x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_STRING, BASE_NONE); - x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_STRING, BASE_NONE); + x2ap_proc_imsg_dissector_table = register_dissector_table("x2ap.proc.imsg", "X2AP-ELEMENTARY-PROCEDURE InitiatingMessage", FT_UINT32, BASE_DEC); + x2ap_proc_sout_dissector_table = register_dissector_table("x2ap.proc.sout", "X2AP-ELEMENTARY-PROCEDURE SuccessfulOutcome", FT_UINT32, BASE_DEC); + x2ap_proc_uout_dissector_table = register_dissector_table("x2ap.proc.uout", "X2AP-ELEMENTARY-PROCEDURE UnsuccessfulOutcome", FT_UINT32, BASE_DEC); } @@ -4878,31 +4891,31 @@ proto_reg_handoff_x2ap(void) dissector_add("x2ap.ies", id_ENB1_Measurement_ID, new_create_dissector_handle(dissect_Measurement_ID_PDU, proto_x2ap)); dissector_add("x2ap.ies", id_ENB2_Measurement_ID, new_create_dissector_handle(dissect_Measurement_ID_PDU, proto_x2ap)); dissector_add("x2ap.extension", id_Number_of_Antennaports, new_create_dissector_handle(dissect_Number_of_Antennaports_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.imsg", "id-handoverPreparation", new_create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.sout", "id-handoverPreparation", new_create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.uout", "id-handoverPreparation", new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.imsg", "id-snStatusTransfer", new_create_dissector_handle(dissect_SNStatusTransfer_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.imsg", "id-uEContextRelease", new_create_dissector_handle(dissect_UEContextRelease_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.imsg", "id-handoverCancel", new_create_dissector_handle(dissect_HandoverCancel_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.imsg", "id-errorIndication", new_create_dissector_handle(dissect_ErrorIndication_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.imsg", "id-reset", new_create_dissector_handle(dissect_ResetRequest_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.sout", "id-reset", new_create_dissector_handle(dissect_ResetResponse_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.imsg", "id-x2Setup", new_create_dissector_handle(dissect_X2SetupRequest_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.sout", "id-x2Setup", new_create_dissector_handle(dissect_X2SetupResponse_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.uout", "id-x2Setup", new_create_dissector_handle(dissect_X2SetupFailure_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.imsg", "id-loadIndication", new_create_dissector_handle(dissect_LoadInformation_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.imsg", "id-eNBConfigurationUpdate", new_create_dissector_handle(dissect_ENBConfigurationUpdate_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.sout", "id-eNBConfigurationUpdate", new_create_dissector_handle(dissect_ENBConfigurationUpdateAcknowledge_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.uout", "id-eNBConfigurationUpdate", new_create_dissector_handle(dissect_ENBConfigurationUpdateFailure_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.imsg", "id-resourceStatusReportingInitiation", new_create_dissector_handle(dissect_ResourceStatusRequest_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.sout", "id-resourceStatusReportingInitiation", new_create_dissector_handle(dissect_ResourceStatusResponse_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.uout", "id-resourceStatusReportingInitiation", new_create_dissector_handle(dissect_ResourceStatusFailure_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.imsg", "id-resourceStatusReporting", new_create_dissector_handle(dissect_ResourceStatusUpdate_PDU, proto_x2ap)); - dissector_add_string("x2ap.proc.imsg", "id-privateMessage", new_create_dissector_handle(dissect_PrivateMessage_PDU, proto_x2ap)); + dissector_add("x2ap.proc.imsg", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequest_PDU, proto_x2ap)); + dissector_add("x2ap.proc.sout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverRequestAcknowledge_PDU, proto_x2ap)); + dissector_add("x2ap.proc.uout", id_handoverPreparation, new_create_dissector_handle(dissect_HandoverPreparationFailure_PDU, proto_x2ap)); + dissector_add("x2ap.proc.imsg", id_snStatusTransfer, new_create_dissector_handle(dissect_SNStatusTransfer_PDU, proto_x2ap)); + dissector_add("x2ap.proc.imsg", id_uEContextRelease, new_create_dissector_handle(dissect_UEContextRelease_PDU, proto_x2ap)); + dissector_add("x2ap.proc.imsg", id_handoverCancel, new_create_dissector_handle(dissect_HandoverCancel_PDU, proto_x2ap)); + dissector_add("x2ap.proc.imsg", id_errorIndication, new_create_dissector_handle(dissect_ErrorIndication_PDU, proto_x2ap)); + dissector_add("x2ap.proc.imsg", id_reset, new_create_dissector_handle(dissect_ResetRequest_PDU, proto_x2ap)); + dissector_add("x2ap.proc.sout", id_reset, new_create_dissector_handle(dissect_ResetResponse_PDU, proto_x2ap)); + dissector_add("x2ap.proc.imsg", id_x2Setup, new_create_dissector_handle(dissect_X2SetupRequest_PDU, proto_x2ap)); + dissector_add("x2ap.proc.sout", id_x2Setup, new_create_dissector_handle(dissect_X2SetupResponse_PDU, proto_x2ap)); + dissector_add("x2ap.proc.uout", id_x2Setup, new_create_dissector_handle(dissect_X2SetupFailure_PDU, proto_x2ap)); + dissector_add("x2ap.proc.imsg", id_loadIndication, new_create_dissector_handle(dissect_LoadInformation_PDU, proto_x2ap)); + dissector_add("x2ap.proc.imsg", id_eNBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdate_PDU, proto_x2ap)); + dissector_add("x2ap.proc.sout", id_eNBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdateAcknowledge_PDU, proto_x2ap)); + dissector_add("x2ap.proc.uout", id_eNBConfigurationUpdate, new_create_dissector_handle(dissect_ENBConfigurationUpdateFailure_PDU, proto_x2ap)); + dissector_add("x2ap.proc.imsg", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusRequest_PDU, proto_x2ap)); + dissector_add("x2ap.proc.sout", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusResponse_PDU, proto_x2ap)); + dissector_add("x2ap.proc.uout", id_resourceStatusReportingInitiation, new_create_dissector_handle(dissect_ResourceStatusFailure_PDU, proto_x2ap)); + dissector_add("x2ap.proc.imsg", id_resourceStatusReporting, new_create_dissector_handle(dissect_ResourceStatusUpdate_PDU, proto_x2ap)); + dissector_add("x2ap.proc.imsg", id_privateMessage, new_create_dissector_handle(dissect_PrivateMessage_PDU, proto_x2ap)); /*--- End of included file: packet-x2ap-dis-tab.c ---*/ -#line 179 "packet-x2ap-template.c" +#line 177 "packet-x2ap-template.c" }