# inap.cnf # inap conformation file # $Id$ #.EXPORTS BothwayThroughConnectionInd CallingPartysCategory CriticalityType Duration HighLayerCompatibility Integer4 Interval LegID MiscCallInfo RedirectionInformation ServiceKey #.PDU_NEW ERROR.&ParameterType OPERATION.&ArgumentType OPERATION.&ResultType #.END #.NO_EMIT #.TYPE_RENAME #.FIELD_RENAME #.PDU INAP-Component InitialDPArg OriginationAttemptAuthorizedArg CollectedInformationArg AnalysedInformationArg RouteSelectFailureArg OCalledPartyBusyArg ONoAnswerArg OAnswerArg ODisconnectArg TermAttemptAuthorizedArg TBusyArg TNoAnswerArg TAnswerArg TDisconnectArg MidCallArg AssistRequestInstructionsArg EstablishTemporaryConnectionArg ConnectToResourceArg ConnectArg HoldCallInNetworkArg ReleaseCallArg RequestReportBCSMEventArg EventReportBCSMArg RequestNotificationChargingEventArg EventNotificationChargingArg CollectInformationArg AnalyseInformationArg SelectRouteArg SelectFacilityArg InitiateCallAttemptArg ResetTimerArg FurnishChargingInformationArg ApplyChargingArg ApplyChargingReportArg RequestCurrentStatusReportArg RequestEveryStatusChangeReportArg RequestFirstStatusMatchReportArg StatusReportArg CallGapArg ActivateServiceFilteringArg ServiceFilteringResponseArg CallInformationReportArg CallInformationRequestArg PlayAnnouncementArg PromptAndCollectUserInformationArg SpecializedResourceReportArg CancelArg RequestCurrentStatusReportResultArg ReceivedInformationArg # This table creates the value_sting to name Inap operation codes and errors # in file packet-inap-table.c which is included in the template file # #.TABLE_HDR /* INAP OPERATIONS */ const value_string inap_opr_code_strings[] = { #.TABLE_BODY OPERATION.&operationCode { %(&operationCode)-40s, "%(_ident)s" }, #.TABLE_FTR { 0, NULL } }; #.END #.TABLE_HDR /* INAP ERRORS */ static const value_string inap_err_code_string_vals[] = { #.TABLE_BODY ERROR.&errorCode { %(&errorCode)-40s, "%(_ident)s" }, #.TABLE_FTR { 0, NULL } }; #.END # Create a table of opcode and corresponding args and res #.TABLE11_HDR typedef struct _inap_op_t { gint32 opcode; new_dissector_t arg_pdu; new_dissector_t res_pdu; } inap_op_t; static const inap_op_t inap_op_tab[] = { #.TABLE11_BODY OPERATION.&operationCode /* %(_name)-31s */ { %(&operationCode)-40s, %(_argument_pdu)-45s, %(_result_pdu)s }, #.TABLE11_FTR }; #.END #.TABLE11_HDR typedef struct _camel_err_t { gint32 errcode; new_dissector_t err_pdu; } camel_err_t; static const camel_err_t camel_err_tab[] = { #.TABLE11_BODY ERROR.&errorCode /* %(_name)-30s */ { %(&errorCode)4s, %(_parameter_pdu)s }, #.TABLE11_FTR }; #.END #.FN_BODY TriggerData/triggerPar /* FIX ME */ #.FN_BODY ScriptEventArg/uIScriptResult /* FIX ME */ #.FN_BODY ScriptCloseArg/uIScriptSpecificInfo /* FIX ME */ #.FN_BODY ScriptInformationArg/uIScriptSpecificInfo /* FIX ME */ #.FN_BODY ScriptRunArg/uIScriptSpecificInfo /* FIX ME */ #.FN_BODY ExtensionField/value offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); #.FN_BODY InvokeParameter offset = dissect_invokeData(tree, tvb, offset, actx); #.FN_BODY ReturnResultParameter offset = dissect_returnResultData(tree, tvb, offset, actx); #.FN_BODY ReturnErrorParameter offset = dissect_returnErrorData(tree, tvb, offset, actx); #.FN_BODY INAPLocalErrorcode VAL_PTR = &errorCode offset = dissect_ber_integer(FALSE, actx, tree, tvb, offset, hf_index, &errorCode); if (check_col(actx->pinfo->cinfo, COL_INFO)){ col_set_str(actx->pinfo->cinfo, COL_INFO, val_to_str(errorCode, inap_error_code_strings, "Unknown Inap (%u)")); } #.FN_BODY INAPOperationLocalvalue offset = dissect_ber_integer(FALSE, actx, tree, tvb, offset, hf_index, &opcode); if (check_col(actx->pinfo->cinfo, COL_INFO)){ col_add_fstr(actx->pinfo->cinfo, COL_INFO, "%s ", val_to_str(opcode, inap_opr_code_strings, "Unknown Inap (%u)")); } #.FN_BODY CalledPartyNumber VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; %(DEFAULT_BODY)s if (!parameter_tvb) return offset; dissect_isup_called_party_number_parameter(parameter_tvb, tree, NULL); #.FN_BODY CallingPartyNumber VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; %(DEFAULT_BODY)s if (!parameter_tvb) return offset; dissect_isup_calling_party_number_parameter(parameter_tvb, tree, NULL); #.FN_BODY BearerCapability/bearerCap VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; %(DEFAULT_BODY)s if (!parameter_tvb) return offset; dissect_q931_bearer_capability_ie(parameter_tvb, 0, tvb_length_remaining(parameter_tvb,0), tree); #.FN_BODY RedirectionInformation VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; %(DEFAULT_BODY)s if (!parameter_tvb) return offset; dissect_isup_redirection_information_parameter(parameter_tvb, tree, NULL); #.FN_BODY OriginalCalledPartyID VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; %(DEFAULT_BODY)s if (!parameter_tvb) return offset; dissect_isup_original_called_number_parameter(parameter_tvb, tree, NULL); #.FN_BODY RedirectingPartyID VAL_PTR = ¶meter_tvb tvbuff_t *parameter_tvb; %(DEFAULT_BODY)s if (!parameter_tvb) return offset; dissect_isup_redirecting_number_parameter(parameter_tvb, tree, NULL); #.TYPE_ATTR CallingPartysCategory TYPE = FT_UINT16 DISPLAY = BASE_DEC STRINGS = VALS(isup_calling_partys_category_value) #.END