diff options
Diffstat (limited to 'epan/dissectors/asn1/rua/rua.cnf')
-rw-r--r-- | epan/dissectors/asn1/rua/rua.cnf | 147 |
1 files changed, 147 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/rua/rua.cnf b/epan/dissectors/asn1/rua/rua.cnf new file mode 100644 index 0000000000..f173d7d70c --- /dev/null +++ b/epan/dissectors/asn1/rua/rua.cnf @@ -0,0 +1,147 @@ +# rua.cnf +# rua conformation file +# Copyright 2010 Neil Piercy, ip.access Limited <Neil.Piercy@ipaccess.com> + +#.OPT +PER +ALIGNED +#.END + +#.PDU +RUA-PDU + +#.MAKE_ENUM +ProtocolIE-ID +ProcedureCode + +#.TYPE_RENAME +ProtocolIE-Field/value ProtocolIE_Field_value +PrivateIE-Field/value PrivateIE_Field_value +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 +PrivateIE-Field/value private_value +ProtocolIE-Field/value ie_field_value +ProtocolIE-Field/id protocol_ie_field_id +PrivateIE-Field/id private_ie_field_id + +#.OMIT_ASSIGNMENT +Presence +ProtocolIE-ContainerList +ProtocolIE-Single-Container +#.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(rua_ProtocolIE_ID_vals), "unknown (%d)")); + } +#.END + +#.FN_PARS ProtocolIE-Field/value FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolIEFieldValue + +#.FN_PARS ProtocolExtensionField/extensionValue FN_VARIANT=_pdu_new TYPE_REF_FN=dissect_ProtocolExtensionFieldExtensionValue + +#.FN_PARS ProcedureCode VAL_PTR = &ProcedureCode +#.FN_FTR ProcedureCode + if (strcmp(val_to_str(ProcedureCode, rua_ProcedureCode_vals, "Unknown"), "Unknown") == 0) { + col_set_str(actx->pinfo->cinfo, COL_INFO, + "Unknown Message "); + } /* Known Procedures should be included below and broken out as ELEMENTARY names to avoid confusion */ + +#.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 + +#.FN_BODY Connect + col_set_str(actx->pinfo->cinfo, COL_INFO, + "CONNECT "); +%(DEFAULT_BODY)s + +#.FN_BODY DirectTransfer + col_set_str(actx->pinfo->cinfo, COL_INFO, + "DIRECT_TRANSFER "); +%(DEFAULT_BODY)s + +#.FN_BODY Disconnect + col_set_str(actx->pinfo->cinfo, COL_INFO, + "DISCONNECT "); +%(DEFAULT_BODY)s + +#.FN_BODY ConnectionlessTransfer + col_set_str(actx->pinfo->cinfo, COL_INFO, + "CONNECTIONLESS_TRANSFER "); +%(DEFAULT_BODY)s + +#.FN_BODY ErrorIndication + col_set_str(actx->pinfo->cinfo, COL_INFO, + "ERROR_INDICATION "); + col_set_fence(actx->pinfo->cinfo, COL_INFO); /* Protect info from CriticalityDiagnostics decodes */ +%(DEFAULT_BODY)s + +#.FN_BODY PrivateMessage + col_set_str(actx->pinfo->cinfo, COL_INFO, + "PRIVATE_MESSAGE "); +%(DEFAULT_BODY)s + +#.FN_BODY RANAP-Message VAL_PTR = &ranap_message_tvb + tvbuff_t *ranap_message_tvb=NULL; +%(DEFAULT_BODY)s + if ((tvb_reported_length(ranap_message_tvb)>0)&&(ranap_handle)) { /* RUA has a RANAP-PDU */ + col_set_str(actx->pinfo->cinfo, COL_INFO, + "(RUA) "); /* Set info to (RUA) to make room for RANAP */ + col_set_fence(actx->pinfo->cinfo, COL_INFO); + call_dissector(ranap_handle,ranap_message_tvb,%(ACTX)s->pinfo, proto_tree_get_root(tree)); + } +#.END + + +#.ASSIGN_VALUE_TO_TYPE # RUA ASN.1 does not have constants assigned to types, +# ProcedureCode +id-Connect ProcedureCode +id-DirectTransfer ProcedureCode +id-Disconnect ProcedureCode +id-ConnectionlessTransfer ProcedureCode +id-ErrorIndication ProcedureCode +id-privateMessage ProcedureCode + +# ProtocolIE-ID +id-Cause ProtocolIE-ID +id-CriticalityDiagnostics ProtocolIE-ID +id-Context-ID ProtocolIE-ID +id-RANAP-Message ProtocolIE-ID +id-IntraDomainNasNodeSelector ProtocolIE-ID +id-Establishment-Cause ProtocolIE-ID +id-CN-DomainIndicator ProtocolIE-ID +#.END + + +#.REGISTER + +#RUA-PROTOCOL-IES +Cause N rua.ies id-Cause +CriticalityDiagnostics N rua.ies id-CriticalityDiagnostics +Context-ID N rua.ies id-Context-ID +RANAP-Message N rua.ies id-RANAP-Message +IntraDomainNasNodeSelector N rua.ies id-IntraDomainNasNodeSelector +Establishment-Cause N rua.ies id-Establishment-Cause +CN-DomainIndicator N rua.ies id-CN-DomainIndicator + +#RUA-PROTOCOL-EXTENSION +CSGMembershipStatus N rua.extension id-CSGMembershipStatus + +#RUA-ELEMENTARY-PROCEDURE +Connect N rua.proc.imsg id-Connect +DirectTransfer N rua.proc.imsg id-DirectTransfer +Disconnect N rua.proc.imsg id-Disconnect +ConnectionlessTransfer N rua.proc.imsg id-ConnectionlessTransfer +ErrorIndication N rua.proc.imsg id-ErrorIndication +PrivateMessage N rua.proc.imsg id-privateMessage +#.END |