diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/dissectors/asn1/sbc-ap/sbc-ap.cnf | |
parent | Initial commit. (diff) | |
download | wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip |
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/asn1/sbc-ap/sbc-ap.cnf')
-rw-r--r-- | epan/dissectors/asn1/sbc-ap/sbc-ap.cnf | 377 |
1 files changed, 377 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/sbc-ap/sbc-ap.cnf b/epan/dissectors/asn1/sbc-ap/sbc-ap.cnf new file mode 100644 index 00000000..08a2b1f1 --- /dev/null +++ b/epan/dissectors/asn1/sbc-ap/sbc-ap.cnf @@ -0,0 +1,377 @@ +# sbc-ap.cnf +# sbc-ap conformation file + +#.OPT +PER +ALIGNED +#.END + +#.EXPORTS + +#.PDU +SBC-AP-PDU + +#.MAKE_ENUM +ProcedureCode +ProtocolIE-ID + +#.NO_EMIT +TBCD-STRING +#.END + +#.OMIT_ASSIGNMENT +# Get rid of unused code warnings +ProtocolIE-ContainerList +Presence +Unknown-Tracking-Area-List +NgENB-ID +List-of-5GS-Cells-for-Failure + +#.TYPE_RENAME + +InitiatingMessage/value InitiatingMessage_value +SuccessfulOutcome/value SuccessfulOutcome_value +UnsuccessfulOutcome/value UnsuccessfulOutcome_value + +#.FIELD_RENAME + +InitiatingMessage/value initiatingMessagevalue +UnsuccessfulOutcome/value unsuccessfulOutcome_value +SuccessfulOutcome/value successfulOutcome_value + +ProtocolExtensionField/id ext_id + +ProtocolIE-Field/value ie_field_value + +#.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(sbc_ap_ProtocolIE_ID_vals), "unknown (%d)")); + } +#.END + + + +#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue +# Currently not used +# FN_PARS ProtocolIE-FieldPair/firstValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairFirstValue +# FN_PARS ProtocolIE-FieldPair/secondValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldPairSecondValue + +#.FN_PARS ProtocolExtensionID VAL_PTR=&ProtocolExtensionID +#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue + +#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode +#.END + +#.FN_PARS InitiatingMessage/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_InitiatingMessageValue + +#.FN_PARS SuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_SuccessfulOutcomeValue + +#.FN_PARS UnsuccessfulOutcome/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_UnsuccessfulOutcomeValue + +#--- Parameterization is not supported in asn2wrs --- + +#ProtocolIE-ContainerList {INTEGER : lowerBound, INTEGER : upperBound, SBC-AP-PROTOCOL-IES : IEsSetParam} ::= +# SEQUENCE (SIZE (lowerBound..upperBound)) OF +# ProtocolIE-Container {{IEsSetParam}} + +# FN_PARS ProtocolIE-ContainerList +#MIN_VAL = asn1_param_get_integer(%(ACTX)s,"lowerBound") +#MAX_VAL = asn1_param_get_integer(%(ACTX)s,"upperBound") +# FN_HDR ProtocolIE-ContainerList +# static const asn1_par_def_t ProtocolIE_ContainerList_pars[] = { +# { "lowerBound", ASN1_PAR_INTEGER }, +# { "upperBound", ASN1_PAR_INTEGER }, +# { NULL, 0 } +# }; +# asn1_stack_frame_check(actx, "ProtocolIE-ContainerList", ProtocolIE_ContainerList_pars); +#.END +#ProtocolIE-ContainerPairList {INTEGER : lowerBound, INTEGER : upperBound, SBC-AP-PROTOCOL-IES-PAIR : IEsSetParam} ::= +# SEQUENCE (SIZE (lowerBound..upperBound)) OF +# ProtocolIE-ContainerPair {{IEsSetParam}} + +# following construction is not supported by asn2wrs +# PLMNidentity ::= TBCD-STRING (SIZE (3)) +# TBCD-STRING ::= OCTET STRING + +#.FN_BODY PLMNidentity VAL_PTR = parameter_tvb + tvbuff_t *parameter_tvb=NULL; + struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo); + e212_number_type_t number_type = sbc_ap_data->number_type; + sbc_ap_data->number_type = E212_NONE; + + offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, + 3, 3, FALSE, ¶meter_tvb); + if(tvb_reported_length(tvb)==0) + return offset; + + if (!parameter_tvb) + return offset; + dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, tree, 0, number_type, FALSE); +#.END + +#.TYPE_ATTR +ProtocolExtensionID TYPE = FT_UINT8 DISPLAY = BASE_DEC STRINGS = VALS(sbc_ap_ProtocolIE_ID_vals) + +#.FN_BODY EUTRAN-CGI + struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo); + sbc_ap_data->number_type = E212_ECGI; +%(DEFAULT_BODY)s + +#.FN_BODY NR-CGI + struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo); + sbc_ap_data->number_type = E212_NRCGI; +%(DEFAULT_BODY)s + +#.FN_BODY TAI + struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo); + sbc_ap_data->number_type = E212_TAI; +%(DEFAULT_BODY)s + +#.TYPE_ATTR +TAC TYPE = FT_UINT16 DISPLAY = BASE_DEC_HEX +#.FN_BODY TAC VAL_PTR = ¶meter_tvb HF_INDEX = -1 + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + if (parameter_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.FN_BODY TAI-5GS + struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo); + sbc_ap_data->number_type = E212_5GSTAI; +%(DEFAULT_BODY)s + +#.TYPE_ATTR +TAC-5GS TYPE = FT_UINT24 DISPLAY = BASE_DEC_HEX +#.FN_BODY TAC-5GS VAL_PTR = ¶meter_tvb HF_INDEX = -1 + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + if (parameter_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 3, ENC_BIG_ENDIAN); + } + + +#.ASSIGN_VALUE_TO_TYPE # SBC-AP does not have constants assigned to types, they are pure INTEGER +# ProcedureCode +id-Write-Replace-Warning ProcedureCode +id-Stop-Warning ProcedureCode +id-Error-Indication ProcedureCode +id-Write-Replace-Warning-Indication ProcedureCode +id-Stop-Warning-Indication ProcedureCode +id-PWS-Restart-Indication ProcedureCode +id-PWS-Failure-Indication ProcedureCode + +# ProtocolIE-ID + +id-Broadcast-Message-Content ProtocolIE-ID +id-Cause ProtocolIE-ID +id-Criticality-Diagnostics ProtocolIE-ID +id-Data-Coding-Scheme ProtocolIE-ID +id-Failure-List ProtocolIE-ID +id-Message-Identifier ProtocolIE-ID +id-Number-of-Broadcasts-Completed-List ProtocolIE-ID +id-Number-of-Broadcasts-Requested ProtocolIE-ID +id-Radio-Resource-Loading-List ProtocolIE-ID +id-Recovery-Indication ProtocolIE-ID +id-Repetition-Period ProtocolIE-ID +id-Serial-Number ProtocolIE-ID +id-Service-Areas-List ProtocolIE-ID +id-TypeOfError ProtocolIE-ID +id-List-of-TAIs ProtocolIE-ID +id-Warning-Area-List ProtocolIE-ID +id-Warning-Message-Content ProtocolIE-ID +id-Warning-Security-Information ProtocolIE-ID +id-Warning-Type ProtocolIE-ID +id-Omc-Id ProtocolIE-ID +id-Concurrent-Warning-Message-Indicator ProtocolIE-ID +id-Extended-Repetition-Period ProtocolIE-ID +id-Unknown-Tracking-Area-List ProtocolIE-ID +id-Broadcast-Scheduled-Area-List ProtocolIE-ID +id-Send-Write-Replace-Warning-Indication ProtocolIE-ID +id-Broadcast-Cancelled-Area-List ProtocolIE-ID +id-Send-Stop-Warning-Indication ProtocolIE-ID +id-Stop-All-Indicator ProtocolIE-ID +id-Global-ENB-ID ProtocolIE-ID +id-Broadcast-Empty-Area-List ProtocolIE-ID +id-Restarted-Cell-List ProtocolIE-ID +id-List-of-TAIs-Restart ProtocolIE-ID +id-List-of-EAIs-Restart ProtocolIE-ID +id-Failed-Cell-List ProtocolIE-ID + +id-List-of-5GS-TAIs ProtocolIE-ID +id-Warning-Area-List-5GS ProtocolIE-ID +id-Global-RAN-Node-ID ProtocolIE-ID +id-Global-GNB-ID ProtocolIE-ID +id-RAT-Selector-5GS ProtocolIE-ID +id-Unknown-5GS-Tracking-Area-List ProtocolIE-ID +id-Broadcast-Scheduled-Area-List-5GS ProtocolIE-ID +id-Broadcast-Cancelled-Area-List-5GS ProtocolIE-ID +id-Broadcast-Empty-Area-List-5GS ProtocolIE-ID +id-Restarted-Cell-List-NR ProtocolIE-ID +id-Failed-Cell-List-NR ProtocolIE-ID +id-List-of-5GS-TAI-for-Restart ProtocolIE-ID +id-Warning-Area-Coordinates ProtocolIE-ID + +#.REGISTER + +#SBC-AP-PROTOCOL-IES + +# N sbc_ap.ies id-Broadcast-Message-Content +Cause N sbc_ap.ies id-Cause +Criticality-Diagnostics N sbc_ap.ies id-Criticality-Diagnostics +Data-Coding-Scheme N sbc_ap.ies id-Data-Coding-Scheme +# N sbc_ap.ies id-Failure-List +Message-Identifier N sbc_ap.ies id-Message-Identifier +# id-Number-of-Broadcasts-Completed-List +Number-of-Broadcasts-Requested N sbc_ap.ies id-Number-of-Broadcasts-Requested +# not used ? N sbc_ap.ies id-Radio-Resource-Loading-List +# not used N sbc_ap.ies id-Recovery-Indication +Repetition-Period N sbc_ap.ies id-Repetition-Period +Serial-Number N sbc_ap.ies id-Serial-Number +# id-Service-Areas-List +# id-TypeOfError +List-of-TAIs N sbc_ap.ies id-List-of-TAIs +Warning-Area-List N sbc_ap.ies id-Warning-Area-List +Warning-Message-Content N sbc_ap.ies id-Warning-Message-Content +Warning-Security-Information N sbc_ap.ies id-Warning-Security-Information +Warning-Type N sbc_ap.ies id-Warning-Type +Omc-Id N sbc_ap.ies id-Omc-Id +Concurrent-Warning-Message-Indicator N sbc_ap.ies id-Concurrent-Warning-Message-Indicator +Extended-Repetition-Period N sbc_ap.ies id-Extended-Repetition-Period +List-of-TAIs N sbc_ap.ies id-Unknown-Tracking-Area-List +Broadcast-Scheduled-Area-List N sbc_ap.ies id-Broadcast-Scheduled-Area-List +Send-Write-Replace-Warning-Indication N sbc_ap.ies id-Send-Write-Replace-Warning-Indication +Broadcast-Cancelled-Area-List N sbc_ap.ies id-Broadcast-Cancelled-Area-List +Send-Stop-Warning-Indication N sbc_ap.ies id-Send-Stop-Warning-Indication +Stop-All-Indicator N sbc_ap.ies id-Stop-All-Indicator +Global-ENB-ID N sbc_ap.ies id-Global-ENB-ID +Broadcast-Empty-Area-List N sbc_ap.ies id-Broadcast-Empty-Area-List +Restarted-Cell-List N sbc_ap.ies id-Restarted-Cell-List +List-of-TAIs-Restart N sbc_ap.ies id-List-of-TAIs-Restart +List-of-EAIs-Restart N sbc_ap.ies id-List-of-EAIs-Restart +Failed-Cell-List N sbc_ap.ies id-Failed-Cell-List + +List-of-5GS-TAIs N sbc_ap.extension id-List-of-5GS-TAIs +Warning-Area-List-5GS N sbc_ap.extension id-Warning-Area-List-5GS +Global-RAN-Node-ID N sbc_ap.extension id-Global-RAN-Node-ID +Global-GNB-ID N sbc_ap.extension id-Global-GNB-ID +RAT-Selector-5GS N sbc_ap.extension id-RAT-Selector-5GS +Unknown-5GS-Tracking-Area-List N sbc_ap.extension id-Unknown-5GS-Tracking-Area-List +Broadcast-Scheduled-Area-List-5GS N sbc_ap.extension id-Broadcast-Scheduled-Area-List-5GS +Broadcast-Cancelled-Area-List-5GS N sbc_ap.extension id-Broadcast-Cancelled-Area-List-5GS +Broadcast-Empty-Area-List-5GS N sbc_ap.extension id-Broadcast-Empty-Area-List-5GS +Restarted-Cell-List-NR N sbc_ap.extension id-Restarted-Cell-List-NR +Failed-Cell-List-NR N sbc_ap.extension id-Failed-Cell-List-NR +List-of-5GS-TAI-for-Restart N sbc_ap.extension id-List-of-5GS-TAI-for-Restart +Warning-Area-Coordinates N sbc_ap.ies id-Warning-Area-Coordinates + + +#SBC-AP-ELEMENTARY-PROCEDURE +Write-Replace-Warning-Request N sbc_ap.proc.imsg id-Write-Replace-Warning +Write-Replace-Warning-Response N sbc_ap.proc.sout id-Write-Replace-Warning + +Stop-Warning-Request N sbc_ap.proc.imsg id-Stop-Warning +Stop-Warning-Response N sbc_ap.proc.sout id-Stop-Warning + +Error-Indication N sbc_ap.proc.imsg id-Error-Indication + +Write-Replace-Warning-Indication N sbc_ap.proc.imsg id-Write-Replace-Warning-Indication + +Stop-Warning-Indication N sbc_ap.proc.imsg id-Stop-Warning-Indication + +PWS-Restart-Indication N sbc_ap.proc.imsg id-PWS-Restart-Indication + +PWS-Failure-Indication N sbc_ap.proc.imsg id-PWS-Failure-Indication + +#.END + +#.TYPE_ATTR +Message-Identifier TYPE = FT_UINT16 DISPLAY = BASE_DEC|BASE_EXT_STRING STRINGS = <e_rrc_messageIdentifier_vals_ext + +#.FN_HDR Write-Replace-Warning-Request + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Write-Replace-Warning-Request"); +#.FN_HDR Write-Replace-Warning-Response + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Write-Replace-Warning-Response"); +#.FN_HDR Stop-Warning-Request + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Stop-Warning-Request"); +#.FN_HDR Stop-Warning-Response + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Stop-Warning-Response"); +#.FN_HDR Error-Indication + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Error-Indication"); +#.FN_HDR Write-Replace-Warning-Indication + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Write-Replace-Warning-Indication"); +#.FN_HDR Stop-Warning-Indication + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "Stop-Warning-Indication"); +#.FN_HDR PWS-Restart-Indication + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWS-Restart-Indication"); +#.FN_HDR PWS-Failure-Indication + col_append_sep_str(actx->pinfo->cinfo, COL_INFO, NULL, "PWS-Failure-Indication"); + +#.FN_BODY Message-Identifier VAL_PTR = ¶meter_tvb HF_INDEX = -1 + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + if (parameter_tvb) { + actx->created_item = proto_tree_add_item(tree, hf_index, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.FN_BODY Serial-Number VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + if (parameter_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_sbc_ap_Serial_Number); + proto_tree_add_item(subtree, hf_sbc_ap_Serial_Number_gs, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_sbc_ap_Serial_Number_msg_code, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_sbc_ap_Serial_Number_upd_nb, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + } + +#.TYPE_ATTR +Repetition-Period DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + +#.TYPE_ATTR +Extended-Repetition-Period DISPLAY=BASE_DEC|BASE_UNIT_STRING STRINGS=&units_seconds + +#.FN_BODY Warning-Type VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + if (parameter_tvb) { + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_sbc_ap_Warning_Type); + proto_tree_add_item(subtree, hf_sbc_ap_Warning_Type_value, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_sbc_ap_Warning_Type_emergency_user_alert, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + proto_tree_add_item(subtree, hf_sbc_ap_Warning_Type_popup, parameter_tvb, 0, 2, ENC_BIG_ENDIAN); + } + + +#.FN_BODY Data-Coding-Scheme VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + if (parameter_tvb) { + struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo); + proto_tree *subtree; + + subtree = proto_item_add_subtree(actx->created_item, ett_sbc_ap_Data_Coding_Scheme); + sbc_ap_data->data_coding_scheme = dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree, 0); + } + +#.FN_BODY Warning-Message-Content VAL_PTR = ¶meter_tvb + tvbuff_t *parameter_tvb = NULL; +%(DEFAULT_BODY)s + if (parameter_tvb) { + struct sbc_ap_private_data *sbc_ap_data = sbc_ap_get_private_data(actx->pinfo); + proto_tree *subtree = proto_item_add_subtree(actx->created_item, ett_sbc_ap_Warning_Message_Contents); + dissect_s1ap_warningMessageContents(parameter_tvb, subtree, actx->pinfo, sbc_ap_data->data_coding_scheme, hf_sbc_ap_Warning_Message_Contents_nb_pages, hf_sbc_ap_Warning_Message_Contents_decoded_page); + } + + +# +# Editor modelines - https://www.wireshark.org/tools/modelines.html +# +# Local variables: +# c-basic-offset: 2 +# tab-width: 8 +# indent-tabs-mode: nil +# End: +# +# vi: set shiftwidth=2 tabstop=8 expandtab: +# :indentSize=2:tabSize=8:noTabs=true: +# |