# rua.cnf # rua conformation file # Copyright 2010 Neil Piercy, ip.access Limited #.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