summaryrefslogtreecommitdiffstats
path: root/epan/dissectors/asn1/sabp/sabp.cnf
diff options
context:
space:
mode:
Diffstat (limited to 'epan/dissectors/asn1/sabp/sabp.cnf')
-rw-r--r--epan/dissectors/asn1/sabp/sabp.cnf216
1 files changed, 216 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/sabp/sabp.cnf b/epan/dissectors/asn1/sabp/sabp.cnf
new file mode 100644
index 00000000..2630514e
--- /dev/null
+++ b/epan/dissectors/asn1/sabp/sabp.cnf
@@ -0,0 +1,216 @@
+# sabp.cnf
+# sabp conformation file
+# Copyright 2007 Tomas Kukosa
+
+#.OPT
+PER
+ALIGNED
+#.END
+
+#.NO_EMIT
+
+#.PDU
+SABP-PDU
+
+#.MAKE_ENUM
+ProcedureCode
+ProtocolIE-ID
+
+#.USE_VALS_EXT
+ProcedureCode
+ProtocolIE-ID
+Cause
+
+#.OMIT_ASSIGNMENT
+Presence
+ProtocolIE-ContainerList
+#.END
+
+#.TF_RENAME
+ProtocolIE-Field/value ProtocolIE_Field_value
+InitiatingMessage/value InitiatingMessage_value
+SuccessfulOutcome/value SuccessfulOutcome_value
+UnsuccessfulOutcome/value UnsuccessfulOutcome_value
+#.END
+
+#.FIELD_RENAME
+ProtocolExtensionField/id ext_id
+MessageStructure/_item/repetitionNumber repetitionNumber1
+#.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_ext(ProtocolIE_ID, &sabp_ProtocolIE_ID_vals_ext, "unknown (%d)"));
+ }
+#.END
+
+
+#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue
+
+#.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
+#.FN_FTR ProcedureCode
+ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ",
+ val_to_str_ext(ProcedureCode, &sabp_ProcedureCode_vals_ext,
+ "unknown message"));
+#.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
+
+
+#.ASSIGN_VALUE_TO_TYPE # SABP does not have constants assigned to types, they are pure INTEGER
+# ProcedureCode
+id-Write-Replace ProcedureCode
+id-Kill ProcedureCode
+id-Load-Status-Enquiry ProcedureCode
+id-Message-Status-Query ProcedureCode
+id-Restart-Indication ProcedureCode
+id-Reset ProcedureCode
+id-Failure-Indication ProcedureCode
+id-Error-Indication ProcedureCode
+
+# ProtocolIE-ID
+id-Broadcast-Message-Content ProtocolIE-ID
+id-Category 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-New-Serial-Number ProtocolIE-ID
+id-Number-of-Broadcasts-Completed-List ProtocolIE-ID
+id-Number-of-Broadcasts-Requested ProtocolIE-ID
+id-Old-Serial-Number 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-MessageStructure ProtocolIE-ID
+id-TypeOfError ProtocolIE-ID
+id-Paging-ETWS-Indicator ProtocolIE-ID
+id-Warning-Type ProtocolIE-ID
+id-WarningSecurityInfo ProtocolIE-ID
+id-Broadcast-Message-Content-Validity-Indicator ProtocolIE-ID
+
+#.END
+
+#.REGISTER
+
+#SABP-PROTOCOL-IES
+Message-Identifier N sabp.ies id-Message-Identifier
+New-Serial-Number N sabp.ies id-New-Serial-Number
+Old-Serial-Number N sabp.ies id-Old-Serial-Number
+Service-Areas-List N sabp.ies id-Service-Areas-List
+Category N sabp.ies id-Category
+Repetition-Period N sabp.ies id-Repetition-Period
+Number-of-Broadcasts-Requested N sabp.ies id-Number-of-Broadcasts-Requested
+Data-Coding-Scheme N sabp.ies id-Data-Coding-Scheme
+Broadcast-Message-Content N sabp.ies id-Broadcast-Message-Content
+Number-of-Broadcasts-Completed-List N sabp.ies id-Number-of-Broadcasts-Completed-List
+Criticality-Diagnostics N sabp.ies id-Criticality-Diagnostics
+Failure-List N sabp.ies id-Failure-List
+Radio-Resource-Loading-List N sabp.ies id-Radio-Resource-Loading-List
+Recovery-Indication N sabp.ies id-Recovery-Indication
+Serial-Number N sabp.ies id-Serial-Number
+Cause N sabp.ies id-Cause
+
+#SABP-PROTOCOL-EXTENSION
+MessageStructure N sabp.extension id-MessageStructure
+TypeOfError N sabp.extension id-TypeOfError
+Paging-ETWS-Indicator N sabp.extension id-Paging-ETWS-Indicator
+Warning-Type N sabp.extension id-Warning-Type
+WarningSecurityInfo N sabp.extension id-WarningSecurityInfo
+Broadcast-Message-Content-Validity-Indicator N sabp.extension id-Broadcast-Message-Content-Validity-Indicator
+
+#SABP-ELEMENTARY-PROCEDURE
+Write-Replace N sabp.proc.imsg id-Write-Replace
+Write-Replace-Complete N sabp.proc.sout id-Write-Replace
+Write-Replace-Failure N sabp.proc.uout id-Write-Replace
+Kill N sabp.proc.imsg id-Kill
+Kill-Complete N sabp.proc.sout id-Kill
+Kill-Failure N sabp.proc.uout id-Kill
+Load-Query N sabp.proc.imsg id-Load-Status-Enquiry
+Load-Query-Complete N sabp.proc.sout id-Load-Status-Enquiry
+Load-Query-Failure N sabp.proc.uout id-Load-Status-Enquiry
+Message-Status-Query N sabp.proc.imsg id-Message-Status-Query
+Message-Status-Query-Complete N sabp.proc.sout id-Message-Status-Query
+Message-Status-Query-Failure N sabp.proc.uout id-Message-Status-Query
+Reset N sabp.proc.imsg id-Reset
+Reset-Complete N sabp.proc.sout id-Reset
+Reset-Failure N sabp.proc.uout id-Reset
+Restart N sabp.proc.imsg id-Restart-Indication
+Failure N sabp.proc.imsg id-Failure-Indication
+Error-Indication N sabp.proc.imsg id-Error-Indication
+
+# following construction is not supported by asn2wrs
+# PLMNidentity ::= TBCD-STRING (SIZE (3))
+# TBCD-STRING ::= OCTET STRING
+
+#.FN_BODY Service-Area-Identifier/pLMNidentity VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ proto_tree *subtree;
+
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ 3, 3, FALSE, &parameter_tvb);
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_sabp_e212);
+ dissect_e212_mcc_mnc(parameter_tvb, actx->pinfo, subtree, 0, E212_SAI, FALSE);
+
+#.FN_BODY Data-Coding-Scheme VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_sabp_cbs_data_coding);
+ sms_encoding = dissect_cbs_data_coding_scheme(parameter_tvb, actx->pinfo, subtree, 0);
+
+#.FN_BODY Message-Identifier VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ dissect_cbs_message_identifier(parameter_tvb, tree, 0);
+
+#.FN_BODY Serial-Number VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_sabp_cbs_serial_number);
+ dissect_cbs_serial_number(parameter_tvb, subtree, 0);
+
+#.FN_BODY New-Serial-Number VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+ proto_tree *subtree;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ subtree = proto_item_add_subtree(actx->created_item, ett_sabp_cbs_new_serial_number);
+ dissect_cbs_serial_number(parameter_tvb, subtree, 0);
+
+#.FN_BODY Broadcast-Message-Content VAL_PTR = &parameter_tvb
+ tvbuff_t *parameter_tvb=NULL;
+
+%(DEFAULT_BODY)s
+ if (!parameter_tvb)
+ return offset;
+ dissect_sabp_cb_data(parameter_tvb, actx->pinfo, tree);
+# dissect_umts_cell_broadcast_message(parameter_tvb, actx->pinfo, proto_tree_get_root(tree));