# sabp.cnf # sabp conformation file # Copyright 2007 Tomas Kukosa # $Id$ #.OPT PER ALIGNED #.END #.NO_EMIT TBCD-STRING #.PDU_NEW SABP-PDU #.MAKE_ENUM ProcedureCode ProtocolIE-ID #.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(ProtocolIE_ID, VALS(sabp_ProtocolIE_ID_vals), "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 if (check_col(actx->pinfo->cinfo, COL_INFO)) col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", val_to_str(ProcedureCode, sabp_ProcedureCode_vals, "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 #.END #.REGISTER_NEW #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 #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 PLMNidentity VAL_PTR = tvbuff_t *parameter_tvb=NULL; proto_tree *subtree; offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index, 3, 3, FALSE, ¶meter_tvb); if (!parameter_tvb) return offset; subtree = proto_item_add_subtree(actx->created_item, ett_sabp_e212); dissect_e212_mcc_mnc(parameter_tvb, subtree, 0); #.FN_BODY Data-Coding-Scheme VAL_PTR = ¶meter_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);