diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/dissectors/packet-inap.c | |
parent | Initial commit. (diff) | |
download | wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip |
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/packet-inap.c')
-rw-r--r-- | epan/dissectors/packet-inap.c | 11996 |
1 files changed, 11996 insertions, 0 deletions
diff --git a/epan/dissectors/packet-inap.c b/epan/dissectors/packet-inap.c new file mode 100644 index 00000000..d9fdcb4b --- /dev/null +++ b/epan/dissectors/packet-inap.c @@ -0,0 +1,11996 @@ +/* Do not modify this file. Changes will be overwritten. */ +/* Generated automatically by the ASN.1 to Wireshark dissector compiler */ +/* packet-inap.c */ +/* asn2wrs.py -b -L -p inap -c ./inap.cnf -s ./packet-inap-template -D . -O ../.. IN-common-classes.asn IN-SSF-SCF-Classes.asn IN-SCF-SRF-Classes.asn IN-operationcodes.asn IN-object-identifiers.asn IN-common-datatypes.asn IN-SSF-SCF-datatypes.asn IN-SSF-SCF-ops-args.asn IN-SCF-SRF-datatypes.asn IN-SCF-SRF-ops-args.asn IN-errorcodes.asn IN-errortypes.asn ../ros/Remote-Operations-Information-Objects.asn ../ros/Remote-Operations-Generic-ROS-PDUs.asn */ + +/* packet-inap-template.c + * Routines for INAP + * Copyright 2004, Tim Endean <endeant@hotmail.com> + * Built from the gsm-map dissector Copyright 2004, Anders Broman <anders.broman@ericsson.com> + * + * Wireshark - Network traffic analyzer + * By Gerald Combs <gerald@wireshark.org> + * Copyright 1998 Gerald Combs + * + * SPDX-License-Identifier: GPL-2.0-or-later + * References: ETSI 300 374 + * ITU Q.1218 + */ + +#include "config.h" + +#include <epan/packet.h> +#include <epan/prefs.h> +#include <epan/oids.h> +#include <epan/expert.h> +#include <epan/asn1.h> + +#include "packet-ber.h" +#include "packet-inap.h" +#include "packet-q931.h" +#include "packet-e164.h" +#include "packet-isup.h" +#include "packet-tcap.h" +#include "packet-dap.h" +#include "packet-dsp.h" + +#define PNAME "Intelligent Network Application Protocol" +#define PSNAME "INAP" +#define PFNAME "inap" + +void proto_register_inap(void); +void proto_reg_handoff_inap(void); + + +/* Initialize the protocol and registered fields */ +static int proto_inap = -1; + +/* include constants */ +#define opcode_initialDP 0 +#define opcode_originationAttemptAuthorized 1 +#define opcode_collectedInformation 2 +#define opcode_analysedInformation 3 +#define opcode_routeSelectFailure 4 +#define opcode_oCalledPartyBusy 5 +#define opcode_oNoAnswer 6 +#define opcode_oAnswer 7 +#define opcode_oDisconnect 8 +#define opcode_termAttemptAuthorized 9 +#define opcode_tBusy 10 +#define opcode_tNoAnswer 11 +#define opcode_tAnswer 12 +#define opcode_tDisconnect 13 +#define opcode_facilitySelectedAndAvailable 80 +#define opcode_originationAttempt 81 +#define opcode_terminationAttempt 82 +#define opcode_oAbandon 83 +#define opcode_oMidCall 14 +#define opcode_tMidCall 15 +#define opcode_oSuspended 84 +#define opcode_tSuspended 85 +#define opcode_assistRequestInstructions 16 +#define opcode_establishTemporaryConnection 17 +#define opcode_disconnectForwardConnection 18 +#define opcode_dFCWithArgument 86 +#define opcode_connectToResource 19 +#define opcode_connect 20 +#define opcode_holdCallInNetwork 21 +#define opcode_releaseCall 22 +#define opcode_requestReportBCSMEvent 23 +#define opcode_eventReportBCSM 24 +#define opcode_requestNotificationChargingEvent 25 +#define opcode_eventNotificationCharging 26 +#define opcode_collectInformation 27 +#define opcode_analyseInformation 28 +#define opcode_selectRoute 29 +#define opcode_selectFacility 30 +#define opcode_continue 31 +#define opcode_authorizeTermination 87 +#define opcode_initiateCallAttempt 32 +#define opcode_resetTimer 33 +#define opcode_furnishChargingInformation 34 +#define opcode_applyCharging 35 +#define opcode_applyChargingReport 36 +#define opcode_requestCurrentStatusReport 37 +#define opcode_requestEveryStatusChangeReport 38 +#define opcode_requestFirstStatusMatchReport 39 +#define opcode_statusReport 40 +#define opcode_callGap 41 +#define opcode_callFiltering 145 +#define opcode_activateServiceFiltering 42 +#define opcode_serviceFilteringResponse 43 +#define opcode_callInformationReport 44 +#define opcode_callInformationRequest 45 +#define opcode_sendChargingInformation 46 +#define opcode_playAnnouncement 47 +#define opcode_promptAndCollectUserInformation 48 +#define opcode_specializedResourceReport 49 +#define opcode_cancel 53 +#define opcode_cancelStatusReportRequest 54 +#define opcode_activityTest 55 +#define opcode_continueWithArgument 88 +#define opcode_createCallSegmentAssociation 89 +#define opcode_disconnectLeg 90 +#define opcode_mergeCallSegments 91 +#define opcode_moveCallSegments 92 +#define opcode_moveLeg 93 +#define opcode_reconnect 94 +#define opcode_splitLeg 95 +#define opcode_entityReleased 96 +#define opcode_manageTriggerData 97 +#define opcode_createOrRemoveTriggerData 135 +#define opcode_setServiceProfile 136 +#define opcode_requestReportUTSI 98 +#define opcode_sendSTUI 100 +#define opcode_reportUTSI 101 +#define opcode_sendFacilityInformation 102 +#define opcode_requestReportFacilityEvent 103 +#define opcode_eventReportFacility 104 +#define opcode_monitorRouteRequest 146 +#define opcode_monitorRouteReport 147 +#define opcode_promptAndReceiveMessage 107 +#define opcode_scriptInformation 108 +#define opcode_scriptEvent 109 +#define opcode_scriptRun 110 +#define opcode_scriptClose 111 +#define opcode_srfCallGap 139 +#define opcode_establishChargingRecord 112 +#define opcode_handlingInformationRequest 113 +#define opcode_handlingInformationResult 114 +#define opcode_networkCapability 115 +#define opcode_notificationProvided 116 +#define opcode_confirmedNotificationProvided 117 +#define opcode_provideUserInformation 118 +#define opcode_confirmedReportChargingInformation 119 +#define opcode_reportChargingInformation 120 +#define opcode_requestNotification 121 +#define opcode_runUserScript 140 +#define opcode_transferSTSI 141 +#define opcode_announcementCompletionReport 142 +#define opcode_initiateCallRequest 143 +#define opcode_provideAnnouncementRequest 144 +#define opcode_execute 10 +#define opcode_trafficFlowControl 138 +#define opcode_activationReceivedAndAuthorized 122 +#define opcode_initiateAssociation 123 +#define opcode_associationReleaseRequested 124 +#define opcode_componentReceived 125 +#define opcode_releaseAssociation 126 +#define opcode_requestReportBCUSMEvent 127 +#define opcode_sendComponent 130 +#define opcode_connectAssociation 132 +#define opcode_continueAssociation 133 +#define opcode_eventReportBCUSM 134 +#define opcode_initialAssociationDP 131 +#define tc_Messages "0.0.17.773.2.1.3" +#define tc_NotationExtensions "0.0.17.775.2.4.1" +#define ros_InformationObjects "2.4.5.0" +#define ros_genericPDUs "2.4.6.0" +#define ros_UsefulDefinitions "2.4.7.0" +#define sese_APDUs "2.20.1.6" +#define guls_Notation "2.20.1.1" +#define guls_SecurityTransformations "2.20.1.3" +#define guls_DirectoryProtectionMappings "2.20.1.4" +#define ds_UsefulDefinitions "2.5.1.0.3" +#define spkmGssTokens "1.3.6.1.5.5.1.10" +#define contexts "0.0.17.1218.0.8.1.1" +#define id "0.0.17.1248" +#define modules id".1" +#define id_ac id".3" +#define id_at id".4" +#define id_as id".5" +#define id_oc id".6" +#define id_mt id".7" +#define id_sf id".11" +#define id_soa id".21" +#define id_aca id".24" +#define id_rosObject id".25" +#define id_contract id".26" +#define id_package id".27" +#define id_avc id".29" +#define object_identifiers modules".0.0" +#define common_datatypes modules".1.0" +#define errortypes modules".2.0" +#define operationcodes modules".3.0" +#define errorcodes modules".4.0" +#define common_classes modules".5.0" +#define ssf_scf_datatypes modules".6.0" +#define ssf_scf_classes modules".7.0" +#define ssf_scf_Operations modules".8.0" +#define ssf_scf_Protocol modules".9.0" +#define scf_srf_datatypes modules".10.0" +#define scf_srf_classes modules".11.0" +#define scf_srf_Operations modules".12.0" +#define scf_srf_Protocol modules".13.0" +#define scf_sdf_datatypes modules".14.0" +#define scf_sdf_classes modules".15.0" +#define scf_sdf_Operations modules".16.0" +#define scf_sdf_Protocol modules".17.0" +#define sdf_sdf_Operations modules".18.0" +#define sdf_sdf_Protocol modules".19.0" +#define scf_scf_datatypes modules".20.0" +#define scf_scf_classes modules".21.0" +#define scf_scf_Operations modules".22.0" +#define scf_scf_Protocol modules".23.0" +#define scf_cusf_datatypes modules".24.0" +#define scf_cusf_classes modules".25.0" +#define scf_cusf_Operations modules".26.0" +#define scf_cusf_Protocol modules".27.0" +#define scf_sdf_Additional_Definitions modules".28.0" +#define id_ac_ssf_scfGenericAC id_ac".4.0" +#define id_ac_ssf_scfDPSpecificAC id_ac".5.0" +#define id_ac_ssf_scfAssistHandoffAC id_ac".6.0" +#define id_ac_ssf_scfServiceManagementAC id_ac".7.0" +#define id_ac_scf_ssfGenericAC id_ac".8.0" +#define id_ac_scf_ssfDPSpecificAC id_ac".9.0" +#define id_ac_scf_ssfINTrafficManagementAC id_ac".10.0" +#define id_ac_scf_ssfServiceManagementAC id_ac".11.0" +#define id_ac_scf_ssfStatusReportingAC id_ac".12.0" +#define id_ac_scf_ssfTriggerManagementAC id_ac".13.0" +#define id_ac_scf_ssfRouteMonitoringAC id_ac".33.0" +#define id_ac_ssf_scfRouteMonitoringAC id_ac".34.0" +#define id_ac_scf_ssfTrafficManagementAC id_ac".35.0" +#define id_ac_srf_scfAC id_ac".14.0" +#define id_ac_indirectoryAccessAC id_ac".1.0" +#define id_ac_indirectoryAccessWith3seAC id_ac".2.0" +#define id_ac_inExtendedDirectoryAccessAC id_ac".3.0" +#define id_ac_inExtendedDirectoryAccessWith3seAC id_ac".27.0" +#define id_ac_trafficFlowControlAC id_ac".28.0" +#define id_ac_indirectorySystemAC id_ac".15.0" +#define id_ac_inShadowSupplierInitiatedAC id_ac".16.0" +#define id_ac_inShadowConsumerInitiatedAC id_ac".17.0" +#define id_ac_indirectorySystemWith3seAC id_ac".18.0" +#define id_ac_inShadowSupplierInitiatedWith3seAC id_ac".19.0" +#define id_ac_inShadowConsumerInitiatedWith3seAC id_ac".20.0" +#define id_ac_scfc_scfsOperationsAC id_ac".21.0" +#define id_ac_distributedSCFSystemAC id_ac".22.0" +#define id_ac_scfc_scfsOperationsWith3seAC id_ac".23.0" +#define id_ac_distributedSCFSystemWith3seAC id_ac".24.0" +#define id_ac_scfs_scfcOperationsAC id_ac".31.0" +#define id_ac_scfs_scfcOperationsWith3seAC id_ac".32.0" +#define id_acscfcusfDPSpecific id_ac".25.0" +#define id_accusfscfDPSpecific id_ac".26.0" +#define id_acscfcusfGeneric id_ac".29.0" +#define id_accusfscfGeneric id_ac".30.0" +#define id_at_securityFacilityId id_at".1" +#define id_at_secretKey id_at".2" +#define id_at_identifierList id_at".3" +#define id_at_bindLevelIfOK id_at".4" +#define id_at_lockSession id_at".5" +#define id_at_failureCounter id_at".6" +#define id_at_maxAttempts id_at".7" +#define id_at_currentList id_at".8" +#define id_at_stockId id_at".9" +#define id_at_source id_at".10" +#define id_at_sizeOfRestocking id_at".11" +#define id_at_challengeResponse id_at".12" +#define id_as_ssf_scfGenericAS id_as".4" +#define id_as_ssf_scfDpSpecificAS id_as".5" +#define id_as_assistHandoff_ssf_scfAS id_as".6" +#define id_as_scf_ssfGenericAS id_as".7" +#define id_as_scf_ssfDpSpecificAS id_as".8" +#define id_as_scf_ssfINTrafficManagementAS id_as".9" +#define id_as_scf_ssfServiceManagementAS id_as".10" +#define id_as_ssf_scfServiceManagementAS id_as".11" +#define id_as_scf_ssfStatusReportingAS id_as".12" +#define id_as_scf_ssfTriggerManagementAS id_as".13" +#define id_as_scf_ssfRouteMonitoringAS id_as".31" +#define id_as_ssf_scfRouteMonitoringAS id_as".32" +#define id_as_scf_ssfTrafficManagementAS id_as".33" +#define id_as_basic_srf_scf id_as".14" +#define id_as_basic_scf_srf id_as".15" +#define id_as_indirectoryOperationsAS id_as".1" +#define id_as_indirectoryBindingAS id_as".2" +#define id_as_inExtendedDirectoryOperationsAS id_as".3" +#define id_as_inSESEAS id_as".25" +#define id_as_tfcOperationsAS id_as".26" +#define id_as_tfcBindingAS id_as".27" +#define id_as_indirectorySystemAS id_as".16" +#define id_as_indirectoryDSABindingAS id_as".17" +#define id_as_indirectoryShadowAS id_as".18" +#define id_as_indsaShadowBindingAS id_as".19" +#define id_as_scfc_scfsOperationsAS id_as".20" +#define id_as_distributedSCFSystemAS id_as".21" +#define id_as_scf_scfBindingAS id_as".22" +#define id_as_scfs_scfcOperationsAS id_as".30" +#define id_asscfcusfDPSpecific id_as".23" +#define id_ascusfscfDPSpecific id_as".24" +#define id_asscfcusfGeneric id_as".28" +#define id_ascusfscfGeneric id_as".29" +#define id_oc_securityUserInfo id_oc".1" +#define id_oc_tokensStock id_oc".2" +#define id_mt_verifyCredentials id_mt".1" +#define id_mt_conformCredentials id_mt".2" +#define id_mt_provideTokens id_mt".3" +#define id_mt_fillSecurityTokens id_mt".4" +#define id_sf_pwd id_sf".1" +#define id_sf_challengeResponse id_sf".2" +#define id_sf_onAirSubscription id_sf".3" +#define id_soa_methodRuleUse id_soa".1" +#define id_aca_prescriptiveACI id_aca".4" +#define id_aca_entryACI id_aca".5" +#define id_aca_subentryACI id_aca".6" +#define id_rosObject_scf id_rosObject".1" +#define id_rosObject_ssf id_rosObject".2" +#define id_rosObject_srf id_rosObject".3" +#define id_rosObject_sdf id_rosObject".4" +#define id_rosObject_cusf id_rosObject".5" +#define id_inSsfToScfGeneric id_contract".3" +#define id_inSsfToScfDpSpecific id_contract".4" +#define id_inAssistHandoffSsfToScf id_contract".5" +#define id_inScfToSsfGeneric id_contract".6" +#define id_inScfToSsfDpSpecific id_contract".7" +#define id_inScfToSsfINTrafficManagement id_contract".8" +#define id_inScfToSsfServiceManagement id_contract".9" +#define id_inSsfToScfServiceManagement id_contract".10" +#define id_inScfToSsfStatusReporting id_contract".11" +#define id_inScfToSsfTriggerManagement id_contract".12" +#define id_inScfToSsfRouteMonitoring id_contract".26" +#define id_inSsfToScfRouteMonitoring id_contract".27" +#define id_inScfToSsfTrafficManagement id_contract".28" +#define id_contract_srf_scf id_contract".13" +#define id_contract_dap id_contract".1" +#define id_contract_dapExecute id_contract".2" +#define id_contract_tfc id_contract".22" +#define id_contract_indsp id_contract".14" +#define id_contract_shadowConsumer id_contract".15" +#define id_contract_shadowSupplier id_contract".17" +#define id_contract_scfc_scfs id_contract".18" +#define id_contract_dssp id_contract".19" +#define id_contract_scfs_scfc id_contract".25" +#define id_contract_scfcusfDPSpecific id_contract".20" +#define id_contract_cusfscfDPSpecific id_contract".21" +#define id_contract_scfcusfGeneric id_contract".23" +#define id_contract_cusfscfGeneric id_contract".24" +#define id_package_emptyConnection id_package".60" +#define id_package_scfActivation id_package".11" +#define id_package_basicBCPDP id_package".12" +#define id_package_advancedBCPDP id_package".14" +#define id_package_srf_scfActivationOfAssist id_package".15" +#define id_package_assistConnectionEstablishment id_package".16" +#define id_package_genericDisconnectResource id_package".17" +#define id_package_nonAssistedConnectionEstablishment id_package".18" +#define id_package_connect id_package".19" +#define id_package_callHandling id_package".20" +#define id_package_bcsmEventHandling id_package".21" +#define id_package_dpSpecificEventHandling id_package".22" +#define id_package_chargingEventHandling id_package".23" +#define id_package_ssfCallProcessing id_package".24" +#define id_package_scfCallInitiation id_package".25" +#define id_package_timer id_package".26" +#define id_package_billing id_package".27" +#define id_package_charging id_package".28" +#define id_package_iNTrafficManagement id_package".29" +#define id_package_serviceManagementActivate id_package".30" +#define id_package_serviceManagementResponse id_package".31" +#define id_package_callReport id_package".32" +#define id_package_signallingControl id_package".33" +#define id_package_activityTest id_package".34" +#define id_package_statusReporting id_package".35" +#define id_package_cancel id_package".36" +#define id_package_cphResponse id_package".37" +#define id_package_entityReleased id_package".38" +#define id_package_triggerManagement id_package".39" +#define id_package_uSIHandling id_package".40" +#define id_package_facilityIEHandling id_package".41" +#define id_package_triggerCallManagement id_package".63" +#define id_package_monitorRoute id_package".77" +#define id_package_trafficManagement id_package".78" +#define id_package_specializedResourceControl id_package".42" +#define id_package_srf_scfCancel id_package".43" +#define id_package_messageControl id_package".44" +#define id_package_scriptControl id_package".45" +#define id_package_srfManagement id_package".66" +#define id_package_search id_package".2" +#define id_package_modify id_package".3" +#define id_package_dapConnection id_package".10" +#define id_package_execute id_package".4" +#define id_package_tfcOperations id_package".64" +#define id_package_tfcConnection id_package".65" +#define id_package_dspConnection id_package".47" +#define id_package_inchainedModify id_package".48" +#define id_package_inchainedSearch id_package".49" +#define id_package_chainedExecute id_package".50" +#define id_package_dispConnection id_package".51" +#define id_package_shadowConsumer id_package".52" +#define id_package_shadowSupplier id_package".53" +#define id_package_scf_scfConnection id_package".46" +#define id_package_dsspConnection id_package".74" +#define id_package_handlingInformation id_package".54" +#define id_package_notification id_package".55" +#define id_package_chargingInformation id_package".56" +#define id_package_userInformation id_package".57" +#define id_package_networkCapability id_package".58" +#define id_package_chainedSCFOperations id_package".59" +#define id_package_transferStsi id_package".75" +#define id_package_initiateCall id_package".76" +#define id_package_cusfTDPSpecificInvocation id_package".61" +#define id_package_cusfTDPGenericInvocation id_package".62" +#define id_package_cusfDPSpecificEventHandling id_package".67" +#define id_package_cusfGenericEventHandling id_package".68" +#define id_package_cusfComponentHandling id_package".69" +#define id_package_cusfSCFInitiation id_package".70" +#define id_package_cusfContinue id_package".71" +#define id_package_cusfConnect id_package".72" +#define id_package_cusfRelease id_package".73" +#define id_avc_assignment id_avc".1" +#define id_avc_basicService id_avc".2" +#define id_avc_lineIdentity id_avc".3" +#define initialCallSegment 1 +#define leg1 0x01 +#define leg2 0x02 +#define errcode_canceled 0 +#define errcode_cancelFailed 1 +#define errcode_eTCFailed 3 +#define errcode_improperCallerResponse 4 +#define errcode_missingCustomerRecord 6 +#define errcode_missingParameter 7 +#define errcode_parameterOutOfRange 8 +#define errcode_requestedInfoError 10 +#define errcode_systemFailure 11 +#define errcode_taskRefused 12 +#define errcode_unavailableResource 13 +#define errcode_unexpectedComponentSequence 14 +#define errcode_unexpectedDataValue 15 +#define errcode_unexpectedParameter 16 +#define errcode_unknownLegID 17 +#define errcode_unknownResource 18 +#define errcode_scfReferral 21 +#define errcode_scfTaskRefused 22 +#define errcode_chainingRefused 23 +#define noInvokeId NULL + +static int hf_inap_ActivateServiceFilteringArg_PDU = -1; /* ActivateServiceFilteringArg */ +static int hf_inap_AnalysedInformationArg_PDU = -1; /* AnalysedInformationArg */ +static int hf_inap_AnalyseInformationArg_PDU = -1; /* AnalyseInformationArg */ +static int hf_inap_ApplyChargingArg_PDU = -1; /* ApplyChargingArg */ +static int hf_inap_ApplyChargingReportArg_PDU = -1; /* ApplyChargingReportArg */ +static int hf_inap_AssistRequestInstructionsArg_PDU = -1; /* AssistRequestInstructionsArg */ +static int hf_inap_AuthorizeTerminationArg_PDU = -1; /* AuthorizeTerminationArg */ +static int hf_inap_CallFilteringArg_PDU = -1; /* CallFilteringArg */ +static int hf_inap_CallGapArg_PDU = -1; /* CallGapArg */ +static int hf_inap_CallInformationReportArg_PDU = -1; /* CallInformationReportArg */ +static int hf_inap_CallInformationRequestArg_PDU = -1; /* CallInformationRequestArg */ +static int hf_inap_CancelArg_PDU = -1; /* CancelArg */ +static int hf_inap_CancelStatusReportRequestArg_PDU = -1; /* CancelStatusReportRequestArg */ +static int hf_inap_CollectedInformationArg_PDU = -1; /* CollectedInformationArg */ +static int hf_inap_CollectInformationArg_PDU = -1; /* CollectInformationArg */ +static int hf_inap_ConnectArg_PDU = -1; /* ConnectArg */ +static int hf_inap_ConnectToResourceArg_PDU = -1; /* ConnectToResourceArg */ +static int hf_inap_ContinueWithArgumentArg_PDU = -1; /* ContinueWithArgumentArg */ +static int hf_inap_CreateCallSegmentAssociationArg_PDU = -1; /* CreateCallSegmentAssociationArg */ +static int hf_inap_CreateCallSegmentAssociationResultArg_PDU = -1; /* CreateCallSegmentAssociationResultArg */ +static int hf_inap_CreateOrRemoveTriggerDataArg_PDU = -1; /* CreateOrRemoveTriggerDataArg */ +static int hf_inap_CreateOrRemoveTriggerDataResultArg_PDU = -1; /* CreateOrRemoveTriggerDataResultArg */ +static int hf_inap_DisconnectForwardConnectionWithArgumentArg_PDU = -1; /* DisconnectForwardConnectionWithArgumentArg */ +static int hf_inap_DisconnectLegArg_PDU = -1; /* DisconnectLegArg */ +static int hf_inap_EntityReleasedArg_PDU = -1; /* EntityReleasedArg */ +static int hf_inap_EstablishTemporaryConnectionArg_PDU = -1; /* EstablishTemporaryConnectionArg */ +static int hf_inap_EventNotificationChargingArg_PDU = -1; /* EventNotificationChargingArg */ +static int hf_inap_EventReportBCSMArg_PDU = -1; /* EventReportBCSMArg */ +static int hf_inap_EventReportFacilityArg_PDU = -1; /* EventReportFacilityArg */ +static int hf_inap_FacilitySelectedAndAvailableArg_PDU = -1; /* FacilitySelectedAndAvailableArg */ +static int hf_inap_FurnishChargingInformationArg_PDU = -1; /* FurnishChargingInformationArg */ +static int hf_inap_HoldCallInNetworkArg_PDU = -1; /* HoldCallInNetworkArg */ +static int hf_inap_InitialDPArg_PDU = -1; /* InitialDPArg */ +static int hf_inap_InitiateCallAttemptArg_PDU = -1; /* InitiateCallAttemptArg */ +static int hf_inap_ManageTriggerDataArg_PDU = -1; /* ManageTriggerDataArg */ +static int hf_inap_ManageTriggerDataResultArg_PDU = -1; /* ManageTriggerDataResultArg */ +static int hf_inap_MergeCallSegmentsArg_PDU = -1; /* MergeCallSegmentsArg */ +static int hf_inap_MonitorRouteReportArg_PDU = -1; /* MonitorRouteReportArg */ +static int hf_inap_MonitorRouteRequestArg_PDU = -1; /* MonitorRouteRequestArg */ +static int hf_inap_MoveCallSegmentsArg_PDU = -1; /* MoveCallSegmentsArg */ +static int hf_inap_MoveLegArg_PDU = -1; /* MoveLegArg */ +static int hf_inap_OAbandonArg_PDU = -1; /* OAbandonArg */ +static int hf_inap_OAnswerArg_PDU = -1; /* OAnswerArg */ +static int hf_inap_OCalledPartyBusyArg_PDU = -1; /* OCalledPartyBusyArg */ +static int hf_inap_ODisconnectArg_PDU = -1; /* ODisconnectArg */ +static int hf_inap_MidCallArg_PDU = -1; /* MidCallArg */ +static int hf_inap_ONoAnswerArg_PDU = -1; /* ONoAnswerArg */ +static int hf_inap_OriginationAttemptArg_PDU = -1; /* OriginationAttemptArg */ +static int hf_inap_OriginationAttemptAuthorizedArg_PDU = -1; /* OriginationAttemptAuthorizedArg */ +static int hf_inap_OSuspendedArg_PDU = -1; /* OSuspendedArg */ +static int hf_inap_ReconnectArg_PDU = -1; /* ReconnectArg */ +static int hf_inap_ReleaseCallArg_PDU = -1; /* ReleaseCallArg */ +static int hf_inap_ReportUTSIArg_PDU = -1; /* ReportUTSIArg */ +static int hf_inap_RequestCurrentStatusReportArg_PDU = -1; /* RequestCurrentStatusReportArg */ +static int hf_inap_RequestCurrentStatusReportResultArg_PDU = -1; /* RequestCurrentStatusReportResultArg */ +static int hf_inap_RequestEveryStatusChangeReportArg_PDU = -1; /* RequestEveryStatusChangeReportArg */ +static int hf_inap_RequestFirstStatusMatchReportArg_PDU = -1; /* RequestFirstStatusMatchReportArg */ +static int hf_inap_RequestNotificationChargingEventArg_PDU = -1; /* RequestNotificationChargingEventArg */ +static int hf_inap_RequestReportBCSMEventArg_PDU = -1; /* RequestReportBCSMEventArg */ +static int hf_inap_RequestReportFacilityEventArg_PDU = -1; /* RequestReportFacilityEventArg */ +static int hf_inap_RequestReportUTSIArg_PDU = -1; /* RequestReportUTSIArg */ +static int hf_inap_ResetTimerArg_PDU = -1; /* ResetTimerArg */ +static int hf_inap_RouteSelectFailureArg_PDU = -1; /* RouteSelectFailureArg */ +static int hf_inap_SelectFacilityArg_PDU = -1; /* SelectFacilityArg */ +static int hf_inap_SelectRouteArg_PDU = -1; /* SelectRouteArg */ +static int hf_inap_SendChargingInformationArg_PDU = -1; /* SendChargingInformationArg */ +static int hf_inap_SendFacilityInformationArg_PDU = -1; /* SendFacilityInformationArg */ +static int hf_inap_SendSTUIArg_PDU = -1; /* SendSTUIArg */ +static int hf_inap_ServiceFilteringResponseArg_PDU = -1; /* ServiceFilteringResponseArg */ +static int hf_inap_SetServiceProfileArg_PDU = -1; /* SetServiceProfileArg */ +static int hf_inap_SplitLegArg_PDU = -1; /* SplitLegArg */ +static int hf_inap_StatusReportArg_PDU = -1; /* StatusReportArg */ +static int hf_inap_TAnswerArg_PDU = -1; /* TAnswerArg */ +static int hf_inap_TBusyArg_PDU = -1; /* TBusyArg */ +static int hf_inap_TDisconnectArg_PDU = -1; /* TDisconnectArg */ +static int hf_inap_TermAttemptAuthorizedArg_PDU = -1; /* TermAttemptAuthorizedArg */ +static int hf_inap_TerminationAttemptArg_PDU = -1; /* TerminationAttemptArg */ +static int hf_inap_TNoAnswerArg_PDU = -1; /* TNoAnswerArg */ +static int hf_inap_TSuspendedArg_PDU = -1; /* TSuspendedArg */ +static int hf_inap_PlayAnnouncementArg_PDU = -1; /* PlayAnnouncementArg */ +static int hf_inap_PromptAndCollectUserInformationArg_PDU = -1; /* PromptAndCollectUserInformationArg */ +static int hf_inap_ReceivedInformationArg_PDU = -1; /* ReceivedInformationArg */ +static int hf_inap_PromptAndReceiveMessageArg_PDU = -1; /* PromptAndReceiveMessageArg */ +static int hf_inap_MessageReceivedArg_PDU = -1; /* MessageReceivedArg */ +static int hf_inap_ScriptCloseArg_PDU = -1; /* ScriptCloseArg */ +static int hf_inap_ScriptEventArg_PDU = -1; /* ScriptEventArg */ +static int hf_inap_ScriptInformationArg_PDU = -1; /* ScriptInformationArg */ +static int hf_inap_ScriptRunArg_PDU = -1; /* ScriptRunArg */ +static int hf_inap_SpecializedResourceReportArg_PDU = -1; /* SpecializedResourceReportArg */ +static int hf_inap_SRFCallGapArg_PDU = -1; /* SRFCallGapArg */ +static int hf_inap_PAR_cancelFailed_PDU = -1; /* PAR_cancelFailed */ +static int hf_inap_PAR_requestedInfoError_PDU = -1; /* PAR_requestedInfoError */ +static int hf_inap_ScfTaskRefusedParameter_PDU = -1; /* ScfTaskRefusedParameter */ +static int hf_inap_ReferralParameter_PDU = -1; /* ReferralParameter */ +static int hf_inap_UnavailableNetworkResource_PDU = -1; /* UnavailableNetworkResource */ +static int hf_inap_PAR_taskRefused_PDU = -1; /* PAR_taskRefused */ +static int hf_inap_Extensions_item = -1; /* ExtensionField */ +static int hf_inap_type = -1; /* Code */ +static int hf_inap_criticality = -1; /* CriticalityType */ +static int hf_inap_value = -1; /* T_value */ +static int hf_inap_AlternativeIdentities_item = -1; /* AlternativeIdentity */ +static int hf_inap_url = -1; /* IA5String_SIZE_1_512 */ +static int hf_inap_conferenceTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */ +static int hf_inap_callCompletionTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */ +static int hf_inap_holdTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */ +static int hf_inap_ectTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */ +static int hf_inap_calledAddressValue = -1; /* Digits */ +static int hf_inap_gapOnService = -1; /* GapOnService */ +static int hf_inap_gapAllInTraffic = -1; /* NULL */ +static int hf_inap_calledAddressAndService = -1; /* T_calledAddressAndService */ +static int hf_inap_serviceKey = -1; /* ServiceKey */ +static int hf_inap_callingAddressAndService = -1; /* T_callingAddressAndService */ +static int hf_inap_callingAddressValue = -1; /* Digits */ +static int hf_inap_locationNumber = -1; /* LocationNumber */ +static int hf_inap_eventTypeBCSM = -1; /* EventTypeBCSM */ +static int hf_inap_monitorMode = -1; /* MonitorMode */ +static int hf_inap_legID = -1; /* LegID */ +static int hf_inap_dpSpecificCriteria = -1; /* DpSpecificCriteria */ +static int hf_inap_bearerCap = -1; /* T_bearerCap */ +static int hf_inap_tmr = -1; /* OCTET_STRING_SIZE_1 */ +static int hf_inap_broadbandBearerCap = -1; /* OCTET_STRING_SIZE_minBroadbandBearerCapabilityLength_maxBroadbandBearerCapabilityLength */ +static int hf_inap_aALParameters = -1; /* AALParameters */ +static int hf_inap_additionalATMCellRate = -1; /* AdditionalATMCellRate */ +static int hf_inap_aESACalledParty = -1; /* AESACalledParty */ +static int hf_inap_aESACallingParty = -1; /* AESACallingParty */ +static int hf_inap_alternativeATMTrafficDescriptor = -1; /* AlternativeATMTrafficDescriptor */ +static int hf_inap_aTMCellRate = -1; /* ATMCellRate */ +static int hf_inap_cDVTDescriptor = -1; /* CDVTDescriptor */ +static int hf_inap_cumulativeTransitDelay = -1; /* CumulativeTransitDelay */ +static int hf_inap_endToEndTransitDelay = -1; /* EndToEndTransitDelay */ +static int hf_inap_minAcceptableATMTrafficDescriptor = -1; /* MinAcceptableATMTrafficDescriptor */ +static int hf_inap_eventTypeCharging = -1; /* EventTypeCharging */ +static int hf_inap_componentInfo = -1; /* OCTET_STRING_SIZE_1_118 */ +static int hf_inap_relayedComponent = -1; /* EMBEDDED_PDV */ +static int hf_inap_basicGapCriteria = -1; /* BasicGapCriteria */ +static int hf_inap_scfID = -1; /* ScfID */ +static int hf_inap_counterID = -1; /* CounterID */ +static int hf_inap_counterValue = -1; /* Integer4 */ +static int hf_inap_CountersValue_item = -1; /* CounterAndValue */ +static int hf_inap_action = -1; /* T_action */ +static int hf_inap_treatment = -1; /* GapTreatment */ +static int hf_inap_DestinationRoutingAddress_item = -1; /* CalledPartyNumber */ +static int hf_inap_serviceAddressInformation = -1; /* ServiceAddressInformation */ +static int hf_inap_bearerCapability = -1; /* BearerCapability */ +static int hf_inap_calledPartyNumber = -1; /* CalledPartyNumber */ +static int hf_inap_callingPartyNumber = -1; /* CallingPartyNumber */ +static int hf_inap_callingPartysCategory = -1; /* CallingPartysCategory */ +static int hf_inap_iPSSPCapabilities = -1; /* IPSSPCapabilities */ +static int hf_inap_iPAvailable = -1; /* IPAvailable */ +static int hf_inap_iSDNAccessRelatedInformation = -1; /* ISDNAccessRelatedInformation */ +static int hf_inap_cGEncountered = -1; /* CGEncountered */ +static int hf_inap_serviceProfileIdentifier = -1; /* ServiceProfileIdentifier */ +static int hf_inap_terminalType = -1; /* TerminalType */ +static int hf_inap_extensions = -1; /* Extensions */ +static int hf_inap_chargeNumber = -1; /* ChargeNumber */ +static int hf_inap_servingAreaID = -1; /* ServingAreaID */ +static int hf_inap_serviceInteractionIndicators = -1; /* ServiceInteractionIndicators */ +static int hf_inap_iNServiceCompatibilityIndication = -1; /* INServiceCompatibilityIndication */ +static int hf_inap_serviceInteractionIndicatorsTwo = -1; /* ServiceInteractionIndicatorsTwo */ +static int hf_inap_uSIServiceIndicator = -1; /* USIServiceIndicator */ +static int hf_inap_uSIInformation = -1; /* USIInformation */ +static int hf_inap_forwardGVNS = -1; /* ForwardGVNS */ +static int hf_inap_createdCallSegmentAssociation = -1; /* CSAID */ +static int hf_inap_ipRelatedInformation = -1; /* IPRelatedInformation */ +static int hf_inap_numberOfDigits = -1; /* NumberOfDigits */ +static int hf_inap_applicationTimer = -1; /* ApplicationTimer */ +static int hf_inap_midCallControlInfo = -1; /* MidCallControlInfo */ +static int hf_inap_numberOfDigitsTwo = -1; /* T_numberOfDigitsTwo */ +static int hf_inap_requestedNumberOfDigits = -1; /* NumberOfDigits */ +static int hf_inap_minNumberOfDigits = -1; /* NumberOfDigits */ +static int hf_inap_agreements = -1; /* OBJECT_IDENTIFIER */ +static int hf_inap_networkSpecific = -1; /* Integer4 */ +static int hf_inap_collectedInfoSpecificInfo = -1; /* T_collectedInfoSpecificInfo */ +static int hf_inap_calledPartynumber = -1; /* CalledPartyNumber */ +static int hf_inap_analysedInfoSpecificInfo = -1; /* T_analysedInfoSpecificInfo */ +static int hf_inap_routeSelectFailureSpecificInfo = -1; /* T_routeSelectFailureSpecificInfo */ +static int hf_inap_failureCause = -1; /* Cause */ +static int hf_inap_oCalledPartyBusySpecificInfo = -1; /* T_oCalledPartyBusySpecificInfo */ +static int hf_inap_busyCause = -1; /* Cause */ +static int hf_inap_oNoAnswerSpecificInfo = -1; /* T_oNoAnswerSpecificInfo */ +static int hf_inap_cause = -1; /* Cause */ +static int hf_inap_oAnswerSpecificInfo = -1; /* T_oAnswerSpecificInfo */ +static int hf_inap_backwardGVNS = -1; /* BackwardGVNS */ +static int hf_inap_oMidCallSpecificInfo = -1; /* T_oMidCallSpecificInfo */ +static int hf_inap_connectTime = -1; /* Integer4 */ +static int hf_inap_oMidCallInfo = -1; /* MidCallInfo */ +static int hf_inap_oDisconnectSpecificInfo = -1; /* T_oDisconnectSpecificInfo */ +static int hf_inap_releaseCause = -1; /* Cause */ +static int hf_inap_tBusySpecificInfo = -1; /* T_tBusySpecificInfo */ +static int hf_inap_tNoAnswerSpecificInfo = -1; /* T_tNoAnswerSpecificInfo */ +static int hf_inap_tAnswerSpecificInfo = -1; /* T_tAnswerSpecificInfo */ +static int hf_inap_tMidCallSpecificInfo = -1; /* T_tMidCallSpecificInfo */ +static int hf_inap_tMidCallInfo = -1; /* MidCallInfo */ +static int hf_inap_tDisconnectSpecificInfo = -1; /* T_tDisconnectSpecificInfo */ +static int hf_inap_oTermSeizedSpecificInfo = -1; /* T_oTermSeizedSpecificInfo */ +static int hf_inap_oSuspend = -1; /* T_oSuspend */ +static int hf_inap_tSuspend = -1; /* T_tSuspend */ +static int hf_inap_origAttemptAuthorized = -1; /* T_origAttemptAuthorized */ +static int hf_inap_oReAnswer = -1; /* T_oReAnswer */ +static int hf_inap_tReAnswer = -1; /* T_tReAnswer */ +static int hf_inap_facilitySelectedAndAvailable = -1; /* T_facilitySelectedAndAvailable */ +static int hf_inap_callAccepted = -1; /* T_callAccepted */ +static int hf_inap_oAbandon = -1; /* T_oAbandon */ +static int hf_inap_abandonCause = -1; /* Cause */ +static int hf_inap_tAbandon = -1; /* T_tAbandon */ +static int hf_inap_authorizeRouteFailure = -1; /* T_authorizeRouteFailure */ +static int hf_inap_authoriseRouteFailureCause = -1; /* Cause */ +static int hf_inap_terminationAttemptAuthorized = -1; /* T_terminationAttemptAuthorized */ +static int hf_inap_originationAttemptDenied = -1; /* T_originationAttemptDenied */ +static int hf_inap_originationDeniedCause = -1; /* Cause */ +static int hf_inap_terminationAttemptDenied = -1; /* T_terminationAttemptDenied */ +static int hf_inap_terminationDeniedCause = -1; /* Cause */ +static int hf_inap_oModifyRequestSpecificInfo = -1; /* T_oModifyRequestSpecificInfo */ +static int hf_inap_oModifyResultSpecificInfo = -1; /* T_oModifyResultSpecificInfo */ +static int hf_inap_modifyResultType = -1; /* ModifyResultType */ +static int hf_inap_tModifyRequestSpecificInfo = -1; /* T_tModifyRequestSpecificInfo */ +static int hf_inap_tModifyResultSpecificInfo = -1; /* T_tModifyResultSpecificInfo */ +static int hf_inap_trunkGroupID = -1; /* INTEGER */ +static int hf_inap_privateFacilityID = -1; /* INTEGER */ +static int hf_inap_huntGroup = -1; /* OCTET_STRING */ +static int hf_inap_routeIndex = -1; /* OCTET_STRING */ +static int hf_inap_sFBillingChargingCharacteristics = -1; /* SFBillingChargingCharacteristics */ +static int hf_inap_informationToSend = -1; /* InformationToSend */ +static int hf_inap_maximumNumberOfCounters = -1; /* MaximumNumberOfCounters */ +static int hf_inap_filteringCharacteristics_interval = -1; /* INTEGER_M1_32000 */ +static int hf_inap_numberOfCalls = -1; /* Integer4 */ +static int hf_inap_dialledNumber = -1; /* Digits */ +static int hf_inap_callingLineID = -1; /* Digits */ +static int hf_inap_addressAndService = -1; /* T_addressAndService */ +static int hf_inap_duration = -1; /* Duration */ +static int hf_inap_stopTime = -1; /* DateAndTime */ +static int hf_inap_callDiversionTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */ +static int hf_inap_callOfferingTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */ +static int hf_inap_callWaitingTreatmentIndicator = -1; /* OCTET_STRING_SIZE_1 */ +static int hf_inap_compoundCapCriteria = -1; /* CompoundCriteria */ +static int hf_inap_dpCriteria = -1; /* EventTypeBCSM */ +static int hf_inap_gapInterval = -1; /* Interval */ +static int hf_inap_both = -1; /* T_both */ +static int hf_inap_GenericNumbers_item = -1; /* GenericNumber */ +static int hf_inap_actionOnProfile = -1; /* ActionOnProfile */ +static int hf_inap_tDPIdentifier = -1; /* TDPIdentifier */ +static int hf_inap_dPName = -1; /* EventTypeBCSM */ +static int hf_inap_INServiceCompatibilityIndication_item = -1; /* Entry */ +static int hf_inap_alternativeCalledPartyIds = -1; /* AlternativeIdentities */ +static int hf_inap_alternativeOriginatingPartyIds = -1; /* AlternativeIdentities */ +static int hf_inap_alternativeOriginalCalledPartyIds = -1; /* AlternativeIdentities */ +static int hf_inap_alternativeRedirectingPartyIds = -1; /* AlternativeIdentities */ +static int hf_inap_sendingSideID = -1; /* LegType */ +static int hf_inap_receivingSideID = -1; /* LegType */ +static int hf_inap_MidCallControlInfo_item = -1; /* MidCallControlInfo_item */ +static int hf_inap_midCallInfoType = -1; /* MidCallInfoType */ +static int hf_inap_midCallReportType = -1; /* T_midCallReportType */ +static int hf_inap_iNServiceControlCode = -1; /* Digits */ +static int hf_inap_iNServiceControlCodeLow = -1; /* Digits */ +static int hf_inap_iNServiceControlCodeHigh = -1; /* Digits */ +static int hf_inap_messageType = -1; /* T_messageType */ +static int hf_inap_dpAssignment = -1; /* T_dpAssignment */ +static int hf_inap_threshold = -1; /* Integer4 */ +static int hf_inap_interval = -1; /* Interval */ +static int hf_inap_access = -1; /* CalledPartyNumber */ +static int hf_inap_group = -1; /* FacilityGroup */ +static int hf_inap_RequestedInformationList_item = -1; /* RequestedInformation */ +static int hf_inap_RequestedInformationTypeList_item = -1; /* RequestedInformationType */ +static int hf_inap_requestedInformationType = -1; /* RequestedInformationType */ +static int hf_inap_requestedInformationValue = -1; /* RequestedInformationValue */ +static int hf_inap_callAttemptElapsedTimeValue = -1; /* INTEGER_0_255 */ +static int hf_inap_callStopTimeValue = -1; /* DateAndTime */ +static int hf_inap_callConnectedElapsedTimeValue = -1; /* Integer4 */ +static int hf_inap_releaseCauseValue = -1; /* Cause */ +static int hf_inap_uSImonitorMode = -1; /* USIMonitorMode */ +static int hf_inap_RequestedUTSIList_item = -1; /* RequestedUTSI */ +static int hf_inap_lineID = -1; /* Digits */ +static int hf_inap_facilityGroupID = -1; /* FacilityGroup */ +static int hf_inap_facilityGroupMemberID = -1; /* INTEGER */ +static int hf_inap_RouteCountersValue_item = -1; /* RouteCountersAndValue */ +static int hf_inap_route = -1; /* Route */ +static int hf_inap_RouteList_item = -1; /* Route */ +static int hf_inap_miscCallInfo = -1; /* MiscCallInfo */ +static int hf_inap_triggerType = -1; /* TriggerType */ +static int hf_inap_forwardServiceInteractionInd = -1; /* ForwardServiceInteractionInd */ +static int hf_inap_backwardServiceInteractionInd = -1; /* BackwardServiceInteractionInd */ +static int hf_inap_bothwayThroughConnectionInd = -1; /* BothwayThroughConnectionInd */ +static int hf_inap_suspendTimer = -1; /* SuspendTimer */ +static int hf_inap_connectedNumberTreatmentInd = -1; /* ConnectedNumberTreatmentInd */ +static int hf_inap_suppressCallDiversionNotification = -1; /* BOOLEAN */ +static int hf_inap_suppressCallTransferNotification = -1; /* BOOLEAN */ +static int hf_inap_allowCdINNoPresentationInd = -1; /* BOOLEAN */ +static int hf_inap_userDialogueDurationInd = -1; /* BOOLEAN */ +static int hf_inap_overrideLineRestrictions = -1; /* BOOLEAN */ +static int hf_inap_suppressVPNAPP = -1; /* BOOLEAN */ +static int hf_inap_calledINNumberOverriding = -1; /* BOOLEAN */ +static int hf_inap_redirectServiceTreatmentInd = -1; /* T_redirectServiceTreatmentInd */ +static int hf_inap_redirectReason = -1; /* RedirectReason */ +static int hf_inap_nonCUGCall = -1; /* NULL */ +static int hf_inap_oneTrigger = -1; /* INTEGER */ +static int hf_inap_triggers = -1; /* Triggers */ +static int hf_inap_triggerId = -1; /* T_triggerId */ +static int hf_inap_triggerPar = -1; /* T_triggerPar */ +static int hf_inap_triggerID = -1; /* EventTypeBCSM */ +static int hf_inap_profile = -1; /* ProfileIdentifier */ +static int hf_inap_TriggerResults_item = -1; /* TriggerResult */ +static int hf_inap_tDPIdentifer = -1; /* INTEGER */ +static int hf_inap_actionPerformed = -1; /* ActionPerformed */ +static int hf_inap_Triggers_item = -1; /* Trigger */ +static int hf_inap_trigger_tDPIdentifier = -1; /* INTEGER */ +static int hf_inap_dpName = -1; /* EventTypeBCSM */ +static int hf_inap_global = -1; /* OBJECT_IDENTIFIER */ +static int hf_inap_local = -1; /* OCTET_STRING_SIZE_minUSIServiceIndicatorLength_maxUSIServiceIndicatorLength */ +static int hf_inap_filteredCallTreatment = -1; /* FilteredCallTreatment */ +static int hf_inap_filteringCharacteristics = -1; /* FilteringCharacteristics */ +static int hf_inap_filteringTimeOut = -1; /* FilteringTimeOut */ +static int hf_inap_filteringCriteria = -1; /* FilteringCriteria */ +static int hf_inap_startTime = -1; /* DateAndTime */ +static int hf_inap_dpSpecificCommonParameters = -1; /* DpSpecificCommonParameters */ +static int hf_inap_dialledDigits = -1; /* CalledPartyNumber */ +static int hf_inap_callingPartyBusinessGroupID = -1; /* CallingPartyBusinessGroupID */ +static int hf_inap_callingPartySubaddress = -1; /* CallingPartySubaddress */ +static int hf_inap_callingFacilityGroup = -1; /* FacilityGroup */ +static int hf_inap_callingFacilityGroupMember = -1; /* FacilityGroupMember */ +static int hf_inap_originalCalledPartyID = -1; /* OriginalCalledPartyID */ +static int hf_inap_prefix = -1; /* Digits */ +static int hf_inap_redirectingPartyID = -1; /* RedirectingPartyID */ +static int hf_inap_redirectionInformation = -1; /* RedirectionInformation */ +static int hf_inap_routeList = -1; /* RouteList */ +static int hf_inap_travellingClassMark = -1; /* TravellingClassMark */ +static int hf_inap_featureCode = -1; /* FeatureCode */ +static int hf_inap_accessCode = -1; /* AccessCode */ +static int hf_inap_carrier = -1; /* Carrier */ +static int hf_inap_componentType = -1; /* ComponentType */ +static int hf_inap_component = -1; /* Component */ +static int hf_inap_componentCorrelationID = -1; /* ComponentCorrelationID */ +static int hf_inap_destinationRoutingAddress = -1; /* DestinationRoutingAddress */ +static int hf_inap_alertingPattern = -1; /* AlertingPattern */ +static int hf_inap_iNServiceCompatibilityResponse = -1; /* INServiceCompatibilityResponse */ +static int hf_inap_correlationID = -1; /* CorrelationID */ +static int hf_inap_callSegmentID = -1; /* CallSegmentID */ +static int hf_inap_legToBeCreated = -1; /* LegID */ +static int hf_inap_aChBillingChargingCharacteristics = -1; /* AChBillingChargingCharacteristics */ +static int hf_inap_partyToCharge = -1; /* LegID */ +static int hf_inap_releaseIndication = -1; /* BOOLEAN */ +static int hf_inap_destinationNumberRoutingAddress = -1; /* CalledPartyNumber */ +static int hf_inap_displayInformation = -1; /* DisplayInformation */ +static int hf_inap_destinationIndex = -1; /* DestinationIndex */ +static int hf_inap_gapIndicators = -1; /* GapIndicators */ +static int hf_inap_registratorIdentifier = -1; /* RegistratorIdentifier */ +static int hf_inap_gapCriteria = -1; /* GapCriteria */ +static int hf_inap_controlType = -1; /* ControlType */ +static int hf_inap_gapTreatment = -1; /* GapTreatment */ +static int hf_inap_requestedInformationList = -1; /* RequestedInformationList */ +static int hf_inap_lastEventIndicator = -1; /* BOOLEAN */ +static int hf_inap_requestedInformationTypeList = -1; /* RequestedInformationTypeList */ +static int hf_inap_invokeID = -1; /* InvokeID */ +static int hf_inap_allRequests = -1; /* NULL */ +static int hf_inap_callSegmentToCancel = -1; /* T_callSegmentToCancel */ +static int hf_inap_allRequestsForCallSegment = -1; /* CallSegmentID */ +static int hf_inap_resourceID = -1; /* ResourceID */ +static int hf_inap_numberingPlan = -1; /* NumberingPlan */ +static int hf_inap_cutAndPaste = -1; /* CutAndPaste */ +static int hf_inap_forwardingCondition = -1; /* ForwardingCondition */ +static int hf_inap_forwardCallIndicators = -1; /* ForwardCallIndicators */ +static int hf_inap_genericNumbers = -1; /* GenericNumbers */ +static int hf_inap_sDSSinformation = -1; /* SDSSinformation */ +static int hf_inap_calledDirectoryNumber = -1; /* CalledDirectoryNumber */ +static int hf_inap_calledPartySubaddress = -1; /* CalledPartySubaddress */ +static int hf_inap_connectionIdentifier = -1; /* ConnectionIdentifier */ +static int hf_inap_genericIdentifier = -1; /* GenericIdentifier */ +static int hf_inap_qOSParameter = -1; /* QoSParameter */ +static int hf_inap_bISDNParameters = -1; /* BISDNParameters */ +static int hf_inap_cug_Interlock = -1; /* CUG_Interlock */ +static int hf_inap_cug_OutgoingAccess = -1; /* NULL */ +static int hf_inap_resourceAddress = -1; /* T_resourceAddress */ +static int hf_inap_ipRoutingAddress = -1; /* IPRoutingAddress */ +static int hf_inap_ipAddressAndLegID = -1; /* T_ipAddressAndLegID */ +static int hf_inap_none = -1; /* NULL */ +static int hf_inap_ipAddressAndCallSegment = -1; /* T_ipAddressAndCallSegment */ +static int hf_inap_legorCSID = -1; /* T_legorCSID */ +static int hf_inap_csID = -1; /* CallSegmentID */ +static int hf_inap_genericName = -1; /* GenericName */ +static int hf_inap_ipRelationInformation = -1; /* IPRelatedInformation */ +static int hf_inap_newCallSegmentAssociation = -1; /* CSAID */ +static int hf_inap_createOrRemove = -1; /* CreateOrRemoveIndicator */ +static int hf_inap_triggerDPType = -1; /* TriggerDPType */ +static int hf_inap_triggerData = -1; /* TriggerData */ +static int hf_inap_defaultFaultHandling = -1; /* DefaultFaultHandling */ +static int hf_inap_triggerStatus = -1; /* TriggerStatus */ +static int hf_inap_partyToDisconnect = -1; /* T_partyToDisconnect */ +static int hf_inap_legToBeReleased = -1; /* LegID */ +static int hf_inap_cSFailure = -1; /* T_cSFailure */ +static int hf_inap_reason = -1; /* Reason */ +static int hf_inap_bCSMFailure = -1; /* T_bCSMFailure */ +static int hf_inap_assistingSSPIPRoutingAddress = -1; /* AssistingSSPIPRoutingAddress */ +static int hf_inap_partyToConnect = -1; /* T_partyToConnect */ +static int hf_inap_eventSpecificInformationCharging = -1; /* EventSpecificInformationCharging */ +static int hf_inap_bcsmEventCorrelationID = -1; /* CorrelationID */ +static int hf_inap_eventSpecificInformationBCSM = -1; /* EventSpecificInformationBCSM */ +static int hf_inap_calledPartyBusinessGroupID = -1; /* CalledPartyBusinessGroupID */ +static int hf_inap_holdcause = -1; /* HoldCause */ +static int hf_inap_empty = -1; /* NULL */ +static int hf_inap_highLayerCompatibility = -1; /* HighLayerCompatibility */ +static int hf_inap_additionalCallingPartyNumber = -1; /* AdditionalCallingPartyNumber */ +static int hf_inap_cCSS = -1; /* CCSS */ +static int hf_inap_vPNIndicator = -1; /* VPNIndicator */ +static int hf_inap_cNInfo = -1; /* CNInfo */ +static int hf_inap_callReference = -1; /* CallReference */ +static int hf_inap_routeingNumber = -1; /* RouteingNumber */ +static int hf_inap_callingGeodeticLocation = -1; /* CallingGeodeticLocation */ +static int hf_inap_globalCallReference = -1; /* GlobalCallReference */ +static int hf_inap_cug_Index = -1; /* CUG_Index */ +static int hf_inap_newCallSegment = -1; /* CallSegmentID */ +static int hf_inap_incomingSignallingBufferCopy = -1; /* BOOLEAN */ +static int hf_inap_actionIndicator = -1; /* ActionIndicator */ +static int hf_inap_triggerDataIdentifier = -1; /* T_triggerDataIdentifier */ +static int hf_inap_profileAndDP = -1; /* TriggerDataIdentifier */ +static int hf_inap_oneTriggerResult = -1; /* T_oneTriggerResult */ +static int hf_inap_severalTriggerResult = -1; /* T_severalTriggerResult */ +static int hf_inap_results = -1; /* TriggerResults */ +static int hf_inap_sourceCallSegment = -1; /* CallSegmentID */ +static int hf_inap_targetCallSegment = -1; /* CallSegmentID */ +static int hf_inap_mergeSignallingPaths = -1; /* NULL */ +static int hf_inap_routeCounters = -1; /* RouteCountersValue */ +static int hf_inap_monitoringCriteria = -1; /* MonitoringCriteria */ +static int hf_inap_monitoringTimeout = -1; /* MonitoringTimeOut */ +static int hf_inap_targetCallSegmentAssociation = -1; /* CSAID */ +static int hf_inap_callSegments = -1; /* T_callSegments */ +static int hf_inap_callSegments_item = -1; /* T_callSegments_item */ +static int hf_inap_legs = -1; /* T_legs */ +static int hf_inap_legs_item = -1; /* T_legs_item */ +static int hf_inap_sourceLeg = -1; /* LegID */ +static int hf_inap_newLeg = -1; /* LegID */ +static int hf_inap_legIDToMove = -1; /* LegID */ +static int hf_inap_detachSignallingPath = -1; /* NULL */ +static int hf_inap_exportSignallingPath = -1; /* NULL */ +static int hf_inap_featureRequestIndicator = -1; /* FeatureRequestIndicator */ +static int hf_inap_componenttCorrelationID = -1; /* ComponentCorrelationID */ +static int hf_inap_notificationDuration = -1; /* ApplicationTimer */ +static int hf_inap_initialCallSegment = -1; /* Cause */ +static int hf_inap_callSegmentToRelease = -1; /* T_callSegmentToRelease */ +static int hf_inap_callSegment = -1; /* INTEGER_1_numOfCSs */ +static int hf_inap_forcedRelease = -1; /* BOOLEAN */ +static int hf_inap_allCallSegments = -1; /* T_allCallSegments */ +static int hf_inap_timeToRelease = -1; /* TimerValue */ +static int hf_inap_resourceStatus = -1; /* ResourceStatus */ +static int hf_inap_monitorDuration = -1; /* Duration */ +static int hf_inap_RequestNotificationChargingEventArg_item = -1; /* ChargingEvent */ +static int hf_inap_bcsmEvents = -1; /* SEQUENCE_SIZE_1_numOfBCSMEvents_OF_BCSMEvent */ +static int hf_inap_bcsmEvents_item = -1; /* BCSMEvent */ +static int hf_inap_componentTypes = -1; /* SEQUENCE_SIZE_1_3_OF_ComponentType */ +static int hf_inap_componentTypes_item = -1; /* ComponentType */ +static int hf_inap_requestedUTSIList = -1; /* RequestedUTSIList */ +static int hf_inap_timerID = -1; /* TimerID */ +static int hf_inap_timervalue = -1; /* TimerValue */ +static int hf_inap_calledFacilityGroup = -1; /* FacilityGroup */ +static int hf_inap_calledFacilityGroupMember = -1; /* FacilityGroupMember */ +static int hf_inap_sCIBillingChargingCharacteristics = -1; /* SCIBillingChargingCharacteristics */ +static int hf_inap_nocharge = -1; /* BOOLEAN */ +static int hf_inap_callProcessingOperation = -1; /* CallProcessingOperation */ +static int hf_inap_countersValue = -1; /* CountersValue */ +static int hf_inap_responseCondition = -1; /* ResponseCondition */ +static int hf_inap_iNprofiles = -1; /* SEQUENCE_SIZE_1_numOfINProfile_OF_INprofile */ +static int hf_inap_iNprofiles_item = -1; /* INprofile */ +static int hf_inap_legToBeSplit = -1; /* LegID */ +static int hf_inap_newCallSegment_01 = -1; /* INTEGER_2_numOfCSs */ +static int hf_inap_reportCondition = -1; /* ReportCondition */ +static int hf_inap_minimumNbOfDigits = -1; /* INTEGER_1_127 */ +static int hf_inap_maximumNbOfDigits = -1; /* INTEGER_1_127 */ +static int hf_inap_endOfReplyDigit = -1; /* OCTET_STRING_SIZE_1_2 */ +static int hf_inap_cancelDigit = -1; /* OCTET_STRING_SIZE_1_2 */ +static int hf_inap_startDigit = -1; /* OCTET_STRING_SIZE_1_2 */ +static int hf_inap_firstDigitTimeOut = -1; /* INTEGER_1_127 */ +static int hf_inap_interDigitTimeOut = -1; /* INTEGER_1_127 */ +static int hf_inap_errorTreatment = -1; /* ErrorTreatment */ +static int hf_inap_interruptableAnnInd = -1; /* BOOLEAN */ +static int hf_inap_voiceInformation = -1; /* BOOLEAN */ +static int hf_inap_voiceBack = -1; /* BOOLEAN */ +static int hf_inap_detectModem = -1; /* BOOLEAN */ +static int hf_inap_collectedDigits = -1; /* CollectedDigits */ +static int hf_inap_iA5Information = -1; /* BOOLEAN */ +static int hf_inap_messageID = -1; /* MessageID */ +static int hf_inap_numberOfRepetitions = -1; /* INTEGER_1_127 */ +static int hf_inap_inbandInfo_duration = -1; /* INTEGER_0_32767 */ +static int hf_inap_inbandInfo_interval = -1; /* INTEGER_0_32767 */ +static int hf_inap_preferredLanguage = -1; /* Language */ +static int hf_inap_messageID_01 = -1; /* ElementaryMessageID */ +static int hf_inap_messageDeletionTimeOut = -1; /* INTEGER_1_3600 */ +static int hf_inap_timeToRecord = -1; /* INTEGER_0_b3__maxRecordingTime */ +static int hf_inap_controlDigits = -1; /* T_controlDigits */ +static int hf_inap_endOfRecordingDigit = -1; /* OCTET_STRING_SIZE_1_2 */ +static int hf_inap_replayDigit = -1; /* OCTET_STRING_SIZE_1_2 */ +static int hf_inap_restartRecordingDigit = -1; /* OCTET_STRING_SIZE_1_2 */ +static int hf_inap_restartAllowed = -1; /* BOOLEAN */ +static int hf_inap_replayAllowed = -1; /* BOOLEAN */ +static int hf_inap_inbandInfo = -1; /* InbandInfo */ +static int hf_inap_tone = -1; /* Tone */ +static int hf_inap_elementaryMessageID = -1; /* Integer4 */ +static int hf_inap_text = -1; /* T_text */ +static int hf_inap_messageContent = -1; /* IA5String_SIZE_b3__minMessageContentLength_b3__maxMessageContentLength */ +static int hf_inap_attributes = -1; /* OCTET_STRING_SIZE_b3__minAttributesLength_b3__maxAttributesLength */ +static int hf_inap_elementaryMessageIDs = -1; /* SEQUENCE_SIZE_1_b3__numOfMessageIDs_OF_Integer4 */ +static int hf_inap_elementaryMessageIDs_item = -1; /* Integer4 */ +static int hf_inap_variableMessage = -1; /* T_variableMessage */ +static int hf_inap_variableParts = -1; /* SEQUENCE_SIZE_1_b3__maxVariableParts_OF_VariablePart */ +static int hf_inap_variableParts_item = -1; /* VariablePart */ +static int hf_inap_iPAddressValue = -1; /* Digits */ +static int hf_inap_gapOnResource = -1; /* GapOnResource */ +static int hf_inap_iPAddressAndresource = -1; /* T_iPAddressAndresource */ +static int hf_inap_toneID = -1; /* Integer4 */ +static int hf_inap_tone_duration = -1; /* Integer4 */ +static int hf_inap_integer = -1; /* Integer4 */ +static int hf_inap_number = -1; /* Digits */ +static int hf_inap_time = -1; /* OCTET_STRING_SIZE_2 */ +static int hf_inap_date = -1; /* OCTET_STRING_SIZE_3 */ +static int hf_inap_price = -1; /* OCTET_STRING_SIZE_4 */ +static int hf_inap_disconnectFromIPForbidden = -1; /* BOOLEAN */ +static int hf_inap_requestAnnouncementComplete = -1; /* BOOLEAN */ +static int hf_inap_connectedParty = -1; /* T_connectedParty */ +static int hf_inap_collectedInfo = -1; /* CollectedInfo */ +static int hf_inap_digitsResponse = -1; /* Digits */ +static int hf_inap_iA5Response = -1; /* IA5String */ +static int hf_inap_modemdetected = -1; /* BOOLEAN */ +static int hf_inap_subscriberID = -1; /* GenericNumber */ +static int hf_inap_mailBoxID = -1; /* MailBoxID */ +static int hf_inap_informationToRecord = -1; /* InformationToRecord */ +static int hf_inap_media = -1; /* Media */ +static int hf_inap_receivedStatus = -1; /* ReceivedStatus */ +static int hf_inap_recordedMessageID = -1; /* RecordedMessageID */ +static int hf_inap_recordedMessageUnits = -1; /* INTEGER_1_b3__maxRecordedMessageUnits */ +static int hf_inap_uIScriptId = -1; /* Code */ +static int hf_inap_uIScriptSpecificInfo = -1; /* T_uIScriptSpecificInfo */ +static int hf_inap_uIScriptResult = -1; /* T_uIScriptResult */ +static int hf_inap_uIScriptSpecificInfo_01 = -1; /* T_uIScriptSpecificInfo_01 */ +static int hf_inap_uIScriptSpecificInfo_02 = -1; /* T_uIScriptSpecificInfo_02 */ +static int hf_inap_sRFgapCriteria = -1; /* SRFGapCriteria */ +static int hf_inap_problem = -1; /* T_problem */ +static int hf_inap_operation = -1; /* InvokeID */ +static int hf_inap_scfTaskRefusedParameter_reason = -1; /* T_scfTaskRefusedParameter_reason */ +static int hf_inap_securityParameters = -1; /* SecurityParameters */ +static int hf_inap_tryhere = -1; /* AccessPointInformation */ +static int hf_inap_code_local = -1; /* T_code_local */ +static int hf_inap_global_01 = -1; /* T_global */ +static int hf_inap_invoke = -1; /* Invoke */ +static int hf_inap_returnResult = -1; /* ReturnResult */ +static int hf_inap_returnError = -1; /* ReturnError */ +static int hf_inap_reject = -1; /* Reject */ +static int hf_inap_invokeId = -1; /* InvokeId */ +static int hf_inap_linkedId = -1; /* T_linkedId */ +static int hf_inap_inkedIdPresent = -1; /* T_inkedIdPresent */ +static int hf_inap_absent = -1; /* NULL */ +static int hf_inap_opcode = -1; /* Code */ +static int hf_inap_argument = -1; /* T_argument */ +static int hf_inap_result = -1; /* T_result */ +static int hf_inap_resultArgument = -1; /* ResultArgument */ +static int hf_inap_errcode = -1; /* Code */ +static int hf_inap_parameter = -1; /* T_parameter */ +static int hf_inap_problem_01 = -1; /* T_problem_01 */ +static int hf_inap_general = -1; /* GeneralProblem */ +static int hf_inap_invokeProblem = -1; /* InvokeProblem */ +static int hf_inap_problemReturnResult = -1; /* ReturnResultProblem */ +static int hf_inap_returnErrorProblem = -1; /* ReturnErrorProblem */ +static int hf_inap_present = -1; /* INTEGER */ +static int hf_inap_InvokeId_present = -1; /* InvokeId_present */ + +#define MAX_SSN 254 +static range_t *global_ssn_range; + +static dissector_handle_t inap_handle; + +/* Global variables */ +static guint32 opcode=0; +static guint32 errorCode=0; +static const char *obj_id = NULL; +static gboolean is_ExtensionField =FALSE; + +static int inap_opcode_type; +#define INAP_OPCODE_INVOKE 1 +#define INAP_OPCODE_RETURN_RESULT 2 +#define INAP_OPCODE_RETURN_ERROR 3 +#define INAP_OPCODE_REJECT 4 + +static int hf_inap_cause_indicator = -1; + +/* Initialize the subtree pointers */ +static gint ett_inap = -1; +static gint ett_inapisup_parameter = -1; +static gint ett_inap_RedirectionInformation = -1; +static gint ett_inap_HighLayerCompatibility = -1; +static gint ett_inap_extension_data = -1; +static gint ett_inap_cause = -1; +static gint ett_inap_calledAddressValue = -1; +static gint ett_inap_callingAddressValue = -1; +static gint ett_inap_additionalCallingPartyNumber = -1; +static gint ett_inap_assistingSSPIPRoutingAddress = -1; +static gint ett_inap_correlationID = -1; +static gint ett_inap_number = -1; +static gint ett_inap_dialledNumber = -1; +static gint ett_inap_callingLineID = -1; +static gint ett_inap_iNServiceControlCode = -1; +static gint ett_inap_iNServiceControlCodeLow = -1; +static gint ett_inap_iNServiceControlCodeHigh = -1; +static gint ett_inap_lineID = -1; +static gint ett_inap_prefix = -1; +static gint ett_inap_iPAddressValue = -1; +static gint ett_inap_digitsResponse = -1; + +static gint ett_inap_Extensions = -1; +static gint ett_inap_ExtensionField = -1; +static gint ett_inap_AlternativeIdentities = -1; +static gint ett_inap_AlternativeIdentity = -1; +static gint ett_inap_BackwardServiceInteractionInd = -1; +static gint ett_inap_BasicGapCriteria = -1; +static gint ett_inap_T_calledAddressAndService = -1; +static gint ett_inap_T_callingAddressAndService = -1; +static gint ett_inap_BCSMEvent = -1; +static gint ett_inap_BearerCapability = -1; +static gint ett_inap_BISDNParameters = -1; +static gint ett_inap_ChargingEvent = -1; +static gint ett_inap_Component = -1; +static gint ett_inap_CompoundCriteria = -1; +static gint ett_inap_CounterAndValue = -1; +static gint ett_inap_CountersValue = -1; +static gint ett_inap_DefaultFaultHandling = -1; +static gint ett_inap_DestinationRoutingAddress = -1; +static gint ett_inap_DpSpecificCommonParameters = -1; +static gint ett_inap_DpSpecificCriteria = -1; +static gint ett_inap_T_numberOfDigitsTwo = -1; +static gint ett_inap_Entry = -1; +static gint ett_inap_EventSpecificInformationBCSM = -1; +static gint ett_inap_T_collectedInfoSpecificInfo = -1; +static gint ett_inap_T_analysedInfoSpecificInfo = -1; +static gint ett_inap_T_routeSelectFailureSpecificInfo = -1; +static gint ett_inap_T_oCalledPartyBusySpecificInfo = -1; +static gint ett_inap_T_oNoAnswerSpecificInfo = -1; +static gint ett_inap_T_oAnswerSpecificInfo = -1; +static gint ett_inap_T_oMidCallSpecificInfo = -1; +static gint ett_inap_T_oDisconnectSpecificInfo = -1; +static gint ett_inap_T_tBusySpecificInfo = -1; +static gint ett_inap_T_tNoAnswerSpecificInfo = -1; +static gint ett_inap_T_tAnswerSpecificInfo = -1; +static gint ett_inap_T_tMidCallSpecificInfo = -1; +static gint ett_inap_T_tDisconnectSpecificInfo = -1; +static gint ett_inap_T_oTermSeizedSpecificInfo = -1; +static gint ett_inap_T_oSuspend = -1; +static gint ett_inap_T_tSuspend = -1; +static gint ett_inap_T_origAttemptAuthorized = -1; +static gint ett_inap_T_oReAnswer = -1; +static gint ett_inap_T_tReAnswer = -1; +static gint ett_inap_T_facilitySelectedAndAvailable = -1; +static gint ett_inap_T_callAccepted = -1; +static gint ett_inap_T_oAbandon = -1; +static gint ett_inap_T_tAbandon = -1; +static gint ett_inap_T_authorizeRouteFailure = -1; +static gint ett_inap_T_terminationAttemptAuthorized = -1; +static gint ett_inap_T_originationAttemptDenied = -1; +static gint ett_inap_T_terminationAttemptDenied = -1; +static gint ett_inap_T_oModifyRequestSpecificInfo = -1; +static gint ett_inap_T_oModifyResultSpecificInfo = -1; +static gint ett_inap_T_tModifyRequestSpecificInfo = -1; +static gint ett_inap_T_tModifyResultSpecificInfo = -1; +static gint ett_inap_FacilityGroup = -1; +static gint ett_inap_FilteredCallTreatment = -1; +static gint ett_inap_FilteringCharacteristics = -1; +static gint ett_inap_FilteringCriteria = -1; +static gint ett_inap_T_addressAndService = -1; +static gint ett_inap_FilteringTimeOut = -1; +static gint ett_inap_ForwardServiceInteractionInd = -1; +static gint ett_inap_GapCriteria = -1; +static gint ett_inap_GapOnService = -1; +static gint ett_inap_GapIndicators = -1; +static gint ett_inap_GapTreatment = -1; +static gint ett_inap_T_both = -1; +static gint ett_inap_GenericNumbers = -1; +static gint ett_inap_INprofile = -1; +static gint ett_inap_INServiceCompatibilityIndication = -1; +static gint ett_inap_IPRelatedInformation = -1; +static gint ett_inap_LegID = -1; +static gint ett_inap_MidCallControlInfo = -1; +static gint ett_inap_MidCallControlInfo_item = -1; +static gint ett_inap_MidCallInfo = -1; +static gint ett_inap_MidCallInfoType = -1; +static gint ett_inap_MiscCallInfo = -1; +static gint ett_inap_MonitoringCriteria = -1; +static gint ett_inap_MonitoringTimeOut = -1; +static gint ett_inap_ProfileIdentifier = -1; +static gint ett_inap_RequestedInformationList = -1; +static gint ett_inap_RequestedInformationTypeList = -1; +static gint ett_inap_RequestedInformation = -1; +static gint ett_inap_RequestedInformationValue = -1; +static gint ett_inap_RequestedUTSI = -1; +static gint ett_inap_RequestedUTSIList = -1; +static gint ett_inap_ResourceID = -1; +static gint ett_inap_RouteCountersValue = -1; +static gint ett_inap_RouteCountersAndValue = -1; +static gint ett_inap_RouteList = -1; +static gint ett_inap_ServiceAddressInformation = -1; +static gint ett_inap_ServiceInteractionIndicatorsTwo = -1; +static gint ett_inap_T_redirectServiceTreatmentInd = -1; +static gint ett_inap_TDPIdentifier = -1; +static gint ett_inap_TriggerData = -1; +static gint ett_inap_TriggerDataIdentifier = -1; +static gint ett_inap_TriggerResults = -1; +static gint ett_inap_TriggerResult = -1; +static gint ett_inap_Triggers = -1; +static gint ett_inap_Trigger = -1; +static gint ett_inap_USIServiceIndicator = -1; +static gint ett_inap_ActivateServiceFilteringArg = -1; +static gint ett_inap_AnalysedInformationArg = -1; +static gint ett_inap_AnalyseInformationArg = -1; +static gint ett_inap_ApplyChargingArg = -1; +static gint ett_inap_AssistRequestInstructionsArg = -1; +static gint ett_inap_AuthorizeTerminationArg = -1; +static gint ett_inap_CallFilteringArg = -1; +static gint ett_inap_CallGapArg = -1; +static gint ett_inap_CallInformationReportArg = -1; +static gint ett_inap_CallInformationRequestArg = -1; +static gint ett_inap_CancelArg = -1; +static gint ett_inap_T_callSegmentToCancel = -1; +static gint ett_inap_CancelStatusReportRequestArg = -1; +static gint ett_inap_CollectedInformationArg = -1; +static gint ett_inap_CollectInformationArg = -1; +static gint ett_inap_ConnectArg = -1; +static gint ett_inap_ConnectToResourceArg = -1; +static gint ett_inap_T_resourceAddress = -1; +static gint ett_inap_T_ipAddressAndLegID = -1; +static gint ett_inap_T_ipAddressAndCallSegment = -1; +static gint ett_inap_ContinueWithArgumentArg = -1; +static gint ett_inap_T_legorCSID = -1; +static gint ett_inap_CreateCallSegmentAssociationArg = -1; +static gint ett_inap_CreateCallSegmentAssociationResultArg = -1; +static gint ett_inap_CreateOrRemoveTriggerDataArg = -1; +static gint ett_inap_CreateOrRemoveTriggerDataResultArg = -1; +static gint ett_inap_DisconnectForwardConnectionWithArgumentArg = -1; +static gint ett_inap_T_partyToDisconnect = -1; +static gint ett_inap_DisconnectLegArg = -1; +static gint ett_inap_EntityReleasedArg = -1; +static gint ett_inap_T_cSFailure = -1; +static gint ett_inap_T_bCSMFailure = -1; +static gint ett_inap_EstablishTemporaryConnectionArg = -1; +static gint ett_inap_T_partyToConnect = -1; +static gint ett_inap_EventNotificationChargingArg = -1; +static gint ett_inap_EventReportBCSMArg = -1; +static gint ett_inap_EventReportFacilityArg = -1; +static gint ett_inap_FacilitySelectedAndAvailableArg = -1; +static gint ett_inap_HoldCallInNetworkArg = -1; +static gint ett_inap_InitialDPArg = -1; +static gint ett_inap_InitiateCallAttemptArg = -1; +static gint ett_inap_ManageTriggerDataArg = -1; +static gint ett_inap_T_triggerDataIdentifier = -1; +static gint ett_inap_ManageTriggerDataResultArg = -1; +static gint ett_inap_T_oneTriggerResult = -1; +static gint ett_inap_T_severalTriggerResult = -1; +static gint ett_inap_MergeCallSegmentsArg = -1; +static gint ett_inap_MonitorRouteReportArg = -1; +static gint ett_inap_MonitorRouteRequestArg = -1; +static gint ett_inap_MoveCallSegmentsArg = -1; +static gint ett_inap_T_callSegments = -1; +static gint ett_inap_T_callSegments_item = -1; +static gint ett_inap_T_legs = -1; +static gint ett_inap_T_legs_item = -1; +static gint ett_inap_MoveLegArg = -1; +static gint ett_inap_OAbandonArg = -1; +static gint ett_inap_OAnswerArg = -1; +static gint ett_inap_OCalledPartyBusyArg = -1; +static gint ett_inap_ODisconnectArg = -1; +static gint ett_inap_MidCallArg = -1; +static gint ett_inap_ONoAnswerArg = -1; +static gint ett_inap_OriginationAttemptArg = -1; +static gint ett_inap_OriginationAttemptAuthorizedArg = -1; +static gint ett_inap_OSuspendedArg = -1; +static gint ett_inap_ReconnectArg = -1; +static gint ett_inap_ReleaseCallArg = -1; +static gint ett_inap_T_callSegmentToRelease = -1; +static gint ett_inap_T_allCallSegments = -1; +static gint ett_inap_ReportUTSIArg = -1; +static gint ett_inap_RequestCurrentStatusReportResultArg = -1; +static gint ett_inap_RequestEveryStatusChangeReportArg = -1; +static gint ett_inap_RequestFirstStatusMatchReportArg = -1; +static gint ett_inap_RequestNotificationChargingEventArg = -1; +static gint ett_inap_RequestReportBCSMEventArg = -1; +static gint ett_inap_SEQUENCE_SIZE_1_numOfBCSMEvents_OF_BCSMEvent = -1; +static gint ett_inap_RequestReportFacilityEventArg = -1; +static gint ett_inap_SEQUENCE_SIZE_1_3_OF_ComponentType = -1; +static gint ett_inap_RequestReportUTSIArg = -1; +static gint ett_inap_ResetTimerArg = -1; +static gint ett_inap_RouteSelectFailureArg = -1; +static gint ett_inap_SelectFacilityArg = -1; +static gint ett_inap_SelectRouteArg = -1; +static gint ett_inap_SendChargingInformationArg = -1; +static gint ett_inap_SendFacilityInformationArg = -1; +static gint ett_inap_SendSTUIArg = -1; +static gint ett_inap_ServiceFilteringResponseArg = -1; +static gint ett_inap_SetServiceProfileArg = -1; +static gint ett_inap_SEQUENCE_SIZE_1_numOfINProfile_OF_INprofile = -1; +static gint ett_inap_SplitLegArg = -1; +static gint ett_inap_StatusReportArg = -1; +static gint ett_inap_TAnswerArg = -1; +static gint ett_inap_TBusyArg = -1; +static gint ett_inap_TDisconnectArg = -1; +static gint ett_inap_TermAttemptAuthorizedArg = -1; +static gint ett_inap_TerminationAttemptArg = -1; +static gint ett_inap_TNoAnswerArg = -1; +static gint ett_inap_TSuspendedArg = -1; +static gint ett_inap_CollectedDigits = -1; +static gint ett_inap_CollectedInfo = -1; +static gint ett_inap_InbandInfo = -1; +static gint ett_inap_InformationToRecord = -1; +static gint ett_inap_T_controlDigits = -1; +static gint ett_inap_InformationToSend = -1; +static gint ett_inap_MessageID = -1; +static gint ett_inap_T_text = -1; +static gint ett_inap_SEQUENCE_SIZE_1_b3__numOfMessageIDs_OF_Integer4 = -1; +static gint ett_inap_T_variableMessage = -1; +static gint ett_inap_SEQUENCE_SIZE_1_b3__maxVariableParts_OF_VariablePart = -1; +static gint ett_inap_SRFGapCriteria = -1; +static gint ett_inap_T_iPAddressAndresource = -1; +static gint ett_inap_Tone = -1; +static gint ett_inap_VariablePart = -1; +static gint ett_inap_PlayAnnouncementArg = -1; +static gint ett_inap_T_connectedParty = -1; +static gint ett_inap_PromptAndCollectUserInformationArg = -1; +static gint ett_inap_ReceivedInformationArg = -1; +static gint ett_inap_PromptAndReceiveMessageArg = -1; +static gint ett_inap_MessageReceivedArg = -1; +static gint ett_inap_ScriptCloseArg = -1; +static gint ett_inap_ScriptEventArg = -1; +static gint ett_inap_ScriptInformationArg = -1; +static gint ett_inap_ScriptRunArg = -1; +static gint ett_inap_SRFCallGapArg = -1; +static gint ett_inap_PAR_cancelFailed = -1; +static gint ett_inap_ScfTaskRefusedParameter = -1; +static gint ett_inap_ReferralParameter = -1; +static gint ett_inap_Code = -1; +static gint ett_inap_ROS = -1; +static gint ett_inap_Invoke = -1; +static gint ett_inap_T_linkedId = -1; +static gint ett_inap_ReturnResult = -1; +static gint ett_inap_T_result = -1; +static gint ett_inap_ReturnError = -1; +static gint ett_inap_Reject = -1; +static gint ett_inap_T_problem_01 = -1; +static gint ett_inap_InvokeId = -1; + +static expert_field ei_inap_unknown_invokeData = EI_INIT; +static expert_field ei_inap_unknown_returnResultData = EI_INIT; +static expert_field ei_inap_unknown_returnErrorData = EI_INIT; + + +/* INAP OPERATIONS */ +const value_string inap_opr_code_strings[] = { + { opcode_activateServiceFiltering , "activateServiceFiltering" }, + { opcode_activityTest , "activityTest" }, + { opcode_analysedInformation , "analysedInformation" }, + { opcode_analyseInformation , "analyseInformation" }, + { opcode_applyCharging , "applyCharging" }, + { opcode_applyChargingReport , "applyChargingReport" }, + { opcode_assistRequestInstructions , "assistRequestInstructions" }, + { opcode_authorizeTermination , "authorizeTermination" }, + { opcode_callFiltering , "callFiltering" }, + { opcode_callGap , "callGap" }, + { opcode_callInformationReport , "callInformationReport" }, + { opcode_callInformationRequest , "callInformationRequest" }, + { opcode_cancel , "cancel" }, + { opcode_cancelStatusReportRequest , "cancelStatusReportRequest" }, + { opcode_collectedInformation , "collectedInformation" }, + { opcode_collectInformation , "collectInformation" }, + { opcode_connect , "connect" }, + { opcode_connectToResource , "connectToResource" }, + { opcode_continue , "continue" }, + { opcode_continueWithArgument , "continueWithArgument" }, + { opcode_createCallSegmentAssociation , "createCallSegmentAssociation" }, + { opcode_createOrRemoveTriggerData , "createOrRemoveTriggerData" }, + { opcode_disconnectForwardConnection , "disconnectForwardConnection" }, + { opcode_dFCWithArgument , "disconnectForwardConnectionWithArgument" }, + { opcode_disconnectLeg , "disconnectLeg" }, + { opcode_entityReleased , "entityReleased" }, + { opcode_establishTemporaryConnection , "establishTemporaryConnection" }, + { opcode_eventNotificationCharging , "eventNotificationCharging" }, + { opcode_eventReportBCSM , "eventReportBCSM" }, + { opcode_eventReportFacility , "eventReportFacility" }, + { opcode_facilitySelectedAndAvailable , "facilitySelectedAndAvailable" }, + { opcode_furnishChargingInformation , "furnishChargingInformation" }, + { opcode_holdCallInNetwork , "holdCallInNetwork" }, + { opcode_initialDP , "initialDP" }, + { opcode_initiateCallAttempt , "initiateCallAttempt" }, + { opcode_manageTriggerData , "manageTriggerData" }, + { opcode_mergeCallSegments , "mergeCallSegments" }, + { opcode_monitorRouteReport , "monitorRouteReport" }, + { opcode_monitorRouteRequest , "monitorRouteRequest" }, + { opcode_moveCallSegments , "moveCallSegments" }, + { opcode_moveLeg , "moveLeg" }, + { opcode_oAbandon , "oAbandon" }, + { opcode_oAnswer , "oAnswer" }, + { opcode_oCalledPartyBusy , "oCalledPartyBusy" }, + { opcode_oDisconnect , "oDisconnect" }, + { opcode_oMidCall , "oMidCall" }, + { opcode_oNoAnswer , "oNoAnswer" }, + { opcode_originationAttempt , "originationAttempt" }, + { opcode_originationAttemptAuthorized , "originationAttemptAuthorized" }, + { opcode_oSuspended , "oSuspended" }, + { opcode_reconnect , "reconnect" }, + { opcode_releaseCall , "releaseCall" }, + { opcode_reportUTSI , "reportUTSI" }, + { opcode_requestCurrentStatusReport , "requestCurrentStatusReport" }, + { opcode_requestEveryStatusChangeReport , "requestEveryStatusChangeReport" }, + { opcode_requestFirstStatusMatchReport , "requestFirstStatusMatchReport" }, + { opcode_requestNotificationChargingEvent , "requestNotificationChargingEvent" }, + { opcode_requestReportBCSMEvent , "requestReportBCSMEvent" }, + { opcode_requestReportFacilityEvent , "requestReportFacilityEvent" }, + { opcode_requestReportUTSI , "requestReportUTSI" }, + { opcode_resetTimer , "resetTimer" }, + { opcode_routeSelectFailure , "routeSelectFailure" }, + { opcode_selectFacility , "selectFacility" }, + { opcode_selectRoute , "selectRoute" }, + { opcode_sendChargingInformation , "sendChargingInformation" }, + { opcode_sendFacilityInformation , "sendFacilityInformation" }, + { opcode_sendSTUI , "sendSTUI" }, + { opcode_serviceFilteringResponse , "serviceFilteringResponse" }, + { opcode_setServiceProfile , "setServiceProfile" }, + { opcode_splitLeg , "splitLeg" }, + { opcode_statusReport , "statusReport" }, + { opcode_tAnswer , "tAnswer" }, + { opcode_tBusy , "tBusy" }, + { opcode_tDisconnect , "tDisconnect" }, + { opcode_termAttemptAuthorized , "termAttemptAuthorized" }, + { opcode_terminationAttempt , "terminationAttempt" }, + { opcode_tMidCall , "tMidCall" }, + { opcode_tNoAnswer , "tNoAnswer" }, + { opcode_tSuspended , "tSuspended" }, + { opcode_playAnnouncement , "playAnnouncement" }, + { opcode_promptAndCollectUserInformation , "promptAndCollectUserInformation" }, + { opcode_promptAndReceiveMessage , "promptAndReceiveMessage" }, + { opcode_scriptClose , "scriptClose" }, + { opcode_scriptEvent , "scriptEvent" }, + { opcode_scriptInformation , "scriptInformation" }, + { opcode_scriptRun , "scriptRun" }, + { opcode_specializedResourceReport , "specializedResourceReport" }, + { opcode_srfCallGap , "sRFCallGap" }, + { 0, NULL } +}; + + +/* INAP ERRORS */ +static const value_string inap_err_code_string_vals[] = { + { errcode_canceled , "canceled" }, + { errcode_cancelFailed , "cancelFailed" }, + { errcode_chainingRefused , "chainingRefused" }, + { errcode_eTCFailed , "eTCFailed" }, + { errcode_improperCallerResponse , "improperCallerResponse" }, + { errcode_missingCustomerRecord , "missingCustomerRecord" }, + { errcode_missingParameter , "missingParameter" }, + { errcode_parameterOutOfRange , "parameterOutOfRange" }, + { errcode_requestedInfoError , "requestedInfoError" }, + { errcode_scfTaskRefused , "scfTaskRefused" }, + { errcode_scfReferral , "scfReferral" }, + { errcode_systemFailure , "systemFailure" }, + { errcode_taskRefused , "taskRefused" }, + { errcode_unavailableResource , "unavailableResource" }, + { errcode_unexpectedComponentSequence , "unexpectedComponentSequence" }, + { errcode_unexpectedDataValue , "unexpectedDataValue" }, + { errcode_unexpectedParameter , "unexpectedParameter" }, + { errcode_unknownLegID , "unknownLegID" }, + { errcode_unknownResource , "unknownResource" }, + { 0, NULL } +}; + + +const value_string inap_general_problem_strings[] = { +{0,"General Problem Unrecognized Component"}, +{1,"General Problem Mistyped Component"}, +{3,"General Problem Badly Structured Component"}, +{0, NULL} +}; + +/* Forvard declarations */ +static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_); +static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx _U_); +static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx); + + +const value_string inap_CriticalityType_vals[] = { + { 0, "ignore" }, + { 1, "abort" }, + { 0, NULL } +}; + + +int +dissect_inap_CriticalityType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_T_code_local(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + &opcode); + + if (is_ExtensionField == FALSE){ + if (inap_opcode_type == INAP_OPCODE_RETURN_ERROR){ + errorCode = opcode; + col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(errorCode, inap_err_code_string_vals, "Unknown INAP error (%u)")); + col_append_str(actx->pinfo->cinfo, COL_INFO, " "); + col_set_fence(actx->pinfo->cinfo, COL_INFO); + }else{ + col_append_str(actx->pinfo->cinfo, COL_INFO, val_to_str(opcode, inap_opr_code_strings, "Unknown INAP (%u)")); + col_append_str(actx->pinfo->cinfo, COL_INFO, " "); + col_set_fence(actx->pinfo->cinfo, COL_INFO); + } + } + + + return offset; +} + + + +static int +dissect_inap_T_global(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &obj_id); + + return offset; +} + + +static const value_string inap_Code_vals[] = { + { 0, "local" }, + { 1, "global" }, + { 0, NULL } +}; + +static const ber_choice_t Code_choice[] = { + { 0, &hf_inap_code_local , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_inap_T_code_local }, + { 1, &hf_inap_global_01 , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_inap_T_global }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_Code(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + Code_choice, hf_index, ett_inap_Code, + NULL); + + return offset; +} + + + +static int +dissect_inap_T_value(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + proto_tree *ext_tree; + ext_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_inap_extension_data, NULL, "Extension Data"); + if (obj_id){ + offset=call_ber_oid_callback(obj_id, tvb, offset, actx->pinfo, ext_tree, NULL); + }else{ + call_data_dissector(tvb, actx->pinfo, ext_tree); + offset = tvb_reported_length_remaining(tvb,offset); + } + is_ExtensionField = FALSE; + + + + + return offset; +} + + +static const ber_sequence_t ExtensionField_sequence[] = { + { &hf_inap_type , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Code }, + { &hf_inap_criticality , BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_inap_CriticalityType }, + { &hf_inap_value , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_T_value }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ExtensionField(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + obj_id = NULL; + is_ExtensionField =TRUE; + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ExtensionField_sequence, hf_index, ett_inap_ExtensionField); + + return offset; +} + + +static const ber_sequence_t Extensions_sequence_of[1] = { + { &hf_inap_Extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_ExtensionField }, +}; + +static int +dissect_inap_Extensions(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + Extensions_sequence_of, hf_index, ett_inap_Extensions); + + return offset; +} + + + +int +dissect_inap_Integer4(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_InvokeID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_UnavailableNetworkResource_vals[] = { + { 0, "unavailableResources" }, + { 1, "componentFailure" }, + { 2, "basicCallProcessingException" }, + { 3, "resourceStatusFailure" }, + { 4, "endUserFailure" }, + { 5, "screening" }, + { 0, NULL } +}; + + +static int +dissect_inap_UnavailableNetworkResource(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_AALParameters(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_LocationNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_AccessCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_LocationNumber(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_inap_AChBillingChargingCharacteristics(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ActionIndicator_vals[] = { + { 1, "activate" }, + { 2, "deactivate" }, + { 3, "retrieve" }, + { 0, NULL } +}; + + +static int +dissect_inap_ActionIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ActionOnProfile_vals[] = { + { 0, "activate" }, + { 1, "deactivate" }, + { 0, NULL } +}; + + +static int +dissect_inap_ActionOnProfile(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ActionPerformed_vals[] = { + { 1, "activated" }, + { 2, "deactivated" }, + { 3, "alreadyActive" }, + { 4, "alreadyInactive" }, + { 5, "isActive" }, + { 6, "isInactive" }, + { 7, "tDPunknown" }, + { 0, NULL } +}; + + +static int +dissect_inap_ActionPerformed(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_AdditionalATMCellRate(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_Digits(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + /* + *-- Indicates the address signalling digits. Refer to the Q.763 Generic Number and Generic Digits parameter + *-- for encoding. The coding of the subfield's 'NumberQualifier' in Generic Number and 'TypeOfDigits' in + *-- Generic Digits are irrelevant to the INAP, the ASN.1 tags are sufficient to identify the parameter. + *-- The ISUP format does not allow to exclude these subfields, therefore the value is network operator specific. + *-- The following parameters should use Generic Number + *-- Additional Calling Number, CorrelationID for AssistRequestInstructions, AssistingSSPIPRoutingAddress + *-- for EstablishTemporaryConnection + *-- calledAddressValue for all occurrences,callingAddressValue for all occurrences + *-- The following parameters should use Generic Digits: prefix, all + *-- other CorrelationID occurrences, dialledNumber filtering criteria, callingLineID filtering criteria, lineID for + *-- ResourceID type, digitResponse for ReceivedInformationArg, iNServiceControlLow / iNServiceControlHigh for + *--MidCallInfoType,, iNServiceControlCode for MidCallInfo. + */ + tvbuff_t *parameter_tvb; + proto_tree *subtree; + gint ett = -1; + gboolean digits = FALSE; + + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + + + if (!parameter_tvb) + return offset; + + if (hf_index == hf_inap_additionalCallingPartyNumber) { + ett = ett_inap_additionalCallingPartyNumber; + } else if (hf_index == hf_inap_assistingSSPIPRoutingAddress) { + ett = ett_inap_assistingSSPIPRoutingAddress; + } else if (hf_index == hf_inap_correlationID) { + ett = ett_inap_correlationID; + digits = (opcode != opcode_assistRequestInstructions) ? TRUE : FALSE; + } else if (hf_index == hf_inap_calledAddressValue) { + ett = ett_inap_calledAddressValue; + } else if (hf_index == hf_inap_callingAddressValue) { + ett = ett_inap_callingAddressValue; + } else if (hf_index == hf_inap_number) { + ett = ett_inap_number; + } else if (hf_index == hf_inap_dialledNumber) { + ett = ett_inap_dialledNumber; + digits = TRUE; + } else if (hf_index == hf_inap_callingLineID) { + ett = ett_inap_callingLineID; + digits = TRUE; + } else if (hf_index == hf_inap_iNServiceControlCode) { + ett = ett_inap_iNServiceControlCode; + digits = TRUE; + } else if (hf_index == hf_inap_iNServiceControlCodeLow) { + ett = ett_inap_iNServiceControlCodeLow; + digits = TRUE; + } else if (hf_index == hf_inap_iNServiceControlCodeHigh) { + ett = ett_inap_iNServiceControlCodeHigh; + digits = TRUE; + } else if (hf_index == hf_inap_lineID) { + ett = ett_inap_lineID; + digits = TRUE; + } else if (hf_index == hf_inap_prefix) { + ett = ett_inap_prefix; + digits = TRUE; + } else if (hf_index == hf_inap_iPAddressValue) { + ett = ett_inap_iPAddressValue; + } else if (hf_index == hf_inap_digitsResponse) { + ett = ett_inap_digitsResponse; + digits = TRUE; + } + + subtree = proto_item_add_subtree(actx->created_item, ett); + if (digits) { + dissect_isup_generic_digits_parameter(parameter_tvb, subtree, NULL); + } else { + dissect_isup_generic_number_parameter(parameter_tvb, actx->pinfo, subtree, NULL); + } + + return offset; +} + + + +static int +dissect_inap_AdditionalCallingPartyNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_Digits(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_inap_AESACalledParty(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_AESACallingParty(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_AlertingPattern(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_IA5String_SIZE_1_512(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_AlternativeIdentity_vals[] = { + { 0, "url" }, + { 0, NULL } +}; + +static const ber_choice_t AlternativeIdentity_choice[] = { + { 0, &hf_inap_url , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_IA5String_SIZE_1_512 }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_AlternativeIdentity(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + AlternativeIdentity_choice, hf_index, ett_inap_AlternativeIdentity, + NULL); + + return offset; +} + + +static const ber_sequence_t AlternativeIdentities_sequence_of[1] = { + { &hf_inap_AlternativeIdentities_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_AlternativeIdentity }, +}; + +static int +dissect_inap_AlternativeIdentities(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + AlternativeIdentities_sequence_of, hf_index, ett_inap_AlternativeIdentities); + + return offset; +} + + + +static int +dissect_inap_AlternativeATMTrafficDescriptor(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_ApplicationTimer(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_AssistingSSPIPRoutingAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_Digits(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_inap_ATMCellRate(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_BackwardGVNS(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_OCTET_STRING_SIZE_1(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t BackwardServiceInteractionInd_sequence[] = { + { &hf_inap_conferenceTreatmentIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1 }, + { &hf_inap_callCompletionTreatmentIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1 }, + { &hf_inap_holdTreatmentIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1 }, + { &hf_inap_ectTreatmentIndicator, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1 }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_BackwardServiceInteractionInd(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + BackwardServiceInteractionInd_sequence, hf_index, ett_inap_BackwardServiceInteractionInd); + + return offset; +} + + + +int +dissect_inap_ServiceKey(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_Integer4(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string inap_EventTypeBCSM_vals[] = { + { 1, "origAttemptAuthorized" }, + { 2, "collectedInfo" }, + { 3, "analysedInformation" }, + { 4, "routeSelectFailure" }, + { 5, "oCalledPartyBusy" }, + { 6, "oNoAnswer" }, + { 7, "oAnswer" }, + { 8, "oMidCall" }, + { 9, "oDisconnect" }, + { 10, "oAbandon" }, + { 12, "termAttemptAuthorized" }, + { 13, "tBusy" }, + { 14, "tNoAnswer" }, + { 15, "tAnswer" }, + { 16, "tMidCall" }, + { 17, "tDisconnect" }, + { 18, "tAbandon" }, + { 19, "oTermSeized" }, + { 20, "oSuspend" }, + { 21, "tSuspend" }, + { 22, "origAttempt" }, + { 23, "termAttempt" }, + { 24, "oReAnswer" }, + { 25, "tReAnswer" }, + { 26, "facilitySelectedAndAvailable" }, + { 27, "callAccepted" }, + { 28, "authorizeRouteFailure" }, + { 29, "originationAttemptDenied" }, + { 30, "terminationAttemptDenied" }, + { 100, "oModifyRequest" }, + { 101, "oModifyResult" }, + { 102, "tModifyRequest" }, + { 103, "tModifyResult" }, + { 0, NULL } +}; + + +static int +dissect_inap_EventTypeBCSM(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t GapOnService_sequence[] = { + { &hf_inap_serviceKey , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_ServiceKey }, + { &hf_inap_dpCriteria , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_EventTypeBCSM }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_GapOnService(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + GapOnService_sequence, hf_index, ett_inap_GapOnService); + + return offset; +} + + + +static int +dissect_inap_NULL(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + +static const ber_sequence_t T_calledAddressAndService_sequence[] = { + { &hf_inap_calledAddressValue, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { &hf_inap_serviceKey , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_ServiceKey }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_calledAddressAndService(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_calledAddressAndService_sequence, hf_index, ett_inap_T_calledAddressAndService); + + return offset; +} + + +static const ber_sequence_t T_callingAddressAndService_sequence[] = { + { &hf_inap_callingAddressValue, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { &hf_inap_serviceKey , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_ServiceKey }, + { &hf_inap_locationNumber , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_LocationNumber }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_callingAddressAndService(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_callingAddressAndService_sequence, hf_index, ett_inap_T_callingAddressAndService); + + return offset; +} + + +static const value_string inap_BasicGapCriteria_vals[] = { + { 0, "calledAddressValue" }, + { 2, "gapOnService" }, + { 3, "gapAllInTraffic" }, + { 29, "calledAddressAndService" }, + { 30, "callingAddressAndService" }, + { 0, NULL } +}; + +static const ber_choice_t BasicGapCriteria_choice[] = { + { 0, &hf_inap_calledAddressValue, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { 2, &hf_inap_gapOnService , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_GapOnService }, + { 3, &hf_inap_gapAllInTraffic, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { 29, &hf_inap_calledAddressAndService, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_inap_T_calledAddressAndService }, + { 30, &hf_inap_callingAddressAndService, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_inap_T_callingAddressAndService }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_BasicGapCriteria(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + BasicGapCriteria_choice, hf_index, ett_inap_BasicGapCriteria, + NULL); + + return offset; +} + + +static const value_string inap_MonitorMode_vals[] = { + { 0, "interrupted" }, + { 1, "notifyAndContinue" }, + { 2, "transparent" }, + { 0, NULL } +}; + + +static int +dissect_inap_MonitorMode(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_LegType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +const value_string inap_LegID_vals[] = { + { 0, "sendingSideID" }, + { 1, "receivingSideID" }, + { 0, NULL } +}; + +static const ber_choice_t LegID_choice[] = { + { 0, &hf_inap_sendingSideID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_LegType }, + { 1, &hf_inap_receivingSideID, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_LegType }, + { 0, NULL, 0, 0, 0, NULL } +}; + +int +dissect_inap_LegID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + LegID_choice, hf_index, ett_inap_LegID, + NULL); + + return offset; +} + + + +static int +dissect_inap_NumberOfDigits(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t MidCallInfoType_sequence[] = { + { &hf_inap_iNServiceControlCodeLow, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { &hf_inap_iNServiceControlCodeHigh, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MidCallInfoType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MidCallInfoType_sequence, hf_index, ett_inap_MidCallInfoType); + + return offset; +} + + +static const value_string inap_T_midCallReportType_vals[] = { + { 0, "inMonitoringState" }, + { 1, "inAnyState" }, + { 0, NULL } +}; + + +static int +dissect_inap_T_midCallReportType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t MidCallControlInfo_item_sequence[] = { + { &hf_inap_midCallInfoType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_MidCallInfoType }, + { &hf_inap_midCallReportType, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_T_midCallReportType }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MidCallControlInfo_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MidCallControlInfo_item_sequence, hf_index, ett_inap_MidCallControlInfo_item); + + return offset; +} + + +static const ber_sequence_t MidCallControlInfo_sequence_of[1] = { + { &hf_inap_MidCallControlInfo_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_MidCallControlInfo_item }, +}; + +static int +dissect_inap_MidCallControlInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + MidCallControlInfo_sequence_of, hf_index, ett_inap_MidCallControlInfo); + + return offset; +} + + +static const ber_sequence_t T_numberOfDigitsTwo_sequence[] = { + { &hf_inap_requestedNumberOfDigits, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_NumberOfDigits }, + { &hf_inap_minNumberOfDigits, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_NumberOfDigits }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_numberOfDigitsTwo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_numberOfDigitsTwo_sequence, hf_index, ett_inap_T_numberOfDigitsTwo); + + return offset; +} + + +static const value_string inap_DpSpecificCriteria_vals[] = { + { 0, "numberOfDigits" }, + { 1, "applicationTimer" }, + { 2, "midCallControlInfo" }, + { 3, "numberOfDigitsTwo" }, + { 0, NULL } +}; + +static const ber_choice_t DpSpecificCriteria_choice[] = { + { 0, &hf_inap_numberOfDigits , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_NumberOfDigits }, + { 1, &hf_inap_applicationTimer, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_ApplicationTimer }, + { 2, &hf_inap_midCallControlInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_MidCallControlInfo }, + { 3, &hf_inap_numberOfDigitsTwo, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_T_numberOfDigitsTwo }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_DpSpecificCriteria(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + DpSpecificCriteria_choice, hf_index, ett_inap_DpSpecificCriteria, + NULL); + + return offset; +} + + +static const ber_sequence_t BCSMEvent_sequence[] = { + { &hf_inap_eventTypeBCSM , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_EventTypeBCSM }, + { &hf_inap_monitorMode , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_MonitorMode }, + { &hf_inap_legID , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_dpSpecificCriteria, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_DpSpecificCriteria }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_BCSMEvent(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + BCSMEvent_sequence, hf_index, ett_inap_BCSMEvent); + + return offset; +} + + + +static int +dissect_inap_T_bearerCap(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + tvbuff_t *parameter_tvb; + + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + + + if (!parameter_tvb) + return offset; + + dissect_q931_bearer_capability_ie(parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), tree); + + + return offset; +} + + + +static int +dissect_inap_OCTET_STRING_SIZE_minBroadbandBearerCapabilityLength_maxBroadbandBearerCapabilityLength(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_BearerCapability_vals[] = { + { 0, "bearerCap" }, + { 1, "tmr" }, + { 2, "broadbandBearerCap" }, + { 0, NULL } +}; + +static const ber_choice_t BearerCapability_choice[] = { + { 0, &hf_inap_bearerCap , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_T_bearerCap }, + { 1, &hf_inap_tmr , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1 }, + { 2, &hf_inap_broadbandBearerCap, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_minBroadbandBearerCapabilityLength_maxBroadbandBearerCapabilityLength }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_BearerCapability(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + BearerCapability_choice, hf_index, ett_inap_BearerCapability, + NULL); + + return offset; +} + + + +static int +dissect_inap_CDVTDescriptor(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CumulativeTransitDelay(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_EndToEndTransitDelay(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_MinAcceptableATMTrafficDescriptor(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t BISDNParameters_sequence[] = { + { &hf_inap_aALParameters , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AALParameters }, + { &hf_inap_additionalATMCellRate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AdditionalATMCellRate }, + { &hf_inap_aESACalledParty, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AESACalledParty }, + { &hf_inap_aESACallingParty, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AESACallingParty }, + { &hf_inap_alternativeATMTrafficDescriptor, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlternativeATMTrafficDescriptor }, + { &hf_inap_aTMCellRate , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ATMCellRate }, + { &hf_inap_cDVTDescriptor , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CDVTDescriptor }, + { &hf_inap_cumulativeTransitDelay, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CumulativeTransitDelay }, + { &hf_inap_endToEndTransitDelay, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_EndToEndTransitDelay }, + { &hf_inap_minAcceptableATMTrafficDescriptor, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_MinAcceptableATMTrafficDescriptor }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_BISDNParameters(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + BISDNParameters_sequence, hf_index, ett_inap_BISDNParameters); + + return offset; +} + + +const value_string inap_BothwayThroughConnectionInd_vals[] = { + { 0, "bothwayPathRequired" }, + { 1, "bothwayPathNotRequired" }, + { 0, NULL } +}; + + +int +dissect_inap_BothwayThroughConnectionInd(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CalledDirectoryNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CalledPartyBusinessGroupID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CalledPartyNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *parameter_tvb; + + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + + + if (!parameter_tvb) + return offset; + +dissect_isup_called_party_number_parameter(parameter_tvb, actx->pinfo, tree, NULL); + + + return offset; +} + + + +static int +dissect_inap_CalledPartySubaddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CallingGeodeticLocation(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CallingPartyBusinessGroupID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CallingPartyNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + tvbuff_t *parameter_tvb; + + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + + + if (!parameter_tvb) + return offset; + + dissect_isup_calling_party_number_parameter(parameter_tvb, actx->pinfo, tree, NULL); + + + + return offset; +} + + + +static int +dissect_inap_CallingPartySubaddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +int +dissect_inap_CallingPartysCategory(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_CallProcessingOperation_vals[] = { + { 1, "aLERTing" }, + { 5, "sETUP" }, + { 7, "cONNect" }, + { 69, "dISConnect" }, + { 77, "rELease" }, + { 90, "rELeaseCOMPlete" }, + { 98, "fACility" }, + { 0, NULL } +}; + + +static int +dissect_inap_CallProcessingOperation(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CallReference(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CallResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CallSegmentID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_Carrier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_Cause(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + /* + * -- Indicates the cause for interface related information. Refer to the Q.763 Cause parameter for encoding + * -- For the use of cause and location values refer to Q.850. + */ + tvbuff_t *parameter_tvb; + guint8 Cause_value; + proto_tree *subtree; + + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + + + if (!parameter_tvb) + return offset; + subtree = proto_item_add_subtree(actx->created_item, ett_inap_cause); + + dissect_q931_cause_ie(parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), subtree, hf_inap_cause_indicator, &Cause_value, isup_parameter_type_value); + + + return offset; +} + + + +static int +dissect_inap_CCSS(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + +static const value_string inap_CGEncountered_vals[] = { + { 0, "noCGencountered" }, + { 1, "manualCGencountered" }, + { 2, "sCPOverload" }, + { 0, NULL } +}; + + +static int +dissect_inap_CGEncountered(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_ChargeNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_LocationNumber(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_inap_EventTypeCharging(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t ChargingEvent_sequence[] = { + { &hf_inap_eventTypeCharging, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_EventTypeCharging }, + { &hf_inap_monitorMode , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_MonitorMode }, + { &hf_inap_legID , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ChargingEvent(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ChargingEvent_sequence, hf_index, ett_inap_ChargingEvent); + + return offset; +} + + + +static int +dissect_inap_CNInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_OCTET_STRING_SIZE_1_118(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_EMBEDDED_PDV(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_EmbeddedPDV_Type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL); + + return offset; +} + + +static const value_string inap_Component_vals[] = { + { 0, "componentInfo" }, + { 1, "relayedComponent" }, + { 0, NULL } +}; + +static const ber_choice_t Component_choice[] = { + { 0, &hf_inap_componentInfo , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1_118 }, + { 1, &hf_inap_relayedComponent, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_EMBEDDED_PDV }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_Component(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + Component_choice, hf_index, ett_inap_Component, + NULL); + + return offset; +} + + + +static int +dissect_inap_ComponentCorrelationID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ComponentType_vals[] = { + { 0, "any" }, + { 1, "invoke" }, + { 2, "rResult" }, + { 3, "rError" }, + { 4, "rReject" }, + { 0, NULL } +}; + + +static int +dissect_inap_ComponentType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_ScfID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t CompoundCriteria_sequence[] = { + { &hf_inap_basicGapCriteria, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_BasicGapCriteria }, + { &hf_inap_scfID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ScfID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CompoundCriteria(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CompoundCriteria_sequence, hf_index, ett_inap_CompoundCriteria); + + return offset; +} + + +static const value_string inap_ConnectedNumberTreatmentInd_vals[] = { + { 0, "noINImpact" }, + { 1, "presentationRestricted" }, + { 2, "presentCalledINNumber" }, + { 3, "presentCalledINNumberRestricted" }, + { 0, NULL } +}; + + +static int +dissect_inap_ConnectedNumberTreatmentInd(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_ConnectionIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ControlType_vals[] = { + { 0, "sCPOverloaded" }, + { 1, "manuallyInitiated" }, + { 2, "destinationOverload" }, + { 0, NULL } +}; + + +static int +dissect_inap_ControlType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CorrelationID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_Digits(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_inap_CounterID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t CounterAndValue_sequence[] = { + { &hf_inap_counterID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_CounterID }, + { &hf_inap_counterValue , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CounterAndValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CounterAndValue_sequence, hf_index, ett_inap_CounterAndValue); + + return offset; +} + + +static const ber_sequence_t CountersValue_sequence_of[1] = { + { &hf_inap_CountersValue_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_CounterAndValue }, +}; + +static int +dissect_inap_CountersValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + CountersValue_sequence_of, hf_index, ett_inap_CountersValue); + + return offset; +} + + +static const value_string inap_CreateOrRemoveIndicator_vals[] = { + { 0, "create" }, + { 1, "remove" }, + { 0, NULL } +}; + + +static int +dissect_inap_CreateOrRemoveIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CSAID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CUG_Interlock(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CUG_Index(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_CutAndPaste(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_DateAndTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_T_action_vals[] = { + { 0, "resumeCallProcessing" }, + { 1, "releaseCall" }, + { 0, NULL } +}; + + +static int +dissect_inap_T_action(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_IA5String_SIZE_b3__minMessageContentLength_b3__maxMessageContentLength(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_OCTET_STRING_SIZE_b3__minAttributesLength_b3__maxAttributesLength(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t T_text_sequence[] = { + { &hf_inap_messageContent , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_IA5String_SIZE_b3__minMessageContentLength_b3__maxMessageContentLength }, + { &hf_inap_attributes , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_b3__minAttributesLength_b3__maxAttributesLength }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_text(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_text_sequence, hf_index, ett_inap_T_text); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_b3__numOfMessageIDs_OF_Integer4_sequence_of[1] = { + { &hf_inap_elementaryMessageIDs_item, BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_inap_Integer4 }, +}; + +static int +dissect_inap_SEQUENCE_SIZE_1_b3__numOfMessageIDs_OF_Integer4(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_SIZE_1_b3__numOfMessageIDs_OF_Integer4_sequence_of, hf_index, ett_inap_SEQUENCE_SIZE_1_b3__numOfMessageIDs_OF_Integer4); + + return offset; +} + + + +static int +dissect_inap_OCTET_STRING_SIZE_2(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_OCTET_STRING_SIZE_3(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_OCTET_STRING_SIZE_4(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_VariablePart_vals[] = { + { 0, "integer" }, + { 1, "number" }, + { 2, "time" }, + { 3, "date" }, + { 4, "price" }, + { 0, NULL } +}; + +static const ber_choice_t VariablePart_choice[] = { + { 0, &hf_inap_integer , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { 1, &hf_inap_number , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { 2, &hf_inap_time , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_2 }, + { 3, &hf_inap_date , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_3 }, + { 4, &hf_inap_price , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_4 }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_VariablePart(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + VariablePart_choice, hf_index, ett_inap_VariablePart, + NULL); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_b3__maxVariableParts_OF_VariablePart_sequence_of[1] = { + { &hf_inap_variableParts_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_VariablePart }, +}; + +static int +dissect_inap_SEQUENCE_SIZE_1_b3__maxVariableParts_OF_VariablePart(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_SIZE_1_b3__maxVariableParts_OF_VariablePart_sequence_of, hf_index, ett_inap_SEQUENCE_SIZE_1_b3__maxVariableParts_OF_VariablePart); + + return offset; +} + + +static const ber_sequence_t T_variableMessage_sequence[] = { + { &hf_inap_elementaryMessageID, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { &hf_inap_variableParts , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_SEQUENCE_SIZE_1_b3__maxVariableParts_OF_VariablePart }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_variableMessage(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_variableMessage_sequence, hf_index, ett_inap_T_variableMessage); + + return offset; +} + + +static const value_string inap_MessageID_vals[] = { + { 0, "elementaryMessageID" }, + { 1, "text" }, + { 29, "elementaryMessageIDs" }, + { 30, "variableMessage" }, + { 0, NULL } +}; + +static const ber_choice_t MessageID_choice[] = { + { 0, &hf_inap_elementaryMessageID, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { 1, &hf_inap_text , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_T_text }, + { 29, &hf_inap_elementaryMessageIDs, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_inap_SEQUENCE_SIZE_1_b3__numOfMessageIDs_OF_Integer4 }, + { 30, &hf_inap_variableMessage, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_inap_T_variableMessage }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MessageID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + MessageID_choice, hf_index, ett_inap_MessageID, + NULL); + + return offset; +} + + + +static int +dissect_inap_INTEGER_1_127(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_INTEGER_0_32767(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_Language(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_PrintableString, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t InbandInfo_sequence[] = { + { &hf_inap_messageID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_MessageID }, + { &hf_inap_numberOfRepetitions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_1_127 }, + { &hf_inap_inbandInfo_duration, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_0_32767 }, + { &hf_inap_inbandInfo_interval, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_0_32767 }, + { &hf_inap_preferredLanguage, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Language }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_InbandInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + InbandInfo_sequence, hf_index, ett_inap_InbandInfo); + + return offset; +} + + +static const ber_sequence_t Tone_sequence[] = { + { &hf_inap_toneID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { &hf_inap_tone_duration , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_Tone(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Tone_sequence, hf_index, ett_inap_Tone); + + return offset; +} + + + +static int +dissect_inap_DisplayInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_SDSSinformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_InformationToSend_vals[] = { + { 0, "inbandInfo" }, + { 1, "tone" }, + { 2, "displayInformation" }, + { 3, "sDSSinformation" }, + { 0, NULL } +}; + +static const ber_choice_t InformationToSend_choice[] = { + { 0, &hf_inap_inbandInfo , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_InbandInfo }, + { 1, &hf_inap_tone , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Tone }, + { 2, &hf_inap_displayInformation, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_DisplayInformation }, + { 3, &hf_inap_sDSSinformation, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_SDSSinformation }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_InformationToSend(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + InformationToSend_choice, hf_index, ett_inap_InformationToSend, + NULL); + + return offset; +} + + +static const ber_sequence_t T_both_sequence[] = { + { &hf_inap_informationToSend, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_InformationToSend }, + { &hf_inap_releaseCause , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_both(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_both_sequence, hf_index, ett_inap_T_both); + + return offset; +} + + +static const value_string inap_GapTreatment_vals[] = { + { 0, "informationToSend" }, + { 1, "releaseCause" }, + { 2, "both" }, + { 0, NULL } +}; + +static const ber_choice_t GapTreatment_choice[] = { + { 0, &hf_inap_informationToSend, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_InformationToSend }, + { 1, &hf_inap_releaseCause , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { 2, &hf_inap_both , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_T_both }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_GapTreatment(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + GapTreatment_choice, hf_index, ett_inap_GapTreatment, + NULL); + + return offset; +} + + +static const ber_sequence_t DefaultFaultHandling_sequence[] = { + { &hf_inap_action , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_T_action }, + { &hf_inap_treatment , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_GapTreatment }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_DefaultFaultHandling(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DefaultFaultHandling_sequence, hf_index, ett_inap_DefaultFaultHandling); + + return offset; +} + + + +static int +dissect_inap_DestinationIndex(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t DestinationRoutingAddress_sequence_of[1] = { + { &hf_inap_DestinationRoutingAddress_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_inap_CalledPartyNumber }, +}; + +static int +dissect_inap_DestinationRoutingAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + DestinationRoutingAddress_sequence_of, hf_index, ett_inap_DestinationRoutingAddress); + + return offset; +} + + +static const value_string inap_T_messageType_vals[] = { + { 0, "request" }, + { 1, "notification" }, + { 0, NULL } +}; + + +static int +dissect_inap_T_messageType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_T_dpAssignment_vals[] = { + { 0, "individualBased" }, + { 1, "groupBased" }, + { 2, "switchBased" }, + { 0, NULL } +}; + + +static int +dissect_inap_T_dpAssignment(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t MiscCallInfo_sequence[] = { + { &hf_inap_messageType , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_T_messageType }, + { &hf_inap_dpAssignment , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_T_dpAssignment }, + { NULL, 0, 0, 0, NULL } +}; + +int +dissect_inap_MiscCallInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MiscCallInfo_sequence, hf_index, ett_inap_MiscCallInfo); + + return offset; +} + + +static const value_string inap_TriggerType_vals[] = { + { 0, "featureActivation" }, + { 1, "verticalServiceCode" }, + { 2, "customizedAccess" }, + { 3, "customizedIntercom" }, + { 12, "emergencyService" }, + { 13, "aFR" }, + { 14, "sharedIOTrunk" }, + { 17, "offHookDelay" }, + { 18, "channelSetupPRI" }, + { 25, "tNoAnswer" }, + { 26, "tBusy" }, + { 27, "oCalledPartyBusy" }, + { 29, "oNoAnswer" }, + { 30, "originationAttemptAuthorized" }, + { 31, "oAnswer" }, + { 32, "oDisconnect" }, + { 33, "termAttemptAuthorized" }, + { 34, "tAnswer" }, + { 35, "tDisconnect" }, + { 100, "oModifyRequest" }, + { 101, "tModifyRequest" }, + { 0, NULL } +}; + + +static int +dissect_inap_TriggerType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t ServiceAddressInformation_sequence[] = { + { &hf_inap_serviceKey , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceKey }, + { &hf_inap_miscCallInfo , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_MiscCallInfo }, + { &hf_inap_triggerType , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TriggerType }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ServiceAddressInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ServiceAddressInformation_sequence, hf_index, ett_inap_ServiceAddressInformation); + + return offset; +} + + + +static int +dissect_inap_IPSSPCapabilities(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_IPAvailable(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_ISDNAccessRelatedInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_ServiceProfileIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_TerminalType_vals[] = { + { 0, "unknown" }, + { 1, "dialPulse" }, + { 2, "dtmf" }, + { 3, "isdn" }, + { 4, "isdnNoDtmf" }, + { 16, "spare" }, + { 0, NULL } +}; + + +static int +dissect_inap_TerminalType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_ServingAreaID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_LocationNumber(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_inap_ServiceInteractionIndicators(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_OBJECT_IDENTIFIER(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + +static const value_string inap_Entry_vals[] = { + { 0, "agreements" }, + { 1, "networkSpecific" }, + { 0, NULL } +}; + +static const ber_choice_t Entry_choice[] = { + { 0, &hf_inap_agreements , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_OBJECT_IDENTIFIER }, + { 1, &hf_inap_networkSpecific, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_Entry(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + Entry_choice, hf_index, ett_inap_Entry, + NULL); + + return offset; +} + + +static const ber_sequence_t INServiceCompatibilityIndication_sequence_of[1] = { + { &hf_inap_INServiceCompatibilityIndication_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Entry }, +}; + +static int +dissect_inap_INServiceCompatibilityIndication(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + INServiceCompatibilityIndication_sequence_of, hf_index, ett_inap_INServiceCompatibilityIndication); + + return offset; +} + + +static const ber_sequence_t ForwardServiceInteractionInd_sequence[] = { + { &hf_inap_conferenceTreatmentIndicator, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1 }, + { &hf_inap_callDiversionTreatmentIndicator, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1 }, + { &hf_inap_callOfferingTreatmentIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1 }, + { &hf_inap_callWaitingTreatmentIndicator, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1 }, + { &hf_inap_holdTreatmentIndicator, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1 }, + { &hf_inap_ectTreatmentIndicator, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1 }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ForwardServiceInteractionInd(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ForwardServiceInteractionInd_sequence, hf_index, ett_inap_ForwardServiceInteractionInd); + + return offset; +} + + + +static int +dissect_inap_SuspendTimer(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_BOOLEAN(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + + +static int +dissect_inap_RedirectReason(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t T_redirectServiceTreatmentInd_sequence[] = { + { &hf_inap_redirectReason , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectReason }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_redirectServiceTreatmentInd(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_redirectServiceTreatmentInd_sequence, hf_index, ett_inap_T_redirectServiceTreatmentInd); + + return offset; +} + + +static const ber_sequence_t ServiceInteractionIndicatorsTwo_sequence[] = { + { &hf_inap_forwardServiceInteractionInd, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardServiceInteractionInd }, + { &hf_inap_backwardServiceInteractionInd, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BackwardServiceInteractionInd }, + { &hf_inap_bothwayThroughConnectionInd, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BothwayThroughConnectionInd }, + { &hf_inap_suspendTimer , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_SuspendTimer }, + { &hf_inap_connectedNumberTreatmentInd, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ConnectedNumberTreatmentInd }, + { &hf_inap_suppressCallDiversionNotification, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_suppressCallTransferNotification, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_allowCdINNoPresentationInd, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_userDialogueDurationInd, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_overrideLineRestrictions, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_suppressVPNAPP , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_calledINNumberOverriding, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_redirectServiceTreatmentInd, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_T_redirectServiceTreatmentInd }, + { &hf_inap_nonCUGCall , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ServiceInteractionIndicatorsTwo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ServiceInteractionIndicatorsTwo_sequence, hf_index, ett_inap_ServiceInteractionIndicatorsTwo); + + return offset; +} + + + +static int +dissect_inap_OCTET_STRING_SIZE_minUSIServiceIndicatorLength_maxUSIServiceIndicatorLength(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_USIServiceIndicator_vals[] = { + { 0, "global" }, + { 1, "local" }, + { 0, NULL } +}; + +static const ber_choice_t USIServiceIndicator_choice[] = { + { 0, &hf_inap_global , BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_inap_OBJECT_IDENTIFIER }, + { 1, &hf_inap_local , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_inap_OCTET_STRING_SIZE_minUSIServiceIndicatorLength_maxUSIServiceIndicatorLength }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_USIServiceIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + USIServiceIndicator_choice, hf_index, ett_inap_USIServiceIndicator, + NULL); + + return offset; +} + + + +static int +dissect_inap_USIInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_ForwardGVNS(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t IPRelatedInformation_sequence[] = { + { &hf_inap_alternativeCalledPartyIds, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlternativeIdentities }, + { &hf_inap_alternativeOriginatingPartyIds, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlternativeIdentities }, + { &hf_inap_alternativeOriginalCalledPartyIds, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlternativeIdentities }, + { &hf_inap_alternativeRedirectingPartyIds, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlternativeIdentities }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_IPRelatedInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + IPRelatedInformation_sequence, hf_index, ett_inap_IPRelatedInformation); + + return offset; +} + + +static const ber_sequence_t DpSpecificCommonParameters_sequence[] = { + { &hf_inap_serviceAddressInformation, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_ServiceAddressInformation }, + { &hf_inap_bearerCapability, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_BearerCapability }, + { &hf_inap_calledPartyNumber, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { &hf_inap_callingPartyNumber, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyNumber }, + { &hf_inap_callingPartysCategory, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartysCategory }, + { &hf_inap_iPSSPCapabilities, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPSSPCapabilities }, + { &hf_inap_iPAvailable , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPAvailable }, + { &hf_inap_iSDNAccessRelatedInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ISDNAccessRelatedInformation }, + { &hf_inap_cGEncountered , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CGEncountered }, + { &hf_inap_locationNumber , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_LocationNumber }, + { &hf_inap_serviceProfileIdentifier, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceProfileIdentifier }, + { &hf_inap_terminalType , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TerminalType }, + { &hf_inap_extensions , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_chargeNumber , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ChargeNumber }, + { &hf_inap_servingAreaID , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServingAreaID }, + { &hf_inap_serviceInteractionIndicators, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicators }, + { &hf_inap_iNServiceCompatibilityIndication, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_INServiceCompatibilityIndication }, + { &hf_inap_serviceInteractionIndicatorsTwo, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicatorsTwo }, + { &hf_inap_uSIServiceIndicator, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_USIServiceIndicator }, + { &hf_inap_uSIInformation , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_USIInformation }, + { &hf_inap_forwardGVNS , BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardGVNS }, + { &hf_inap_createdCallSegmentAssociation, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CSAID }, + { &hf_inap_ipRelatedInformation, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPRelatedInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_DpSpecificCommonParameters(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DpSpecificCommonParameters_sequence, hf_index, ett_inap_DpSpecificCommonParameters); + + return offset; +} + + + +int +dissect_inap_Duration(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t T_collectedInfoSpecificInfo_sequence[] = { + { &hf_inap_calledPartynumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_collectedInfoSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_collectedInfoSpecificInfo_sequence, hf_index, ett_inap_T_collectedInfoSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_analysedInfoSpecificInfo_sequence[] = { + { &hf_inap_calledPartynumber, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_analysedInfoSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_analysedInfoSpecificInfo_sequence, hf_index, ett_inap_T_analysedInfoSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_routeSelectFailureSpecificInfo_sequence[] = { + { &hf_inap_failureCause , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_routeSelectFailureSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_routeSelectFailureSpecificInfo_sequence, hf_index, ett_inap_T_routeSelectFailureSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_oCalledPartyBusySpecificInfo_sequence[] = { + { &hf_inap_busyCause , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_oCalledPartyBusySpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_oCalledPartyBusySpecificInfo_sequence, hf_index, ett_inap_T_oCalledPartyBusySpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_oNoAnswerSpecificInfo_sequence[] = { + { &hf_inap_cause , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_oNoAnswerSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_oNoAnswerSpecificInfo_sequence, hf_index, ett_inap_T_oNoAnswerSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_oAnswerSpecificInfo_sequence[] = { + { &hf_inap_backwardGVNS , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BackwardGVNS }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_oAnswerSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_oAnswerSpecificInfo_sequence, hf_index, ett_inap_T_oAnswerSpecificInfo); + + return offset; +} + + +static const ber_sequence_t MidCallInfo_sequence[] = { + { &hf_inap_iNServiceControlCode, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MidCallInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MidCallInfo_sequence, hf_index, ett_inap_MidCallInfo); + + return offset; +} + + +static const ber_sequence_t T_oMidCallSpecificInfo_sequence[] = { + { &hf_inap_connectTime , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { &hf_inap_oMidCallInfo , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_MidCallInfo }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_oMidCallSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_oMidCallSpecificInfo_sequence, hf_index, ett_inap_T_oMidCallSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_oDisconnectSpecificInfo_sequence[] = { + { &hf_inap_releaseCause , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { &hf_inap_connectTime , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_oDisconnectSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_oDisconnectSpecificInfo_sequence, hf_index, ett_inap_T_oDisconnectSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_tBusySpecificInfo_sequence[] = { + { &hf_inap_busyCause , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_tBusySpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_tBusySpecificInfo_sequence, hf_index, ett_inap_T_tBusySpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_tNoAnswerSpecificInfo_sequence[] = { + { &hf_inap_cause , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_tNoAnswerSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_tNoAnswerSpecificInfo_sequence, hf_index, ett_inap_T_tNoAnswerSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_tAnswerSpecificInfo_sequence[] = { + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_tAnswerSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_tAnswerSpecificInfo_sequence, hf_index, ett_inap_T_tAnswerSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_tMidCallSpecificInfo_sequence[] = { + { &hf_inap_connectTime , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { &hf_inap_tMidCallInfo , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_MidCallInfo }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_tMidCallSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_tMidCallSpecificInfo_sequence, hf_index, ett_inap_T_tMidCallSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_tDisconnectSpecificInfo_sequence[] = { + { &hf_inap_releaseCause , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { &hf_inap_connectTime , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_tDisconnectSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_tDisconnectSpecificInfo_sequence, hf_index, ett_inap_T_tDisconnectSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_oTermSeizedSpecificInfo_sequence[] = { + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_oTermSeizedSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_oTermSeizedSpecificInfo_sequence, hf_index, ett_inap_T_oTermSeizedSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_oSuspend_sequence[] = { + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_oSuspend(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_oSuspend_sequence, hf_index, ett_inap_T_oSuspend); + + return offset; +} + + +static const ber_sequence_t T_tSuspend_sequence[] = { + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_tSuspend(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_tSuspend_sequence, hf_index, ett_inap_T_tSuspend); + + return offset; +} + + +static const ber_sequence_t T_origAttemptAuthorized_sequence[] = { + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_origAttemptAuthorized(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_origAttemptAuthorized_sequence, hf_index, ett_inap_T_origAttemptAuthorized); + + return offset; +} + + +static const ber_sequence_t T_oReAnswer_sequence[] = { + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_oReAnswer(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_oReAnswer_sequence, hf_index, ett_inap_T_oReAnswer); + + return offset; +} + + +static const ber_sequence_t T_tReAnswer_sequence[] = { + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_tReAnswer(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_tReAnswer_sequence, hf_index, ett_inap_T_tReAnswer); + + return offset; +} + + +static const ber_sequence_t T_facilitySelectedAndAvailable_sequence[] = { + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_facilitySelectedAndAvailable(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_facilitySelectedAndAvailable_sequence, hf_index, ett_inap_T_facilitySelectedAndAvailable); + + return offset; +} + + +static const ber_sequence_t T_callAccepted_sequence[] = { + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_callAccepted(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_callAccepted_sequence, hf_index, ett_inap_T_callAccepted); + + return offset; +} + + +static const ber_sequence_t T_oAbandon_sequence[] = { + { &hf_inap_abandonCause , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_oAbandon(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_oAbandon_sequence, hf_index, ett_inap_T_oAbandon); + + return offset; +} + + +static const ber_sequence_t T_tAbandon_sequence[] = { + { &hf_inap_abandonCause , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_tAbandon(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_tAbandon_sequence, hf_index, ett_inap_T_tAbandon); + + return offset; +} + + +static const ber_sequence_t T_authorizeRouteFailure_sequence[] = { + { &hf_inap_authoriseRouteFailureCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_authorizeRouteFailure(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_authorizeRouteFailure_sequence, hf_index, ett_inap_T_authorizeRouteFailure); + + return offset; +} + + +static const ber_sequence_t T_terminationAttemptAuthorized_sequence[] = { + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_terminationAttemptAuthorized(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_terminationAttemptAuthorized_sequence, hf_index, ett_inap_T_terminationAttemptAuthorized); + + return offset; +} + + +static const ber_sequence_t T_originationAttemptDenied_sequence[] = { + { &hf_inap_originationDeniedCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_originationAttemptDenied(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_originationAttemptDenied_sequence, hf_index, ett_inap_T_originationAttemptDenied); + + return offset; +} + + +static const ber_sequence_t T_terminationAttemptDenied_sequence[] = { + { &hf_inap_terminationDeniedCause, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_terminationAttemptDenied(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_terminationAttemptDenied_sequence, hf_index, ett_inap_T_terminationAttemptDenied); + + return offset; +} + + +static const ber_sequence_t T_oModifyRequestSpecificInfo_sequence[] = { + { &hf_inap_aTMCellRate , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ATMCellRate }, + { &hf_inap_additionalATMCellRate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AdditionalATMCellRate }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_oModifyRequestSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_oModifyRequestSpecificInfo_sequence, hf_index, ett_inap_T_oModifyRequestSpecificInfo); + + return offset; +} + + +static const value_string inap_ModifyResultType_vals[] = { + { 0, "modifyAcknowledge" }, + { 1, "modifyReject" }, + { 0, NULL } +}; + + +static int +dissect_inap_ModifyResultType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t T_oModifyResultSpecificInfo_sequence[] = { + { &hf_inap_modifyResultType, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ModifyResultType }, + { &hf_inap_aTMCellRate , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ATMCellRate }, + { &hf_inap_additionalATMCellRate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AdditionalATMCellRate }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_oModifyResultSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_oModifyResultSpecificInfo_sequence, hf_index, ett_inap_T_oModifyResultSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_tModifyRequestSpecificInfo_sequence[] = { + { &hf_inap_aTMCellRate , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ATMCellRate }, + { &hf_inap_additionalATMCellRate, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AdditionalATMCellRate }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_tModifyRequestSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_tModifyRequestSpecificInfo_sequence, hf_index, ett_inap_T_tModifyRequestSpecificInfo); + + return offset; +} + + +static const ber_sequence_t T_tModifyResultSpecificInfo_sequence[] = { + { &hf_inap_modifyResultType, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ModifyResultType }, + { &hf_inap_aTMCellRate , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ATMCellRate }, + { &hf_inap_additionalATMCellRate, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AdditionalATMCellRate }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_tModifyResultSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_tModifyResultSpecificInfo_sequence, hf_index, ett_inap_T_tModifyResultSpecificInfo); + + return offset; +} + + +static const value_string inap_EventSpecificInformationBCSM_vals[] = { + { 0, "collectedInfoSpecificInfo" }, + { 1, "analysedInfoSpecificInfo" }, + { 2, "routeSelectFailureSpecificInfo" }, + { 3, "oCalledPartyBusySpecificInfo" }, + { 4, "oNoAnswerSpecificInfo" }, + { 5, "oAnswerSpecificInfo" }, + { 6, "oMidCallSpecificInfo" }, + { 7, "oDisconnectSpecificInfo" }, + { 8, "tBusySpecificInfo" }, + { 9, "tNoAnswerSpecificInfo" }, + { 10, "tAnswerSpecificInfo" }, + { 11, "tMidCallSpecificInfo" }, + { 12, "tDisconnectSpecificInfo" }, + { 13, "oTermSeizedSpecificInfo" }, + { 14, "oSuspend" }, + { 15, "tSuspend" }, + { 16, "origAttemptAuthorized" }, + { 17, "oReAnswer" }, + { 18, "tReAnswer" }, + { 19, "facilitySelectedAndAvailable" }, + { 20, "callAccepted" }, + { 21, "oAbandon" }, + { 22, "tAbandon" }, + { 23, "authorizeRouteFailure" }, + { 24, "terminationAttemptAuthorized" }, + { 25, "originationAttemptDenied" }, + { 26, "terminationAttemptDenied" }, + { 40, "oModifyRequestSpecificInfo" }, + { 41, "oModifyResultSpecificInfo" }, + { 42, "tModifyRequestSpecificInfo" }, + { 43, "tModifyResultSpecificInfo" }, + { 0, NULL } +}; + +static const ber_choice_t EventSpecificInformationBCSM_choice[] = { + { 0, &hf_inap_collectedInfoSpecificInfo, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_T_collectedInfoSpecificInfo }, + { 1, &hf_inap_analysedInfoSpecificInfo, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_T_analysedInfoSpecificInfo }, + { 2, &hf_inap_routeSelectFailureSpecificInfo, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_T_routeSelectFailureSpecificInfo }, + { 3, &hf_inap_oCalledPartyBusySpecificInfo, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_T_oCalledPartyBusySpecificInfo }, + { 4, &hf_inap_oNoAnswerSpecificInfo, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_inap_T_oNoAnswerSpecificInfo }, + { 5, &hf_inap_oAnswerSpecificInfo, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_inap_T_oAnswerSpecificInfo }, + { 6, &hf_inap_oMidCallSpecificInfo, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_inap_T_oMidCallSpecificInfo }, + { 7, &hf_inap_oDisconnectSpecificInfo, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_inap_T_oDisconnectSpecificInfo }, + { 8, &hf_inap_tBusySpecificInfo, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_inap_T_tBusySpecificInfo }, + { 9, &hf_inap_tNoAnswerSpecificInfo, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_inap_T_tNoAnswerSpecificInfo }, + { 10, &hf_inap_tAnswerSpecificInfo, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_inap_T_tAnswerSpecificInfo }, + { 11, &hf_inap_tMidCallSpecificInfo, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_inap_T_tMidCallSpecificInfo }, + { 12, &hf_inap_tDisconnectSpecificInfo, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_inap_T_tDisconnectSpecificInfo }, + { 13, &hf_inap_oTermSeizedSpecificInfo, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_inap_T_oTermSeizedSpecificInfo }, + { 14, &hf_inap_oSuspend , BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_inap_T_oSuspend }, + { 15, &hf_inap_tSuspend , BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_inap_T_tSuspend }, + { 16, &hf_inap_origAttemptAuthorized, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_inap_T_origAttemptAuthorized }, + { 17, &hf_inap_oReAnswer , BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_inap_T_oReAnswer }, + { 18, &hf_inap_tReAnswer , BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_inap_T_tReAnswer }, + { 19, &hf_inap_facilitySelectedAndAvailable, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_inap_T_facilitySelectedAndAvailable }, + { 20, &hf_inap_callAccepted , BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_inap_T_callAccepted }, + { 21, &hf_inap_oAbandon , BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_inap_T_oAbandon }, + { 22, &hf_inap_tAbandon , BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_inap_T_tAbandon }, + { 23, &hf_inap_authorizeRouteFailure, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_inap_T_authorizeRouteFailure }, + { 24, &hf_inap_terminationAttemptAuthorized, BER_CLASS_CON, 24, BER_FLAGS_IMPLTAG, dissect_inap_T_terminationAttemptAuthorized }, + { 25, &hf_inap_originationAttemptDenied, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_inap_T_originationAttemptDenied }, + { 26, &hf_inap_terminationAttemptDenied, BER_CLASS_CON, 26, BER_FLAGS_IMPLTAG, dissect_inap_T_terminationAttemptDenied }, + { 40, &hf_inap_oModifyRequestSpecificInfo, BER_CLASS_CON, 40, BER_FLAGS_IMPLTAG, dissect_inap_T_oModifyRequestSpecificInfo }, + { 41, &hf_inap_oModifyResultSpecificInfo, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_inap_T_oModifyResultSpecificInfo }, + { 42, &hf_inap_tModifyRequestSpecificInfo, BER_CLASS_CON, 42, BER_FLAGS_IMPLTAG, dissect_inap_T_tModifyRequestSpecificInfo }, + { 43, &hf_inap_tModifyResultSpecificInfo, BER_CLASS_CON, 43, BER_FLAGS_IMPLTAG, dissect_inap_T_tModifyResultSpecificInfo }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_EventSpecificInformationBCSM(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + EventSpecificInformationBCSM_choice, hf_index, ett_inap_EventSpecificInformationBCSM, + NULL); + + return offset; +} + + + +static int +dissect_inap_EventSpecificInformationCharging(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_INTEGER(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_OCTET_STRING(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_FacilityGroup_vals[] = { + { 0, "trunkGroupID" }, + { 1, "privateFacilityID" }, + { 2, "huntGroup" }, + { 3, "routeIndex" }, + { 0, NULL } +}; + +static const ber_choice_t FacilityGroup_choice[] = { + { 0, &hf_inap_trunkGroupID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_INTEGER }, + { 1, &hf_inap_privateFacilityID, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_INTEGER }, + { 2, &hf_inap_huntGroup , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING }, + { 3, &hf_inap_routeIndex , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_FacilityGroup(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + FacilityGroup_choice, hf_index, ett_inap_FacilityGroup, + NULL); + + return offset; +} + + + +static int +dissect_inap_FacilityGroupMember(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_FCIBillingChargingCharacteristics(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_FeatureCode(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_LocationNumber(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string inap_FeatureRequestIndicator_vals[] = { + { 0, "hold" }, + { 1, "retrieve" }, + { 2, "featureActivation" }, + { 3, "spare1" }, + { 127, "sparen" }, + { 0, NULL } +}; + + +static int +dissect_inap_FeatureRequestIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_SFBillingChargingCharacteristics(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_MaximumNumberOfCounters(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t FilteredCallTreatment_sequence[] = { + { &hf_inap_sFBillingChargingCharacteristics, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_SFBillingChargingCharacteristics }, + { &hf_inap_informationToSend, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_InformationToSend }, + { &hf_inap_maximumNumberOfCounters, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_MaximumNumberOfCounters }, + { &hf_inap_releaseCause , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_FilteredCallTreatment(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + FilteredCallTreatment_sequence, hf_index, ett_inap_FilteredCallTreatment); + + return offset; +} + + + +static int +dissect_inap_INTEGER_M1_32000(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_FilteringCharacteristics_vals[] = { + { 0, "interval" }, + { 1, "numberOfCalls" }, + { 0, NULL } +}; + +static const ber_choice_t FilteringCharacteristics_choice[] = { + { 0, &hf_inap_filteringCharacteristics_interval, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_M1_32000 }, + { 1, &hf_inap_numberOfCalls , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_FilteringCharacteristics(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + FilteringCharacteristics_choice, hf_index, ett_inap_FilteringCharacteristics, + NULL); + + return offset; +} + + +static const ber_sequence_t T_addressAndService_sequence[] = { + { &hf_inap_calledAddressValue, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { &hf_inap_serviceKey , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_ServiceKey }, + { &hf_inap_callingAddressValue, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { &hf_inap_locationNumber , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_LocationNumber }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_addressAndService(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_addressAndService_sequence, hf_index, ett_inap_T_addressAndService); + + return offset; +} + + +static const value_string inap_FilteringCriteria_vals[] = { + { 0, "dialledNumber" }, + { 1, "callingLineID" }, + { 2, "serviceKey" }, + { 30, "addressAndService" }, + { 0, NULL } +}; + +static const ber_choice_t FilteringCriteria_choice[] = { + { 0, &hf_inap_dialledNumber , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { 1, &hf_inap_callingLineID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { 2, &hf_inap_serviceKey , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_ServiceKey }, + { 30, &hf_inap_addressAndService, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_inap_T_addressAndService }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_FilteringCriteria(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + FilteringCriteria_choice, hf_index, ett_inap_FilteringCriteria, + NULL); + + return offset; +} + + +static const value_string inap_FilteringTimeOut_vals[] = { + { 0, "duration" }, + { 1, "stopTime" }, + { 0, NULL } +}; + +static const ber_choice_t FilteringTimeOut_choice[] = { + { 0, &hf_inap_duration , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Duration }, + { 1, &hf_inap_stopTime , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_DateAndTime }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_FilteringTimeOut(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + FilteringTimeOut_choice, hf_index, ett_inap_FilteringTimeOut, + NULL); + + return offset; +} + + + +static int +dissect_inap_ForwardCallIndicators(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ForwardingCondition_vals[] = { + { 0, "busy" }, + { 1, "noanswer" }, + { 2, "any" }, + { 0, NULL } +}; + + +static int +dissect_inap_ForwardingCondition(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_GapCriteria_vals[] = { + { 0, "basicGapCriteria" }, + { 1, "compoundCapCriteria" }, + { 0, NULL } +}; + +static const ber_choice_t GapCriteria_choice[] = { + { 0, &hf_inap_basicGapCriteria, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_inap_BasicGapCriteria }, + { 1, &hf_inap_compoundCapCriteria, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_CompoundCriteria }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_GapCriteria(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + GapCriteria_choice, hf_index, ett_inap_GapCriteria, + NULL); + + return offset; +} + + + +int +dissect_inap_Interval(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t GapIndicators_sequence[] = { + { &hf_inap_duration , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Duration }, + { &hf_inap_gapInterval , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Interval }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_GapIndicators(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + GapIndicators_sequence, hf_index, ett_inap_GapIndicators); + + return offset; +} + + + +static int +dissect_inap_GenericIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_GenericName(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_GenericNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t GenericNumbers_set_of[1] = { + { &hf_inap_GenericNumbers_item, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_inap_GenericNumber }, +}; + +static int +dissect_inap_GenericNumbers(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset, + GenericNumbers_set_of, hf_index, ett_inap_GenericNumbers); + + return offset; +} + + + +static int +dissect_inap_GlobalCallReference(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +int +dissect_inap_HighLayerCompatibility(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +/* + * -- Indicates the teleservice. For encoding, DSS1 (Q.931) is used. + */ + tvbuff_t *parameter_tvb; + proto_tree *subtree; + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + + + if (!parameter_tvb) + return offset; + + subtree = proto_item_add_subtree(actx->created_item, ett_inap_HighLayerCompatibility); + dissect_q931_high_layer_compat_ie(parameter_tvb, 0, tvb_reported_length_remaining(parameter_tvb,0), subtree); + + + return offset; +} + + + +static int +dissect_inap_HoldCause(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t Trigger_sequence[] = { + { &hf_inap_trigger_tDPIdentifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_INTEGER }, + { &hf_inap_dpName , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_EventTypeBCSM }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_Trigger(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Trigger_sequence, hf_index, ett_inap_Trigger); + + return offset; +} + + +static const ber_sequence_t Triggers_sequence_of[1] = { + { &hf_inap_Triggers_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_Trigger }, +}; + +static int +dissect_inap_Triggers(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + Triggers_sequence_of, hf_index, ett_inap_Triggers); + + return offset; +} + + +static const value_string inap_TDPIdentifier_vals[] = { + { 0, "oneTrigger" }, + { 1, "triggers" }, + { 0, NULL } +}; + +static const ber_choice_t TDPIdentifier_choice[] = { + { 0, &hf_inap_oneTrigger , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_inap_INTEGER }, + { 1, &hf_inap_triggers , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Triggers }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_TDPIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + TDPIdentifier_choice, hf_index, ett_inap_TDPIdentifier, + NULL); + + return offset; +} + + +static const ber_sequence_t INprofile_sequence[] = { + { &hf_inap_actionOnProfile, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_ActionOnProfile }, + { &hf_inap_tDPIdentifier , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_TDPIdentifier }, + { &hf_inap_dPName , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_EventTypeBCSM }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_INprofile(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + INprofile_sequence, hf_index, ett_inap_INprofile); + + return offset; +} + + + +static int +dissect_inap_INServiceCompatibilityResponse(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_Entry(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_inap_IPRoutingAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_CalledPartyNumber(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string inap_MonitoringCriteria_vals[] = { + { 0, "threshold" }, + { 1, "interval" }, + { 0, NULL } +}; + +static const ber_choice_t MonitoringCriteria_choice[] = { + { 0, &hf_inap_threshold , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { 1, &hf_inap_interval , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Interval }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MonitoringCriteria(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + MonitoringCriteria_choice, hf_index, ett_inap_MonitoringCriteria, + NULL); + + return offset; +} + + +static const value_string inap_MonitoringTimeOut_vals[] = { + { 0, "duration" }, + { 1, "stopTime" }, + { 0, NULL } +}; + +static const ber_choice_t MonitoringTimeOut_choice[] = { + { 0, &hf_inap_duration , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Duration }, + { 1, &hf_inap_stopTime , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_DateAndTime }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MonitoringTimeOut(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + MonitoringTimeOut_choice, hf_index, ett_inap_MonitoringTimeOut, + NULL); + + return offset; +} + + + +static int +dissect_inap_NumberingPlan(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_OriginalCalledPartyID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + tvbuff_t *parameter_tvb; + + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + + + if (!parameter_tvb) + return offset; + + dissect_isup_original_called_number_parameter(parameter_tvb, actx->pinfo, tree, NULL); + + + return offset; +} + + +static const value_string inap_ProfileIdentifier_vals[] = { + { 0, "access" }, + { 1, "group" }, + { 0, NULL } +}; + +static const ber_choice_t ProfileIdentifier_choice[] = { + { 0, &hf_inap_access , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { 1, &hf_inap_group , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroup }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ProfileIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + ProfileIdentifier_choice, hf_index, ett_inap_ProfileIdentifier, + NULL); + + return offset; +} + + + +static int +dissect_inap_QoSParameter(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_Reason(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_RedirectingPartyID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + tvbuff_t *parameter_tvb; + + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + + + if (!parameter_tvb) + return offset; + + dissect_isup_redirecting_number_parameter(parameter_tvb, actx->pinfo, tree, NULL); + + + return offset; +} + + + +int +dissect_inap_RedirectionInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + tvbuff_t *parameter_tvb; + proto_tree *subtree; + + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + ¶meter_tvb); + + + if (!parameter_tvb) + return offset; + + subtree = proto_item_add_subtree(actx->created_item, ett_inap_RedirectionInformation); + dissect_isup_redirection_information_parameter(parameter_tvb, subtree, NULL); + + + return offset; +} + + + +static int +dissect_inap_RegistratorIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ReportCondition_vals[] = { + { 0, "statusReport" }, + { 1, "timerExpired" }, + { 2, "canceled" }, + { 0, NULL } +}; + + +static int +dissect_inap_ReportCondition(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_RequestedInformationType_vals[] = { + { 0, "callAttemptElapsedTime" }, + { 1, "callStopTime" }, + { 2, "callConnectedElapsedTime" }, + { 3, "calledAddress" }, + { 30, "releaseCause" }, + { 0, NULL } +}; + + +static int +dissect_inap_RequestedInformationType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_INTEGER_0_255(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_RequestedInformationValue_vals[] = { + { 0, "callAttemptElapsedTimeValue" }, + { 1, "callStopTimeValue" }, + { 2, "callConnectedElapsedTimeValue" }, + { 3, "calledAddressValue" }, + { 30, "releaseCauseValue" }, + { 0, NULL } +}; + +static const ber_choice_t RequestedInformationValue_choice[] = { + { 0, &hf_inap_callAttemptElapsedTimeValue, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_0_255 }, + { 1, &hf_inap_callStopTimeValue, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_DateAndTime }, + { 2, &hf_inap_callConnectedElapsedTimeValue, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { 3, &hf_inap_calledAddressValue, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { 30, &hf_inap_releaseCauseValue, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_RequestedInformationValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + RequestedInformationValue_choice, hf_index, ett_inap_RequestedInformationValue, + NULL); + + return offset; +} + + +static const ber_sequence_t RequestedInformation_sequence[] = { + { &hf_inap_requestedInformationType, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_RequestedInformationType }, + { &hf_inap_requestedInformationValue, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_RequestedInformationValue }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_RequestedInformation(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + RequestedInformation_sequence, hf_index, ett_inap_RequestedInformation); + + return offset; +} + + +static const ber_sequence_t RequestedInformationList_sequence_of[1] = { + { &hf_inap_RequestedInformationList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_RequestedInformation }, +}; + +static int +dissect_inap_RequestedInformationList(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + RequestedInformationList_sequence_of, hf_index, ett_inap_RequestedInformationList); + + return offset; +} + + +static const ber_sequence_t RequestedInformationTypeList_sequence_of[1] = { + { &hf_inap_RequestedInformationTypeList_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_inap_RequestedInformationType }, +}; + +static int +dissect_inap_RequestedInformationTypeList(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + RequestedInformationTypeList_sequence_of, hf_index, ett_inap_RequestedInformationTypeList); + + return offset; +} + + +static const value_string inap_USIMonitorMode_vals[] = { + { 0, "monitoringActive" }, + { 1, "monitoringInactive" }, + { 0, NULL } +}; + + +static int +dissect_inap_USIMonitorMode(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t RequestedUTSI_sequence[] = { + { &hf_inap_uSIServiceIndicator, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_USIServiceIndicator }, + { &hf_inap_uSImonitorMode , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_USIMonitorMode }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_RequestedUTSI(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + RequestedUTSI_sequence, hf_index, ett_inap_RequestedUTSI); + + return offset; +} + + +static const ber_sequence_t RequestedUTSIList_sequence_of[1] = { + { &hf_inap_RequestedUTSIList_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_RequestedUTSI }, +}; + +static int +dissect_inap_RequestedUTSIList(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + RequestedUTSIList_sequence_of, hf_index, ett_inap_RequestedUTSIList); + + return offset; +} + + +static const value_string inap_ResourceID_vals[] = { + { 0, "lineID" }, + { 1, "facilityGroupID" }, + { 2, "facilityGroupMemberID" }, + { 3, "trunkGroupID" }, + { 0, NULL } +}; + +static const ber_choice_t ResourceID_choice[] = { + { 0, &hf_inap_lineID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { 1, &hf_inap_facilityGroupID, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroup }, + { 2, &hf_inap_facilityGroupMemberID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_INTEGER }, + { 3, &hf_inap_trunkGroupID , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_INTEGER }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ResourceID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + ResourceID_choice, hf_index, ett_inap_ResourceID, + NULL); + + return offset; +} + + +static const value_string inap_ResourceStatus_vals[] = { + { 0, "busy" }, + { 1, "idle" }, + { 0, NULL } +}; + + +static int +dissect_inap_ResourceStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ResponseCondition_vals[] = { + { 0, "intermediateResponse" }, + { 1, "lastResponse" }, + { 0, NULL } +}; + + +static int +dissect_inap_ResponseCondition(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_Route(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t RouteCountersAndValue_sequence[] = { + { &hf_inap_route , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Route }, + { &hf_inap_counterID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_CounterID }, + { &hf_inap_counterValue , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_RouteCountersAndValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + RouteCountersAndValue_sequence, hf_index, ett_inap_RouteCountersAndValue); + + return offset; +} + + +static const ber_sequence_t RouteCountersValue_sequence_of[1] = { + { &hf_inap_RouteCountersValue_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_RouteCountersAndValue }, +}; + +static int +dissect_inap_RouteCountersValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + RouteCountersValue_sequence_of, hf_index, ett_inap_RouteCountersValue); + + return offset; +} + + +static const ber_sequence_t RouteList_sequence_of[1] = { + { &hf_inap_RouteList_item , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_inap_Route }, +}; + +static int +dissect_inap_RouteList(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + RouteList_sequence_of, hf_index, ett_inap_RouteList); + + return offset; +} + + + +static int +dissect_inap_RouteingNumber(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_SCIBillingChargingCharacteristics(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_TimerID_vals[] = { + { 0, "tssf" }, + { 0, NULL } +}; + + +static int +dissect_inap_TimerID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_TimerValue(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_Integer4(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_inap_TravellingClassMark(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_LocationNumber(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_inap_T_triggerId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_T_triggerPar(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +/* FIX ME */ + + + return offset; +} + + +static const ber_sequence_t TriggerData_sequence[] = { + { &hf_inap_triggerId , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_T_triggerId }, + { &hf_inap_triggerPar , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_T_triggerPar }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_TriggerData(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TriggerData_sequence, hf_index, ett_inap_TriggerData); + + return offset; +} + + +static const ber_sequence_t TriggerDataIdentifier_sequence[] = { + { &hf_inap_triggerID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_EventTypeBCSM }, + { &hf_inap_profile , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_ProfileIdentifier }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_TriggerDataIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TriggerDataIdentifier_sequence, hf_index, ett_inap_TriggerDataIdentifier); + + return offset; +} + + +static const value_string inap_TriggerDPType_vals[] = { + { 0, "tdp-r" }, + { 1, "tdp-n" }, + { 0, NULL } +}; + + +static int +dissect_inap_TriggerDPType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t TriggerResult_sequence[] = { + { &hf_inap_tDPIdentifer , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_INTEGER }, + { &hf_inap_actionPerformed, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_ActionPerformed }, + { &hf_inap_dPName , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_EventTypeBCSM }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_TriggerResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TriggerResult_sequence, hf_index, ett_inap_TriggerResult); + + return offset; +} + + +static const ber_sequence_t TriggerResults_sequence_of[1] = { + { &hf_inap_TriggerResults_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_TriggerResult }, +}; + +static int +dissect_inap_TriggerResults(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + TriggerResults_sequence_of, hf_index, ett_inap_TriggerResults); + + return offset; +} + + +static const value_string inap_TriggerStatus_vals[] = { + { 0, "created" }, + { 1, "alreadyExist" }, + { 2, "deleted" }, + { 3, "unknownTrigger" }, + { 0, NULL } +}; + + +static int +dissect_inap_TriggerStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_VPNIndicator(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL); + + return offset; +} + + +static const ber_sequence_t ActivateServiceFilteringArg_sequence[] = { + { &hf_inap_filteredCallTreatment, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_FilteredCallTreatment }, + { &hf_inap_filteringCharacteristics, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FilteringCharacteristics }, + { &hf_inap_filteringTimeOut, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FilteringTimeOut }, + { &hf_inap_filteringCriteria, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FilteringCriteria }, + { &hf_inap_startTime , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_DateAndTime }, + { &hf_inap_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ActivateServiceFilteringArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ActivateServiceFilteringArg_sequence, hf_index, ett_inap_ActivateServiceFilteringArg); + + return offset; +} + + +static const ber_sequence_t AnalysedInformationArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_dialledDigits , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { &hf_inap_callingFacilityGroup, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_callingFacilityGroupMember, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_prefix , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_routeList , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_featureCode , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FeatureCode }, + { &hf_inap_accessCode , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AccessCode }, + { &hf_inap_carrier , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { &hf_inap_componentType , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_AnalysedInformationArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AnalysedInformationArg_sequence, hf_index, ett_inap_AnalysedInformationArg); + + return offset; +} + + +static const ber_sequence_t AnalyseInformationArg_sequence[] = { + { &hf_inap_destinationRoutingAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DestinationRoutingAddress }, + { &hf_inap_alertingPattern, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlertingPattern }, + { &hf_inap_iSDNAccessRelatedInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ISDNAccessRelatedInformation }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_callingPartyNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyNumber }, + { &hf_inap_callingPartysCategory, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartysCategory }, + { &hf_inap_calledPartyNumber, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { &hf_inap_chargeNumber , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ChargeNumber }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_carrier , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { &hf_inap_serviceInteractionIndicators, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicators }, + { &hf_inap_iNServiceCompatibilityResponse, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_INServiceCompatibilityResponse }, + { &hf_inap_forwardGVNS , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardGVNS }, + { &hf_inap_backwardGVNS , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BackwardGVNS }, + { &hf_inap_serviceInteractionIndicatorsTwo, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicatorsTwo }, + { &hf_inap_correlationID , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_scfID , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ScfID }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_legToBeCreated , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_AnalyseInformationArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AnalyseInformationArg_sequence, hf_index, ett_inap_AnalyseInformationArg); + + return offset; +} + + +static const ber_sequence_t ApplyChargingArg_sequence[] = { + { &hf_inap_aChBillingChargingCharacteristics, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_AChBillingChargingCharacteristics }, + { &hf_inap_partyToCharge , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_releaseIndication, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_releaseCause , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ApplyChargingArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ApplyChargingArg_sequence, hf_index, ett_inap_ApplyChargingArg); + + return offset; +} + + + +static int +dissect_inap_ApplyChargingReportArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_CallResult(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t AssistRequestInstructionsArg_sequence[] = { + { &hf_inap_correlationID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_iPAvailable , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPAvailable }, + { &hf_inap_iPSSPCapabilities, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPSSPCapabilities }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_AssistRequestInstructionsArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AssistRequestInstructionsArg_sequence, hf_index, ett_inap_AssistRequestInstructionsArg); + + return offset; +} + + +static const ber_sequence_t AuthorizeTerminationArg_sequence[] = { + { &hf_inap_alertingPattern, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlertingPattern }, + { &hf_inap_callingPartyNumber, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyNumber }, + { &hf_inap_destinationNumberRoutingAddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { &hf_inap_displayInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_DisplayInformation }, + { &hf_inap_iSDNAccessRelatedInformation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ISDNAccessRelatedInformation }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_iNServiceCompatibilityResponse, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_INServiceCompatibilityResponse }, + { &hf_inap_forwardGVNS , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardGVNS }, + { &hf_inap_backwardGVNS , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BackwardGVNS }, + { &hf_inap_legID , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_serviceInteractionIndicatorsTwo, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicatorsTwo }, + { &hf_inap_scfID , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ScfID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_AuthorizeTerminationArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + AuthorizeTerminationArg_sequence, hf_index, ett_inap_AuthorizeTerminationArg); + + return offset; +} + + +static const ber_sequence_t CallFilteringArg_sequence[] = { + { &hf_inap_destinationIndex, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DestinationIndex }, + { &hf_inap_gapIndicators , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_GapIndicators }, + { &hf_inap_registratorIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RegistratorIdentifier }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CallFilteringArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CallFilteringArg_sequence, hf_index, ett_inap_CallFilteringArg); + + return offset; +} + + +static const ber_sequence_t CallGapArg_sequence[] = { + { &hf_inap_gapCriteria , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_GapCriteria }, + { &hf_inap_gapIndicators , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_GapIndicators }, + { &hf_inap_controlType , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ControlType }, + { &hf_inap_gapTreatment , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_GapTreatment }, + { &hf_inap_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CallGapArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CallGapArg_sequence, hf_index, ett_inap_CallGapArg); + + return offset; +} + + +static const ber_sequence_t CallInformationReportArg_sequence[] = { + { &hf_inap_requestedInformationList, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_RequestedInformationList }, + { &hf_inap_correlationID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_legID , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_lastEventIndicator, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CallInformationReportArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CallInformationReportArg_sequence, hf_index, ett_inap_CallInformationReportArg); + + return offset; +} + + +static const ber_sequence_t CallInformationRequestArg_sequence[] = { + { &hf_inap_requestedInformationTypeList, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_RequestedInformationTypeList }, + { &hf_inap_correlationID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_legID , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CallInformationRequestArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CallInformationRequestArg_sequence, hf_index, ett_inap_CallInformationRequestArg); + + return offset; +} + + +static const ber_sequence_t T_callSegmentToCancel_sequence[] = { + { &hf_inap_invokeID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_InvokeID }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_callSegmentToCancel(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_callSegmentToCancel_sequence, hf_index, ett_inap_T_callSegmentToCancel); + + return offset; +} + + +static const value_string inap_CancelArg_vals[] = { + { 0, "invokeID" }, + { 1, "allRequests" }, + { 2, "callSegmentToCancel" }, + { 3, "allRequestsForCallSegment" }, + { 0, NULL } +}; + +static const ber_choice_t CancelArg_choice[] = { + { 0, &hf_inap_invokeID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_InvokeID }, + { 1, &hf_inap_allRequests , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { 2, &hf_inap_callSegmentToCancel, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_T_callSegmentToCancel }, + { 3, &hf_inap_allRequestsForCallSegment, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CancelArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + CancelArg_choice, hf_index, ett_inap_CancelArg, + NULL); + + return offset; +} + + +static const ber_sequence_t CancelStatusReportRequestArg_sequence[] = { + { &hf_inap_resourceID , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_ResourceID }, + { &hf_inap_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CancelStatusReportRequestArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CancelStatusReportRequestArg_sequence, hf_index, ett_inap_CancelStatusReportRequestArg); + + return offset; +} + + +static const ber_sequence_t CollectedInformationArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_dialledDigits , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { &hf_inap_callingFacilityGroup, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_callingFacilityGroupMember, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_prefix , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_featureCode , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FeatureCode }, + { &hf_inap_accessCode , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AccessCode }, + { &hf_inap_carrier , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { &hf_inap_componentType , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CollectedInformationArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CollectedInformationArg_sequence, hf_index, ett_inap_CollectedInformationArg); + + return offset; +} + + +static const ber_sequence_t CollectInformationArg_sequence[] = { + { &hf_inap_alertingPattern, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlertingPattern }, + { &hf_inap_numberingPlan , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_NumberingPlan }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_callingPartyNumber, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyNumber }, + { &hf_inap_dialledDigits , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { &hf_inap_serviceInteractionIndicators, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicators }, + { &hf_inap_iNServiceCompatibilityResponse, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_INServiceCompatibilityResponse }, + { &hf_inap_forwardGVNS , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardGVNS }, + { &hf_inap_backwardGVNS , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BackwardGVNS }, + { &hf_inap_serviceInteractionIndicatorsTwo, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicatorsTwo }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_legToBeCreated , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CollectInformationArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CollectInformationArg_sequence, hf_index, ett_inap_CollectInformationArg); + + return offset; +} + + +static const ber_sequence_t ConnectArg_sequence[] = { + { &hf_inap_destinationRoutingAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DestinationRoutingAddress }, + { &hf_inap_alertingPattern, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlertingPattern }, + { &hf_inap_correlationID , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_cutAndPaste , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CutAndPaste }, + { &hf_inap_forwardingCondition, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardingCondition }, + { &hf_inap_iSDNAccessRelatedInformation, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ISDNAccessRelatedInformation }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_routeList , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_scfID , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ScfID }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_carrier , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { &hf_inap_serviceInteractionIndicators, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicators }, + { &hf_inap_callingPartyNumber, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyNumber }, + { &hf_inap_callingPartysCategory, BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartysCategory }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_displayInformation, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_DisplayInformation }, + { &hf_inap_forwardCallIndicators, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardCallIndicators }, + { &hf_inap_genericNumbers , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_GenericNumbers }, + { &hf_inap_serviceInteractionIndicatorsTwo, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicatorsTwo }, + { &hf_inap_iNServiceCompatibilityResponse, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_INServiceCompatibilityResponse }, + { &hf_inap_forwardGVNS , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardGVNS }, + { &hf_inap_backwardGVNS , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BackwardGVNS }, + { &hf_inap_chargeNumber , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ChargeNumber }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_legToBeCreated , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_sDSSinformation, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_SDSSinformation }, + { &hf_inap_calledDirectoryNumber, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledDirectoryNumber }, + { &hf_inap_bearerCapability, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_BearerCapability }, + { &hf_inap_calledPartySubaddress, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartySubaddress }, + { &hf_inap_connectionIdentifier, BER_CLASS_CON, 61, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ConnectionIdentifier }, + { &hf_inap_genericIdentifier, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_GenericIdentifier }, + { &hf_inap_qOSParameter , BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_QoSParameter }, + { &hf_inap_bISDNParameters, BER_CLASS_CON, 64, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BISDNParameters }, + { &hf_inap_cug_Interlock , BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CUG_Interlock }, + { &hf_inap_cug_OutgoingAccess, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { &hf_inap_ipRelatedInformation, BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPRelatedInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ConnectArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ConnectArg_sequence, hf_index, ett_inap_ConnectArg); + + return offset; +} + + +static const ber_sequence_t T_ipAddressAndLegID_sequence[] = { + { &hf_inap_ipRoutingAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_IPRoutingAddress }, + { &hf_inap_legID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_ipAddressAndLegID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_ipAddressAndLegID_sequence, hf_index, ett_inap_T_ipAddressAndLegID); + + return offset; +} + + +static const ber_sequence_t T_ipAddressAndCallSegment_sequence[] = { + { &hf_inap_ipRoutingAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_IPRoutingAddress }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_ipAddressAndCallSegment(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_ipAddressAndCallSegment_sequence, hf_index, ett_inap_T_ipAddressAndCallSegment); + + return offset; +} + + +static const value_string inap_T_resourceAddress_vals[] = { + { 0, "ipRoutingAddress" }, + { 1, "legID" }, + { 2, "ipAddressAndLegID" }, + { 3, "none" }, + { 5, "callSegmentID" }, + { 6, "ipAddressAndCallSegment" }, + { 0, NULL } +}; + +static const ber_choice_t T_resourceAddress_choice[] = { + { 0, &hf_inap_ipRoutingAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_IPRoutingAddress }, + { 1, &hf_inap_legID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_LegID }, + { 2, &hf_inap_ipAddressAndLegID, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_T_ipAddressAndLegID }, + { 3, &hf_inap_none , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { 5, &hf_inap_callSegmentID , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { 6, &hf_inap_ipAddressAndCallSegment, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_inap_T_ipAddressAndCallSegment }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_resourceAddress(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_resourceAddress_choice, hf_index, ett_inap_T_resourceAddress, + NULL); + + return offset; +} + + +static const ber_sequence_t ConnectToResourceArg_sequence[] = { + { &hf_inap_resourceAddress, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_T_resourceAddress }, + { &hf_inap_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_serviceInteractionIndicators, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicators }, + { &hf_inap_serviceInteractionIndicatorsTwo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicatorsTwo }, + { &hf_inap_uSIServiceIndicator, BER_CLASS_CON, 35, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_USIServiceIndicator }, + { &hf_inap_uSIInformation , BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_USIInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ConnectToResourceArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ConnectToResourceArg_sequence, hf_index, ett_inap_ConnectToResourceArg); + + return offset; +} + + +static const value_string inap_T_legorCSID_vals[] = { + { 0, "legID" }, + { 9, "csID" }, + { 0, NULL } +}; + +static const ber_choice_t T_legorCSID_choice[] = { + { 0, &hf_inap_legID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_LegID }, + { 9, &hf_inap_csID , BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_legorCSID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_legorCSID_choice, hf_index, ett_inap_T_legorCSID, + NULL); + + return offset; +} + + +static const ber_sequence_t ContinueWithArgumentArg_sequence[] = { + { &hf_inap_legorCSID , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_T_legorCSID }, + { &hf_inap_alertingPattern, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlertingPattern }, + { &hf_inap_genericName , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_GenericName }, + { &hf_inap_iNServiceCompatibilityResponse, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_INServiceCompatibilityResponse }, + { &hf_inap_forwardGVNS , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardGVNS }, + { &hf_inap_backwardGVNS , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BackwardGVNS }, + { &hf_inap_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_serviceInteractionIndicatorsTwo, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicatorsTwo }, + { &hf_inap_sDSSinformation, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_SDSSinformation }, + { &hf_inap_connectionIdentifier, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ConnectionIdentifier }, + { &hf_inap_iSDNAccessRelatedInformation, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ISDNAccessRelatedInformation }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_callingPartyNumber, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyNumber }, + { &hf_inap_callingPartysCategory, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartysCategory }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_forwardCallIndicators, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardCallIndicators }, + { &hf_inap_genericNumbers , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_GenericNumbers }, + { &hf_inap_cug_Interlock , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CUG_Interlock }, + { &hf_inap_cug_OutgoingAccess, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { &hf_inap_ipRelationInformation, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPRelatedInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ContinueWithArgumentArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ContinueWithArgumentArg_sequence, hf_index, ett_inap_ContinueWithArgumentArg); + + return offset; +} + + +static const ber_sequence_t CreateCallSegmentAssociationArg_sequence[] = { + { &hf_inap_extensions , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CreateCallSegmentAssociationArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CreateCallSegmentAssociationArg_sequence, hf_index, ett_inap_CreateCallSegmentAssociationArg); + + return offset; +} + + +static const ber_sequence_t CreateCallSegmentAssociationResultArg_sequence[] = { + { &hf_inap_newCallSegmentAssociation, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_CSAID }, + { &hf_inap_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CreateCallSegmentAssociationResultArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CreateCallSegmentAssociationResultArg_sequence, hf_index, ett_inap_CreateCallSegmentAssociationResultArg); + + return offset; +} + + +static const ber_sequence_t CreateOrRemoveTriggerDataArg_sequence[] = { + { &hf_inap_createOrRemove , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CreateOrRemoveIndicator }, + { &hf_inap_dPName , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_EventTypeBCSM }, + { &hf_inap_triggerDPType , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TriggerDPType }, + { &hf_inap_serviceKey , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceKey }, + { &hf_inap_profile , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_ProfileIdentifier }, + { &hf_inap_triggerData , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TriggerData }, + { &hf_inap_defaultFaultHandling, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_DefaultFaultHandling }, + { &hf_inap_tDPIdentifier , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_TDPIdentifier }, + { &hf_inap_extensions , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CreateOrRemoveTriggerDataArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CreateOrRemoveTriggerDataArg_sequence, hf_index, ett_inap_CreateOrRemoveTriggerDataArg); + + return offset; +} + + +static const ber_sequence_t CreateOrRemoveTriggerDataResultArg_sequence[] = { + { &hf_inap_triggerStatus , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_TriggerStatus }, + { &hf_inap_tDPIdentifier , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_TDPIdentifier }, + { &hf_inap_registratorIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RegistratorIdentifier }, + { &hf_inap_extensions , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CreateOrRemoveTriggerDataResultArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CreateOrRemoveTriggerDataResultArg_sequence, hf_index, ett_inap_CreateOrRemoveTriggerDataResultArg); + + return offset; +} + + +static const value_string inap_T_partyToDisconnect_vals[] = { + { 0, "legID" }, + { 1, "callSegmentID" }, + { 0, NULL } +}; + +static const ber_choice_t T_partyToDisconnect_choice[] = { + { 0, &hf_inap_legID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_LegID }, + { 1, &hf_inap_callSegmentID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_partyToDisconnect(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_partyToDisconnect_choice, hf_index, ett_inap_T_partyToDisconnect, + NULL); + + return offset; +} + + +static const ber_sequence_t DisconnectForwardConnectionWithArgumentArg_sequence[] = { + { &hf_inap_partyToDisconnect, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_T_partyToDisconnect }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_uSIServiceIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_USIServiceIndicator }, + { &hf_inap_uSIInformation , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_USIInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_DisconnectForwardConnectionWithArgumentArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DisconnectForwardConnectionWithArgumentArg_sequence, hf_index, ett_inap_DisconnectForwardConnectionWithArgumentArg); + + return offset; +} + + +static const ber_sequence_t DisconnectLegArg_sequence[] = { + { &hf_inap_legToBeReleased, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_releaseCause , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_DisconnectLegArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + DisconnectLegArg_sequence, hf_index, ett_inap_DisconnectLegArg); + + return offset; +} + + +static const ber_sequence_t T_cSFailure_sequence[] = { + { &hf_inap_callSegmentID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_reason , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Reason }, + { &hf_inap_cause , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_cSFailure(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_cSFailure_sequence, hf_index, ett_inap_T_cSFailure); + + return offset; +} + + +static const ber_sequence_t T_bCSMFailure_sequence[] = { + { &hf_inap_legID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_reason , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Reason }, + { &hf_inap_cause , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_bCSMFailure(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_bCSMFailure_sequence, hf_index, ett_inap_T_bCSMFailure); + + return offset; +} + + +static const value_string inap_EntityReleasedArg_vals[] = { + { 0, "cSFailure" }, + { 1, "bCSMFailure" }, + { 0, NULL } +}; + +static const ber_choice_t EntityReleasedArg_choice[] = { + { 0, &hf_inap_cSFailure , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_T_cSFailure }, + { 1, &hf_inap_bCSMFailure , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_T_bCSMFailure }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_EntityReleasedArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + EntityReleasedArg_choice, hf_index, ett_inap_EntityReleasedArg, + NULL); + + return offset; +} + + +static const value_string inap_T_partyToConnect_vals[] = { + { 2, "legID" }, + { 7, "callSegmentID" }, + { 0, NULL } +}; + +static const ber_choice_t T_partyToConnect_choice[] = { + { 2, &hf_inap_legID , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_LegID }, + { 7, &hf_inap_callSegmentID , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_partyToConnect(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_partyToConnect_choice, hf_index, ett_inap_T_partyToConnect, + NULL); + + return offset; +} + + +static const ber_sequence_t EstablishTemporaryConnectionArg_sequence[] = { + { &hf_inap_assistingSSPIPRoutingAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_AssistingSSPIPRoutingAddress }, + { &hf_inap_correlationID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_partyToConnect , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_T_partyToConnect }, + { &hf_inap_scfID , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ScfID }, + { &hf_inap_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_carrier , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { &hf_inap_serviceInteractionIndicators, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicators }, + { &hf_inap_serviceInteractionIndicatorsTwo, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicatorsTwo }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_EstablishTemporaryConnectionArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + EstablishTemporaryConnectionArg_sequence, hf_index, ett_inap_EstablishTemporaryConnectionArg); + + return offset; +} + + +static const ber_sequence_t EventNotificationChargingArg_sequence[] = { + { &hf_inap_eventTypeCharging, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_EventTypeCharging }, + { &hf_inap_eventSpecificInformationCharging, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_EventSpecificInformationCharging }, + { &hf_inap_legID , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_monitorMode , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_MonitorMode }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_EventNotificationChargingArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + EventNotificationChargingArg_sequence, hf_index, ett_inap_EventNotificationChargingArg); + + return offset; +} + + +static const ber_sequence_t EventReportBCSMArg_sequence[] = { + { &hf_inap_eventTypeBCSM , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_EventTypeBCSM }, + { &hf_inap_bcsmEventCorrelationID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_eventSpecificInformationBCSM, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_EventSpecificInformationBCSM }, + { &hf_inap_legID , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_miscCallInfo , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_MiscCallInfo }, + { &hf_inap_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_componentType , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_EventReportBCSMArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + EventReportBCSMArg_sequence, hf_index, ett_inap_EventReportBCSMArg); + + return offset; +} + + +static const ber_sequence_t EventReportFacilityArg_sequence[] = { + { &hf_inap_componentType , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_legID , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { &hf_inap_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_EventReportFacilityArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + EventReportFacilityArg_sequence, hf_index, ett_inap_EventReportFacilityArg); + + return offset; +} + + +static const ber_sequence_t FacilitySelectedAndAvailableArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_calledPartyBusinessGroupID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyBusinessGroupID }, + { &hf_inap_calledPartySubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartySubaddress }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartyNumber, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyNumber }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_routeList , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_componentType , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_FacilitySelectedAndAvailableArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + FacilitySelectedAndAvailableArg_sequence, hf_index, ett_inap_FacilitySelectedAndAvailableArg); + + return offset; +} + + + +static int +dissect_inap_FurnishChargingInformationArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_FCIBillingChargingCharacteristics(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string inap_HoldCallInNetworkArg_vals[] = { + { 0, "holdcause" }, + { 1, "empty" }, + { 0, NULL } +}; + +static const ber_choice_t HoldCallInNetworkArg_choice[] = { + { 0, &hf_inap_holdcause , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_HoldCause }, + { 1, &hf_inap_empty , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_HoldCallInNetworkArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + HoldCallInNetworkArg_choice, hf_index, ett_inap_HoldCallInNetworkArg, + NULL); + + return offset; +} + + +static const ber_sequence_t InitialDPArg_sequence[] = { + { &hf_inap_serviceKey , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceKey }, + { &hf_inap_dialledDigits , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { &hf_inap_calledPartyNumber, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { &hf_inap_callingPartyNumber, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyNumber }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartysCategory, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartysCategory }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { &hf_inap_cGEncountered , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CGEncountered }, + { &hf_inap_iPSSPCapabilities, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPSSPCapabilities }, + { &hf_inap_iPAvailable , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPAvailable }, + { &hf_inap_locationNumber , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_LocationNumber }, + { &hf_inap_miscCallInfo , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_MiscCallInfo }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_serviceProfileIdentifier, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceProfileIdentifier }, + { &hf_inap_terminalType , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TerminalType }, + { &hf_inap_extensions , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_triggerType , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TriggerType }, + { &hf_inap_highLayerCompatibility, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_HighLayerCompatibility }, + { &hf_inap_serviceInteractionIndicators, BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicators }, + { &hf_inap_additionalCallingPartyNumber, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AdditionalCallingPartyNumber }, + { &hf_inap_forwardCallIndicators, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardCallIndicators }, + { &hf_inap_bearerCapability, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_BearerCapability }, + { &hf_inap_eventTypeBCSM , BER_CLASS_CON, 28, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_EventTypeBCSM }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_cause , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { &hf_inap_componentType , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { &hf_inap_iSDNAccessRelatedInformation, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ISDNAccessRelatedInformation }, + { &hf_inap_iNServiceCompatibilityIndication, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_INServiceCompatibilityIndication }, + { &hf_inap_genericNumbers , BER_CLASS_CON, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_GenericNumbers }, + { &hf_inap_serviceInteractionIndicatorsTwo, BER_CLASS_CON, 32, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicatorsTwo }, + { &hf_inap_forwardGVNS , BER_CLASS_CON, 33, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardGVNS }, + { &hf_inap_createdCallSegmentAssociation, BER_CLASS_CON, 34, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CSAID }, + { &hf_inap_uSIServiceIndicator, BER_CLASS_CON, 35, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_USIServiceIndicator }, + { &hf_inap_uSIInformation , BER_CLASS_CON, 36, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_USIInformation }, + { &hf_inap_carrier , BER_CLASS_CON, 37, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { &hf_inap_cCSS , BER_CLASS_CON, 38, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CCSS }, + { &hf_inap_vPNIndicator , BER_CLASS_CON, 39, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_VPNIndicator }, + { &hf_inap_cNInfo , BER_CLASS_CON, 40, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CNInfo }, + { &hf_inap_callReference , BER_CLASS_CON, 41, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallReference }, + { &hf_inap_routeingNumber , BER_CLASS_CON, 42, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteingNumber }, + { &hf_inap_callingGeodeticLocation, BER_CLASS_CON, 43, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingGeodeticLocation }, + { &hf_inap_calledPartySubaddress, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartySubaddress }, + { &hf_inap_connectionIdentifier, BER_CLASS_CON, 61, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ConnectionIdentifier }, + { &hf_inap_genericIdentifier, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_GenericIdentifier }, + { &hf_inap_qOSParameter , BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_QoSParameter }, + { &hf_inap_bISDNParameters, BER_CLASS_CON, 64, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BISDNParameters }, + { &hf_inap_globalCallReference, BER_CLASS_CON, 44, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_GlobalCallReference }, + { &hf_inap_cug_Index , BER_CLASS_CON, 45, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CUG_Index }, + { &hf_inap_cug_Interlock , BER_CLASS_CON, 46, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CUG_Interlock }, + { &hf_inap_cug_OutgoingAccess, BER_CLASS_CON, 47, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { &hf_inap_ipRelatedInformation, BER_CLASS_CON, 48, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPRelatedInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_InitialDPArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + InitialDPArg_sequence, hf_index, ett_inap_InitialDPArg); + + return offset; +} + + +static const ber_sequence_t InitiateCallAttemptArg_sequence[] = { + { &hf_inap_destinationRoutingAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DestinationRoutingAddress }, + { &hf_inap_alertingPattern, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlertingPattern }, + { &hf_inap_iSDNAccessRelatedInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ISDNAccessRelatedInformation }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_serviceInteractionIndicators, BER_CLASS_CON, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicators }, + { &hf_inap_callingPartyNumber, BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyNumber }, + { &hf_inap_legToBeCreated , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_newCallSegment , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_iNServiceCompatibilityResponse, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_INServiceCompatibilityResponse }, + { &hf_inap_serviceInteractionIndicatorsTwo, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicatorsTwo }, + { &hf_inap_carrier , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { &hf_inap_correlationID , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_scfID , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ScfID }, + { &hf_inap_callReference , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallReference }, + { &hf_inap_calledDirectoryNumber, BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledDirectoryNumber }, + { &hf_inap_bearerCapability, BER_CLASS_CON, 60, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_BearerCapability }, + { &hf_inap_calledPartySubaddress, BER_CLASS_CON, 61, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartySubaddress }, + { &hf_inap_connectionIdentifier, BER_CLASS_CON, 62, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ConnectionIdentifier }, + { &hf_inap_genericIdentifier, BER_CLASS_CON, 63, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_GenericIdentifier }, + { &hf_inap_qOSParameter , BER_CLASS_CON, 64, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_QoSParameter }, + { &hf_inap_bISDNParameters, BER_CLASS_CON, 65, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BISDNParameters }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_callingPartysCategory, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartysCategory }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_displayInformation, BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_DisplayInformation }, + { &hf_inap_forwardCallIndicators, BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardCallIndicators }, + { &hf_inap_genericNumbers , BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_GenericNumbers }, + { &hf_inap_forwardGVNS , BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardGVNS }, + { &hf_inap_globalCallReference, BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_GlobalCallReference }, + { &hf_inap_cug_Interlock , BER_CLASS_CON, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CUG_Interlock }, + { &hf_inap_cug_OutgoingAccess, BER_CLASS_CON, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { &hf_inap_incomingSignallingBufferCopy, BER_CLASS_CON, 26, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_ipRelatedInformation, BER_CLASS_CON, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPRelatedInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_InitiateCallAttemptArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + InitiateCallAttemptArg_sequence, hf_index, ett_inap_InitiateCallAttemptArg); + + return offset; +} + + +static const value_string inap_T_triggerDataIdentifier_vals[] = { + { 1, "profileAndDP" }, + { 5, "profile" }, + { 0, NULL } +}; + +static const ber_choice_t T_triggerDataIdentifier_choice[] = { + { 1, &hf_inap_profileAndDP , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_TriggerDataIdentifier }, + { 5, &hf_inap_profile , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_inap_ProfileIdentifier }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_triggerDataIdentifier(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_triggerDataIdentifier_choice, hf_index, ett_inap_T_triggerDataIdentifier, + NULL); + + return offset; +} + + +static const ber_sequence_t ManageTriggerDataArg_sequence[] = { + { &hf_inap_actionIndicator, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_ActionIndicator }, + { &hf_inap_triggerDataIdentifier, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_T_triggerDataIdentifier }, + { &hf_inap_registratorIdentifier, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RegistratorIdentifier }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_tDPIdentifier , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_TDPIdentifier }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ManageTriggerDataArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ManageTriggerDataArg_sequence, hf_index, ett_inap_ManageTriggerDataArg); + + return offset; +} + + +static const ber_sequence_t T_oneTriggerResult_sequence[] = { + { &hf_inap_actionPerformed, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_ActionPerformed }, + { &hf_inap_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_oneTriggerResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_oneTriggerResult_sequence, hf_index, ett_inap_T_oneTriggerResult); + + return offset; +} + + +static const ber_sequence_t T_severalTriggerResult_sequence[] = { + { &hf_inap_results , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_TriggerResults }, + { &hf_inap_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_severalTriggerResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_severalTriggerResult_sequence, hf_index, ett_inap_T_severalTriggerResult); + + return offset; +} + + +static const value_string inap_ManageTriggerDataResultArg_vals[] = { + { 0, "oneTriggerResult" }, + { 1, "severalTriggerResult" }, + { 0, NULL } +}; + +static const ber_choice_t ManageTriggerDataResultArg_choice[] = { + { 0, &hf_inap_oneTriggerResult, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_T_oneTriggerResult }, + { 1, &hf_inap_severalTriggerResult, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_T_severalTriggerResult }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ManageTriggerDataResultArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + ManageTriggerDataResultArg_choice, hf_index, ett_inap_ManageTriggerDataResultArg, + NULL); + + return offset; +} + + +static const ber_sequence_t MergeCallSegmentsArg_sequence[] = { + { &hf_inap_sourceCallSegment, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_targetCallSegment, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_mergeSignallingPaths, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MergeCallSegmentsArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MergeCallSegmentsArg_sequence, hf_index, ett_inap_MergeCallSegmentsArg); + + return offset; +} + + +static const ber_sequence_t MonitorRouteReportArg_sequence[] = { + { &hf_inap_routeCounters , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_RouteCountersValue }, + { &hf_inap_correlationID , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MonitorRouteReportArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MonitorRouteReportArg_sequence, hf_index, ett_inap_MonitorRouteReportArg); + + return offset; +} + + +static const ber_sequence_t MonitorRouteRequestArg_sequence[] = { + { &hf_inap_routeList , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_correlationID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_monitoringCriteria, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_MonitoringCriteria }, + { &hf_inap_monitoringTimeout, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_MonitoringTimeOut }, + { &hf_inap_startTime , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_DateAndTime }, + { &hf_inap_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MonitorRouteRequestArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MonitorRouteRequestArg_sequence, hf_index, ett_inap_MonitorRouteRequestArg); + + return offset; +} + + +static const ber_sequence_t T_callSegments_item_sequence[] = { + { &hf_inap_sourceCallSegment, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_newCallSegment , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_callSegments_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_callSegments_item_sequence, hf_index, ett_inap_T_callSegments_item); + + return offset; +} + + +static const ber_sequence_t T_callSegments_sequence_of[1] = { + { &hf_inap_callSegments_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_T_callSegments_item }, +}; + +static int +dissect_inap_T_callSegments(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + T_callSegments_sequence_of, hf_index, ett_inap_T_callSegments); + + return offset; +} + + +static const ber_sequence_t T_legs_item_sequence[] = { + { &hf_inap_sourceLeg , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_newLeg , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_legs_item(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_legs_item_sequence, hf_index, ett_inap_T_legs_item); + + return offset; +} + + +static const ber_sequence_t T_legs_sequence_of[1] = { + { &hf_inap_legs_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_T_legs_item }, +}; + +static int +dissect_inap_T_legs(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + T_legs_sequence_of, hf_index, ett_inap_T_legs); + + return offset; +} + + +static const ber_sequence_t MoveCallSegmentsArg_sequence[] = { + { &hf_inap_targetCallSegmentAssociation, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_CSAID }, + { &hf_inap_callSegments , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_T_callSegments }, + { &hf_inap_legs , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_T_legs }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MoveCallSegmentsArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MoveCallSegmentsArg_sequence, hf_index, ett_inap_MoveCallSegmentsArg); + + return offset; +} + + +static const ber_sequence_t MoveLegArg_sequence[] = { + { &hf_inap_legIDToMove , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_targetCallSegment, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_detachSignallingPath, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { &hf_inap_exportSignallingPath, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MoveLegArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MoveLegArg_sequence, hf_index, ett_inap_MoveLegArg); + + return offset; +} + + +static const ber_sequence_t OAbandonArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_releaseCause , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_OAbandonArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + OAbandonArg_sequence, hf_index, ett_inap_OAbandonArg); + + return offset; +} + + +static const ber_sequence_t OAnswerArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { &hf_inap_callingFacilityGroup, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_callingFacilityGroupMember, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_routeList , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_OAnswerArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + OAnswerArg_sequence, hf_index, ett_inap_OAnswerArg); + + return offset; +} + + +static const ber_sequence_t OCalledPartyBusyArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_busyCause , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { &hf_inap_callingFacilityGroup, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_callingFacilityGroupMember, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_prefix , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_routeList , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_carrier , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_OCalledPartyBusyArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + OCalledPartyBusyArg_sequence, hf_index, ett_inap_OCalledPartyBusyArg); + + return offset; +} + + +static const ber_sequence_t ODisconnectArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { &hf_inap_callingFacilityGroup, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_callingFacilityGroupMember, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_releaseCause , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { &hf_inap_routeList , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_extensions , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_carrier , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { &hf_inap_connectTime , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { &hf_inap_componentType , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ODisconnectArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ODisconnectArg_sequence, hf_index, ett_inap_ODisconnectArg); + + return offset; +} + + +static const ber_sequence_t MidCallArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_calledPartyBusinessGroupID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyBusinessGroupID }, + { &hf_inap_calledPartySubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartySubaddress }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { &hf_inap_featureRequestIndicator, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FeatureRequestIndicator }, + { &hf_inap_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_carrier , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { &hf_inap_componentType , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MidCallArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MidCallArg_sequence, hf_index, ett_inap_MidCallArg); + + return offset; +} + + +static const ber_sequence_t ONoAnswerArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { &hf_inap_callingFacilityGroup, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_callingFacilityGroupMember, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_prefix , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_routeList , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_carrier , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ONoAnswerArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ONoAnswerArg_sequence, hf_index, ett_inap_ONoAnswerArg); + + return offset; +} + + +static const ber_sequence_t OriginationAttemptArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { &hf_inap_callingFacilityGroup, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_callingFacilityGroupMember, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_carrier , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_componentType , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_componenttCorrelationID, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_OriginationAttemptArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + OriginationAttemptArg_sequence, hf_index, ett_inap_OriginationAttemptArg); + + return offset; +} + + +static const ber_sequence_t OriginationAttemptAuthorizedArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_dialledDigits , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { &hf_inap_callingFacilityGroup, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_callingFacilityGroupMember, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_carrier , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { &hf_inap_componentType , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_OriginationAttemptAuthorizedArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + OriginationAttemptAuthorizedArg_sequence, hf_index, ett_inap_OriginationAttemptAuthorizedArg); + + return offset; +} + + +static const ber_sequence_t OSuspendedArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_legID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_OSuspendedArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + OSuspendedArg_sequence, hf_index, ett_inap_OSuspendedArg); + + return offset; +} + + +static const ber_sequence_t ReconnectArg_sequence[] = { + { &hf_inap_notificationDuration, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ApplicationTimer }, + { &hf_inap_alertingPattern, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlertingPattern }, + { &hf_inap_displayInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_DisplayInformation }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ReconnectArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ReconnectArg_sequence, hf_index, ett_inap_ReconnectArg); + + return offset; +} + + + +static int +dissect_inap_INTEGER_1_numOfCSs(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t T_callSegmentToRelease_sequence[] = { + { &hf_inap_callSegment , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_1_numOfCSs }, + { &hf_inap_releaseCause , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { &hf_inap_forcedRelease , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_callSegmentToRelease(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_callSegmentToRelease_sequence, hf_index, ett_inap_T_callSegmentToRelease); + + return offset; +} + + +static const ber_sequence_t T_allCallSegments_sequence[] = { + { &hf_inap_releaseCause , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { &hf_inap_timeToRelease , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TimerValue }, + { &hf_inap_forcedRelease , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_allCallSegments(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_allCallSegments_sequence, hf_index, ett_inap_T_allCallSegments); + + return offset; +} + + +static const value_string inap_ReleaseCallArg_vals[] = { + { 0, "initialCallSegment" }, + { 1, "callSegmentToRelease" }, + { 2, "allCallSegments" }, + { 0, NULL } +}; + +static const ber_choice_t ReleaseCallArg_choice[] = { + { 0, &hf_inap_initialCallSegment, BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_inap_Cause }, + { 1, &hf_inap_callSegmentToRelease, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_T_callSegmentToRelease }, + { 2, &hf_inap_allCallSegments, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_T_allCallSegments }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ReleaseCallArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + ReleaseCallArg_choice, hf_index, ett_inap_ReleaseCallArg, + NULL); + + return offset; +} + + +static const ber_sequence_t ReportUTSIArg_sequence[] = { + { &hf_inap_uSIServiceIndicator, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_USIServiceIndicator }, + { &hf_inap_legID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_uSIInformation , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_USIInformation }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ReportUTSIArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ReportUTSIArg_sequence, hf_index, ett_inap_ReportUTSIArg); + + return offset; +} + + + +static int +dissect_inap_RequestCurrentStatusReportArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_ResourceID(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t RequestCurrentStatusReportResultArg_sequence[] = { + { &hf_inap_resourceStatus , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_ResourceStatus }, + { &hf_inap_resourceID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_ResourceID }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_RequestCurrentStatusReportResultArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + RequestCurrentStatusReportResultArg_sequence, hf_index, ett_inap_RequestCurrentStatusReportResultArg); + + return offset; +} + + +static const ber_sequence_t RequestEveryStatusChangeReportArg_sequence[] = { + { &hf_inap_resourceID , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_ResourceID }, + { &hf_inap_correlationID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_monitorDuration, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Duration }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_RequestEveryStatusChangeReportArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + RequestEveryStatusChangeReportArg_sequence, hf_index, ett_inap_RequestEveryStatusChangeReportArg); + + return offset; +} + + +static const ber_sequence_t RequestFirstStatusMatchReportArg_sequence[] = { + { &hf_inap_resourceID , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_ResourceID }, + { &hf_inap_resourceStatus , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ResourceStatus }, + { &hf_inap_correlationID , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_monitorDuration, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Duration }, + { &hf_inap_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_bearerCapability, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_BearerCapability }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_RequestFirstStatusMatchReportArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + RequestFirstStatusMatchReportArg_sequence, hf_index, ett_inap_RequestFirstStatusMatchReportArg); + + return offset; +} + + +static const ber_sequence_t RequestNotificationChargingEventArg_sequence_of[1] = { + { &hf_inap_RequestNotificationChargingEventArg_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_ChargingEvent }, +}; + +static int +dissect_inap_RequestNotificationChargingEventArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + RequestNotificationChargingEventArg_sequence_of, hf_index, ett_inap_RequestNotificationChargingEventArg); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_numOfBCSMEvents_OF_BCSMEvent_sequence_of[1] = { + { &hf_inap_bcsmEvents_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_BCSMEvent }, +}; + +static int +dissect_inap_SEQUENCE_SIZE_1_numOfBCSMEvents_OF_BCSMEvent(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_SIZE_1_numOfBCSMEvents_OF_BCSMEvent_sequence_of, hf_index, ett_inap_SEQUENCE_SIZE_1_numOfBCSMEvents_OF_BCSMEvent); + + return offset; +} + + +static const ber_sequence_t RequestReportBCSMEventArg_sequence[] = { + { &hf_inap_bcsmEvents , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_SEQUENCE_SIZE_1_numOfBCSMEvents_OF_BCSMEvent }, + { &hf_inap_bcsmEventCorrelationID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_RequestReportBCSMEventArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + RequestReportBCSMEventArg_sequence, hf_index, ett_inap_RequestReportBCSMEventArg); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_3_OF_ComponentType_sequence_of[1] = { + { &hf_inap_componentTypes_item, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_inap_ComponentType }, +}; + +static int +dissect_inap_SEQUENCE_SIZE_1_3_OF_ComponentType(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_SIZE_1_3_OF_ComponentType_sequence_of, hf_index, ett_inap_SEQUENCE_SIZE_1_3_OF_ComponentType); + + return offset; +} + + +static const ber_sequence_t RequestReportFacilityEventArg_sequence[] = { + { &hf_inap_componentTypes , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_SEQUENCE_SIZE_1_3_OF_ComponentType }, + { &hf_inap_legID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { &hf_inap_monitorDuration, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_Duration }, + { &hf_inap_extensions , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_RequestReportFacilityEventArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + RequestReportFacilityEventArg_sequence, hf_index, ett_inap_RequestReportFacilityEventArg); + + return offset; +} + + +static const ber_sequence_t RequestReportUTSIArg_sequence[] = { + { &hf_inap_requestedUTSIList, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_RequestedUTSIList }, + { &hf_inap_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_legID , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_RequestReportUTSIArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + RequestReportUTSIArg_sequence, hf_index, ett_inap_RequestReportUTSIArg); + + return offset; +} + + +static const ber_sequence_t ResetTimerArg_sequence[] = { + { &hf_inap_timerID , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TimerID }, + { &hf_inap_timervalue , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_TimerValue }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ResetTimerArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ResetTimerArg_sequence, hf_index, ett_inap_ResetTimerArg); + + return offset; +} + + +static const ber_sequence_t RouteSelectFailureArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_dialledDigits , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { &hf_inap_callingFacilityGroup, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_callingFacilityGroupMember, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_failureCause , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_prefix , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_routeList , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_carrier , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_RouteSelectFailureArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + RouteSelectFailureArg_sequence, hf_index, ett_inap_RouteSelectFailureArg); + + return offset; +} + + +static const ber_sequence_t SelectFacilityArg_sequence[] = { + { &hf_inap_alertingPattern, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlertingPattern }, + { &hf_inap_destinationNumberRoutingAddress, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyNumber }, + { &hf_inap_iSDNAccessRelatedInformation, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ISDNAccessRelatedInformation }, + { &hf_inap_calledFacilityGroup, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_calledFacilityGroupMember, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_displayInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_DisplayInformation }, + { &hf_inap_serviceInteractionIndicators, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicators }, + { &hf_inap_iNServiceCompatibilityResponse, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_INServiceCompatibilityResponse }, + { &hf_inap_forwardGVNS , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardGVNS }, + { &hf_inap_backwardGVNS , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BackwardGVNS }, + { &hf_inap_serviceInteractionIndicatorsTwo, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicatorsTwo }, + { &hf_inap_correlationID , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_scfID , BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ScfID }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_legToBeCreated , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_ipRelatedInformation, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPRelatedInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_SelectFacilityArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SelectFacilityArg_sequence, hf_index, ett_inap_SelectFacilityArg); + + return offset; +} + + +static const ber_sequence_t SelectRouteArg_sequence[] = { + { &hf_inap_destinationRoutingAddress, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DestinationRoutingAddress }, + { &hf_inap_alertingPattern, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_AlertingPattern }, + { &hf_inap_correlationID , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_iSDNAccessRelatedInformation, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ISDNAccessRelatedInformation }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_routeList , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_scfID , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ScfID }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_carrier , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Carrier }, + { &hf_inap_serviceInteractionIndicators, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicators }, + { &hf_inap_iNServiceCompatibilityResponse, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_INServiceCompatibilityResponse }, + { &hf_inap_forwardGVNS , BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ForwardGVNS }, + { &hf_inap_backwardGVNS , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BackwardGVNS }, + { &hf_inap_serviceInteractionIndicatorsTwo, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ServiceInteractionIndicatorsTwo }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_legToBeCreated , BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_ipRelatedInformation, BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_IPRelatedInformation }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_SelectRouteArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SelectRouteArg_sequence, hf_index, ett_inap_SelectRouteArg); + + return offset; +} + + +static const ber_sequence_t SendChargingInformationArg_sequence[] = { + { &hf_inap_sCIBillingChargingCharacteristics, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_SCIBillingChargingCharacteristics }, + { &hf_inap_partyToCharge , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_nocharge , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_SendChargingInformationArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SendChargingInformationArg_sequence, hf_index, ett_inap_SendChargingInformationArg); + + return offset; +} + + +static const ber_sequence_t SendFacilityInformationArg_sequence[] = { + { &hf_inap_componentType , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_legID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { &hf_inap_component , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_callProcessingOperation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallProcessingOperation }, + { &hf_inap_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_SendFacilityInformationArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SendFacilityInformationArg_sequence, hf_index, ett_inap_SendFacilityInformationArg); + + return offset; +} + + +static const ber_sequence_t SendSTUIArg_sequence[] = { + { &hf_inap_uSIServiceIndicator, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_USIServiceIndicator }, + { &hf_inap_legID , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_uSIInformation , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_USIInformation }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_SendSTUIArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SendSTUIArg_sequence, hf_index, ett_inap_SendSTUIArg); + + return offset; +} + + +static const ber_sequence_t ServiceFilteringResponseArg_sequence[] = { + { &hf_inap_countersValue , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_CountersValue }, + { &hf_inap_filteringCriteria, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FilteringCriteria }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_responseCondition, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ResponseCondition }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ServiceFilteringResponseArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ServiceFilteringResponseArg_sequence, hf_index, ett_inap_ServiceFilteringResponseArg); + + return offset; +} + + +static const ber_sequence_t SEQUENCE_SIZE_1_numOfINProfile_OF_INprofile_sequence_of[1] = { + { &hf_inap_iNprofiles_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_inap_INprofile }, +}; + +static int +dissect_inap_SEQUENCE_SIZE_1_numOfINProfile_OF_INprofile(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset, + SEQUENCE_SIZE_1_numOfINProfile_OF_INprofile_sequence_of, hf_index, ett_inap_SEQUENCE_SIZE_1_numOfINProfile_OF_INprofile); + + return offset; +} + + +static const ber_sequence_t SetServiceProfileArg_sequence[] = { + { &hf_inap_iNprofiles , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_SEQUENCE_SIZE_1_numOfINProfile_OF_INprofile }, + { &hf_inap_extensions , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_SetServiceProfileArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SetServiceProfileArg_sequence, hf_index, ett_inap_SetServiceProfileArg); + + return offset; +} + + + +static int +dissect_inap_INTEGER_2_numOfCSs(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t SplitLegArg_sequence[] = { + { &hf_inap_legToBeSplit , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_newCallSegment_01, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_2_numOfCSs }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_detachSignallingPath, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_SplitLegArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SplitLegArg_sequence, hf_index, ett_inap_SplitLegArg); + + return offset; +} + + +static const ber_sequence_t StatusReportArg_sequence[] = { + { &hf_inap_resourceStatus , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ResourceStatus }, + { &hf_inap_correlationID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CorrelationID }, + { &hf_inap_resourceID , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_ResourceID }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_reportCondition, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ReportCondition }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_StatusReportArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + StatusReportArg_sequence, hf_index, ett_inap_StatusReportArg); + + return offset; +} + + +static const ber_sequence_t TAnswerArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_calledPartyBusinessGroupID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyBusinessGroupID }, + { &hf_inap_calledPartySubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartySubaddress }, + { &hf_inap_calledFacilityGroup, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_calledFacilityGroupMember, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_extensions , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_componentType , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_TAnswerArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TAnswerArg_sequence, hf_index, ett_inap_TAnswerArg); + + return offset; +} + + +static const ber_sequence_t TBusyArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_busyCause , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { &hf_inap_calledPartyBusinessGroupID, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyBusinessGroupID }, + { &hf_inap_calledPartySubaddress, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartySubaddress }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_routeList , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_TBusyArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TBusyArg_sequence, hf_index, ett_inap_TBusyArg); + + return offset; +} + + +static const ber_sequence_t TDisconnectArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_calledPartyBusinessGroupID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyBusinessGroupID }, + { &hf_inap_calledPartySubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartySubaddress }, + { &hf_inap_calledFacilityGroup, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_calledFacilityGroupMember, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_releaseCause , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Cause }, + { &hf_inap_extensions , BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_connectTime , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Integer4 }, + { &hf_inap_componentType , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_TDisconnectArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TDisconnectArg_sequence, hf_index, ett_inap_TDisconnectArg); + + return offset; +} + + +static const ber_sequence_t TermAttemptAuthorizedArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_calledPartyBusinessGroupID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyBusinessGroupID }, + { &hf_inap_calledPartySubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartySubaddress }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_routeList , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_TermAttemptAuthorizedArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TermAttemptAuthorizedArg_sequence, hf_index, ett_inap_TermAttemptAuthorizedArg); + + return offset; +} + + +static const ber_sequence_t TerminationAttemptArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_calledPartyBusinessGroupID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyBusinessGroupID }, + { &hf_inap_calledPartySubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartySubaddress }, + { &hf_inap_callingPartyBusinessGroupID, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartyBusinessGroupID }, + { &hf_inap_callingPartySubaddress, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallingPartySubaddress }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_routeList , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RouteList }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_TerminationAttemptArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TerminationAttemptArg_sequence, hf_index, ett_inap_TerminationAttemptArg); + + return offset; +} + + +static const ber_sequence_t TNoAnswerArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_calledPartyBusinessGroupID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartyBusinessGroupID }, + { &hf_inap_calledPartySubaddress, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CalledPartySubaddress }, + { &hf_inap_calledFacilityGroup, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_FacilityGroup }, + { &hf_inap_calledFacilityGroupMember, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_FacilityGroupMember }, + { &hf_inap_originalCalledPartyID, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OriginalCalledPartyID }, + { &hf_inap_redirectingPartyID, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectingPartyID }, + { &hf_inap_redirectionInformation, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RedirectionInformation }, + { &hf_inap_travellingClassMark, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_TravellingClassMark }, + { &hf_inap_extensions , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_componentType , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentType }, + { &hf_inap_component , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Component }, + { &hf_inap_componentCorrelationID, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ComponentCorrelationID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_TNoAnswerArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TNoAnswerArg_sequence, hf_index, ett_inap_TNoAnswerArg); + + return offset; +} + + +static const ber_sequence_t TSuspendedArg_sequence[] = { + { &hf_inap_dpSpecificCommonParameters, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_DpSpecificCommonParameters }, + { &hf_inap_legID , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_LegID }, + { &hf_inap_extensions , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_TSuspendedArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + TSuspendedArg_sequence, hf_index, ett_inap_TSuspendedArg); + + return offset; +} + + + +static int +dissect_inap_OCTET_STRING_SIZE_1_2(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ErrorTreatment_vals[] = { + { 0, "reportErrorToScf" }, + { 1, "help" }, + { 2, "repeatPrompt" }, + { 0, NULL } +}; + + +static int +dissect_inap_ErrorTreatment(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t CollectedDigits_sequence[] = { + { &hf_inap_minimumNbOfDigits, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_1_127 }, + { &hf_inap_maximumNbOfDigits, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_1_127 }, + { &hf_inap_endOfReplyDigit, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1_2 }, + { &hf_inap_cancelDigit , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1_2 }, + { &hf_inap_startDigit , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1_2 }, + { &hf_inap_firstDigitTimeOut, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_1_127 }, + { &hf_inap_interDigitTimeOut, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_1_127 }, + { &hf_inap_errorTreatment , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ErrorTreatment }, + { &hf_inap_interruptableAnnInd, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_voiceInformation, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_voiceBack , BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_detectModem , BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CollectedDigits(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + CollectedDigits_sequence, hf_index, ett_inap_CollectedDigits); + + return offset; +} + + +static const value_string inap_CollectedInfo_vals[] = { + { 0, "collectedDigits" }, + { 1, "iA5Information" }, + { 2, "detectModem" }, + { 0, NULL } +}; + +static const ber_choice_t CollectedInfo_choice[] = { + { 0, &hf_inap_collectedDigits, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_CollectedDigits }, + { 1, &hf_inap_iA5Information , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { 2, &hf_inap_detectModem , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_CollectedInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + CollectedInfo_choice, hf_index, ett_inap_CollectedInfo, + NULL); + + return offset; +} + + + +static int +dissect_inap_ElementaryMessageID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_Integer4(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_inap_GapOnResource(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_Code(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + + +static int +dissect_inap_INTEGER_1_3600(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_INTEGER_0_b3__maxRecordingTime(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t T_controlDigits_sequence[] = { + { &hf_inap_endOfRecordingDigit, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1_2 }, + { &hf_inap_cancelDigit , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1_2 }, + { &hf_inap_replayDigit , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1_2 }, + { &hf_inap_restartRecordingDigit, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_OCTET_STRING_SIZE_1_2 }, + { &hf_inap_restartAllowed , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_replayAllowed , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_controlDigits(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_controlDigits_sequence, hf_index, ett_inap_T_controlDigits); + + return offset; +} + + +static const ber_sequence_t InformationToRecord_sequence[] = { + { &hf_inap_messageID_01 , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ElementaryMessageID }, + { &hf_inap_messageDeletionTimeOut, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_1_3600 }, + { &hf_inap_timeToRecord , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_0_b3__maxRecordingTime }, + { &hf_inap_controlDigits , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_inap_T_controlDigits }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_InformationToRecord(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + InformationToRecord_sequence, hf_index, ett_inap_InformationToRecord); + + return offset; +} + + + +static int +dissect_inap_MailBoxID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_Media_vals[] = { + { 0, "voiceMail" }, + { 1, "faxGroup3" }, + { 2, "faxGroup4" }, + { 0, NULL } +}; + + +static int +dissect_inap_Media(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ReceivedStatus_vals[] = { + { 0, "messageComplete" }, + { 1, "messageInterrupted" }, + { 2, "messageTimeOut" }, + { 0, NULL } +}; + + +static int +dissect_inap_ReceivedStatus(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_RecordedMessageID(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_Integer4(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const ber_sequence_t T_iPAddressAndresource_sequence[] = { + { &hf_inap_iPAddressValue , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { &hf_inap_gapOnResource , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_GapOnResource }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_iPAddressAndresource(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_iPAddressAndresource_sequence, hf_index, ett_inap_T_iPAddressAndresource); + + return offset; +} + + +static const value_string inap_SRFGapCriteria_vals[] = { + { 1, "iPAddressValue" }, + { 2, "gapOnResource" }, + { 3, "iPAddressAndresource" }, + { 0, NULL } +}; + +static const ber_choice_t SRFGapCriteria_choice[] = { + { 1, &hf_inap_iPAddressValue , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { 2, &hf_inap_gapOnResource , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_GapOnResource }, + { 3, &hf_inap_iPAddressAndresource, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_T_iPAddressAndresource }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_SRFGapCriteria(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + SRFGapCriteria_choice, hf_index, ett_inap_SRFGapCriteria, + NULL); + + return offset; +} + + +static const value_string inap_T_connectedParty_vals[] = { + { 4, "legID" }, + { 5, "callSegmentID" }, + { 0, NULL } +}; + +static const ber_choice_t T_connectedParty_choice[] = { + { 4, &hf_inap_legID , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_inap_LegID }, + { 5, &hf_inap_callSegmentID , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_connectedParty(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_connectedParty_choice, hf_index, ett_inap_T_connectedParty, + NULL); + + return offset; +} + + +static const ber_sequence_t PlayAnnouncementArg_sequence[] = { + { &hf_inap_informationToSend, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_InformationToSend }, + { &hf_inap_disconnectFromIPForbidden, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_requestAnnouncementComplete, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_connectedParty , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_T_connectedParty }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_PlayAnnouncementArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PlayAnnouncementArg_sequence, hf_index, ett_inap_PlayAnnouncementArg); + + return offset; +} + + +static const ber_sequence_t PromptAndCollectUserInformationArg_sequence[] = { + { &hf_inap_collectedInfo , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_CollectedInfo }, + { &hf_inap_disconnectFromIPForbidden, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_informationToSend, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_InformationToSend }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_PromptAndCollectUserInformationArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PromptAndCollectUserInformationArg_sequence, hf_index, ett_inap_PromptAndCollectUserInformationArg); + + return offset; +} + + + +static int +dissect_inap_IA5String(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_IA5String, + actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ReceivedInformationArg_vals[] = { + { 0, "digitsResponse" }, + { 1, "iA5Response" }, + { 2, "modemdetected" }, + { 0, NULL } +}; + +static const ber_choice_t ReceivedInformationArg_choice[] = { + { 0, &hf_inap_digitsResponse , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_Digits }, + { 1, &hf_inap_iA5Response , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_IA5String }, + { 2, &hf_inap_modemdetected , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ReceivedInformationArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + ReceivedInformationArg_choice, hf_index, ett_inap_ReceivedInformationArg, + NULL); + + return offset; +} + + +static const ber_sequence_t PromptAndReceiveMessageArg_sequence[] = { + { &hf_inap_disconnectFromIPForbidden, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_informationToSend, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_InformationToSend }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_subscriberID , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_GenericNumber }, + { &hf_inap_mailBoxID , BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_MailBoxID }, + { &hf_inap_informationToRecord, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_inap_InformationToRecord }, + { &hf_inap_media , BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Media }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_PromptAndReceiveMessageArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PromptAndReceiveMessageArg_sequence, hf_index, ett_inap_PromptAndReceiveMessageArg); + + return offset; +} + + + +static int +dissect_inap_INTEGER_1_b3__maxRecordedMessageUnits(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t MessageReceivedArg_sequence[] = { + { &hf_inap_receivedStatus , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_ReceivedStatus }, + { &hf_inap_recordedMessageID, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_RecordedMessageID }, + { &hf_inap_recordedMessageUnits, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_INTEGER_1_b3__maxRecordedMessageUnits }, + { &hf_inap_extensions , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_MessageReceivedArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + MessageReceivedArg_sequence, hf_index, ett_inap_MessageReceivedArg); + + return offset; +} + + + +static int +dissect_inap_T_uIScriptSpecificInfo(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +/* FIX ME */ + + + return offset; +} + + +static const ber_sequence_t ScriptCloseArg_sequence[] = { + { &hf_inap_uIScriptId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Code }, + { &hf_inap_uIScriptSpecificInfo, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_T_uIScriptSpecificInfo }, + { &hf_inap_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ScriptCloseArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ScriptCloseArg_sequence, hf_index, ett_inap_ScriptCloseArg); + + return offset; +} + + + +static int +dissect_inap_T_uIScriptResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +/* FIX ME */ + + + return offset; +} + + +static const ber_sequence_t ScriptEventArg_sequence[] = { + { &hf_inap_uIScriptId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Code }, + { &hf_inap_uIScriptResult , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_T_uIScriptResult }, + { &hf_inap_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { &hf_inap_lastEventIndicator, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ScriptEventArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ScriptEventArg_sequence, hf_index, ett_inap_ScriptEventArg); + + return offset; +} + + + +static int +dissect_inap_T_uIScriptSpecificInfo_01(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +/* FIX ME */ + + return offset; +} + + +static const ber_sequence_t ScriptInformationArg_sequence[] = { + { &hf_inap_uIScriptId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Code }, + { &hf_inap_uIScriptSpecificInfo_01, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_T_uIScriptSpecificInfo_01 }, + { &hf_inap_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ScriptInformationArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ScriptInformationArg_sequence, hf_index, ett_inap_ScriptInformationArg); + + return offset; +} + + + +static int +dissect_inap_T_uIScriptSpecificInfo_02(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { +/* FIX ME */ + + + return offset; +} + + +static const ber_sequence_t ScriptRunArg_sequence[] = { + { &hf_inap_uIScriptId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Code }, + { &hf_inap_uIScriptSpecificInfo_02, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_T_uIScriptSpecificInfo_02 }, + { &hf_inap_extensions , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { &hf_inap_disconnectFromIPForbidden, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_BOOLEAN }, + { &hf_inap_callSegmentID , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_CallSegmentID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ScriptRunArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ScriptRunArg_sequence, hf_index, ett_inap_ScriptRunArg); + + return offset; +} + + + +static int +dissect_inap_SpecializedResourceReportArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index); + + return offset; +} + + +static const ber_sequence_t SRFCallGapArg_sequence[] = { + { &hf_inap_sRFgapCriteria , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_SRFGapCriteria }, + { &hf_inap_gapIndicators , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_GapIndicators }, + { &hf_inap_controlType , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_ControlType }, + { &hf_inap_extensions , BER_CLASS_CON, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_inap_Extensions }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_SRFCallGapArg(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + SRFCallGapArg_sequence, hf_index, ett_inap_SRFCallGapArg); + + return offset; +} + + +static const value_string inap_T_problem_vals[] = { + { 0, "unknownOperation" }, + { 1, "tooLate" }, + { 2, "operationNotCancellable" }, + { 0, NULL } +}; + + +static int +dissect_inap_T_problem(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t PAR_cancelFailed_sequence[] = { + { &hf_inap_problem , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_T_problem }, + { &hf_inap_operation , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_InvokeID }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_PAR_cancelFailed(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + PAR_cancelFailed_sequence, hf_index, ett_inap_PAR_cancelFailed); + + return offset; +} + + +static const value_string inap_PAR_requestedInfoError_vals[] = { + { 1, "unknownRequestedInfo" }, + { 2, "requestedInfoNotAvailable" }, + { 0, NULL } +}; + + +static int +dissect_inap_PAR_requestedInfoError(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_T_scfTaskRefusedParameter_reason_vals[] = { + { 0, "generic" }, + { 1, "unobtainable" }, + { 2, "congestion" }, + { 0, NULL } +}; + + +static int +dissect_inap_T_scfTaskRefusedParameter_reason(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const ber_sequence_t ScfTaskRefusedParameter_sequence[] = { + { &hf_inap_scfTaskRefusedParameter_reason, BER_CLASS_UNI, BER_UNI_TAG_ENUMERATED, BER_FLAGS_NOOWNTAG, dissect_inap_T_scfTaskRefusedParameter_reason }, + { &hf_inap_securityParameters, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dap_SecurityParameters }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ScfTaskRefusedParameter(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ScfTaskRefusedParameter_sequence, hf_index, ett_inap_ScfTaskRefusedParameter); + + return offset; +} + + +static const ber_sequence_t ReferralParameter_sequence[] = { + { &hf_inap_tryhere , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_dsp_AccessPointInformation }, + { &hf_inap_securityParameters, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_dap_SecurityParameters }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ReferralParameter(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ReferralParameter_sequence, hf_index, ett_inap_ReferralParameter); + + return offset; +} + + +static const value_string inap_PAR_taskRefused_vals[] = { + { 0, "generic" }, + { 1, "unobtainable" }, + { 2, "congestion" }, + { 0, NULL } +}; + + +static int +dissect_inap_PAR_taskRefused(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_InvokeId_vals[] = { + { 0, "present" }, + { 1, "absent" }, + { 0, NULL } +}; + +static const ber_choice_t InvokeId_choice[] = { + { 0, &hf_inap_present , BER_CLASS_UNI, BER_UNI_TAG_INTEGER, BER_FLAGS_NOOWNTAG, dissect_inap_INTEGER }, + { 1, &hf_inap_absent , BER_CLASS_UNI, BER_UNI_TAG_NULL, BER_FLAGS_NOOWNTAG, dissect_inap_NULL }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_InvokeId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + InvokeId_choice, hf_index, ett_inap_InvokeId, + NULL); + + return offset; +} + + + +static int +dissect_inap_InvokeId_present(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + + +static int +dissect_inap_T_inkedIdPresent(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_inap_InvokeId_present(implicit_tag, tvb, offset, actx, tree, hf_index); + + return offset; +} + + +static const value_string inap_T_linkedId_vals[] = { + { 0, "present" }, + { 1, "absent" }, + { 0, NULL } +}; + +static const ber_choice_t T_linkedId_choice[] = { + { 0, &hf_inap_inkedIdPresent , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_T_inkedIdPresent }, + { 1, &hf_inap_absent , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_NULL }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_linkedId(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_linkedId_choice, hf_index, ett_inap_T_linkedId, + NULL); + + return offset; +} + + + +static int +dissect_inap_T_argument(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + offset = dissect_invokeData(tree, tvb, offset, actx); + + + return offset; +} + + +static const ber_sequence_t Invoke_sequence[] = { + { &hf_inap_invokeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_InvokeId }, + { &hf_inap_linkedId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_T_linkedId }, + { &hf_inap_opcode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Code }, + { &hf_inap_argument , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_inap_T_argument }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_Invoke(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + inap_opcode_type=INAP_OPCODE_INVOKE; + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Invoke_sequence, hf_index, ett_inap_Invoke); + + return offset; +} + + + +static int +dissect_inap_ResultArgument(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + offset = dissect_returnResultData(tree, tvb, offset, actx); + + + return offset; +} + + +static const ber_sequence_t T_result_sequence[] = { + { &hf_inap_opcode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Code }, + { &hf_inap_resultArgument , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_inap_ResultArgument }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_result(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + T_result_sequence, hf_index, ett_inap_T_result); + + return offset; +} + + +static const ber_sequence_t ReturnResult_sequence[] = { + { &hf_inap_invokeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_InvokeId }, + { &hf_inap_result , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_inap_T_result }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ReturnResult(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + inap_opcode_type=INAP_OPCODE_RETURN_RESULT; + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ReturnResult_sequence, hf_index, ett_inap_ReturnResult); + + return offset; +} + + + +static int +dissect_inap_T_parameter(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + offset = dissect_returnErrorData(tree, tvb, offset, actx); + + + + + return offset; +} + + +static const ber_sequence_t ReturnError_sequence[] = { + { &hf_inap_invokeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_InvokeId }, + { &hf_inap_errcode , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_Code }, + { &hf_inap_parameter , BER_CLASS_ANY, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_inap_T_parameter }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ReturnError(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + inap_opcode_type=INAP_OPCODE_RETURN_ERROR; + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + ReturnError_sequence, hf_index, ett_inap_ReturnError); + + return offset; +} + + +static const value_string inap_GeneralProblem_vals[] = { + { 0, "unrecognizedPDU" }, + { 1, "mistypedPDU" }, + { 2, "badlyStructuredPDU" }, + { 0, NULL } +}; + + +static int +dissect_inap_GeneralProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_InvokeProblem_vals[] = { + { 0, "duplicateInvocation" }, + { 1, "unrecognizedOperation" }, + { 2, "mistypedArgument" }, + { 3, "resourceLimitation" }, + { 4, "releaseInProgress" }, + { 5, "unrecognizedLinkedId" }, + { 6, "linkedResponseUnexpected" }, + { 7, "unexpectedLinkedOperation" }, + { 0, NULL } +}; + + +static int +dissect_inap_InvokeProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ReturnResultProblem_vals[] = { + { 0, "unrecognizedInvocation" }, + { 1, "resultResponseUnexpected" }, + { 2, "mistypedResult" }, + { 0, NULL } +}; + + +static int +dissect_inap_ReturnResultProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_ReturnErrorProblem_vals[] = { + { 0, "unrecognizedInvocation" }, + { 1, "errorResponseUnexpected" }, + { 2, "unrecognizedError" }, + { 3, "unexpectedError" }, + { 4, "mistypedParameter" }, + { 0, NULL } +}; + + +static int +dissect_inap_ReturnErrorProblem(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index, + NULL); + + return offset; +} + + +static const value_string inap_T_problem_01_vals[] = { + { 0, "general" }, + { 1, "invoke" }, + { 2, "returnResult" }, + { 3, "returnError" }, + { 0, NULL } +}; + +static const ber_choice_t T_problem_01_choice[] = { + { 0, &hf_inap_general , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_inap_GeneralProblem }, + { 1, &hf_inap_invokeProblem , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_InvokeProblem }, + { 2, &hf_inap_problemReturnResult, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_ReturnResultProblem }, + { 3, &hf_inap_returnErrorProblem, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_ReturnErrorProblem }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_T_problem_01(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + T_problem_01_choice, hf_index, ett_inap_T_problem_01, + NULL); + + return offset; +} + + +static const ber_sequence_t Reject_sequence[] = { + { &hf_inap_invokeId , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_InvokeId }, + { &hf_inap_problem_01 , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_inap_T_problem_01 }, + { NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_Reject(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + + inap_opcode_type=INAP_OPCODE_REJECT; + + offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset, + Reject_sequence, hf_index, ett_inap_Reject); + + return offset; +} + + +static const ber_choice_t ROS_choice[] = { + { 1, &hf_inap_invoke , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_inap_Invoke }, + { 2, &hf_inap_returnResult , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_inap_ReturnResult }, + { 3, &hf_inap_returnError , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_inap_ReturnError }, + { 4, &hf_inap_reject , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_inap_Reject }, + { 0, NULL, 0, 0, 0, NULL } +}; + +static int +dissect_inap_ROS(bool implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) { + offset = dissect_ber_choice(actx, tree, tvb, offset, + ROS_choice, hf_index, ett_inap_ROS, + NULL); + + return offset; +} + +/*--- PDUs ---*/ + +static int dissect_ActivateServiceFilteringArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ActivateServiceFilteringArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ActivateServiceFilteringArg_PDU); + return offset; +} +static int dissect_AnalysedInformationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_AnalysedInformationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_AnalysedInformationArg_PDU); + return offset; +} +static int dissect_AnalyseInformationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_AnalyseInformationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_AnalyseInformationArg_PDU); + return offset; +} +static int dissect_ApplyChargingArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ApplyChargingArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ApplyChargingArg_PDU); + return offset; +} +static int dissect_ApplyChargingReportArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ApplyChargingReportArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ApplyChargingReportArg_PDU); + return offset; +} +static int dissect_AssistRequestInstructionsArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_AssistRequestInstructionsArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_AssistRequestInstructionsArg_PDU); + return offset; +} +static int dissect_AuthorizeTerminationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_AuthorizeTerminationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_AuthorizeTerminationArg_PDU); + return offset; +} +static int dissect_CallFilteringArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_CallFilteringArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_CallFilteringArg_PDU); + return offset; +} +static int dissect_CallGapArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_CallGapArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_CallGapArg_PDU); + return offset; +} +static int dissect_CallInformationReportArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_CallInformationReportArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_CallInformationReportArg_PDU); + return offset; +} +static int dissect_CallInformationRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_CallInformationRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_CallInformationRequestArg_PDU); + return offset; +} +static int dissect_CancelArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_CancelArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_CancelArg_PDU); + return offset; +} +static int dissect_CancelStatusReportRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_CancelStatusReportRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_CancelStatusReportRequestArg_PDU); + return offset; +} +static int dissect_CollectedInformationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_CollectedInformationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_CollectedInformationArg_PDU); + return offset; +} +static int dissect_CollectInformationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_CollectInformationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_CollectInformationArg_PDU); + return offset; +} +static int dissect_ConnectArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ConnectArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ConnectArg_PDU); + return offset; +} +static int dissect_ConnectToResourceArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ConnectToResourceArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ConnectToResourceArg_PDU); + return offset; +} +static int dissect_ContinueWithArgumentArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ContinueWithArgumentArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ContinueWithArgumentArg_PDU); + return offset; +} +static int dissect_CreateCallSegmentAssociationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_CreateCallSegmentAssociationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_CreateCallSegmentAssociationArg_PDU); + return offset; +} +static int dissect_CreateCallSegmentAssociationResultArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_CreateCallSegmentAssociationResultArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_CreateCallSegmentAssociationResultArg_PDU); + return offset; +} +static int dissect_CreateOrRemoveTriggerDataArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_CreateOrRemoveTriggerDataArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_CreateOrRemoveTriggerDataArg_PDU); + return offset; +} +static int dissect_CreateOrRemoveTriggerDataResultArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_CreateOrRemoveTriggerDataResultArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_CreateOrRemoveTriggerDataResultArg_PDU); + return offset; +} +static int dissect_DisconnectForwardConnectionWithArgumentArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_DisconnectForwardConnectionWithArgumentArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_DisconnectForwardConnectionWithArgumentArg_PDU); + return offset; +} +static int dissect_DisconnectLegArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_DisconnectLegArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_DisconnectLegArg_PDU); + return offset; +} +static int dissect_EntityReleasedArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_EntityReleasedArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_EntityReleasedArg_PDU); + return offset; +} +static int dissect_EstablishTemporaryConnectionArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_EstablishTemporaryConnectionArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_EstablishTemporaryConnectionArg_PDU); + return offset; +} +static int dissect_EventNotificationChargingArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_EventNotificationChargingArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_EventNotificationChargingArg_PDU); + return offset; +} +static int dissect_EventReportBCSMArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_EventReportBCSMArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_EventReportBCSMArg_PDU); + return offset; +} +static int dissect_EventReportFacilityArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_EventReportFacilityArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_EventReportFacilityArg_PDU); + return offset; +} +static int dissect_FacilitySelectedAndAvailableArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_FacilitySelectedAndAvailableArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_FacilitySelectedAndAvailableArg_PDU); + return offset; +} +static int dissect_FurnishChargingInformationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_FurnishChargingInformationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_FurnishChargingInformationArg_PDU); + return offset; +} +static int dissect_HoldCallInNetworkArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_HoldCallInNetworkArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_HoldCallInNetworkArg_PDU); + return offset; +} +static int dissect_InitialDPArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_InitialDPArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_InitialDPArg_PDU); + return offset; +} +static int dissect_InitiateCallAttemptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_InitiateCallAttemptArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_InitiateCallAttemptArg_PDU); + return offset; +} +static int dissect_ManageTriggerDataArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ManageTriggerDataArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ManageTriggerDataArg_PDU); + return offset; +} +static int dissect_ManageTriggerDataResultArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ManageTriggerDataResultArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ManageTriggerDataResultArg_PDU); + return offset; +} +static int dissect_MergeCallSegmentsArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_MergeCallSegmentsArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_MergeCallSegmentsArg_PDU); + return offset; +} +static int dissect_MonitorRouteReportArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_MonitorRouteReportArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_MonitorRouteReportArg_PDU); + return offset; +} +static int dissect_MonitorRouteRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_MonitorRouteRequestArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_MonitorRouteRequestArg_PDU); + return offset; +} +static int dissect_MoveCallSegmentsArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_MoveCallSegmentsArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_MoveCallSegmentsArg_PDU); + return offset; +} +static int dissect_MoveLegArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_MoveLegArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_MoveLegArg_PDU); + return offset; +} +static int dissect_OAbandonArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_OAbandonArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_OAbandonArg_PDU); + return offset; +} +static int dissect_OAnswerArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_OAnswerArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_OAnswerArg_PDU); + return offset; +} +static int dissect_OCalledPartyBusyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_OCalledPartyBusyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_OCalledPartyBusyArg_PDU); + return offset; +} +static int dissect_ODisconnectArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ODisconnectArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ODisconnectArg_PDU); + return offset; +} +static int dissect_MidCallArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_MidCallArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_MidCallArg_PDU); + return offset; +} +static int dissect_ONoAnswerArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ONoAnswerArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ONoAnswerArg_PDU); + return offset; +} +static int dissect_OriginationAttemptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_OriginationAttemptArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_OriginationAttemptArg_PDU); + return offset; +} +static int dissect_OriginationAttemptAuthorizedArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_OriginationAttemptAuthorizedArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_OriginationAttemptAuthorizedArg_PDU); + return offset; +} +static int dissect_OSuspendedArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_OSuspendedArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_OSuspendedArg_PDU); + return offset; +} +static int dissect_ReconnectArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ReconnectArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ReconnectArg_PDU); + return offset; +} +static int dissect_ReleaseCallArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ReleaseCallArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ReleaseCallArg_PDU); + return offset; +} +static int dissect_ReportUTSIArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ReportUTSIArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ReportUTSIArg_PDU); + return offset; +} +static int dissect_RequestCurrentStatusReportArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_RequestCurrentStatusReportArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_RequestCurrentStatusReportArg_PDU); + return offset; +} +static int dissect_RequestCurrentStatusReportResultArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_RequestCurrentStatusReportResultArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_RequestCurrentStatusReportResultArg_PDU); + return offset; +} +static int dissect_RequestEveryStatusChangeReportArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_RequestEveryStatusChangeReportArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_RequestEveryStatusChangeReportArg_PDU); + return offset; +} +static int dissect_RequestFirstStatusMatchReportArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_RequestFirstStatusMatchReportArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_RequestFirstStatusMatchReportArg_PDU); + return offset; +} +static int dissect_RequestNotificationChargingEventArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_RequestNotificationChargingEventArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_RequestNotificationChargingEventArg_PDU); + return offset; +} +static int dissect_RequestReportBCSMEventArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_RequestReportBCSMEventArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_RequestReportBCSMEventArg_PDU); + return offset; +} +static int dissect_RequestReportFacilityEventArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_RequestReportFacilityEventArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_RequestReportFacilityEventArg_PDU); + return offset; +} +static int dissect_RequestReportUTSIArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_RequestReportUTSIArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_RequestReportUTSIArg_PDU); + return offset; +} +static int dissect_ResetTimerArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ResetTimerArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ResetTimerArg_PDU); + return offset; +} +static int dissect_RouteSelectFailureArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_RouteSelectFailureArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_RouteSelectFailureArg_PDU); + return offset; +} +static int dissect_SelectFacilityArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_SelectFacilityArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_SelectFacilityArg_PDU); + return offset; +} +static int dissect_SelectRouteArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_SelectRouteArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_SelectRouteArg_PDU); + return offset; +} +static int dissect_SendChargingInformationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_SendChargingInformationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_SendChargingInformationArg_PDU); + return offset; +} +static int dissect_SendFacilityInformationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_SendFacilityInformationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_SendFacilityInformationArg_PDU); + return offset; +} +static int dissect_SendSTUIArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_SendSTUIArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_SendSTUIArg_PDU); + return offset; +} +static int dissect_ServiceFilteringResponseArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ServiceFilteringResponseArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ServiceFilteringResponseArg_PDU); + return offset; +} +static int dissect_SetServiceProfileArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_SetServiceProfileArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_SetServiceProfileArg_PDU); + return offset; +} +static int dissect_SplitLegArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_SplitLegArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_SplitLegArg_PDU); + return offset; +} +static int dissect_StatusReportArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_StatusReportArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_StatusReportArg_PDU); + return offset; +} +static int dissect_TAnswerArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_TAnswerArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_TAnswerArg_PDU); + return offset; +} +static int dissect_TBusyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_TBusyArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_TBusyArg_PDU); + return offset; +} +static int dissect_TDisconnectArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_TDisconnectArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_TDisconnectArg_PDU); + return offset; +} +static int dissect_TermAttemptAuthorizedArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_TermAttemptAuthorizedArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_TermAttemptAuthorizedArg_PDU); + return offset; +} +static int dissect_TerminationAttemptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_TerminationAttemptArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_TerminationAttemptArg_PDU); + return offset; +} +static int dissect_TNoAnswerArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_TNoAnswerArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_TNoAnswerArg_PDU); + return offset; +} +static int dissect_TSuspendedArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_TSuspendedArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_TSuspendedArg_PDU); + return offset; +} +static int dissect_PlayAnnouncementArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_PlayAnnouncementArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_PlayAnnouncementArg_PDU); + return offset; +} +static int dissect_PromptAndCollectUserInformationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_PromptAndCollectUserInformationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_PromptAndCollectUserInformationArg_PDU); + return offset; +} +static int dissect_ReceivedInformationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ReceivedInformationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ReceivedInformationArg_PDU); + return offset; +} +static int dissect_PromptAndReceiveMessageArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_PromptAndReceiveMessageArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_PromptAndReceiveMessageArg_PDU); + return offset; +} +static int dissect_MessageReceivedArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_MessageReceivedArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_MessageReceivedArg_PDU); + return offset; +} +static int dissect_ScriptCloseArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ScriptCloseArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ScriptCloseArg_PDU); + return offset; +} +static int dissect_ScriptEventArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ScriptEventArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ScriptEventArg_PDU); + return offset; +} +static int dissect_ScriptInformationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ScriptInformationArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ScriptInformationArg_PDU); + return offset; +} +static int dissect_ScriptRunArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ScriptRunArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ScriptRunArg_PDU); + return offset; +} +static int dissect_SpecializedResourceReportArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_SpecializedResourceReportArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_SpecializedResourceReportArg_PDU); + return offset; +} +static int dissect_SRFCallGapArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_SRFCallGapArg(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_SRFCallGapArg_PDU); + return offset; +} +static int dissect_PAR_cancelFailed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_PAR_cancelFailed(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_PAR_cancelFailed_PDU); + return offset; +} +static int dissect_PAR_requestedInfoError_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_PAR_requestedInfoError(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_PAR_requestedInfoError_PDU); + return offset; +} +static int dissect_ScfTaskRefusedParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ScfTaskRefusedParameter(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ScfTaskRefusedParameter_PDU); + return offset; +} +static int dissect_ReferralParameter_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_ReferralParameter(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_ReferralParameter_PDU); + return offset; +} +static int dissect_UnavailableNetworkResource_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_UnavailableNetworkResource(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_UnavailableNetworkResource_PDU); + return offset; +} +static int dissect_PAR_taskRefused_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_, void *data _U_) { + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + offset = dissect_inap_PAR_taskRefused(FALSE, tvb, offset, &asn1_ctx, tree, hf_inap_PAR_taskRefused_PDU); + return offset; +} + +/* +TC-Invokable OPERATION ::= + {activateServiceFiltering | activityTest | analysedInformation | + analyseInformation | applyCharging | applyChargingReport | + assistRequestInstructions | callGap | callInformationReport | + callInformationRequest | cancel | cancelStatusReportRequest | + collectedInformation | collectInformation | connect | connectToResource | + continue | disconnectForwardConnection | establishTemporaryConnection | + eventNotificationCharging | eventReportBCSM | furnishChargingInformation | + holdCallInNetwork | initialDP | initiateCallAttempt | oAnswer | + oCalledPartyBusy | oDisconnect | oMidCall | oNoAnswer | + originationAttemptAuthorized | releaseCall | requestCurrentStatusReport | + requestEveryStatusChangeReport | requestFirstStatusMatchReport | + requestNotificationChargingEvent | requestReportBCSMEvent | resetTimer | + routeSelectFailure | selectFacility | selectRoute | sendChargingInformation + | serviceFilteringResponse | statusReport | tAnswer | tBusy | tDisconnect | + termAttemptAuthorized | tMidCall | tNoAnswer | playAnnouncement | + promptAndCollectUserInformation} +*/ + + +static int dissect_invokeData(proto_tree *tree, tvbuff_t *tvb, int offset, asn1_ctx_t *actx) { + + switch(opcode){ + case opcode_activateServiceFiltering: /* activateServiceFiltering */ + offset= dissect_ActivateServiceFilteringArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_analysedInformation: /* analysedInformation */ + offset= dissect_AnalysedInformationArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_analyseInformation: /* analyseInformation */ + offset= dissect_AnalyseInformationArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_applyCharging: /* applyCharging */ + offset= dissect_ApplyChargingArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_applyChargingReport: /* applyChargingReport */ + offset= dissect_ApplyChargingReportArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_assistRequestInstructions: /* assistRequestInstructions */ + offset= dissect_AssistRequestInstructionsArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_authorizeTermination: /* authorizeTermination */ + offset= dissect_AuthorizeTerminationArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_callFiltering: /* callFiltering */ + offset= dissect_CallFilteringArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_callGap: /* callGap */ + offset= dissect_CallGapArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_callInformationReport: /* callInformationReport */ + offset= dissect_CallInformationReportArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_callInformationRequest: /* callInformationRequest */ + offset= dissect_CallInformationRequestArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_cancel: /* cancel */ + offset= dissect_CancelArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_cancelStatusReportRequest: /* cancelStatusReportRequest */ + offset= dissect_CancelStatusReportRequestArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_collectedInformation: /* collectedInformation */ + offset= dissect_CollectedInformationArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_collectInformation: /* collectInformation */ + offset= dissect_CollectInformationArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_connect: /* connect */ + offset= dissect_ConnectArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_connectToResource: /* connectToResource */ + offset= dissect_ConnectToResourceArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_continueWithArgument: /* continueWithArgument */ + offset= dissect_ContinueWithArgumentArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_createCallSegmentAssociation: /* createCallSegmentAssociation */ + offset= dissect_CreateCallSegmentAssociationArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_createOrRemoveTriggerData: /* createOrRemoveTriggerData */ + offset= dissect_CreateOrRemoveTriggerDataArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_dFCWithArgument: /* disconnectForwardConnectionWithArgument */ + offset= dissect_DisconnectForwardConnectionWithArgumentArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_disconnectLeg: /* disconnectLeg */ + offset= dissect_DisconnectLegArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_entityReleased: /* entityReleased */ + offset= dissect_EntityReleasedArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_establishTemporaryConnection: /* establishTemporaryConnection */ + offset= dissect_EstablishTemporaryConnectionArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_eventNotificationCharging: /* eventNotificationCharging */ + offset= dissect_EventNotificationChargingArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_eventReportBCSM: /* eventReportBCSM */ + offset= dissect_EventReportBCSMArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_eventReportFacility: /* eventReportFacility */ + offset= dissect_EventReportFacilityArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_facilitySelectedAndAvailable: /* facilitySelectedAndAvailable */ + offset= dissect_FacilitySelectedAndAvailableArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_furnishChargingInformation: /* furnishChargingInformation */ + offset= dissect_FurnishChargingInformationArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_holdCallInNetwork: /* holdCallInNetwork */ + offset= dissect_HoldCallInNetworkArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_initialDP: /* initialDP */ + offset= dissect_InitialDPArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_initiateCallAttempt: /* initiateCallAttempt */ + offset= dissect_InitiateCallAttemptArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_manageTriggerData: /* manageTriggerData */ + offset= dissect_ManageTriggerDataArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_mergeCallSegments: /* mergeCallSegments */ + offset= dissect_MergeCallSegmentsArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_monitorRouteReport: /* monitorRouteReport */ + offset= dissect_MonitorRouteReportArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_monitorRouteRequest: /* monitorRouteRequest */ + offset= dissect_MonitorRouteRequestArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_moveCallSegments: /* moveCallSegments */ + offset= dissect_MoveCallSegmentsArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_moveLeg: /* moveLeg */ + offset= dissect_MoveLegArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_oAbandon: /* oAbandon */ + offset= dissect_OAbandonArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_oAnswer: /* oAnswer */ + offset= dissect_OAnswerArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_oCalledPartyBusy: /* oCalledPartyBusy */ + offset= dissect_OCalledPartyBusyArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_oDisconnect: /* oDisconnect */ + offset= dissect_ODisconnectArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_oMidCall: /* oMidCall */ + offset= dissect_MidCallArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_oNoAnswer: /* oNoAnswer */ + offset= dissect_ONoAnswerArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_originationAttempt: /* originationAttempt */ + offset= dissect_OriginationAttemptArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_originationAttemptAuthorized: /* originationAttemptAuthorized */ + offset= dissect_OriginationAttemptAuthorizedArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_oSuspended: /* oSuspended */ + offset= dissect_OSuspendedArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_reconnect: /* reconnect */ + offset= dissect_ReconnectArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_releaseCall: /* releaseCall */ + offset= dissect_ReleaseCallArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_reportUTSI: /* reportUTSI */ + offset= dissect_ReportUTSIArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_requestCurrentStatusReport: /* requestCurrentStatusReport */ + offset= dissect_RequestCurrentStatusReportArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_requestEveryStatusChangeReport: /* requestEveryStatusChangeReport */ + offset= dissect_RequestEveryStatusChangeReportArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_requestFirstStatusMatchReport: /* requestFirstStatusMatchReport */ + offset= dissect_RequestFirstStatusMatchReportArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_requestNotificationChargingEvent: /* requestNotificationChargingEvent */ + offset= dissect_RequestNotificationChargingEventArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_requestReportBCSMEvent: /* requestReportBCSMEvent */ + offset= dissect_RequestReportBCSMEventArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_requestReportFacilityEvent: /* requestReportFacilityEvent */ + offset= dissect_RequestReportFacilityEventArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_requestReportUTSI: /* requestReportUTSI */ + offset= dissect_RequestReportUTSIArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_resetTimer: /* resetTimer */ + offset= dissect_ResetTimerArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_routeSelectFailure: /* routeSelectFailure */ + offset= dissect_RouteSelectFailureArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_selectFacility: /* selectFacility */ + offset= dissect_SelectFacilityArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_selectRoute: /* selectRoute */ + offset= dissect_SelectRouteArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_sendChargingInformation: /* sendChargingInformation */ + offset= dissect_SendChargingInformationArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_sendFacilityInformation: /* sendFacilityInformation */ + offset= dissect_SendFacilityInformationArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_sendSTUI: /* sendSTUI */ + offset= dissect_SendSTUIArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_serviceFilteringResponse: /* serviceFilteringResponse */ + offset= dissect_ServiceFilteringResponseArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_setServiceProfile: /* setServiceProfile */ + offset= dissect_SetServiceProfileArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_splitLeg: /* splitLeg */ + offset= dissect_SplitLegArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_statusReport: /* statusReport */ + offset= dissect_StatusReportArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_tAnswer: /* tAnswer */ + offset= dissect_TAnswerArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_tBusy: /* tBusy */ + offset= dissect_TBusyArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_tDisconnect: /* tDisconnect */ + offset= dissect_TDisconnectArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_termAttemptAuthorized: /* termAttemptAuthorized */ + offset= dissect_TermAttemptAuthorizedArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_terminationAttempt: /* terminationAttempt */ + offset= dissect_TerminationAttemptArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_tMidCall: /* tMidCall */ + offset= dissect_MidCallArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_tNoAnswer: /* tNoAnswer */ + offset= dissect_TNoAnswerArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_tSuspended: /* tSuspended */ + offset= dissect_TSuspendedArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_playAnnouncement: /* playAnnouncement */ + offset= dissect_PlayAnnouncementArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_promptAndCollectUserInformation: /* promptAndCollectUserInformation */ + offset= dissect_PromptAndCollectUserInformationArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_promptAndReceiveMessage: /* promptAndReceiveMessage */ + offset= dissect_PromptAndReceiveMessageArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_scriptClose: /* scriptClose */ + offset= dissect_ScriptCloseArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_scriptEvent: /* scriptEvent */ + offset= dissect_ScriptEventArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_scriptInformation: /* scriptInformation */ + offset= dissect_ScriptInformationArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_scriptRun: /* scriptRun */ + offset= dissect_ScriptRunArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_specializedResourceReport: /* specializedResourceReport */ + offset= dissect_SpecializedResourceReportArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_srfCallGap: /* sRFCallGap */ + offset= dissect_SRFCallGapArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + default: + proto_tree_add_expert_format(tree, actx->pinfo, &ei_inap_unknown_invokeData, + tvb, offset, -1, "Unknown invokeData %d", opcode); + /* todo call the asn.1 dissector */ + break; + } + return offset; +} + + +static int dissect_returnResultData(proto_tree *tree, tvbuff_t *tvb, int offset,asn1_ctx_t *actx) { + switch(opcode){ + case opcode_createCallSegmentAssociation: /* createCallSegmentAssociation */ + offset= dissect_CreateCallSegmentAssociationResultArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_createOrRemoveTriggerData: /* createOrRemoveTriggerData */ + offset= dissect_CreateOrRemoveTriggerDataResultArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_manageTriggerData: /* manageTriggerData */ + offset= dissect_ManageTriggerDataResultArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_requestCurrentStatusReport: /* requestCurrentStatusReport */ + offset= dissect_RequestCurrentStatusReportResultArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_promptAndCollectUserInformation: /* promptAndCollectUserInformation */ + offset= dissect_ReceivedInformationArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + case opcode_promptAndReceiveMessage: /* promptAndReceiveMessage */ + offset= dissect_MessageReceivedArg_PDU(tvb, actx->pinfo , tree , NULL); + break; + default: + proto_tree_add_expert_format(tree, actx->pinfo, &ei_inap_unknown_returnResultData, + tvb, offset, -1, "Unknown returnResultData %d", opcode); + } + return offset; +} + + +static int dissect_returnErrorData(proto_tree *tree, tvbuff_t *tvb, int offset,asn1_ctx_t *actx) { + switch(errorCode) { + case errcode_cancelFailed: /* cancelFailed */ + offset= dissect_PAR_cancelFailed_PDU(tvb, actx->pinfo , tree , NULL); + break; + case errcode_requestedInfoError: /* requestedInfoError */ + offset= dissect_PAR_requestedInfoError_PDU(tvb, actx->pinfo , tree , NULL); + break; + case errcode_scfTaskRefused: /* scfTaskRefused */ + offset= dissect_ScfTaskRefusedParameter_PDU(tvb, actx->pinfo , tree , NULL); + break; + case errcode_scfReferral: /* scfReferral */ + offset= dissect_ReferralParameter_PDU(tvb, actx->pinfo , tree , NULL); + break; + case errcode_systemFailure: /* systemFailure */ + offset= dissect_UnavailableNetworkResource_PDU(tvb, actx->pinfo , tree , NULL); + break; + case errcode_taskRefused: /* taskRefused */ + offset= dissect_PAR_taskRefused_PDU(tvb, actx->pinfo , tree , NULL); + break; + default: + proto_tree_add_expert_format(tree, actx->pinfo, &ei_inap_unknown_returnErrorData, + tvb, offset, -1, "Unknown returnErrorData %d", opcode); + } + return offset; +} + + + +static guint8 inap_pdu_type = 0; +static guint8 inap_pdu_size = 0; + + +static int +dissect_inap(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, void *data _U_) +{ + proto_item *item=NULL; + proto_tree *tree=NULL; + int offset = 0; + asn1_ctx_t asn1_ctx; + asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo); + + col_set_str(pinfo->cinfo, COL_PROTOCOL, "INAP"); + + /* create display subtree for the protocol */ + if(parent_tree){ + item = proto_tree_add_item(parent_tree, proto_inap, tvb, 0, -1, ENC_NA); + tree = proto_item_add_subtree(item, ett_inap); + } + inap_pdu_type = tvb_get_guint8(tvb, offset)&0x0f; + /* Get the length and add 2 */ + inap_pdu_size = tvb_get_guint8(tvb, offset+1)+2; + opcode = 0; + is_ExtensionField =FALSE; + dissect_inap_ROS(TRUE, tvb, offset, &asn1_ctx, tree, -1); + + return inap_pdu_size; +} + +/*--- proto_reg_handoff_inap ---------------------------------------*/ +static void range_delete_callback(guint32 ssn, gpointer ptr _U_) +{ + if (ssn) { + delete_itu_tcap_subdissector(ssn, inap_handle); + } +} + +static void range_add_callback(guint32 ssn, gpointer ptr _U_) +{ + if (ssn) { + add_itu_tcap_subdissector(ssn, inap_handle); + } +} + +void proto_reg_handoff_inap(void) { + + static gboolean inap_prefs_initialized = FALSE; + static range_t *ssn_range; + + if (!inap_prefs_initialized) { + inap_prefs_initialized = TRUE; + oid_add_from_string("Core-INAP-CS1-Codes","0.4.0.1.1.0.3.0"); + oid_add_from_string("iso(1) identified-organization(3) icd-ecma(12) member-company(2) 1107 oen(3) inap(3) extensions(2)","1.3.12.2.1107.3.3.2"); + oid_add_from_string("alcatel(1006)","1.3.12.2.1006.64"); + oid_add_from_string("Siemens (1107)","1.3.12.2.1107"); + oid_add_from_string("iso(1) member-body(2) gb(826) national(0) ericsson(1249) inDomain(51) inNetwork(1) inNetworkcapabilitySet1plus(1) ","1.2.826.0.1249.51.1.1"); + } + else { + range_foreach(ssn_range, range_delete_callback, NULL); + wmem_free(wmem_epan_scope(), ssn_range); + } + + ssn_range = range_copy(wmem_epan_scope(), global_ssn_range); + + range_foreach(ssn_range, range_add_callback, NULL); + +} + + +void proto_register_inap(void) { + module_t *inap_module; + /* List of fields */ + static hf_register_info hf[] = { + + + { &hf_inap_cause_indicator, /* Currently not enabled */ + { "Cause indicator", "inap.cause_indicator", + FT_UINT8, BASE_DEC | BASE_EXT_STRING, &q850_cause_code_vals_ext, 0x7f, + NULL, HFILL } }, + + { &hf_inap_ActivateServiceFilteringArg_PDU, + { "ActivateServiceFilteringArg", "inap.ActivateServiceFilteringArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_AnalysedInformationArg_PDU, + { "AnalysedInformationArg", "inap.AnalysedInformationArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_AnalyseInformationArg_PDU, + { "AnalyseInformationArg", "inap.AnalyseInformationArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ApplyChargingArg_PDU, + { "ApplyChargingArg", "inap.ApplyChargingArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ApplyChargingReportArg_PDU, + { "ApplyChargingReportArg", "inap.ApplyChargingReportArg", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_AssistRequestInstructionsArg_PDU, + { "AssistRequestInstructionsArg", "inap.AssistRequestInstructionsArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_AuthorizeTerminationArg_PDU, + { "AuthorizeTerminationArg", "inap.AuthorizeTerminationArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_CallFilteringArg_PDU, + { "CallFilteringArg", "inap.CallFilteringArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_CallGapArg_PDU, + { "CallGapArg", "inap.CallGapArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_CallInformationReportArg_PDU, + { "CallInformationReportArg", "inap.CallInformationReportArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_CallInformationRequestArg_PDU, + { "CallInformationRequestArg", "inap.CallInformationRequestArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_CancelArg_PDU, + { "CancelArg", "inap.CancelArg", + FT_UINT32, BASE_DEC, VALS(inap_CancelArg_vals), 0, + NULL, HFILL }}, + { &hf_inap_CancelStatusReportRequestArg_PDU, + { "CancelStatusReportRequestArg", "inap.CancelStatusReportRequestArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_CollectedInformationArg_PDU, + { "CollectedInformationArg", "inap.CollectedInformationArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_CollectInformationArg_PDU, + { "CollectInformationArg", "inap.CollectInformationArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ConnectArg_PDU, + { "ConnectArg", "inap.ConnectArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ConnectToResourceArg_PDU, + { "ConnectToResourceArg", "inap.ConnectToResourceArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ContinueWithArgumentArg_PDU, + { "ContinueWithArgumentArg", "inap.ContinueWithArgumentArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_CreateCallSegmentAssociationArg_PDU, + { "CreateCallSegmentAssociationArg", "inap.CreateCallSegmentAssociationArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_CreateCallSegmentAssociationResultArg_PDU, + { "CreateCallSegmentAssociationResultArg", "inap.CreateCallSegmentAssociationResultArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_CreateOrRemoveTriggerDataArg_PDU, + { "CreateOrRemoveTriggerDataArg", "inap.CreateOrRemoveTriggerDataArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_CreateOrRemoveTriggerDataResultArg_PDU, + { "CreateOrRemoveTriggerDataResultArg", "inap.CreateOrRemoveTriggerDataResultArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_DisconnectForwardConnectionWithArgumentArg_PDU, + { "DisconnectForwardConnectionWithArgumentArg", "inap.DisconnectForwardConnectionWithArgumentArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_DisconnectLegArg_PDU, + { "DisconnectLegArg", "inap.DisconnectLegArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_EntityReleasedArg_PDU, + { "EntityReleasedArg", "inap.EntityReleasedArg", + FT_UINT32, BASE_DEC, VALS(inap_EntityReleasedArg_vals), 0, + NULL, HFILL }}, + { &hf_inap_EstablishTemporaryConnectionArg_PDU, + { "EstablishTemporaryConnectionArg", "inap.EstablishTemporaryConnectionArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_EventNotificationChargingArg_PDU, + { "EventNotificationChargingArg", "inap.EventNotificationChargingArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_EventReportBCSMArg_PDU, + { "EventReportBCSMArg", "inap.EventReportBCSMArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_EventReportFacilityArg_PDU, + { "EventReportFacilityArg", "inap.EventReportFacilityArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_FacilitySelectedAndAvailableArg_PDU, + { "FacilitySelectedAndAvailableArg", "inap.FacilitySelectedAndAvailableArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_FurnishChargingInformationArg_PDU, + { "FurnishChargingInformationArg", "inap.FurnishChargingInformationArg", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_HoldCallInNetworkArg_PDU, + { "HoldCallInNetworkArg", "inap.HoldCallInNetworkArg", + FT_UINT32, BASE_DEC, VALS(inap_HoldCallInNetworkArg_vals), 0, + NULL, HFILL }}, + { &hf_inap_InitialDPArg_PDU, + { "InitialDPArg", "inap.InitialDPArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_InitiateCallAttemptArg_PDU, + { "InitiateCallAttemptArg", "inap.InitiateCallAttemptArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ManageTriggerDataArg_PDU, + { "ManageTriggerDataArg", "inap.ManageTriggerDataArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ManageTriggerDataResultArg_PDU, + { "ManageTriggerDataResultArg", "inap.ManageTriggerDataResultArg", + FT_UINT32, BASE_DEC, VALS(inap_ManageTriggerDataResultArg_vals), 0, + NULL, HFILL }}, + { &hf_inap_MergeCallSegmentsArg_PDU, + { "MergeCallSegmentsArg", "inap.MergeCallSegmentsArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_MonitorRouteReportArg_PDU, + { "MonitorRouteReportArg", "inap.MonitorRouteReportArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_MonitorRouteRequestArg_PDU, + { "MonitorRouteRequestArg", "inap.MonitorRouteRequestArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_MoveCallSegmentsArg_PDU, + { "MoveCallSegmentsArg", "inap.MoveCallSegmentsArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_MoveLegArg_PDU, + { "MoveLegArg", "inap.MoveLegArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_OAbandonArg_PDU, + { "OAbandonArg", "inap.OAbandonArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_OAnswerArg_PDU, + { "OAnswerArg", "inap.OAnswerArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_OCalledPartyBusyArg_PDU, + { "OCalledPartyBusyArg", "inap.OCalledPartyBusyArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ODisconnectArg_PDU, + { "ODisconnectArg", "inap.ODisconnectArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_MidCallArg_PDU, + { "MidCallArg", "inap.MidCallArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ONoAnswerArg_PDU, + { "ONoAnswerArg", "inap.ONoAnswerArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_OriginationAttemptArg_PDU, + { "OriginationAttemptArg", "inap.OriginationAttemptArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_OriginationAttemptAuthorizedArg_PDU, + { "OriginationAttemptAuthorizedArg", "inap.OriginationAttemptAuthorizedArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_OSuspendedArg_PDU, + { "OSuspendedArg", "inap.OSuspendedArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ReconnectArg_PDU, + { "ReconnectArg", "inap.ReconnectArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ReleaseCallArg_PDU, + { "ReleaseCallArg", "inap.ReleaseCallArg", + FT_UINT32, BASE_DEC, VALS(inap_ReleaseCallArg_vals), 0, + NULL, HFILL }}, + { &hf_inap_ReportUTSIArg_PDU, + { "ReportUTSIArg", "inap.ReportUTSIArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_RequestCurrentStatusReportArg_PDU, + { "RequestCurrentStatusReportArg", "inap.RequestCurrentStatusReportArg", + FT_UINT32, BASE_DEC, VALS(inap_ResourceID_vals), 0, + NULL, HFILL }}, + { &hf_inap_RequestCurrentStatusReportResultArg_PDU, + { "RequestCurrentStatusReportResultArg", "inap.RequestCurrentStatusReportResultArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_RequestEveryStatusChangeReportArg_PDU, + { "RequestEveryStatusChangeReportArg", "inap.RequestEveryStatusChangeReportArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_RequestFirstStatusMatchReportArg_PDU, + { "RequestFirstStatusMatchReportArg", "inap.RequestFirstStatusMatchReportArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_RequestNotificationChargingEventArg_PDU, + { "RequestNotificationChargingEventArg", "inap.RequestNotificationChargingEventArg", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_RequestReportBCSMEventArg_PDU, + { "RequestReportBCSMEventArg", "inap.RequestReportBCSMEventArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_RequestReportFacilityEventArg_PDU, + { "RequestReportFacilityEventArg", "inap.RequestReportFacilityEventArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_RequestReportUTSIArg_PDU, + { "RequestReportUTSIArg", "inap.RequestReportUTSIArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ResetTimerArg_PDU, + { "ResetTimerArg", "inap.ResetTimerArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_RouteSelectFailureArg_PDU, + { "RouteSelectFailureArg", "inap.RouteSelectFailureArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_SelectFacilityArg_PDU, + { "SelectFacilityArg", "inap.SelectFacilityArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_SelectRouteArg_PDU, + { "SelectRouteArg", "inap.SelectRouteArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_SendChargingInformationArg_PDU, + { "SendChargingInformationArg", "inap.SendChargingInformationArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_SendFacilityInformationArg_PDU, + { "SendFacilityInformationArg", "inap.SendFacilityInformationArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_SendSTUIArg_PDU, + { "SendSTUIArg", "inap.SendSTUIArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ServiceFilteringResponseArg_PDU, + { "ServiceFilteringResponseArg", "inap.ServiceFilteringResponseArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_SetServiceProfileArg_PDU, + { "SetServiceProfileArg", "inap.SetServiceProfileArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_SplitLegArg_PDU, + { "SplitLegArg", "inap.SplitLegArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_StatusReportArg_PDU, + { "StatusReportArg", "inap.StatusReportArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_TAnswerArg_PDU, + { "TAnswerArg", "inap.TAnswerArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_TBusyArg_PDU, + { "TBusyArg", "inap.TBusyArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_TDisconnectArg_PDU, + { "TDisconnectArg", "inap.TDisconnectArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_TermAttemptAuthorizedArg_PDU, + { "TermAttemptAuthorizedArg", "inap.TermAttemptAuthorizedArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_TerminationAttemptArg_PDU, + { "TerminationAttemptArg", "inap.TerminationAttemptArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_TNoAnswerArg_PDU, + { "TNoAnswerArg", "inap.TNoAnswerArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_TSuspendedArg_PDU, + { "TSuspendedArg", "inap.TSuspendedArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_PlayAnnouncementArg_PDU, + { "PlayAnnouncementArg", "inap.PlayAnnouncementArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_PromptAndCollectUserInformationArg_PDU, + { "PromptAndCollectUserInformationArg", "inap.PromptAndCollectUserInformationArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ReceivedInformationArg_PDU, + { "ReceivedInformationArg", "inap.ReceivedInformationArg", + FT_UINT32, BASE_DEC, VALS(inap_ReceivedInformationArg_vals), 0, + NULL, HFILL }}, + { &hf_inap_PromptAndReceiveMessageArg_PDU, + { "PromptAndReceiveMessageArg", "inap.PromptAndReceiveMessageArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_MessageReceivedArg_PDU, + { "MessageReceivedArg", "inap.MessageReceivedArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ScriptCloseArg_PDU, + { "ScriptCloseArg", "inap.ScriptCloseArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ScriptEventArg_PDU, + { "ScriptEventArg", "inap.ScriptEventArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ScriptInformationArg_PDU, + { "ScriptInformationArg", "inap.ScriptInformationArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ScriptRunArg_PDU, + { "ScriptRunArg", "inap.ScriptRunArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_SpecializedResourceReportArg_PDU, + { "SpecializedResourceReportArg", "inap.SpecializedResourceReportArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_SRFCallGapArg_PDU, + { "SRFCallGapArg", "inap.SRFCallGapArg_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_PAR_cancelFailed_PDU, + { "PAR-cancelFailed", "inap.PAR_cancelFailed_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_PAR_requestedInfoError_PDU, + { "PAR-requestedInfoError", "inap.PAR_requestedInfoError", + FT_UINT32, BASE_DEC, VALS(inap_PAR_requestedInfoError_vals), 0, + NULL, HFILL }}, + { &hf_inap_ScfTaskRefusedParameter_PDU, + { "ScfTaskRefusedParameter", "inap.ScfTaskRefusedParameter_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ReferralParameter_PDU, + { "ReferralParameter", "inap.ReferralParameter_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_UnavailableNetworkResource_PDU, + { "UnavailableNetworkResource", "inap.UnavailableNetworkResource", + FT_UINT32, BASE_DEC, VALS(inap_UnavailableNetworkResource_vals), 0, + NULL, HFILL }}, + { &hf_inap_PAR_taskRefused_PDU, + { "PAR-taskRefused", "inap.PAR_taskRefused", + FT_UINT32, BASE_DEC, VALS(inap_PAR_taskRefused_vals), 0, + NULL, HFILL }}, + { &hf_inap_Extensions_item, + { "ExtensionField", "inap.ExtensionField_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_type, + { "type", "inap.type", + FT_UINT32, BASE_DEC, VALS(inap_Code_vals), 0, + "Code", HFILL }}, + { &hf_inap_criticality, + { "criticality", "inap.criticality", + FT_UINT32, BASE_DEC, VALS(inap_CriticalityType_vals), 0, + "CriticalityType", HFILL }}, + { &hf_inap_value, + { "value", "inap.value_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_AlternativeIdentities_item, + { "AlternativeIdentity", "inap.AlternativeIdentity", + FT_UINT32, BASE_DEC, VALS(inap_AlternativeIdentity_vals), 0, + NULL, HFILL }}, + { &hf_inap_url, + { "url", "inap.url", + FT_STRING, BASE_NONE, NULL, 0, + "IA5String_SIZE_1_512", HFILL }}, + { &hf_inap_conferenceTreatmentIndicator, + { "conferenceTreatmentIndicator", "inap.conferenceTreatmentIndicator", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1", HFILL }}, + { &hf_inap_callCompletionTreatmentIndicator, + { "callCompletionTreatmentIndicator", "inap.callCompletionTreatmentIndicator", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1", HFILL }}, + { &hf_inap_holdTreatmentIndicator, + { "holdTreatmentIndicator", "inap.holdTreatmentIndicator", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1", HFILL }}, + { &hf_inap_ectTreatmentIndicator, + { "ectTreatmentIndicator", "inap.ectTreatmentIndicator", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1", HFILL }}, + { &hf_inap_calledAddressValue, + { "calledAddressValue", "inap.calledAddressValue", + FT_BYTES, BASE_NONE, NULL, 0, + "Digits", HFILL }}, + { &hf_inap_gapOnService, + { "gapOnService", "inap.gapOnService_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_gapAllInTraffic, + { "gapAllInTraffic", "inap.gapAllInTraffic_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_calledAddressAndService, + { "calledAddressAndService", "inap.calledAddressAndService_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_serviceKey, + { "serviceKey", "inap.serviceKey", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callingAddressAndService, + { "callingAddressAndService", "inap.callingAddressAndService_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callingAddressValue, + { "callingAddressValue", "inap.callingAddressValue", + FT_BYTES, BASE_NONE, NULL, 0, + "Digits", HFILL }}, + { &hf_inap_locationNumber, + { "locationNumber", "inap.locationNumber", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_eventTypeBCSM, + { "eventTypeBCSM", "inap.eventTypeBCSM", + FT_UINT32, BASE_DEC, VALS(inap_EventTypeBCSM_vals), 0, + NULL, HFILL }}, + { &hf_inap_monitorMode, + { "monitorMode", "inap.monitorMode", + FT_UINT32, BASE_DEC, VALS(inap_MonitorMode_vals), 0, + NULL, HFILL }}, + { &hf_inap_legID, + { "legID", "inap.legID", + FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0, + NULL, HFILL }}, + { &hf_inap_dpSpecificCriteria, + { "dpSpecificCriteria", "inap.dpSpecificCriteria", + FT_UINT32, BASE_DEC, VALS(inap_DpSpecificCriteria_vals), 0, + NULL, HFILL }}, + { &hf_inap_bearerCap, + { "bearerCap", "inap.bearerCap", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_tmr, + { "tmr", "inap.tmr", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1", HFILL }}, + { &hf_inap_broadbandBearerCap, + { "broadbandBearerCap", "inap.broadbandBearerCap", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_minBroadbandBearerCapabilityLength_maxBroadbandBearerCapabilityLength", HFILL }}, + { &hf_inap_aALParameters, + { "aALParameters", "inap.aALParameters", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_additionalATMCellRate, + { "additionalATMCellRate", "inap.additionalATMCellRate", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_aESACalledParty, + { "aESACalledParty", "inap.aESACalledParty", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_aESACallingParty, + { "aESACallingParty", "inap.aESACallingParty", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_alternativeATMTrafficDescriptor, + { "alternativeATMTrafficDescriptor", "inap.alternativeATMTrafficDescriptor", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_aTMCellRate, + { "aTMCellRate", "inap.aTMCellRate", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_cDVTDescriptor, + { "cDVTDescriptor", "inap.cDVTDescriptor", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_cumulativeTransitDelay, + { "cumulativeTransitDelay", "inap.cumulativeTransitDelay", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_endToEndTransitDelay, + { "endToEndTransitDelay", "inap.endToEndTransitDelay", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_minAcceptableATMTrafficDescriptor, + { "minAcceptableATMTrafficDescriptor", "inap.minAcceptableATMTrafficDescriptor", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_eventTypeCharging, + { "eventTypeCharging", "inap.eventTypeCharging", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_componentInfo, + { "componentInfo", "inap.componentInfo", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1_118", HFILL }}, + { &hf_inap_relayedComponent, + { "relayedComponent", "inap.relayedComponent_element", + FT_NONE, BASE_NONE, NULL, 0, + "EMBEDDED_PDV", HFILL }}, + { &hf_inap_basicGapCriteria, + { "basicGapCriteria", "inap.basicGapCriteria", + FT_UINT32, BASE_DEC, VALS(inap_BasicGapCriteria_vals), 0, + NULL, HFILL }}, + { &hf_inap_scfID, + { "scfID", "inap.scfID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_counterID, + { "counterID", "inap.counterID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_counterValue, + { "counterValue", "inap.counterValue", + FT_UINT32, BASE_DEC, NULL, 0, + "Integer4", HFILL }}, + { &hf_inap_CountersValue_item, + { "CounterAndValue", "inap.CounterAndValue_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_action, + { "action", "inap.action", + FT_UINT32, BASE_DEC, VALS(inap_T_action_vals), 0, + NULL, HFILL }}, + { &hf_inap_treatment, + { "treatment", "inap.treatment", + FT_UINT32, BASE_DEC, VALS(inap_GapTreatment_vals), 0, + "GapTreatment", HFILL }}, + { &hf_inap_DestinationRoutingAddress_item, + { "CalledPartyNumber", "inap.CalledPartyNumber", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_serviceAddressInformation, + { "serviceAddressInformation", "inap.serviceAddressInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_bearerCapability, + { "bearerCapability", "inap.bearerCapability", + FT_UINT32, BASE_DEC, VALS(inap_BearerCapability_vals), 0, + NULL, HFILL }}, + { &hf_inap_calledPartyNumber, + { "calledPartyNumber", "inap.calledPartyNumber", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callingPartyNumber, + { "callingPartyNumber", "inap.callingPartyNumber", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callingPartysCategory, + { "callingPartysCategory", "inap.callingPartysCategory", + FT_UINT16, BASE_DEC|BASE_EXT_STRING, &isup_calling_partys_category_value_ext, 0, + NULL, HFILL }}, + { &hf_inap_iPSSPCapabilities, + { "iPSSPCapabilities", "inap.iPSSPCapabilities", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_iPAvailable, + { "iPAvailable", "inap.iPAvailable", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_iSDNAccessRelatedInformation, + { "iSDNAccessRelatedInformation", "inap.iSDNAccessRelatedInformation", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_cGEncountered, + { "cGEncountered", "inap.cGEncountered", + FT_UINT32, BASE_DEC, VALS(inap_CGEncountered_vals), 0, + NULL, HFILL }}, + { &hf_inap_serviceProfileIdentifier, + { "serviceProfileIdentifier", "inap.serviceProfileIdentifier", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_terminalType, + { "terminalType", "inap.terminalType", + FT_UINT32, BASE_DEC, VALS(inap_TerminalType_vals), 0, + NULL, HFILL }}, + { &hf_inap_extensions, + { "extensions", "inap.extensions", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_chargeNumber, + { "chargeNumber", "inap.chargeNumber", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_servingAreaID, + { "servingAreaID", "inap.servingAreaID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_serviceInteractionIndicators, + { "serviceInteractionIndicators", "inap.serviceInteractionIndicators", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_iNServiceCompatibilityIndication, + { "iNServiceCompatibilityIndication", "inap.iNServiceCompatibilityIndication", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_serviceInteractionIndicatorsTwo, + { "serviceInteractionIndicatorsTwo", "inap.serviceInteractionIndicatorsTwo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_uSIServiceIndicator, + { "uSIServiceIndicator", "inap.uSIServiceIndicator", + FT_UINT32, BASE_DEC, VALS(inap_USIServiceIndicator_vals), 0, + NULL, HFILL }}, + { &hf_inap_uSIInformation, + { "uSIInformation", "inap.uSIInformation", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_forwardGVNS, + { "forwardGVNS", "inap.forwardGVNS", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_createdCallSegmentAssociation, + { "createdCallSegmentAssociation", "inap.createdCallSegmentAssociation", + FT_UINT32, BASE_DEC, NULL, 0, + "CSAID", HFILL }}, + { &hf_inap_ipRelatedInformation, + { "ipRelatedInformation", "inap.ipRelatedInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_numberOfDigits, + { "numberOfDigits", "inap.numberOfDigits", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_applicationTimer, + { "applicationTimer", "inap.applicationTimer", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_midCallControlInfo, + { "midCallControlInfo", "inap.midCallControlInfo", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_numberOfDigitsTwo, + { "numberOfDigitsTwo", "inap.numberOfDigitsTwo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_requestedNumberOfDigits, + { "requestedNumberOfDigits", "inap.requestedNumberOfDigits", + FT_UINT32, BASE_DEC, NULL, 0, + "NumberOfDigits", HFILL }}, + { &hf_inap_minNumberOfDigits, + { "minNumberOfDigits", "inap.minNumberOfDigits", + FT_UINT32, BASE_DEC, NULL, 0, + "NumberOfDigits", HFILL }}, + { &hf_inap_agreements, + { "agreements", "inap.agreements", + FT_OID, BASE_NONE, NULL, 0, + "OBJECT_IDENTIFIER", HFILL }}, + { &hf_inap_networkSpecific, + { "networkSpecific", "inap.networkSpecific", + FT_UINT32, BASE_DEC, NULL, 0, + "Integer4", HFILL }}, + { &hf_inap_collectedInfoSpecificInfo, + { "collectedInfoSpecificInfo", "inap.collectedInfoSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_calledPartynumber, + { "calledPartynumber", "inap.calledPartynumber", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_analysedInfoSpecificInfo, + { "analysedInfoSpecificInfo", "inap.analysedInfoSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_routeSelectFailureSpecificInfo, + { "routeSelectFailureSpecificInfo", "inap.routeSelectFailureSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_failureCause, + { "failureCause", "inap.failureCause", + FT_BYTES, BASE_NONE, NULL, 0, + "Cause", HFILL }}, + { &hf_inap_oCalledPartyBusySpecificInfo, + { "oCalledPartyBusySpecificInfo", "inap.oCalledPartyBusySpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_busyCause, + { "busyCause", "inap.busyCause", + FT_BYTES, BASE_NONE, NULL, 0, + "Cause", HFILL }}, + { &hf_inap_oNoAnswerSpecificInfo, + { "oNoAnswerSpecificInfo", "inap.oNoAnswerSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_cause, + { "cause", "inap.cause", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_oAnswerSpecificInfo, + { "oAnswerSpecificInfo", "inap.oAnswerSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_backwardGVNS, + { "backwardGVNS", "inap.backwardGVNS", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_oMidCallSpecificInfo, + { "oMidCallSpecificInfo", "inap.oMidCallSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_connectTime, + { "connectTime", "inap.connectTime", + FT_UINT32, BASE_DEC, NULL, 0, + "Integer4", HFILL }}, + { &hf_inap_oMidCallInfo, + { "oMidCallInfo", "inap.oMidCallInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + "MidCallInfo", HFILL }}, + { &hf_inap_oDisconnectSpecificInfo, + { "oDisconnectSpecificInfo", "inap.oDisconnectSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_releaseCause, + { "releaseCause", "inap.releaseCause", + FT_BYTES, BASE_NONE, NULL, 0, + "Cause", HFILL }}, + { &hf_inap_tBusySpecificInfo, + { "tBusySpecificInfo", "inap.tBusySpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_tNoAnswerSpecificInfo, + { "tNoAnswerSpecificInfo", "inap.tNoAnswerSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_tAnswerSpecificInfo, + { "tAnswerSpecificInfo", "inap.tAnswerSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_tMidCallSpecificInfo, + { "tMidCallSpecificInfo", "inap.tMidCallSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_tMidCallInfo, + { "tMidCallInfo", "inap.tMidCallInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + "MidCallInfo", HFILL }}, + { &hf_inap_tDisconnectSpecificInfo, + { "tDisconnectSpecificInfo", "inap.tDisconnectSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_oTermSeizedSpecificInfo, + { "oTermSeizedSpecificInfo", "inap.oTermSeizedSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_oSuspend, + { "oSuspend", "inap.oSuspend_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_tSuspend, + { "tSuspend", "inap.tSuspend_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_origAttemptAuthorized, + { "origAttemptAuthorized", "inap.origAttemptAuthorized_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_oReAnswer, + { "oReAnswer", "inap.oReAnswer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_tReAnswer, + { "tReAnswer", "inap.tReAnswer_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_facilitySelectedAndAvailable, + { "facilitySelectedAndAvailable", "inap.facilitySelectedAndAvailable_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callAccepted, + { "callAccepted", "inap.callAccepted_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_oAbandon, + { "oAbandon", "inap.oAbandon_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_abandonCause, + { "abandonCause", "inap.abandonCause", + FT_BYTES, BASE_NONE, NULL, 0, + "Cause", HFILL }}, + { &hf_inap_tAbandon, + { "tAbandon", "inap.tAbandon_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_authorizeRouteFailure, + { "authorizeRouteFailure", "inap.authorizeRouteFailure_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_authoriseRouteFailureCause, + { "authoriseRouteFailureCause", "inap.authoriseRouteFailureCause", + FT_BYTES, BASE_NONE, NULL, 0, + "Cause", HFILL }}, + { &hf_inap_terminationAttemptAuthorized, + { "terminationAttemptAuthorized", "inap.terminationAttemptAuthorized_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_originationAttemptDenied, + { "originationAttemptDenied", "inap.originationAttemptDenied_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_originationDeniedCause, + { "originationDeniedCause", "inap.originationDeniedCause", + FT_BYTES, BASE_NONE, NULL, 0, + "Cause", HFILL }}, + { &hf_inap_terminationAttemptDenied, + { "terminationAttemptDenied", "inap.terminationAttemptDenied_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_terminationDeniedCause, + { "terminationDeniedCause", "inap.terminationDeniedCause", + FT_BYTES, BASE_NONE, NULL, 0, + "Cause", HFILL }}, + { &hf_inap_oModifyRequestSpecificInfo, + { "oModifyRequestSpecificInfo", "inap.oModifyRequestSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_oModifyResultSpecificInfo, + { "oModifyResultSpecificInfo", "inap.oModifyResultSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_modifyResultType, + { "modifyResultType", "inap.modifyResultType", + FT_UINT32, BASE_DEC, VALS(inap_ModifyResultType_vals), 0, + NULL, HFILL }}, + { &hf_inap_tModifyRequestSpecificInfo, + { "tModifyRequestSpecificInfo", "inap.tModifyRequestSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_tModifyResultSpecificInfo, + { "tModifyResultSpecificInfo", "inap.tModifyResultSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_trunkGroupID, + { "trunkGroupID", "inap.trunkGroupID", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_inap_privateFacilityID, + { "privateFacilityID", "inap.privateFacilityID", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_inap_huntGroup, + { "huntGroup", "inap.huntGroup", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_inap_routeIndex, + { "routeIndex", "inap.routeIndex", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING", HFILL }}, + { &hf_inap_sFBillingChargingCharacteristics, + { "sFBillingChargingCharacteristics", "inap.sFBillingChargingCharacteristics", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_informationToSend, + { "informationToSend", "inap.informationToSend", + FT_UINT32, BASE_DEC, VALS(inap_InformationToSend_vals), 0, + NULL, HFILL }}, + { &hf_inap_maximumNumberOfCounters, + { "maximumNumberOfCounters", "inap.maximumNumberOfCounters", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_filteringCharacteristics_interval, + { "interval", "inap.filteringCharacteristics.interval", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER_M1_32000", HFILL }}, + { &hf_inap_numberOfCalls, + { "numberOfCalls", "inap.numberOfCalls", + FT_UINT32, BASE_DEC, NULL, 0, + "Integer4", HFILL }}, + { &hf_inap_dialledNumber, + { "dialledNumber", "inap.dialledNumber", + FT_BYTES, BASE_NONE, NULL, 0, + "Digits", HFILL }}, + { &hf_inap_callingLineID, + { "callingLineID", "inap.callingLineID", + FT_BYTES, BASE_NONE, NULL, 0, + "Digits", HFILL }}, + { &hf_inap_addressAndService, + { "addressAndService", "inap.addressAndService_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_duration, + { "duration", "inap.duration", + FT_INT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_stopTime, + { "stopTime", "inap.stopTime", + FT_BYTES, BASE_NONE, NULL, 0, + "DateAndTime", HFILL }}, + { &hf_inap_callDiversionTreatmentIndicator, + { "callDiversionTreatmentIndicator", "inap.callDiversionTreatmentIndicator", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1", HFILL }}, + { &hf_inap_callOfferingTreatmentIndicator, + { "callOfferingTreatmentIndicator", "inap.callOfferingTreatmentIndicator", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1", HFILL }}, + { &hf_inap_callWaitingTreatmentIndicator, + { "callWaitingTreatmentIndicator", "inap.callWaitingTreatmentIndicator", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1", HFILL }}, + { &hf_inap_compoundCapCriteria, + { "compoundCapCriteria", "inap.compoundCapCriteria_element", + FT_NONE, BASE_NONE, NULL, 0, + "CompoundCriteria", HFILL }}, + { &hf_inap_dpCriteria, + { "dpCriteria", "inap.dpCriteria", + FT_UINT32, BASE_DEC, VALS(inap_EventTypeBCSM_vals), 0, + "EventTypeBCSM", HFILL }}, + { &hf_inap_gapInterval, + { "gapInterval", "inap.gapInterval", + FT_INT32, BASE_DEC, NULL, 0, + "Interval", HFILL }}, + { &hf_inap_both, + { "both", "inap.both_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_GenericNumbers_item, + { "GenericNumber", "inap.GenericNumber", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_actionOnProfile, + { "actionOnProfile", "inap.actionOnProfile", + FT_UINT32, BASE_DEC, VALS(inap_ActionOnProfile_vals), 0, + NULL, HFILL }}, + { &hf_inap_tDPIdentifier, + { "tDPIdentifier", "inap.tDPIdentifier", + FT_UINT32, BASE_DEC, VALS(inap_TDPIdentifier_vals), 0, + NULL, HFILL }}, + { &hf_inap_dPName, + { "dPName", "inap.dPName", + FT_UINT32, BASE_DEC, VALS(inap_EventTypeBCSM_vals), 0, + "EventTypeBCSM", HFILL }}, + { &hf_inap_INServiceCompatibilityIndication_item, + { "Entry", "inap.Entry", + FT_UINT32, BASE_DEC, VALS(inap_Entry_vals), 0, + NULL, HFILL }}, + { &hf_inap_alternativeCalledPartyIds, + { "alternativeCalledPartyIds", "inap.alternativeCalledPartyIds", + FT_UINT32, BASE_DEC, NULL, 0, + "AlternativeIdentities", HFILL }}, + { &hf_inap_alternativeOriginatingPartyIds, + { "alternativeOriginatingPartyIds", "inap.alternativeOriginatingPartyIds", + FT_UINT32, BASE_DEC, NULL, 0, + "AlternativeIdentities", HFILL }}, + { &hf_inap_alternativeOriginalCalledPartyIds, + { "alternativeOriginalCalledPartyIds", "inap.alternativeOriginalCalledPartyIds", + FT_UINT32, BASE_DEC, NULL, 0, + "AlternativeIdentities", HFILL }}, + { &hf_inap_alternativeRedirectingPartyIds, + { "alternativeRedirectingPartyIds", "inap.alternativeRedirectingPartyIds", + FT_UINT32, BASE_DEC, NULL, 0, + "AlternativeIdentities", HFILL }}, + { &hf_inap_sendingSideID, + { "sendingSideID", "inap.sendingSideID", + FT_BYTES, BASE_NONE, NULL, 0, + "LegType", HFILL }}, + { &hf_inap_receivingSideID, + { "receivingSideID", "inap.receivingSideID", + FT_BYTES, BASE_NONE, NULL, 0, + "LegType", HFILL }}, + { &hf_inap_MidCallControlInfo_item, + { "MidCallControlInfo item", "inap.MidCallControlInfo_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_midCallInfoType, + { "midCallInfoType", "inap.midCallInfoType_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_midCallReportType, + { "midCallReportType", "inap.midCallReportType", + FT_UINT32, BASE_DEC, VALS(inap_T_midCallReportType_vals), 0, + NULL, HFILL }}, + { &hf_inap_iNServiceControlCode, + { "iNServiceControlCode", "inap.iNServiceControlCode", + FT_BYTES, BASE_NONE, NULL, 0, + "Digits", HFILL }}, + { &hf_inap_iNServiceControlCodeLow, + { "iNServiceControlCodeLow", "inap.iNServiceControlCodeLow", + FT_BYTES, BASE_NONE, NULL, 0, + "Digits", HFILL }}, + { &hf_inap_iNServiceControlCodeHigh, + { "iNServiceControlCodeHigh", "inap.iNServiceControlCodeHigh", + FT_BYTES, BASE_NONE, NULL, 0, + "Digits", HFILL }}, + { &hf_inap_messageType, + { "messageType", "inap.messageType", + FT_UINT32, BASE_DEC, VALS(inap_T_messageType_vals), 0, + NULL, HFILL }}, + { &hf_inap_dpAssignment, + { "dpAssignment", "inap.dpAssignment", + FT_UINT32, BASE_DEC, VALS(inap_T_dpAssignment_vals), 0, + NULL, HFILL }}, + { &hf_inap_threshold, + { "threshold", "inap.threshold", + FT_UINT32, BASE_DEC, NULL, 0, + "Integer4", HFILL }}, + { &hf_inap_interval, + { "interval", "inap.interval", + FT_INT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_access, + { "access", "inap.access", + FT_BYTES, BASE_NONE, NULL, 0, + "CalledPartyNumber", HFILL }}, + { &hf_inap_group, + { "group", "inap.group", + FT_UINT32, BASE_DEC, VALS(inap_FacilityGroup_vals), 0, + "FacilityGroup", HFILL }}, + { &hf_inap_RequestedInformationList_item, + { "RequestedInformation", "inap.RequestedInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_RequestedInformationTypeList_item, + { "RequestedInformationType", "inap.RequestedInformationType", + FT_UINT32, BASE_DEC, VALS(inap_RequestedInformationType_vals), 0, + NULL, HFILL }}, + { &hf_inap_requestedInformationType, + { "requestedInformationType", "inap.requestedInformationType", + FT_UINT32, BASE_DEC, VALS(inap_RequestedInformationType_vals), 0, + NULL, HFILL }}, + { &hf_inap_requestedInformationValue, + { "requestedInformationValue", "inap.requestedInformationValue", + FT_UINT32, BASE_DEC, VALS(inap_RequestedInformationValue_vals), 0, + NULL, HFILL }}, + { &hf_inap_callAttemptElapsedTimeValue, + { "callAttemptElapsedTimeValue", "inap.callAttemptElapsedTimeValue", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_255", HFILL }}, + { &hf_inap_callStopTimeValue, + { "callStopTimeValue", "inap.callStopTimeValue", + FT_BYTES, BASE_NONE, NULL, 0, + "DateAndTime", HFILL }}, + { &hf_inap_callConnectedElapsedTimeValue, + { "callConnectedElapsedTimeValue", "inap.callConnectedElapsedTimeValue", + FT_UINT32, BASE_DEC, NULL, 0, + "Integer4", HFILL }}, + { &hf_inap_releaseCauseValue, + { "releaseCauseValue", "inap.releaseCauseValue", + FT_BYTES, BASE_NONE, NULL, 0, + "Cause", HFILL }}, + { &hf_inap_uSImonitorMode, + { "uSImonitorMode", "inap.uSImonitorMode", + FT_UINT32, BASE_DEC, VALS(inap_USIMonitorMode_vals), 0, + NULL, HFILL }}, + { &hf_inap_RequestedUTSIList_item, + { "RequestedUTSI", "inap.RequestedUTSI_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_lineID, + { "lineID", "inap.lineID", + FT_BYTES, BASE_NONE, NULL, 0, + "Digits", HFILL }}, + { &hf_inap_facilityGroupID, + { "facilityGroupID", "inap.facilityGroupID", + FT_UINT32, BASE_DEC, VALS(inap_FacilityGroup_vals), 0, + "FacilityGroup", HFILL }}, + { &hf_inap_facilityGroupMemberID, + { "facilityGroupMemberID", "inap.facilityGroupMemberID", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_inap_RouteCountersValue_item, + { "RouteCountersAndValue", "inap.RouteCountersAndValue_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_route, + { "route", "inap.route", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_RouteList_item, + { "Route", "inap.Route", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_miscCallInfo, + { "miscCallInfo", "inap.miscCallInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_triggerType, + { "triggerType", "inap.triggerType", + FT_UINT32, BASE_DEC, VALS(inap_TriggerType_vals), 0, + NULL, HFILL }}, + { &hf_inap_forwardServiceInteractionInd, + { "forwardServiceInteractionInd", "inap.forwardServiceInteractionInd_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_backwardServiceInteractionInd, + { "backwardServiceInteractionInd", "inap.backwardServiceInteractionInd_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_bothwayThroughConnectionInd, + { "bothwayThroughConnectionInd", "inap.bothwayThroughConnectionInd", + FT_UINT32, BASE_DEC, VALS(inap_BothwayThroughConnectionInd_vals), 0, + NULL, HFILL }}, + { &hf_inap_suspendTimer, + { "suspendTimer", "inap.suspendTimer", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_connectedNumberTreatmentInd, + { "connectedNumberTreatmentInd", "inap.connectedNumberTreatmentInd", + FT_UINT32, BASE_DEC, VALS(inap_ConnectedNumberTreatmentInd_vals), 0, + NULL, HFILL }}, + { &hf_inap_suppressCallDiversionNotification, + { "suppressCallDiversionNotification", "inap.suppressCallDiversionNotification", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_suppressCallTransferNotification, + { "suppressCallTransferNotification", "inap.suppressCallTransferNotification", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_allowCdINNoPresentationInd, + { "allowCdINNoPresentationInd", "inap.allowCdINNoPresentationInd", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_userDialogueDurationInd, + { "userDialogueDurationInd", "inap.userDialogueDurationInd", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_overrideLineRestrictions, + { "overrideLineRestrictions", "inap.overrideLineRestrictions", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_suppressVPNAPP, + { "suppressVPNAPP", "inap.suppressVPNAPP", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_calledINNumberOverriding, + { "calledINNumberOverriding", "inap.calledINNumberOverriding", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_redirectServiceTreatmentInd, + { "redirectServiceTreatmentInd", "inap.redirectServiceTreatmentInd_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_redirectReason, + { "redirectReason", "inap.redirectReason", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_nonCUGCall, + { "nonCUGCall", "inap.nonCUGCall_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_oneTrigger, + { "oneTrigger", "inap.oneTrigger", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_inap_triggers, + { "triggers", "inap.triggers", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_triggerId, + { "triggerId", "inap.triggerId", + FT_UINT64, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_triggerPar, + { "triggerPar", "inap.triggerPar_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_triggerID, + { "triggerID", "inap.triggerID", + FT_UINT32, BASE_DEC, VALS(inap_EventTypeBCSM_vals), 0, + "EventTypeBCSM", HFILL }}, + { &hf_inap_profile, + { "profile", "inap.profile", + FT_UINT32, BASE_DEC, VALS(inap_ProfileIdentifier_vals), 0, + "ProfileIdentifier", HFILL }}, + { &hf_inap_TriggerResults_item, + { "TriggerResult", "inap.TriggerResult_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_tDPIdentifer, + { "tDPIdentifer", "inap.tDPIdentifer", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_inap_actionPerformed, + { "actionPerformed", "inap.actionPerformed", + FT_UINT32, BASE_DEC, VALS(inap_ActionPerformed_vals), 0, + NULL, HFILL }}, + { &hf_inap_Triggers_item, + { "Trigger", "inap.Trigger_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_trigger_tDPIdentifier, + { "tDPIdentifier", "inap.trigger.tdpidentifier", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_inap_dpName, + { "dpName", "inap.dpName", + FT_UINT32, BASE_DEC, VALS(inap_EventTypeBCSM_vals), 0, + "EventTypeBCSM", HFILL }}, + { &hf_inap_global, + { "global", "inap.global", + FT_OID, BASE_NONE, NULL, 0, + "OBJECT_IDENTIFIER", HFILL }}, + { &hf_inap_local, + { "local", "inap.local", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_minUSIServiceIndicatorLength_maxUSIServiceIndicatorLength", HFILL }}, + { &hf_inap_filteredCallTreatment, + { "filteredCallTreatment", "inap.filteredCallTreatment_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_filteringCharacteristics, + { "filteringCharacteristics", "inap.filteringCharacteristics", + FT_UINT32, BASE_DEC, VALS(inap_FilteringCharacteristics_vals), 0, + NULL, HFILL }}, + { &hf_inap_filteringTimeOut, + { "filteringTimeOut", "inap.filteringTimeOut", + FT_UINT32, BASE_DEC, VALS(inap_FilteringTimeOut_vals), 0, + NULL, HFILL }}, + { &hf_inap_filteringCriteria, + { "filteringCriteria", "inap.filteringCriteria", + FT_UINT32, BASE_DEC, VALS(inap_FilteringCriteria_vals), 0, + NULL, HFILL }}, + { &hf_inap_startTime, + { "startTime", "inap.startTime", + FT_BYTES, BASE_NONE, NULL, 0, + "DateAndTime", HFILL }}, + { &hf_inap_dpSpecificCommonParameters, + { "dpSpecificCommonParameters", "inap.dpSpecificCommonParameters_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_dialledDigits, + { "dialledDigits", "inap.dialledDigits", + FT_BYTES, BASE_NONE, NULL, 0, + "CalledPartyNumber", HFILL }}, + { &hf_inap_callingPartyBusinessGroupID, + { "callingPartyBusinessGroupID", "inap.callingPartyBusinessGroupID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callingPartySubaddress, + { "callingPartySubaddress", "inap.callingPartySubaddress", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callingFacilityGroup, + { "callingFacilityGroup", "inap.callingFacilityGroup", + FT_UINT32, BASE_DEC, VALS(inap_FacilityGroup_vals), 0, + "FacilityGroup", HFILL }}, + { &hf_inap_callingFacilityGroupMember, + { "callingFacilityGroupMember", "inap.callingFacilityGroupMember", + FT_INT32, BASE_DEC, NULL, 0, + "FacilityGroupMember", HFILL }}, + { &hf_inap_originalCalledPartyID, + { "originalCalledPartyID", "inap.originalCalledPartyID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_prefix, + { "prefix", "inap.prefix", + FT_BYTES, BASE_NONE, NULL, 0, + "Digits", HFILL }}, + { &hf_inap_redirectingPartyID, + { "redirectingPartyID", "inap.redirectingPartyID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_redirectionInformation, + { "redirectionInformation", "inap.redirectionInformation", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_routeList, + { "routeList", "inap.routeList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_travellingClassMark, + { "travellingClassMark", "inap.travellingClassMark", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_featureCode, + { "featureCode", "inap.featureCode", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_accessCode, + { "accessCode", "inap.accessCode", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_carrier, + { "carrier", "inap.carrier", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_componentType, + { "componentType", "inap.componentType", + FT_UINT32, BASE_DEC, VALS(inap_ComponentType_vals), 0, + NULL, HFILL }}, + { &hf_inap_component, + { "component", "inap.component", + FT_UINT32, BASE_DEC, VALS(inap_Component_vals), 0, + NULL, HFILL }}, + { &hf_inap_componentCorrelationID, + { "componentCorrelationID", "inap.componentCorrelationID", + FT_INT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_destinationRoutingAddress, + { "destinationRoutingAddress", "inap.destinationRoutingAddress", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_alertingPattern, + { "alertingPattern", "inap.alertingPattern", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_iNServiceCompatibilityResponse, + { "iNServiceCompatibilityResponse", "inap.iNServiceCompatibilityResponse", + FT_UINT32, BASE_DEC, VALS(inap_Entry_vals), 0, + NULL, HFILL }}, + { &hf_inap_correlationID, + { "correlationID", "inap.correlationID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callSegmentID, + { "callSegmentID", "inap.callSegmentID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_legToBeCreated, + { "legToBeCreated", "inap.legToBeCreated", + FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0, + "LegID", HFILL }}, + { &hf_inap_aChBillingChargingCharacteristics, + { "aChBillingChargingCharacteristics", "inap.aChBillingChargingCharacteristics", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_partyToCharge, + { "partyToCharge", "inap.partyToCharge", + FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0, + "LegID", HFILL }}, + { &hf_inap_releaseIndication, + { "releaseIndication", "inap.releaseIndication", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_destinationNumberRoutingAddress, + { "destinationNumberRoutingAddress", "inap.destinationNumberRoutingAddress", + FT_BYTES, BASE_NONE, NULL, 0, + "CalledPartyNumber", HFILL }}, + { &hf_inap_displayInformation, + { "displayInformation", "inap.displayInformation", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_destinationIndex, + { "destinationIndex", "inap.destinationIndex", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_gapIndicators, + { "gapIndicators", "inap.gapIndicators_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_registratorIdentifier, + { "registratorIdentifier", "inap.registratorIdentifier", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_gapCriteria, + { "gapCriteria", "inap.gapCriteria", + FT_UINT32, BASE_DEC, VALS(inap_GapCriteria_vals), 0, + NULL, HFILL }}, + { &hf_inap_controlType, + { "controlType", "inap.controlType", + FT_UINT32, BASE_DEC, VALS(inap_ControlType_vals), 0, + NULL, HFILL }}, + { &hf_inap_gapTreatment, + { "gapTreatment", "inap.gapTreatment", + FT_UINT32, BASE_DEC, VALS(inap_GapTreatment_vals), 0, + NULL, HFILL }}, + { &hf_inap_requestedInformationList, + { "requestedInformationList", "inap.requestedInformationList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_lastEventIndicator, + { "lastEventIndicator", "inap.lastEventIndicator", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_requestedInformationTypeList, + { "requestedInformationTypeList", "inap.requestedInformationTypeList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_invokeID, + { "invokeID", "inap.invokeID", + FT_INT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_allRequests, + { "allRequests", "inap.allRequests_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callSegmentToCancel, + { "callSegmentToCancel", "inap.callSegmentToCancel_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_allRequestsForCallSegment, + { "allRequestsForCallSegment", "inap.allRequestsForCallSegment", + FT_UINT32, BASE_DEC, NULL, 0, + "CallSegmentID", HFILL }}, + { &hf_inap_resourceID, + { "resourceID", "inap.resourceID", + FT_UINT32, BASE_DEC, VALS(inap_ResourceID_vals), 0, + NULL, HFILL }}, + { &hf_inap_numberingPlan, + { "numberingPlan", "inap.numberingPlan", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_cutAndPaste, + { "cutAndPaste", "inap.cutAndPaste", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_forwardingCondition, + { "forwardingCondition", "inap.forwardingCondition", + FT_UINT32, BASE_DEC, VALS(inap_ForwardingCondition_vals), 0, + NULL, HFILL }}, + { &hf_inap_forwardCallIndicators, + { "forwardCallIndicators", "inap.forwardCallIndicators", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_genericNumbers, + { "genericNumbers", "inap.genericNumbers", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_sDSSinformation, + { "sDSSinformation", "inap.sDSSinformation", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_calledDirectoryNumber, + { "calledDirectoryNumber", "inap.calledDirectoryNumber", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_calledPartySubaddress, + { "calledPartySubaddress", "inap.calledPartySubaddress", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_connectionIdentifier, + { "connectionIdentifier", "inap.connectionIdentifier", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_genericIdentifier, + { "genericIdentifier", "inap.genericIdentifier", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_qOSParameter, + { "qOSParameter", "inap.qOSParameter", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_bISDNParameters, + { "bISDNParameters", "inap.bISDNParameters_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_cug_Interlock, + { "cug-Interlock", "inap.cug_Interlock", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_cug_OutgoingAccess, + { "cug-OutgoingAccess", "inap.cug_OutgoingAccess_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_resourceAddress, + { "resourceAddress", "inap.resourceAddress", + FT_UINT32, BASE_DEC, VALS(inap_T_resourceAddress_vals), 0, + NULL, HFILL }}, + { &hf_inap_ipRoutingAddress, + { "ipRoutingAddress", "inap.ipRoutingAddress", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ipAddressAndLegID, + { "ipAddressAndLegID", "inap.ipAddressAndLegID_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_none, + { "none", "inap.none_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ipAddressAndCallSegment, + { "ipAddressAndCallSegment", "inap.ipAddressAndCallSegment_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_legorCSID, + { "legorCSID", "inap.legorCSID", + FT_UINT32, BASE_DEC, VALS(inap_T_legorCSID_vals), 0, + NULL, HFILL }}, + { &hf_inap_csID, + { "csID", "inap.csID", + FT_UINT32, BASE_DEC, NULL, 0, + "CallSegmentID", HFILL }}, + { &hf_inap_genericName, + { "genericName", "inap.genericName", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_ipRelationInformation, + { "ipRelationInformation", "inap.ipRelationInformation_element", + FT_NONE, BASE_NONE, NULL, 0, + "IPRelatedInformation", HFILL }}, + { &hf_inap_newCallSegmentAssociation, + { "newCallSegmentAssociation", "inap.newCallSegmentAssociation", + FT_UINT32, BASE_DEC, NULL, 0, + "CSAID", HFILL }}, + { &hf_inap_createOrRemove, + { "createOrRemove", "inap.createOrRemove", + FT_UINT32, BASE_DEC, VALS(inap_CreateOrRemoveIndicator_vals), 0, + "CreateOrRemoveIndicator", HFILL }}, + { &hf_inap_triggerDPType, + { "triggerDPType", "inap.triggerDPType", + FT_UINT32, BASE_DEC, VALS(inap_TriggerDPType_vals), 0, + NULL, HFILL }}, + { &hf_inap_triggerData, + { "triggerData", "inap.triggerData_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_defaultFaultHandling, + { "defaultFaultHandling", "inap.defaultFaultHandling_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_triggerStatus, + { "triggerStatus", "inap.triggerStatus", + FT_UINT32, BASE_DEC, VALS(inap_TriggerStatus_vals), 0, + NULL, HFILL }}, + { &hf_inap_partyToDisconnect, + { "partyToDisconnect", "inap.partyToDisconnect", + FT_UINT32, BASE_DEC, VALS(inap_T_partyToDisconnect_vals), 0, + NULL, HFILL }}, + { &hf_inap_legToBeReleased, + { "legToBeReleased", "inap.legToBeReleased", + FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0, + "LegID", HFILL }}, + { &hf_inap_cSFailure, + { "cSFailure", "inap.cSFailure_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_reason, + { "reason", "inap.reason", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_bCSMFailure, + { "bCSMFailure", "inap.bCSMFailure_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_assistingSSPIPRoutingAddress, + { "assistingSSPIPRoutingAddress", "inap.assistingSSPIPRoutingAddress", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_partyToConnect, + { "partyToConnect", "inap.partyToConnect", + FT_UINT32, BASE_DEC, VALS(inap_T_partyToConnect_vals), 0, + NULL, HFILL }}, + { &hf_inap_eventSpecificInformationCharging, + { "eventSpecificInformationCharging", "inap.eventSpecificInformationCharging", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_bcsmEventCorrelationID, + { "bcsmEventCorrelationID", "inap.bcsmEventCorrelationID", + FT_BYTES, BASE_NONE, NULL, 0, + "CorrelationID", HFILL }}, + { &hf_inap_eventSpecificInformationBCSM, + { "eventSpecificInformationBCSM", "inap.eventSpecificInformationBCSM", + FT_UINT32, BASE_DEC, VALS(inap_EventSpecificInformationBCSM_vals), 0, + NULL, HFILL }}, + { &hf_inap_calledPartyBusinessGroupID, + { "calledPartyBusinessGroupID", "inap.calledPartyBusinessGroupID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_holdcause, + { "holdcause", "inap.holdcause", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_empty, + { "empty", "inap.empty_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_highLayerCompatibility, + { "highLayerCompatibility", "inap.highLayerCompatibility", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_additionalCallingPartyNumber, + { "additionalCallingPartyNumber", "inap.additionalCallingPartyNumber", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_cCSS, + { "cCSS", "inap.cCSS", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_vPNIndicator, + { "vPNIndicator", "inap.vPNIndicator", + FT_BOOLEAN, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_cNInfo, + { "cNInfo", "inap.cNInfo", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callReference, + { "callReference", "inap.callReference", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_routeingNumber, + { "routeingNumber", "inap.routeingNumber", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callingGeodeticLocation, + { "callingGeodeticLocation", "inap.callingGeodeticLocation", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_globalCallReference, + { "globalCallReference", "inap.globalCallReference", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_cug_Index, + { "cug-Index", "inap.cug_Index", + FT_STRING, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_newCallSegment, + { "newCallSegment", "inap.newCallSegment", + FT_UINT32, BASE_DEC, NULL, 0, + "CallSegmentID", HFILL }}, + { &hf_inap_incomingSignallingBufferCopy, + { "incomingSignallingBufferCopy", "inap.incomingSignallingBufferCopy", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_actionIndicator, + { "actionIndicator", "inap.actionIndicator", + FT_UINT32, BASE_DEC, VALS(inap_ActionIndicator_vals), 0, + NULL, HFILL }}, + { &hf_inap_triggerDataIdentifier, + { "triggerDataIdentifier", "inap.triggerDataIdentifier", + FT_UINT32, BASE_DEC, VALS(inap_T_triggerDataIdentifier_vals), 0, + NULL, HFILL }}, + { &hf_inap_profileAndDP, + { "profileAndDP", "inap.profileAndDP_element", + FT_NONE, BASE_NONE, NULL, 0, + "TriggerDataIdentifier", HFILL }}, + { &hf_inap_oneTriggerResult, + { "oneTriggerResult", "inap.oneTriggerResult_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_severalTriggerResult, + { "severalTriggerResult", "inap.severalTriggerResult_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_results, + { "results", "inap.results", + FT_UINT32, BASE_DEC, NULL, 0, + "TriggerResults", HFILL }}, + { &hf_inap_sourceCallSegment, + { "sourceCallSegment", "inap.sourceCallSegment", + FT_UINT32, BASE_DEC, NULL, 0, + "CallSegmentID", HFILL }}, + { &hf_inap_targetCallSegment, + { "targetCallSegment", "inap.targetCallSegment", + FT_UINT32, BASE_DEC, NULL, 0, + "CallSegmentID", HFILL }}, + { &hf_inap_mergeSignallingPaths, + { "mergeSignallingPaths", "inap.mergeSignallingPaths_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_routeCounters, + { "routeCounters", "inap.routeCounters", + FT_UINT32, BASE_DEC, NULL, 0, + "RouteCountersValue", HFILL }}, + { &hf_inap_monitoringCriteria, + { "monitoringCriteria", "inap.monitoringCriteria", + FT_UINT32, BASE_DEC, VALS(inap_MonitoringCriteria_vals), 0, + NULL, HFILL }}, + { &hf_inap_monitoringTimeout, + { "monitoringTimeout", "inap.monitoringTimeout", + FT_UINT32, BASE_DEC, VALS(inap_MonitoringTimeOut_vals), 0, + NULL, HFILL }}, + { &hf_inap_targetCallSegmentAssociation, + { "targetCallSegmentAssociation", "inap.targetCallSegmentAssociation", + FT_UINT32, BASE_DEC, NULL, 0, + "CSAID", HFILL }}, + { &hf_inap_callSegments, + { "callSegments", "inap.callSegments", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callSegments_item, + { "callSegments item", "inap.callSegments_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_legs, + { "legs", "inap.legs", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_legs_item, + { "legs item", "inap.legs_item_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_sourceLeg, + { "sourceLeg", "inap.sourceLeg", + FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0, + "LegID", HFILL }}, + { &hf_inap_newLeg, + { "newLeg", "inap.newLeg", + FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0, + "LegID", HFILL }}, + { &hf_inap_legIDToMove, + { "legIDToMove", "inap.legIDToMove", + FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0, + "LegID", HFILL }}, + { &hf_inap_detachSignallingPath, + { "detachSignallingPath", "inap.detachSignallingPath_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_exportSignallingPath, + { "exportSignallingPath", "inap.exportSignallingPath_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_featureRequestIndicator, + { "featureRequestIndicator", "inap.featureRequestIndicator", + FT_UINT32, BASE_DEC, VALS(inap_FeatureRequestIndicator_vals), 0, + NULL, HFILL }}, + { &hf_inap_componenttCorrelationID, + { "componenttCorrelationID", "inap.componenttCorrelationID", + FT_INT32, BASE_DEC, NULL, 0, + "ComponentCorrelationID", HFILL }}, + { &hf_inap_notificationDuration, + { "notificationDuration", "inap.notificationDuration", + FT_UINT32, BASE_DEC, NULL, 0, + "ApplicationTimer", HFILL }}, + { &hf_inap_initialCallSegment, + { "initialCallSegment", "inap.initialCallSegment", + FT_BYTES, BASE_NONE, NULL, 0, + "Cause", HFILL }}, + { &hf_inap_callSegmentToRelease, + { "callSegmentToRelease", "inap.callSegmentToRelease_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_callSegment, + { "callSegment", "inap.callSegment", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_numOfCSs", HFILL }}, + { &hf_inap_forcedRelease, + { "forcedRelease", "inap.forcedRelease", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_allCallSegments, + { "allCallSegments", "inap.allCallSegments_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_timeToRelease, + { "timeToRelease", "inap.timeToRelease", + FT_UINT32, BASE_DEC, NULL, 0, + "TimerValue", HFILL }}, + { &hf_inap_resourceStatus, + { "resourceStatus", "inap.resourceStatus", + FT_UINT32, BASE_DEC, VALS(inap_ResourceStatus_vals), 0, + NULL, HFILL }}, + { &hf_inap_monitorDuration, + { "monitorDuration", "inap.monitorDuration", + FT_INT32, BASE_DEC, NULL, 0, + "Duration", HFILL }}, + { &hf_inap_RequestNotificationChargingEventArg_item, + { "ChargingEvent", "inap.ChargingEvent_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_bcsmEvents, + { "bcsmEvents", "inap.bcsmEvents", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_numOfBCSMEvents_OF_BCSMEvent", HFILL }}, + { &hf_inap_bcsmEvents_item, + { "BCSMEvent", "inap.BCSMEvent_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_componentTypes, + { "componentTypes", "inap.componentTypes", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_3_OF_ComponentType", HFILL }}, + { &hf_inap_componentTypes_item, + { "ComponentType", "inap.ComponentType", + FT_UINT32, BASE_DEC, VALS(inap_ComponentType_vals), 0, + NULL, HFILL }}, + { &hf_inap_requestedUTSIList, + { "requestedUTSIList", "inap.requestedUTSIList", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_timerID, + { "timerID", "inap.timerID", + FT_UINT32, BASE_DEC, VALS(inap_TimerID_vals), 0, + NULL, HFILL }}, + { &hf_inap_timervalue, + { "timervalue", "inap.timervalue", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_calledFacilityGroup, + { "calledFacilityGroup", "inap.calledFacilityGroup", + FT_UINT32, BASE_DEC, VALS(inap_FacilityGroup_vals), 0, + "FacilityGroup", HFILL }}, + { &hf_inap_calledFacilityGroupMember, + { "calledFacilityGroupMember", "inap.calledFacilityGroupMember", + FT_INT32, BASE_DEC, NULL, 0, + "FacilityGroupMember", HFILL }}, + { &hf_inap_sCIBillingChargingCharacteristics, + { "sCIBillingChargingCharacteristics", "inap.sCIBillingChargingCharacteristics", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_nocharge, + { "nocharge", "inap.nocharge", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_callProcessingOperation, + { "callProcessingOperation", "inap.callProcessingOperation", + FT_UINT32, BASE_DEC, VALS(inap_CallProcessingOperation_vals), 0, + NULL, HFILL }}, + { &hf_inap_countersValue, + { "countersValue", "inap.countersValue", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_responseCondition, + { "responseCondition", "inap.responseCondition", + FT_UINT32, BASE_DEC, VALS(inap_ResponseCondition_vals), 0, + NULL, HFILL }}, + { &hf_inap_iNprofiles, + { "iNprofiles", "inap.iNprofiles", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_numOfINProfile_OF_INprofile", HFILL }}, + { &hf_inap_iNprofiles_item, + { "INprofile", "inap.INprofile_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_legToBeSplit, + { "legToBeSplit", "inap.legToBeSplit", + FT_UINT32, BASE_DEC, VALS(inap_LegID_vals), 0, + "LegID", HFILL }}, + { &hf_inap_newCallSegment_01, + { "newCallSegment", "inap.newCallSegment", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_2_numOfCSs", HFILL }}, + { &hf_inap_reportCondition, + { "reportCondition", "inap.reportCondition", + FT_UINT32, BASE_DEC, VALS(inap_ReportCondition_vals), 0, + NULL, HFILL }}, + { &hf_inap_minimumNbOfDigits, + { "minimumNbOfDigits", "inap.minimumNbOfDigits", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_127", HFILL }}, + { &hf_inap_maximumNbOfDigits, + { "maximumNbOfDigits", "inap.maximumNbOfDigits", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_127", HFILL }}, + { &hf_inap_endOfReplyDigit, + { "endOfReplyDigit", "inap.endOfReplyDigit", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1_2", HFILL }}, + { &hf_inap_cancelDigit, + { "cancelDigit", "inap.cancelDigit", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1_2", HFILL }}, + { &hf_inap_startDigit, + { "startDigit", "inap.startDigit", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1_2", HFILL }}, + { &hf_inap_firstDigitTimeOut, + { "firstDigitTimeOut", "inap.firstDigitTimeOut", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_127", HFILL }}, + { &hf_inap_interDigitTimeOut, + { "interDigitTimeOut", "inap.interDigitTimeOut", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_127", HFILL }}, + { &hf_inap_errorTreatment, + { "errorTreatment", "inap.errorTreatment", + FT_UINT32, BASE_DEC, VALS(inap_ErrorTreatment_vals), 0, + NULL, HFILL }}, + { &hf_inap_interruptableAnnInd, + { "interruptableAnnInd", "inap.interruptableAnnInd", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_voiceInformation, + { "voiceInformation", "inap.voiceInformation", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_voiceBack, + { "voiceBack", "inap.voiceBack", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_detectModem, + { "detectModem", "inap.detectModem", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_collectedDigits, + { "collectedDigits", "inap.collectedDigits_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_iA5Information, + { "iA5Information", "inap.iA5Information", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_messageID, + { "messageID", "inap.messageID", + FT_UINT32, BASE_DEC, VALS(inap_MessageID_vals), 0, + NULL, HFILL }}, + { &hf_inap_numberOfRepetitions, + { "numberOfRepetitions", "inap.numberOfRepetitions", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_127", HFILL }}, + { &hf_inap_inbandInfo_duration, + { "duration", "inap.inbandInfo.duration", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_32767", HFILL }}, + { &hf_inap_inbandInfo_interval, + { "interval", "inap.inbandInfo.interval", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_32767", HFILL }}, + { &hf_inap_preferredLanguage, + { "preferredLanguage", "inap.preferredLanguage", + FT_STRING, BASE_NONE, NULL, 0, + "Language", HFILL }}, + { &hf_inap_messageID_01, + { "messageID", "inap.messageID", + FT_UINT32, BASE_DEC, NULL, 0, + "ElementaryMessageID", HFILL }}, + { &hf_inap_messageDeletionTimeOut, + { "messageDeletionTimeOut", "inap.messageDeletionTimeOut", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_3600", HFILL }}, + { &hf_inap_timeToRecord, + { "timeToRecord", "inap.timeToRecord", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_0_b3__maxRecordingTime", HFILL }}, + { &hf_inap_controlDigits, + { "controlDigits", "inap.controlDigits_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_endOfRecordingDigit, + { "endOfRecordingDigit", "inap.endOfRecordingDigit", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1_2", HFILL }}, + { &hf_inap_replayDigit, + { "replayDigit", "inap.replayDigit", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1_2", HFILL }}, + { &hf_inap_restartRecordingDigit, + { "restartRecordingDigit", "inap.restartRecordingDigit", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_1_2", HFILL }}, + { &hf_inap_restartAllowed, + { "restartAllowed", "inap.restartAllowed", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_replayAllowed, + { "replayAllowed", "inap.replayAllowed", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_inbandInfo, + { "inbandInfo", "inap.inbandInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_tone, + { "tone", "inap.tone_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_elementaryMessageID, + { "elementaryMessageID", "inap.elementaryMessageID", + FT_UINT32, BASE_DEC, NULL, 0, + "Integer4", HFILL }}, + { &hf_inap_text, + { "text", "inap.text_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_messageContent, + { "messageContent", "inap.messageContent", + FT_STRING, BASE_NONE, NULL, 0, + "IA5String_SIZE_b3__minMessageContentLength_b3__maxMessageContentLength", HFILL }}, + { &hf_inap_attributes, + { "attributes", "inap.attributes", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_b3__minAttributesLength_b3__maxAttributesLength", HFILL }}, + { &hf_inap_elementaryMessageIDs, + { "elementaryMessageIDs", "inap.elementaryMessageIDs", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_b3__numOfMessageIDs_OF_Integer4", HFILL }}, + { &hf_inap_elementaryMessageIDs_item, + { "Integer4", "inap.Integer4", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_variableMessage, + { "variableMessage", "inap.variableMessage_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_variableParts, + { "variableParts", "inap.variableParts", + FT_UINT32, BASE_DEC, NULL, 0, + "SEQUENCE_SIZE_1_b3__maxVariableParts_OF_VariablePart", HFILL }}, + { &hf_inap_variableParts_item, + { "VariablePart", "inap.VariablePart", + FT_UINT32, BASE_DEC, VALS(inap_VariablePart_vals), 0, + NULL, HFILL }}, + { &hf_inap_iPAddressValue, + { "iPAddressValue", "inap.iPAddressValue", + FT_BYTES, BASE_NONE, NULL, 0, + "Digits", HFILL }}, + { &hf_inap_gapOnResource, + { "gapOnResource", "inap.gapOnResource", + FT_UINT32, BASE_DEC, VALS(inap_Code_vals), 0, + NULL, HFILL }}, + { &hf_inap_iPAddressAndresource, + { "iPAddressAndresource", "inap.iPAddressAndresource_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_toneID, + { "toneID", "inap.toneID", + FT_UINT32, BASE_DEC, NULL, 0, + "Integer4", HFILL }}, + { &hf_inap_tone_duration, + { "duration", "inap.tone.duration", + FT_UINT32, BASE_DEC, NULL, 0, + "Integer4", HFILL }}, + { &hf_inap_integer, + { "integer", "inap.integer", + FT_UINT32, BASE_DEC, NULL, 0, + "Integer4", HFILL }}, + { &hf_inap_number, + { "number", "inap.number", + FT_BYTES, BASE_NONE, NULL, 0, + "Digits", HFILL }}, + { &hf_inap_time, + { "time", "inap.time", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_2", HFILL }}, + { &hf_inap_date, + { "date", "inap.date", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_3", HFILL }}, + { &hf_inap_price, + { "price", "inap.price", + FT_BYTES, BASE_NONE, NULL, 0, + "OCTET_STRING_SIZE_4", HFILL }}, + { &hf_inap_disconnectFromIPForbidden, + { "disconnectFromIPForbidden", "inap.disconnectFromIPForbidden", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_requestAnnouncementComplete, + { "requestAnnouncementComplete", "inap.requestAnnouncementComplete", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_connectedParty, + { "connectedParty", "inap.connectedParty", + FT_UINT32, BASE_DEC, VALS(inap_T_connectedParty_vals), 0, + NULL, HFILL }}, + { &hf_inap_collectedInfo, + { "collectedInfo", "inap.collectedInfo", + FT_UINT32, BASE_DEC, VALS(inap_CollectedInfo_vals), 0, + NULL, HFILL }}, + { &hf_inap_digitsResponse, + { "digitsResponse", "inap.digitsResponse", + FT_BYTES, BASE_NONE, NULL, 0, + "Digits", HFILL }}, + { &hf_inap_iA5Response, + { "iA5Response", "inap.iA5Response", + FT_STRING, BASE_NONE, NULL, 0, + "IA5String", HFILL }}, + { &hf_inap_modemdetected, + { "modemdetected", "inap.modemdetected", + FT_BOOLEAN, BASE_NONE, NULL, 0, + "BOOLEAN", HFILL }}, + { &hf_inap_subscriberID, + { "subscriberID", "inap.subscriberID", + FT_BYTES, BASE_NONE, NULL, 0, + "GenericNumber", HFILL }}, + { &hf_inap_mailBoxID, + { "mailBoxID", "inap.mailBoxID", + FT_BYTES, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_informationToRecord, + { "informationToRecord", "inap.informationToRecord_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_media, + { "media", "inap.media", + FT_UINT32, BASE_DEC, VALS(inap_Media_vals), 0, + NULL, HFILL }}, + { &hf_inap_receivedStatus, + { "receivedStatus", "inap.receivedStatus", + FT_UINT32, BASE_DEC, VALS(inap_ReceivedStatus_vals), 0, + NULL, HFILL }}, + { &hf_inap_recordedMessageID, + { "recordedMessageID", "inap.recordedMessageID", + FT_UINT32, BASE_DEC, NULL, 0, + NULL, HFILL }}, + { &hf_inap_recordedMessageUnits, + { "recordedMessageUnits", "inap.recordedMessageUnits", + FT_UINT32, BASE_DEC, NULL, 0, + "INTEGER_1_b3__maxRecordedMessageUnits", HFILL }}, + { &hf_inap_uIScriptId, + { "uIScriptId", "inap.uIScriptId", + FT_UINT32, BASE_DEC, VALS(inap_Code_vals), 0, + "Code", HFILL }}, + { &hf_inap_uIScriptSpecificInfo, + { "uIScriptSpecificInfo", "inap.uIScriptSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_uIScriptResult, + { "uIScriptResult", "inap.uIScriptResult_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_uIScriptSpecificInfo_01, + { "uIScriptSpecificInfo", "inap.uIScriptSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_uIScriptSpecificInfo_01", HFILL }}, + { &hf_inap_uIScriptSpecificInfo_02, + { "uIScriptSpecificInfo", "inap.uIScriptSpecificInfo_element", + FT_NONE, BASE_NONE, NULL, 0, + "T_uIScriptSpecificInfo_02", HFILL }}, + { &hf_inap_sRFgapCriteria, + { "sRFgapCriteria", "inap.sRFgapCriteria", + FT_UINT32, BASE_DEC, VALS(inap_SRFGapCriteria_vals), 0, + NULL, HFILL }}, + { &hf_inap_problem, + { "problem", "inap.problem", + FT_UINT32, BASE_DEC, VALS(inap_T_problem_vals), 0, + NULL, HFILL }}, + { &hf_inap_operation, + { "operation", "inap.operation", + FT_INT32, BASE_DEC, NULL, 0, + "InvokeID", HFILL }}, + { &hf_inap_scfTaskRefusedParameter_reason, + { "reason", "inap.scfTaskRefusedParameter.reason", + FT_UINT32, BASE_DEC, VALS(inap_T_scfTaskRefusedParameter_reason_vals), 0, + "T_scfTaskRefusedParameter_reason", HFILL }}, + { &hf_inap_securityParameters, + { "securityParameters", "inap.securityParameters_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_tryhere, + { "tryhere", "inap.tryhere_element", + FT_NONE, BASE_NONE, NULL, 0, + "AccessPointInformation", HFILL }}, + { &hf_inap_code_local, + { "local", "inap.code.local", + FT_INT32, BASE_DEC, NULL, 0, + "T_code_local", HFILL }}, + { &hf_inap_global_01, + { "global", "inap.global", + FT_OID, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_invoke, + { "invoke", "inap.invoke_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_returnResult, + { "returnResult", "inap.returnResult_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_returnError, + { "returnError", "inap.returnError_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_reject, + { "reject", "inap.reject_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_invokeId, + { "invokeId", "inap.invokeId", + FT_UINT32, BASE_DEC, VALS(inap_InvokeId_vals), 0, + NULL, HFILL }}, + { &hf_inap_linkedId, + { "linkedId", "inap.linkedId", + FT_UINT32, BASE_DEC, VALS(inap_T_linkedId_vals), 0, + NULL, HFILL }}, + { &hf_inap_inkedIdPresent, + { "present", "inap.present", + FT_INT32, BASE_DEC, NULL, 0, + "T_inkedIdPresent", HFILL }}, + { &hf_inap_absent, + { "absent", "inap.absent_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_opcode, + { "opcode", "inap.opcode", + FT_UINT32, BASE_DEC, VALS(inap_Code_vals), 0, + "Code", HFILL }}, + { &hf_inap_argument, + { "argument", "inap.argument_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_result, + { "result", "inap.result_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_resultArgument, + { "result", "inap.result_element", + FT_NONE, BASE_NONE, NULL, 0, + "ResultArgument", HFILL }}, + { &hf_inap_errcode, + { "errcode", "inap.errcode", + FT_UINT32, BASE_DEC, VALS(inap_Code_vals), 0, + "Code", HFILL }}, + { &hf_inap_parameter, + { "parameter", "inap.parameter_element", + FT_NONE, BASE_NONE, NULL, 0, + NULL, HFILL }}, + { &hf_inap_problem_01, + { "problem", "inap.problem", + FT_UINT32, BASE_DEC, VALS(inap_T_problem_01_vals), 0, + "T_problem_01", HFILL }}, + { &hf_inap_general, + { "general", "inap.general", + FT_INT32, BASE_DEC, VALS(inap_GeneralProblem_vals), 0, + "GeneralProblem", HFILL }}, + { &hf_inap_invokeProblem, + { "invoke", "inap.invoke", + FT_INT32, BASE_DEC, VALS(inap_InvokeProblem_vals), 0, + "InvokeProblem", HFILL }}, + { &hf_inap_problemReturnResult, + { "returnResult", "inap.returnResult", + FT_INT32, BASE_DEC, VALS(inap_ReturnResultProblem_vals), 0, + "ReturnResultProblem", HFILL }}, + { &hf_inap_returnErrorProblem, + { "returnError", "inap.returnError", + FT_INT32, BASE_DEC, VALS(inap_ReturnErrorProblem_vals), 0, + "ReturnErrorProblem", HFILL }}, + { &hf_inap_present, + { "present", "inap.present", + FT_INT32, BASE_DEC, NULL, 0, + "INTEGER", HFILL }}, + { &hf_inap_InvokeId_present, + { "InvokeId.present", "inap.InvokeId_present", + FT_INT32, BASE_DEC, NULL, 0, + "InvokeId_present", HFILL }}, + }; + + + + + + + /* List of subtrees */ + static gint *ett[] = { + &ett_inap, + &ett_inapisup_parameter, + &ett_inap_RedirectionInformation, + &ett_inap_HighLayerCompatibility, + &ett_inap_extension_data, + &ett_inap_cause, + &ett_inap_calledAddressValue, + &ett_inap_callingAddressValue, + &ett_inap_additionalCallingPartyNumber, + &ett_inap_assistingSSPIPRoutingAddress, + &ett_inap_correlationID, + &ett_inap_number, + &ett_inap_dialledNumber, + &ett_inap_callingLineID, + &ett_inap_iNServiceControlCode, + &ett_inap_iNServiceControlCodeLow, + &ett_inap_iNServiceControlCodeHigh, + &ett_inap_lineID, + &ett_inap_prefix, + &ett_inap_iPAddressValue, + &ett_inap_digitsResponse, + &ett_inap_Extensions, + &ett_inap_ExtensionField, + &ett_inap_AlternativeIdentities, + &ett_inap_AlternativeIdentity, + &ett_inap_BackwardServiceInteractionInd, + &ett_inap_BasicGapCriteria, + &ett_inap_T_calledAddressAndService, + &ett_inap_T_callingAddressAndService, + &ett_inap_BCSMEvent, + &ett_inap_BearerCapability, + &ett_inap_BISDNParameters, + &ett_inap_ChargingEvent, + &ett_inap_Component, + &ett_inap_CompoundCriteria, + &ett_inap_CounterAndValue, + &ett_inap_CountersValue, + &ett_inap_DefaultFaultHandling, + &ett_inap_DestinationRoutingAddress, + &ett_inap_DpSpecificCommonParameters, + &ett_inap_DpSpecificCriteria, + &ett_inap_T_numberOfDigitsTwo, + &ett_inap_Entry, + &ett_inap_EventSpecificInformationBCSM, + &ett_inap_T_collectedInfoSpecificInfo, + &ett_inap_T_analysedInfoSpecificInfo, + &ett_inap_T_routeSelectFailureSpecificInfo, + &ett_inap_T_oCalledPartyBusySpecificInfo, + &ett_inap_T_oNoAnswerSpecificInfo, + &ett_inap_T_oAnswerSpecificInfo, + &ett_inap_T_oMidCallSpecificInfo, + &ett_inap_T_oDisconnectSpecificInfo, + &ett_inap_T_tBusySpecificInfo, + &ett_inap_T_tNoAnswerSpecificInfo, + &ett_inap_T_tAnswerSpecificInfo, + &ett_inap_T_tMidCallSpecificInfo, + &ett_inap_T_tDisconnectSpecificInfo, + &ett_inap_T_oTermSeizedSpecificInfo, + &ett_inap_T_oSuspend, + &ett_inap_T_tSuspend, + &ett_inap_T_origAttemptAuthorized, + &ett_inap_T_oReAnswer, + &ett_inap_T_tReAnswer, + &ett_inap_T_facilitySelectedAndAvailable, + &ett_inap_T_callAccepted, + &ett_inap_T_oAbandon, + &ett_inap_T_tAbandon, + &ett_inap_T_authorizeRouteFailure, + &ett_inap_T_terminationAttemptAuthorized, + &ett_inap_T_originationAttemptDenied, + &ett_inap_T_terminationAttemptDenied, + &ett_inap_T_oModifyRequestSpecificInfo, + &ett_inap_T_oModifyResultSpecificInfo, + &ett_inap_T_tModifyRequestSpecificInfo, + &ett_inap_T_tModifyResultSpecificInfo, + &ett_inap_FacilityGroup, + &ett_inap_FilteredCallTreatment, + &ett_inap_FilteringCharacteristics, + &ett_inap_FilteringCriteria, + &ett_inap_T_addressAndService, + &ett_inap_FilteringTimeOut, + &ett_inap_ForwardServiceInteractionInd, + &ett_inap_GapCriteria, + &ett_inap_GapOnService, + &ett_inap_GapIndicators, + &ett_inap_GapTreatment, + &ett_inap_T_both, + &ett_inap_GenericNumbers, + &ett_inap_INprofile, + &ett_inap_INServiceCompatibilityIndication, + &ett_inap_IPRelatedInformation, + &ett_inap_LegID, + &ett_inap_MidCallControlInfo, + &ett_inap_MidCallControlInfo_item, + &ett_inap_MidCallInfo, + &ett_inap_MidCallInfoType, + &ett_inap_MiscCallInfo, + &ett_inap_MonitoringCriteria, + &ett_inap_MonitoringTimeOut, + &ett_inap_ProfileIdentifier, + &ett_inap_RequestedInformationList, + &ett_inap_RequestedInformationTypeList, + &ett_inap_RequestedInformation, + &ett_inap_RequestedInformationValue, + &ett_inap_RequestedUTSI, + &ett_inap_RequestedUTSIList, + &ett_inap_ResourceID, + &ett_inap_RouteCountersValue, + &ett_inap_RouteCountersAndValue, + &ett_inap_RouteList, + &ett_inap_ServiceAddressInformation, + &ett_inap_ServiceInteractionIndicatorsTwo, + &ett_inap_T_redirectServiceTreatmentInd, + &ett_inap_TDPIdentifier, + &ett_inap_TriggerData, + &ett_inap_TriggerDataIdentifier, + &ett_inap_TriggerResults, + &ett_inap_TriggerResult, + &ett_inap_Triggers, + &ett_inap_Trigger, + &ett_inap_USIServiceIndicator, + &ett_inap_ActivateServiceFilteringArg, + &ett_inap_AnalysedInformationArg, + &ett_inap_AnalyseInformationArg, + &ett_inap_ApplyChargingArg, + &ett_inap_AssistRequestInstructionsArg, + &ett_inap_AuthorizeTerminationArg, + &ett_inap_CallFilteringArg, + &ett_inap_CallGapArg, + &ett_inap_CallInformationReportArg, + &ett_inap_CallInformationRequestArg, + &ett_inap_CancelArg, + &ett_inap_T_callSegmentToCancel, + &ett_inap_CancelStatusReportRequestArg, + &ett_inap_CollectedInformationArg, + &ett_inap_CollectInformationArg, + &ett_inap_ConnectArg, + &ett_inap_ConnectToResourceArg, + &ett_inap_T_resourceAddress, + &ett_inap_T_ipAddressAndLegID, + &ett_inap_T_ipAddressAndCallSegment, + &ett_inap_ContinueWithArgumentArg, + &ett_inap_T_legorCSID, + &ett_inap_CreateCallSegmentAssociationArg, + &ett_inap_CreateCallSegmentAssociationResultArg, + &ett_inap_CreateOrRemoveTriggerDataArg, + &ett_inap_CreateOrRemoveTriggerDataResultArg, + &ett_inap_DisconnectForwardConnectionWithArgumentArg, + &ett_inap_T_partyToDisconnect, + &ett_inap_DisconnectLegArg, + &ett_inap_EntityReleasedArg, + &ett_inap_T_cSFailure, + &ett_inap_T_bCSMFailure, + &ett_inap_EstablishTemporaryConnectionArg, + &ett_inap_T_partyToConnect, + &ett_inap_EventNotificationChargingArg, + &ett_inap_EventReportBCSMArg, + &ett_inap_EventReportFacilityArg, + &ett_inap_FacilitySelectedAndAvailableArg, + &ett_inap_HoldCallInNetworkArg, + &ett_inap_InitialDPArg, + &ett_inap_InitiateCallAttemptArg, + &ett_inap_ManageTriggerDataArg, + &ett_inap_T_triggerDataIdentifier, + &ett_inap_ManageTriggerDataResultArg, + &ett_inap_T_oneTriggerResult, + &ett_inap_T_severalTriggerResult, + &ett_inap_MergeCallSegmentsArg, + &ett_inap_MonitorRouteReportArg, + &ett_inap_MonitorRouteRequestArg, + &ett_inap_MoveCallSegmentsArg, + &ett_inap_T_callSegments, + &ett_inap_T_callSegments_item, + &ett_inap_T_legs, + &ett_inap_T_legs_item, + &ett_inap_MoveLegArg, + &ett_inap_OAbandonArg, + &ett_inap_OAnswerArg, + &ett_inap_OCalledPartyBusyArg, + &ett_inap_ODisconnectArg, + &ett_inap_MidCallArg, + &ett_inap_ONoAnswerArg, + &ett_inap_OriginationAttemptArg, + &ett_inap_OriginationAttemptAuthorizedArg, + &ett_inap_OSuspendedArg, + &ett_inap_ReconnectArg, + &ett_inap_ReleaseCallArg, + &ett_inap_T_callSegmentToRelease, + &ett_inap_T_allCallSegments, + &ett_inap_ReportUTSIArg, + &ett_inap_RequestCurrentStatusReportResultArg, + &ett_inap_RequestEveryStatusChangeReportArg, + &ett_inap_RequestFirstStatusMatchReportArg, + &ett_inap_RequestNotificationChargingEventArg, + &ett_inap_RequestReportBCSMEventArg, + &ett_inap_SEQUENCE_SIZE_1_numOfBCSMEvents_OF_BCSMEvent, + &ett_inap_RequestReportFacilityEventArg, + &ett_inap_SEQUENCE_SIZE_1_3_OF_ComponentType, + &ett_inap_RequestReportUTSIArg, + &ett_inap_ResetTimerArg, + &ett_inap_RouteSelectFailureArg, + &ett_inap_SelectFacilityArg, + &ett_inap_SelectRouteArg, + &ett_inap_SendChargingInformationArg, + &ett_inap_SendFacilityInformationArg, + &ett_inap_SendSTUIArg, + &ett_inap_ServiceFilteringResponseArg, + &ett_inap_SetServiceProfileArg, + &ett_inap_SEQUENCE_SIZE_1_numOfINProfile_OF_INprofile, + &ett_inap_SplitLegArg, + &ett_inap_StatusReportArg, + &ett_inap_TAnswerArg, + &ett_inap_TBusyArg, + &ett_inap_TDisconnectArg, + &ett_inap_TermAttemptAuthorizedArg, + &ett_inap_TerminationAttemptArg, + &ett_inap_TNoAnswerArg, + &ett_inap_TSuspendedArg, + &ett_inap_CollectedDigits, + &ett_inap_CollectedInfo, + &ett_inap_InbandInfo, + &ett_inap_InformationToRecord, + &ett_inap_T_controlDigits, + &ett_inap_InformationToSend, + &ett_inap_MessageID, + &ett_inap_T_text, + &ett_inap_SEQUENCE_SIZE_1_b3__numOfMessageIDs_OF_Integer4, + &ett_inap_T_variableMessage, + &ett_inap_SEQUENCE_SIZE_1_b3__maxVariableParts_OF_VariablePart, + &ett_inap_SRFGapCriteria, + &ett_inap_T_iPAddressAndresource, + &ett_inap_Tone, + &ett_inap_VariablePart, + &ett_inap_PlayAnnouncementArg, + &ett_inap_T_connectedParty, + &ett_inap_PromptAndCollectUserInformationArg, + &ett_inap_ReceivedInformationArg, + &ett_inap_PromptAndReceiveMessageArg, + &ett_inap_MessageReceivedArg, + &ett_inap_ScriptCloseArg, + &ett_inap_ScriptEventArg, + &ett_inap_ScriptInformationArg, + &ett_inap_ScriptRunArg, + &ett_inap_SRFCallGapArg, + &ett_inap_PAR_cancelFailed, + &ett_inap_ScfTaskRefusedParameter, + &ett_inap_ReferralParameter, + &ett_inap_Code, + &ett_inap_ROS, + &ett_inap_Invoke, + &ett_inap_T_linkedId, + &ett_inap_ReturnResult, + &ett_inap_T_result, + &ett_inap_ReturnError, + &ett_inap_Reject, + &ett_inap_T_problem_01, + &ett_inap_InvokeId, + }; + + static ei_register_info ei[] = { + { &ei_inap_unknown_invokeData, { "inap.unknown.invokeData", PI_MALFORMED, PI_WARN, "Unknown invokeData", EXPFILL }}, + { &ei_inap_unknown_returnResultData, { "inap.unknown.returnResultData", PI_MALFORMED, PI_WARN, "Unknown returnResultData", EXPFILL }}, + { &ei_inap_unknown_returnErrorData, { "inap.unknown.returnErrorData", PI_MALFORMED, PI_WARN, "Unknown returnResultData", EXPFILL }}, + }; + + expert_module_t* expert_inap; + + /* Register protocol */ + proto_inap = proto_register_protocol(PNAME, PSNAME, PFNAME); + inap_handle = register_dissector("inap", dissect_inap, proto_inap); + /* Register fields and subtrees */ + proto_register_field_array(proto_inap, hf, array_length(hf)); + proto_register_subtree_array(ett, array_length(ett)); + expert_inap = expert_register_protocol(proto_inap); + expert_register_field_array(expert_inap, ei, array_length(ei)); + + register_ber_oid_dissector("0.4.0.1.1.1.0.0", dissect_inap, proto_inap, "cs1-ssp-to-scp"); + + /* Set default SSNs */ + range_convert_str(wmem_epan_scope(), &global_ssn_range, "106,241", MAX_SSN); + + inap_module = prefs_register_protocol(proto_inap, proto_reg_handoff_inap); + + prefs_register_obsolete_preference(inap_module, "tcap.itu_ssn"); + + prefs_register_obsolete_preference(inap_module, "tcap.itu_ssn1"); + + prefs_register_range_preference(inap_module, "ssn", "TCAP SSNs", + "TCAP Subsystem numbers used for INAP", + &global_ssn_range, MAX_SSN); +} + +/* + * Editor modelines + * + * Local Variables: + * c-basic-offset: 2 + * tab-width: 8 + * indent-tabs-mode: nil + * End: + * + * ex: set shiftwidth=2 tabstop=8 expandtab: + * :indentSize=2:tabSize=8:noTabs=true: + */ |