diff options
author | Anders Broman <anders.broman@ericsson.com> | 2005-01-21 22:46:14 +0000 |
---|---|---|
committer | Anders Broman <anders.broman@ericsson.com> | 2005-01-21 22:46:14 +0000 |
commit | f9021bcb6a251c521adcddbccc14d87b318f46a9 (patch) | |
tree | c00f47b792df08490ad609c7ecf6b22f803dc0c7 /epan | |
parent | 92691ce697b8d157a73617fbac6757eb3209a0f1 (diff) | |
download | wireshark-f9021bcb6a251c521adcddbccc14d87b318f46a9.tar.gz wireshark-f9021bcb6a251c521adcddbccc14d87b318f46a9.tar.bz2 wireshark-f9021bcb6a251c521adcddbccc14d87b318f46a9.zip |
Handle some more op codes.
svn path=/trunk/; revision=13159
Diffstat (limited to 'epan')
-rw-r--r-- | epan/dissectors/packet-h450.c | 3142 | ||||
-rw-r--r-- | epan/dissectors/packet-h450.h | 2 |
2 files changed, 2953 insertions, 191 deletions
diff --git a/epan/dissectors/packet-h450.c b/epan/dissectors/packet-h450.c index 00d2c9399c..43625bfae8 100644 --- a/epan/dissectors/packet-h450.c +++ b/epan/dissectors/packet-h450.c @@ -1,6 +1,6 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Ethereal dissector compiler */ -/* ./packet-h450.c */ +/* .\packet-h450.c */ /* ../../tools/asn2eth.py -X -e -p h450 -c h450.cnf -s packet-h450-template h4501.asn */ /* Input file: packet-h450-template.c */ @@ -131,6 +131,10 @@ #define CallIntrusionSilentMonitor 116 #define CallIntrusionNotification 117 +/* H.450.12 Common Information Operations constants */ +#define CmnRequest 84 +#define CmnInform 85 + /* TODO - define other H.450.x constants here */ static dissector_handle_t h4501_handle=NULL; @@ -168,6 +172,17 @@ static int hf_h4502_SubaddressTransferArg = -1; static int hf_h4502_CTCompleteArg = -1; static int hf_h4502_CTActiveArg = -1; +static int hf_h4503ActivateDiversionQArg = -1; +static int hf_h4503DeactivateDiversionQArg = -1; +static int hf_h4503InterrogateDiversionQ = -1; +static int hf_h4503CheckRestrictionArg = -1; +static int hf_h4503CallReroutingArg = -1; +static int hf_h4503DivertingLegInformation1Arg = -1; +static int hf_h4503DivertingLegInformation2Arg = -1; +static int hf_h4503DivertingLegInformation3Arg = -1; +static int hf_h4503DivertingLegInformation4Arg = -1; +static int hf_h4503CfnrDivertedLegFailedArg = -1; + static int hf_h4504_HoldNotificArg = -1; static int hf_h4504_RetrieveNotificArg = -1; static int hf_h4504_RemoteHoldArg = -1; @@ -203,7 +218,7 @@ static int hf_h450_anyEntity = -1; /* NULL */ static int hf_h450_discardAnyUnrecognizedInvokePdu = -1; /* NULL */ static int hf_h450_clearCallIfAnyInvokePduNotRecognized = -1; /* NULL */ static int hf_h450_rejectAnyUnrecognizedInvokePdu = -1; /* NULL */ -static int hf_h450_rosApdus = -1; /* SEQUNCE_OF_ROSxxx */ +static int hf_h450_rosApdus = -1; /* SEQUENCE_OF_ROSxxx */ static int hf_h450_rosApdus_item = -1; /* ROSxxx */ static int hf_h450_addressScreened_presentationAllowedAddress = -1; /* AddressScreened */ static int hf_h450_presentationRestricted = -1; /* NULL */ @@ -218,7 +233,7 @@ static int hf_h450_numberUnscreened_presentationRestrictedAddress = -1; /* Part static int hf_h450_partyNumber = -1; /* PartyNumber */ static int hf_h450_screeningIndicator = -1; /* ScreeningIndicator */ static int hf_h450_partySubaddress = -1; /* PartySubaddress */ -static int hf_h450_destinationAddress = -1; /* SEQUNCE_OF_AliasAddress */ +static int hf_h450_destinationAddress = -1; /* SEQUENCE_OF_AliasAddress */ static int hf_h450_destinationAddress_item = -1; /* AliasAddress */ static int hf_h450_remoteExtensionAddress = -1; /* AliasAddress */ static int hf_h450_destinationAddressPresentationIndicator = -1; /* PresentationIndicator */ @@ -233,45 +248,191 @@ static int hf_h450_extensionSeq = -1; /* ExtensionSeq */ static int hf_h450_nonStandardData = -1; /* NonStandardParameter */ static int hf_h450_callIdentity = -1; /* CallIdentity */ static int hf_h450_reroutingNumber = -1; /* EndpointAddress */ -static int hf_h450_argumentExtension = -1; /* ArgumentExtension */ +static int hf_h450_cTInitiateArg_argumentExtension = -1; /* ArgumentExtension */ static int hf_h450_transferringNumber = -1; /* EndpointAddress */ +static int hf_h450_cTSetupArg_argumentExtension = -1; /* ArgumentExtension */ static int hf_h450_resultExtension = -1; /* T_resultExtension */ static int hf_h450_redirectionNumber = -1; /* EndpointAddress */ static int hf_h450_redirectionInfo = -1; /* BMPString_SIZE_1_128 */ static int hf_h450_basicCallInfoElements = -1; /* H225InformationElement */ +static int hf_h450_cTUpdateArg_argumentExtension = -1; /* ArgumentExtension */ static int hf_h450_redirectionSubaddress = -1; /* PartySubaddress */ +static int hf_h450_subaddressTransferArg_argumentExtension = -1; /* ArgumentExtension */ static int hf_h450_endDesignation = -1; /* EndDesignation */ static int hf_h450_callStatus = -1; /* CallStatus */ +static int hf_h450_cTCompleteArg_argumentExtension = -1; /* ArgumentExtension */ static int hf_h450_connectedAddress = -1; /* EndpointAddress */ static int hf_h450_connectedInfo = -1; /* BMPString_SIZE_1_128 */ -static int hf_h450_ExtensionSeq_item = -1; /* Extensionxxx */ -static int hf_h450_extensionArg = -1; /* ExtensionArg */ -static int hf_h450_ExtensionArg_item = -1; /* MixedExtension */ -static int hf_h450_extensionRes = -1; /* SEQUNCE_SIZE_0_255_OF_MixedExtension */ -static int hf_h450_extensionRes_item = -1; /* MixedExtension */ -static int hf_h450_extension = -1; /* Extensionxxx */ -static int hf_h450_servedUserNr = -1; /* EndpointAddress */ +static int hf_h450_cTActiveArg_argumentExtension = -1; /* ArgumentExtension */ +static int hf_h450_ExtensionSeq_item = -1; /* Extension */ +static int hf_h450_procedure = -1; /* Procedure */ static int hf_h450_basicService = -1; /* BasicService */ +static int hf_h450_divertedToAddress = -1; /* EndpointAddress */ +static int hf_h450_servedUserNr = -1; /* EndpointAddress */ +static int hf_h450_activatingUserNr = -1; /* EndpointAddress */ +static int hf_h450_activateDiversionQArg_extension = -1; /* ActivateDiversionQArg_extension */ +static int hf_h450_deactivatingUserNr = -1; /* EndpointAddress */ +static int hf_h450_deactivateDiversionQArg_extension = -1; /* DeactivateDiversionQArg_extension */ +static int hf_h450_interrogatingUserNr = -1; /* EndpointAddress */ +static int hf_h450_interrogateDiversionQ_extension = -1; /* InterrogateDiversionQ_extension */ +static int hf_h450_divertedToNr = -1; /* EndpointAddress */ +static int hf_h450_checkRestrictionArg_extension = -1; /* CheckRestrictionArg_extension */ +static int hf_h450_reroutingReason = -1; /* DiversionReason */ +static int hf_h450_originalReroutingReason = -1; /* DiversionReason */ +static int hf_h450_calledAddress = -1; /* EndpointAddress */ +static int hf_h450_diversionCounter = -1; /* INTEGER_1_15 */ +static int hf_h450_h225InfoElement = -1; /* H225InformationElement */ +static int hf_h450_lastReroutingNr = -1; /* EndpointAddress */ +static int hf_h450_subscriptionOption = -1; /* SubscriptionOption */ +static int hf_h450_callingPartySubaddress = -1; /* PartySubaddress */ +static int hf_h450_callingNumber = -1; /* EndpointAddress */ +static int hf_h450_callingInfo = -1; /* BMPString_SIZE_1_128 */ +static int hf_h450_originalCalledNr = -1; /* EndpointAddress */ +static int hf_h450_redirectingInfo = -1; /* BMPString_SIZE_1_128 */ +static int hf_h450_originalCalledInfo = -1; /* BMPString_SIZE_1_128 */ +static int hf_h450_callReroutingArg_extension = -1; /* CallReroutingArg_extension */ +static int hf_h450_diversionReason = -1; /* DiversionReason */ +static int hf_h450_nominatedNr = -1; /* EndpointAddress */ +static int hf_h450_nominatedInfo = -1; /* BMPString_SIZE_1_128 */ +static int hf_h450_redirectingNr = -1; /* EndpointAddress */ +static int hf_h450_divertingLegInformation1Arg_extension = -1; /* DivertingLegInformation1Arg_extension */ +static int hf_h450_originalDiversionReason = -1; /* DiversionReason */ +static int hf_h450_divertingNr = -1; /* EndpointAddress */ +static int hf_h450_extension = -1; /* DivertingLegInformation2Arg_extension */ +static int hf_h450_presentationAllowedIndicator = -1; /* PresentationAllowedIndicator */ +static int hf_h450_redirectionNr = -1; /* EndpointAddress */ +static int hf_h450_divertingLegInformation3Arg_extension = -1; /* DivertingLegInformation3Arg_extension */ +static int hf_h450_callingNr = -1; /* EndpointAddress */ +static int hf_h450_divertingLegInformation4Arg_extension = -1; /* DivertingLegInformation4Arg_extension */ +static int hf_h450_IntResultList_item = -1; /* IntResult */ +static int hf_h450_remoteEnabled = -1; /* BOOLEAN */ +static int hf_h450_intResult_extension = -1; /* IntResult_extension */ +static int hf_h450_holdNotificArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_extensionArg_item = -1; /* MixedExtension */ +static int hf_h450_retrieveNotificArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_remoteHoldArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_extensionRes = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_extensionRes_item = -1; /* MixedExtension */ +static int hf_h450_remoteRetrieveArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_mixedExtension_extension = -1; /* Extension */ +static int hf_h450_parkingNumber = -1; /* EndpointAddress */ +static int hf_h450_parkedNumber = -1; /* EndpointAddress */ +static int hf_h450_parkedToNumber = -1; /* EndpointAddress */ +static int hf_h450_parkedToPosition = -1; /* ParkedToPosition */ +static int hf_h450_cpRequestArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_parkCondition = -1; /* ParkCondition */ +static int hf_h450_cpSetupArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_callPickupId = -1; /* CallIdentifier */ +static int hf_h450_groupMemberUserNr = -1; /* EndpointAddress */ +static int hf_h450_retrieveCallType = -1; /* CallType */ +static int hf_h450_partyToRetrieve = -1; /* EndpointAddress */ +static int hf_h450_retrieveAddress = -1; /* EndpointAddress */ +static int hf_h450_parkPosition = -1; /* ParkedToPosition */ +static int hf_h450_groupIndicationOnArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_groupIndicationOffArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_picking_upNumber = -1; /* EndpointAddress */ +static int hf_h450_pickrequArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_pickupArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_pickExeArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_cpNotifyArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_cpickupNotifyArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_nbOfAddWaitingCalls = -1; /* INTEGER_0_255 */ +static int hf_h450_callWaitingArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ static int hf_h450_msgCentreId = -1; /* MsgCentreId */ static int hf_h450_nbOfMessages = -1; /* NbOfMessages */ static int hf_h450_originatingNr = -1; /* EndpointAddress */ static int hf_h450_timestamp = -1; /* TimeStamp */ static int hf_h450_priority = -1; /* INTEGER_0_9 */ +static int hf_h450_mWIActivateArg_extensionArg = -1; /* ExtensionArg */ static int hf_h450_MwiDummyRes_item = -1; /* MixedExtension */ static int hf_h450_callbackReq = -1; /* BOOLEAN */ +static int hf_h450_mWIDeactivateArg_extensionArg = -1; /* ExtensionArg */ +static int hf_h450_mWIInterrogateArg_extensionArg = -1; /* ExtensionArg */ static int hf_h450_MWIInterrogateRes_item = -1; /* MWIInterrogateResElt */ +static int hf_h450_mWIInterrogateResElt_extensionArg = -1; /* ExtensionArg */ static int hf_h450_integer = -1; /* INTEGER_0_65535 */ static int hf_h450_mwipartyNumber = -1; /* EndpointAddress */ static int hf_h450_numericString = -1; /* NumericString_SIZE_1_10 */ +static int hf_h450_ExtensionArg_item = -1; /* MixedExtension */ static int hf_h450_name = -1; /* Name */ +static int hf_h450_nameArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ static int hf_h450_namePresentationAllowed = -1; /* NamePresentationAllowed */ static int hf_h450_namePresentationRestricted = -1; /* NamePresentationRestricted */ static int hf_h450_nameNotAvailable = -1; /* NULL */ static int hf_h450_simpleName = -1; /* SimpleName */ static int hf_h450_extendedName = -1; /* ExtendedName */ static int hf_h450_restrictedNull = -1; /* NULL */ -static int hf_h450_extension1 = -1; /* Extension */ +static int hf_h450_numberA = -1; /* EndpointAddress */ +static int hf_h450_numberB = -1; /* EndpointAddress */ +static int hf_h450_ccIdentifier = -1; /* CallIdentifier */ +static int hf_h450_service = -1; /* BasicService */ +static int hf_h450_can_retain_service = -1; /* BOOLEAN */ +static int hf_h450_retain_sig_connection = -1; /* BOOLEAN */ +static int hf_h450_ccRequestArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_extension_item = -1; /* MixedExtension */ +static int hf_h450_retain_service = -1; /* BOOLEAN */ +static int hf_h450_ccRequestRes_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_shortArg = -1; /* CcShortArg */ +static int hf_h450_longArg = -1; /* CcLongArg */ +static int hf_h450_ccShortArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_ccLongArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_coReqOptArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_rUAlertOptArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_cfbOvrOptArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_ciCapabilityLevel = -1; /* CICapabilityLevel */ +static int hf_h450_cIRequestArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_argumentExtension_item = -1; /* MixedExtension */ +static int hf_h450_ciStatusInformation = -1; /* CIStatusInformation */ +static int hf_h450_cIRequestRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_resultExtension_item = -1; /* MixedExtension */ +static int hf_h450_cIGetCIPLOptArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_ciProtectionLevel = -1; /* CIProtectionLevel */ +static int hf_h450_silentMonitoringPermitted = -1; /* NULL */ +static int hf_h450_cIGetCIPLRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_cIIsOptArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_cIIsOptRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_cIFrcRelArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_cIFrcRelOptRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_cIWobOptArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_cIWobOptRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_specificCall = -1; /* CallIdentifier */ +static int hf_h450_cISilentArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_cISilentOptRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_cINotificationArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_callIntrusionImpending = -1; /* NULL */ +static int hf_h450_callIntruded = -1; /* NULL */ +static int hf_h450_callIsolated = -1; /* NULL */ +static int hf_h450_callForceReleased = -1; /* NULL */ +static int hf_h450_callIntrusionComplete = -1; /* NULL */ +static int hf_h450_callIntrusionEnd = -1; /* NULL */ +static int hf_h450_featureList = -1; /* FeatureList */ +static int hf_h450_featureValues = -1; /* FeatureValues */ +static int hf_h450_featureControl = -1; /* FeatureControl */ +static int hf_h450_cmnArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_cmnRequestArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */ +static int hf_h450_ssCFreRoutingSupported = -1; /* NULL */ +static int hf_h450_ssCTreRoutingSupported = -1; /* NULL */ +static int hf_h450_ssCCBSPossible = -1; /* NULL */ +static int hf_h450_ssCCNRPossible = -1; /* NULL */ +static int hf_h450_ssCOSupported = -1; /* NULL */ +static int hf_h450_ssCIForcedReleaseSupported = -1; /* NULL */ +static int hf_h450_ssCIIsolationSupported = -1; /* NULL */ +static int hf_h450_ssCIWaitOnBusySupported = -1; /* NULL */ +static int hf_h450_ssCISilentMonitoringSupported = -1; /* NULL */ +static int hf_h450_ssCIConferenceSupported = -1; /* NULL */ +static int hf_h450_ssCHFarHoldSupported = -1; /* NULL */ +static int hf_h450_ssMWICallbackSupported = -1; /* NULL */ +static int hf_h450_ssCPCallParkSupported = -1; /* NULL */ +static int hf_h450_partyCategory = -1; /* PartyCategory */ +static int hf_h450_ssCIprotectionLevel = -1; /* SSCIProtectionLevel */ +static int hf_h450_ssCHDoNotHold = -1; /* NULL */ +static int hf_h450_ssCTDoNotTransfer = -1; /* NULL */ +static int hf_h450_ssMWICallbackCall = -1; /* NULL */ +static int hf_h450_ssCISilentMonitorPermitted = -1; /* NULL */ +static int hf_h450_Unspecified_extension = -1; /* Extension */ static int hf_h450_nonStandard = -1; /* NonStandardParameter */ +static int hf_h450_extensionId = -1; /* OBJECT_IDENTIFIER */ +static int hf_h450_extensionArgument = -1; /* ExtensionArgument */ /*--- End of included file: packet-h450-hf.c ---*/ @@ -297,7 +458,7 @@ static gint ett_h450_NetworkFacilityExtension = -1; static gint ett_h450_EntityType = -1; static gint ett_h450_InterpretationApdu = -1; static gint ett_h450_ServiceApdus = -1; -static gint ett_h450_SEQUNCE_OF_ROSxxx = -1; +static gint ett_h450_SEQUENCE_OF_ROSxxx = -1; static gint ett_h450_PresentedAddressScreened = -1; static gint ett_h450_PresentedAddressUnscreened = -1; static gint ett_h450_PresentedNumberScreened = -1; @@ -306,7 +467,7 @@ static gint ett_h450_AddressScreened = -1; static gint ett_h450_NumberScreened = -1; static gint ett_h450_Address = -1; static gint ett_h450_EndpointAddress = -1; -static gint ett_h450_SEQUNCE_OF_AliasAddress = -1; +static gint ett_h450_SEQUENCE_OF_AliasAddress = -1; static gint ett_h450_PartySubaddress = -1; static gint ett_h450_UserSpecifiedSubaddress = -1; static gint ett_h450_DummyArg = -1; @@ -321,15 +482,57 @@ static gint ett_h450_SubaddressTransferArg = -1; static gint ett_h450_CTCompleteArg = -1; static gint ett_h450_CTActiveArg = -1; static gint ett_h450_ExtensionSeq = -1; +static gint ett_h450_ActivateDiversionQArg = -1; +static gint ett_h450_ActivateDiversionQArg_extension = -1; +static gint ett_h450_ActivateDiversionQRes = -1; +static gint ett_h450_DeactivateDiversionQArg = -1; +static gint ett_h450_DeactivateDiversionQArg_extension = -1; +static gint ett_h450_DeactivateDiversionQRes = -1; +static gint ett_h450_InterrogateDiversionQ = -1; +static gint ett_h450_InterrogateDiversionQ_extension = -1; +static gint ett_h450_CheckRestrictionArg = -1; +static gint ett_h450_CheckRestrictionArg_extension = -1; +static gint ett_h450_CheckRestrictionRes = -1; +static gint ett_h450_CallReroutingArg = -1; +static gint ett_h450_CallReroutingArg_extension = -1; +static gint ett_h450_CallReroutingRes = -1; +static gint ett_h450_DivertingLegInformation1Arg = -1; +static gint ett_h450_DivertingLegInformation1Arg_extension = -1; +static gint ett_h450_DivertingLegInformation2Arg = -1; +static gint ett_h450_DivertingLegInformation2Arg_extension = -1; +static gint ett_h450_DivertingLegInformation3Arg = -1; +static gint ett_h450_DivertingLegInformation3Arg_extension = -1; +static gint ett_h450_DivertingLegInformation4Arg = -1; +static gint ett_h450_DivertingLegInformation4Arg_extension = -1; +static gint ett_h450_CfnrDivertedLegFailedArg = -1; +static gint ett_h450_IntResultList = -1; +static gint ett_h450_IntResult = -1; +static gint ett_h450_IntResult_extension = -1; static gint ett_h450_HoldNotificArg = -1; -static gint ett_h450_ExtensionArg = -1; +static gint ett_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension = -1; static gint ett_h450_RetrieveNotificArg = -1; static gint ett_h450_RemoteHoldArg = -1; static gint ett_h450_RemoteHoldRes = -1; -static gint ett_h450_SEQUNCE_SIZE_0_255_OF_MixedExtension = -1; static gint ett_h450_RemoteRetrieveArg = -1; static gint ett_h450_RemoteRetrieveRes = -1; static gint ett_h450_MixedExtension = -1; +static gint ett_h450_CpRequestArg = -1; +static gint ett_h450_CpRequestRes = -1; +static gint ett_h450_CpSetupArg = -1; +static gint ett_h450_CpSetupRes = -1; +static gint ett_h450_GroupIndicationOnArg = -1; +static gint ett_h450_GroupIndicationOnRes = -1; +static gint ett_h450_GroupIndicationOffArg = -1; +static gint ett_h450_GroupIndicationOffRes = -1; +static gint ett_h450_PickrequArg = -1; +static gint ett_h450_PickrequRes = -1; +static gint ett_h450_PickupArg = -1; +static gint ett_h450_PickupRes = -1; +static gint ett_h450_PickExeArg = -1; +static gint ett_h450_PickExeRes = -1; +static gint ett_h450_CpNotifyArg = -1; +static gint ett_h450_CpickupNotifyArg = -1; +static gint ett_h450_CallWaitingArg = -1; static gint ett_h450_MWIActivateArg = -1; static gint ett_h450_MwiDummyRes = -1; static gint ett_h450_MWIDeactivateArg = -1; @@ -337,14 +540,40 @@ static gint ett_h450_MWIInterrogateArg = -1; static gint ett_h450_MWIInterrogateRes = -1; static gint ett_h450_MWIInterrogateResElt = -1; static gint ett_h450_MsgCentreId = -1; -static gint ett_h450_CallingName = -1; -static gint ett_h450_AlertingName = -1; -static gint ett_h450_ConnectedName = -1; -static gint ett_h450_BusyName = -1; +static gint ett_h450_ExtensionArg = -1; +static gint ett_h450_NameArg = -1; static gint ett_h450_Name = -1; static gint ett_h450_NamePresentationAllowed = -1; static gint ett_h450_NamePresentationRestricted = -1; +static gint ett_h450_CcRequestArg = -1; +static gint ett_h450_CcRequestRes = -1; +static gint ett_h450_CcArg = -1; +static gint ett_h450_CcShortArg = -1; +static gint ett_h450_CcLongArg = -1; +static gint ett_h450_CoReqOptArg = -1; +static gint ett_h450_RUAlertOptArg = -1; +static gint ett_h450_CfbOvrOptArg = -1; +static gint ett_h450_CIRequestArg = -1; +static gint ett_h450_CIRequestRes = -1; +static gint ett_h450_CIGetCIPLOptArg = -1; +static gint ett_h450_CIGetCIPLRes = -1; +static gint ett_h450_CIIsOptArg = -1; +static gint ett_h450_CIIsOptRes = -1; +static gint ett_h450_CIFrcRelArg = -1; +static gint ett_h450_CIFrcRelOptRes = -1; +static gint ett_h450_CIWobOptArg = -1; +static gint ett_h450_CIWobOptRes = -1; +static gint ett_h450_CISilentArg = -1; +static gint ett_h450_CISilentOptRes = -1; +static gint ett_h450_CINotificationArg = -1; +static gint ett_h450_CIStatusInformation = -1; +static gint ett_h450_CmnArg = -1; +static gint ett_h450_CmnRequestArg = -1; +static gint ett_h450_FeatureList = -1; +static gint ett_h450_FeatureValues = -1; +static gint ett_h450_FeatureControl = -1; static gint ett_h450_Unspecified = -1; +static gint ett_h450_Extension = -1; /*--- End of included file: packet-h450-ett.c ---*/ @@ -440,17 +669,6 @@ static const value_string localOpcode_vals[] = { static int dissect_h4501_argument(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree); static int dissect_ros_ROSxxx(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_ind _U_); -static int -dissect_xxx_Extensionxxx(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_id){ - PER_NOT_DECODED_YET("H.450.1 ExtensionSeq"); - return offset; -} - -static int -dissect_xxx_Extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_id){ - PER_NOT_DECODED_YET("H.450.1 ExtensionSeq"); - return offset; -} @@ -494,14 +712,14 @@ static int dissect_remoteExtensionAddressScreeningIndicator(tvbuff_t *tvb, int o static int dissect_nonStandardData(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h225_NonStandardParameter(tvb, offset, pinfo, tree, hf_h450_nonStandardData); } -static int dissect_ExtensionSeq_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_xxx_Extensionxxx(tvb, offset, pinfo, tree, hf_h450_ExtensionSeq_item); +static int dissect_callPickupId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h225_CallIdentifier(tvb, offset, pinfo, tree, hf_h450_callPickupId); } -static int dissect_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_xxx_Extensionxxx(tvb, offset, pinfo, tree, hf_h450_extension); +static int dissect_ccIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h225_CallIdentifier(tvb, offset, pinfo, tree, hf_h450_ccIdentifier); } -static int dissect_extension1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_xxx_Extension(tvb, offset, pinfo, tree, hf_h450_extension1); +static int dissect_specificCall(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h225_CallIdentifier(tvb, offset, pinfo, tree, hf_h450_specificCall); } static int dissect_nonStandard(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h225_NonStandardParameter(tvb, offset, pinfo, tree, hf_h450_nonStandard); @@ -544,6 +762,78 @@ static int dissect_nameNotAvailable(tvbuff_t *tvb, int offset, packet_info *pinf static int dissect_restrictedNull(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_restrictedNull); } +static int dissect_silentMonitoringPermitted(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_silentMonitoringPermitted); +} +static int dissect_callIntrusionImpending(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_callIntrusionImpending); +} +static int dissect_callIntruded(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_callIntruded); +} +static int dissect_callIsolated(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_callIsolated); +} +static int dissect_callForceReleased(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_callForceReleased); +} +static int dissect_callIntrusionComplete(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_callIntrusionComplete); +} +static int dissect_callIntrusionEnd(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_callIntrusionEnd); +} +static int dissect_ssCFreRoutingSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCFreRoutingSupported); +} +static int dissect_ssCTreRoutingSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCTreRoutingSupported); +} +static int dissect_ssCCBSPossible(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCCBSPossible); +} +static int dissect_ssCCNRPossible(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCCNRPossible); +} +static int dissect_ssCOSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCOSupported); +} +static int dissect_ssCIForcedReleaseSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCIForcedReleaseSupported); +} +static int dissect_ssCIIsolationSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCIIsolationSupported); +} +static int dissect_ssCIWaitOnBusySupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCIWaitOnBusySupported); +} +static int dissect_ssCISilentMonitoringSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCISilentMonitoringSupported); +} +static int dissect_ssCIConferenceSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCIConferenceSupported); +} +static int dissect_ssCHFarHoldSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCHFarHoldSupported); +} +static int dissect_ssMWICallbackSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssMWICallbackSupported); +} +static int dissect_ssCPCallParkSupported(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCPCallParkSupported); +} +static int dissect_ssCHDoNotHold(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCHDoNotHold); +} +static int dissect_ssCTDoNotTransfer(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCTDoNotTransfer); +} +static int dissect_ssMWICallbackCall(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssMWICallbackCall); +} +static int dissect_ssCISilentMonitorPermitted(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_NULL(tvb, offset, pinfo, tree, hf_h450_ssCISilentMonitorPermitted); +} static const value_string h450_EntityType_vals[] = { @@ -635,14 +925,14 @@ static int dissect_interpretationApdu(tvbuff_t *tvb, int offset, packet_info *pi static int -dissect_h450_SEQUNCE_OF_ROSxxx(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_SEQUENCE_OF_ROSxxx(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_index, - ett_h450_SEQUNCE_OF_ROSxxx, dissect_rosApdus_item); + ett_h450_SEQUENCE_OF_ROSxxx, dissect_rosApdus_item); return offset; } static int dissect_rosApdus(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_h450_SEQUNCE_OF_ROSxxx(tvb, offset, pinfo, tree, hf_h450_rosApdus); + return dissect_h450_SEQUENCE_OF_ROSxxx(tvb, offset, pinfo, tree, hf_h450_rosApdus); } @@ -717,9 +1007,21 @@ dissect_h450_BOOLEAN(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tr static int dissect_oddCountIndicator(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h450_BOOLEAN(tvb, offset, pinfo, tree, hf_h450_oddCountIndicator); } +static int dissect_remoteEnabled(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_BOOLEAN(tvb, offset, pinfo, tree, hf_h450_remoteEnabled); +} static int dissect_callbackReq(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h450_BOOLEAN(tvb, offset, pinfo, tree, hf_h450_callbackReq); } +static int dissect_can_retain_service(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_BOOLEAN(tvb, offset, pinfo, tree, hf_h450_can_retain_service); +} +static int dissect_retain_sig_connection(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_BOOLEAN(tvb, offset, pinfo, tree, hf_h450_retain_sig_connection); +} +static int dissect_retain_service(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_BOOLEAN(tvb, offset, pinfo, tree, hf_h450_retain_service); +} static const per_sequence_t UserSpecifiedSubaddress_sequence[] = { { "subaddressInformation" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_subaddressInformation }, @@ -778,6 +1080,9 @@ static int dissect_partySubaddress(tvbuff_t *tvb, int offset, packet_info *pinfo static int dissect_redirectionSubaddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h450_PartySubaddress(tvb, offset, pinfo, tree, hf_h450_redirectionSubaddress); } +static int dissect_callingPartySubaddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_PartySubaddress(tvb, offset, pinfo, tree, hf_h450_callingPartySubaddress); +} static const per_sequence_t AddressScreened_sequence[] = { { "partyNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_partyNumber }, @@ -946,14 +1251,14 @@ dissect_h450_PresentedNumberUnscreened(tvbuff_t *tvb, int offset, packet_info *p static int -dissect_h450_SEQUNCE_OF_AliasAddress(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_SEQUENCE_OF_AliasAddress(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_sequence_of(tvb, offset, pinfo, tree, hf_index, - ett_h450_SEQUNCE_OF_AliasAddress, dissect_destinationAddress_item); + ett_h450_SEQUENCE_OF_AliasAddress, dissect_destinationAddress_item); return offset; } static int dissect_destinationAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_h450_SEQUNCE_OF_AliasAddress(tvb, offset, pinfo, tree, hf_h450_destinationAddress); + return dissect_h450_SEQUENCE_OF_AliasAddress(tvb, offset, pinfo, tree, hf_h450_destinationAddress); } static const per_sequence_t EndpointAddress_sequence[] = { @@ -985,15 +1290,84 @@ static int dissect_redirectionNumber(tvbuff_t *tvb, int offset, packet_info *pin static int dissect_connectedAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_connectedAddress); } +static int dissect_divertedToAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_divertedToAddress); +} static int dissect_servedUserNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_servedUserNr); } +static int dissect_activatingUserNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_activatingUserNr); +} +static int dissect_deactivatingUserNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_deactivatingUserNr); +} +static int dissect_interrogatingUserNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_interrogatingUserNr); +} +static int dissect_divertedToNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_divertedToNr); +} +static int dissect_calledAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_calledAddress); +} +static int dissect_lastReroutingNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_lastReroutingNr); +} +static int dissect_callingNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_callingNumber); +} +static int dissect_originalCalledNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_originalCalledNr); +} +static int dissect_nominatedNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_nominatedNr); +} +static int dissect_redirectingNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_redirectingNr); +} +static int dissect_divertingNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_divertingNr); +} +static int dissect_redirectionNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_redirectionNr); +} +static int dissect_callingNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_callingNr); +} +static int dissect_parkingNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_parkingNumber); +} +static int dissect_parkedNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_parkedNumber); +} +static int dissect_parkedToNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_parkedToNumber); +} +static int dissect_groupMemberUserNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_groupMemberUserNr); +} +static int dissect_partyToRetrieve(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_partyToRetrieve); +} +static int dissect_retrieveAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_retrieveAddress); +} +static int dissect_picking_upNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_picking_upNumber); +} static int dissect_originatingNr(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_originatingNr); } static int dissect_mwipartyNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_mwipartyNumber); } +static int dissect_numberA(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_numberA); +} +static int dissect_numberB(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_EndpointAddress(tvb, offset, pinfo, tree, hf_h450_numberB); +} static int @@ -1003,6 +1377,57 @@ dissect_h450_PresentationAllowedIndicator(tvbuff_t *tvb, int offset, packet_info return offset; } +static int dissect_presentationAllowedIndicator(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_PresentationAllowedIndicator(tvb, offset, pinfo, tree, hf_h450_presentationAllowedIndicator); +} + + +static int +dissect_h450_OBJECT_IDENTIFIER(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_object_identifier(tvb, offset, pinfo, tree, hf_index, + NULL); + + return offset; +} +static int dissect_extensionId(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_OBJECT_IDENTIFIER(tvb, offset, pinfo, tree, hf_h450_extensionId); +} + + +static int +dissect_h450_ExtensionArgument(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_octet_string(tvb, offset, pinfo, tree, hf_index, + -1, -1, + NULL, NULL); + + return offset; +} +static int dissect_extensionArgument(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ExtensionArgument(tvb, offset, pinfo, tree, hf_h450_extensionArgument); +} + +static const per_sequence_t Extension_sequence[] = { + { "extensionId" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_extensionId }, + { "extensionArgument" , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_extensionArgument }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_Extension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_Extension, Extension_sequence); + + return offset; +} +static int dissect_ExtensionSeq_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_Extension(tvb, offset, pinfo, tree, hf_h450_ExtensionSeq_item); +} +static int dissect_mixedExtension_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_Extension(tvb, offset, pinfo, tree, hf_h450_mixedExtension_extension); +} +static int dissect_Unspecified_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_Extension(tvb, offset, pinfo, tree, hf_h450_Unspecified_extension); +} static int @@ -1106,6 +1531,18 @@ static int dissect_redirectionInfo(tvbuff_t *tvb, int offset, packet_info *pinfo static int dissect_connectedInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h450_BMPString_SIZE_1_128(tvb, offset, pinfo, tree, hf_h450_connectedInfo); } +static int dissect_callingInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_BMPString_SIZE_1_128(tvb, offset, pinfo, tree, hf_h450_callingInfo); +} +static int dissect_redirectingInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_BMPString_SIZE_1_128(tvb, offset, pinfo, tree, hf_h450_redirectingInfo); +} +static int dissect_originalCalledInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_BMPString_SIZE_1_128(tvb, offset, pinfo, tree, hf_h450_originalCalledInfo); +} +static int dissect_nominatedInfo(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_BMPString_SIZE_1_128(tvb, offset, pinfo, tree, hf_h450_nominatedInfo); +} static int @@ -1119,6 +1556,9 @@ dissect_h450_H225InformationElement(tvbuff_t *tvb, int offset, packet_info *pinf static int dissect_basicCallInfoElements(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h450_H225InformationElement(tvb, offset, pinfo, tree, hf_h450_basicCallInfoElements); } +static int dissect_h225InfoElement(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_H225InformationElement(tvb, offset, pinfo, tree, hf_h450_h225InfoElement); +} static const value_string h450_ArgumentExtension_vals[] = { @@ -1141,15 +1581,30 @@ dissect_h450_ArgumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_ return offset; } -static int dissect_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_h450_ArgumentExtension(tvb, offset, pinfo, tree, hf_h450_argumentExtension); +static int dissect_cTInitiateArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ArgumentExtension(tvb, offset, pinfo, tree, hf_h450_cTInitiateArg_argumentExtension); +} +static int dissect_cTSetupArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ArgumentExtension(tvb, offset, pinfo, tree, hf_h450_cTSetupArg_argumentExtension); +} +static int dissect_cTUpdateArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ArgumentExtension(tvb, offset, pinfo, tree, hf_h450_cTUpdateArg_argumentExtension); +} +static int dissect_subaddressTransferArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ArgumentExtension(tvb, offset, pinfo, tree, hf_h450_subaddressTransferArg_argumentExtension); +} +static int dissect_cTCompleteArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ArgumentExtension(tvb, offset, pinfo, tree, hf_h450_cTCompleteArg_argumentExtension); +} +static int dissect_cTActiveArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ArgumentExtension(tvb, offset, pinfo, tree, hf_h450_cTActiveArg_argumentExtension); } static const per_sequence_t CTUpdateArg_sequence[] = { { "redirectionNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_redirectionNumber }, { "redirectionInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_redirectionInfo }, { "basicCallInfoElements" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_basicCallInfoElements }, - { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_argumentExtension }, + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cTUpdateArg_argumentExtension }, { NULL, 0, 0, NULL } }; @@ -1171,7 +1626,7 @@ dissect_h450_CallTransferUpdate(tvbuff_t *tvb, int offset, packet_info *pinfo _U static const per_sequence_t SubaddressTransferArg_sequence[] = { { "redirectionSubaddress" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_redirectionSubaddress }, - { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_argumentExtension }, + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_subaddressTransferArg_argumentExtension }, { NULL, 0, 0, NULL } }; @@ -1235,7 +1690,7 @@ static const per_sequence_t CTCompleteArg_sequence[] = { { "basicCallInfoElements" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_basicCallInfoElements }, { "redirectionInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_redirectionInfo }, { "callStatus" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_callStatus }, - { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_argumentExtension }, + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cTCompleteArg_argumentExtension }, { NULL, 0, 0, NULL } }; @@ -1259,7 +1714,7 @@ static const per_sequence_t CTActiveArg_sequence[] = { { "connectedAddress" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_connectedAddress }, { "basicCallInfoElements" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_basicCallInfoElements }, { "connectedInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_connectedInfo }, - { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_argumentExtension }, + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cTActiveArg_argumentExtension }, { NULL, 0, 0, NULL } }; @@ -1294,7 +1749,7 @@ static int dissect_callIdentity(tvbuff_t *tvb, int offset, packet_info *pinfo, p static const per_sequence_t CTInitiateArg_sequence[] = { { "callIdentity" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_callIdentity }, { "reroutingNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_reroutingNumber }, - { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_argumentExtension }, + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cTInitiateArg_argumentExtension }, { NULL, 0, 0, NULL } }; @@ -1309,7 +1764,7 @@ dissect_h450_CTInitiateArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, pr static const per_sequence_t CTSetupArg_sequence[] = { { "callIdentity" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_callIdentity }, { "transferringNumber" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_transferringNumber }, - { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_argumentExtension }, + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cTSetupArg_argumentExtension }, { NULL, 0, 0, NULL } }; @@ -1362,6 +1817,716 @@ dissect_h450_CTIdentifyRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, pr } +static const value_string h450_Procedure_vals[] = { + { 0, "cfu" }, + { 1, "cfb" }, + { 2, "cfnr" }, + { 0, NULL } +}; + + +static int +dissect_h450_Procedure(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, + 0, 2, NULL, NULL, TRUE); + + return offset; +} +static int dissect_procedure(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_Procedure(tvb, offset, pinfo, tree, hf_h450_procedure); +} + + +static const value_string h450_BasicService_vals[] = { + { 0, "allServices" }, + { 1, "speech" }, + { 2, "unrestrictedDigitalInformation" }, + { 3, "audio3100Hz" }, + { 32, "telephony" }, + { 33, "teletex" }, + { 34, "telefaxGroup4Class1" }, + { 35, "videotexSyntaxBased" }, + { 36, "videotelephony" }, + { 37, "telefaxGroup2-3" }, + { 38, "reservedNotUsed1" }, + { 39, "reservedNotUsed2" }, + { 40, "reservedNotUsed3" }, + { 41, "reservedNotUsed4" }, + { 42, "reservedNotUsed5" }, + { 51, "email" }, + { 52, "video" }, + { 53, "fileTransfer" }, + { 54, "shortMessageService" }, + { 55, "speechAndVideo" }, + { 56, "speechAndFax" }, + { 57, "speechAndEmail" }, + { 58, "videoAndFax" }, + { 59, "videoAndEmail" }, + { 60, "faxAndEmail" }, + { 61, "speechVideoAndFax" }, + { 62, "speechVideoAndEmail" }, + { 63, "speechFaxAndEmail" }, + { 64, "videoFaxAndEmail" }, + { 65, "speechVideoFaxAndEmail" }, + { 66, "multimediaUnknown" }, + { 67, "serviceUnknown" }, + { 68, "futureReserve1" }, + { 69, "futureReserve2" }, + { 70, "futureReserve3" }, + { 71, "futureReserve4" }, + { 72, "futureReserve5" }, + { 73, "futureReserve6" }, + { 74, "futureReserve7" }, + { 75, "futureReserve8" }, + { 0, NULL } +}; + + +static int +dissect_h450_BasicService(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, + 0, 75, NULL, NULL, FALSE); + + return offset; +} +static int dissect_basicService(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_BasicService(tvb, offset, pinfo, tree, hf_h450_basicService); +} +static int dissect_service(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_BasicService(tvb, offset, pinfo, tree, hf_h450_service); +} + + +static const value_string h450_ActivateDiversionQArg_extension_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t ActivateDiversionQArg_extension_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_ActivateDiversionQArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_ActivateDiversionQArg_extension, ActivateDiversionQArg_extension_choice, "ActivateDiversionQArg_extension", + NULL); + + return offset; +} +static int dissect_activateDiversionQArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ActivateDiversionQArg_extension(tvb, offset, pinfo, tree, hf_h450_activateDiversionQArg_extension); +} + +static const per_sequence_t ActivateDiversionQArg_sequence[] = { + { "procedure" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_procedure }, + { "basicService" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_basicService }, + { "divertedToAddress" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_divertedToAddress }, + { "servedUserNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_servedUserNr }, + { "activatingUserNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_activatingUserNr }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_activateDiversionQArg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_ActivateDiversionQArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_ActivateDiversionQArg, ActivateDiversionQArg_sequence); + + return offset; +} + + +static const value_string h450_ActivateDiversionQRes_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t ActivateDiversionQRes_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_ActivateDiversionQRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_ActivateDiversionQRes, ActivateDiversionQRes_choice, "ActivateDiversionQRes", + NULL); + + return offset; +} + + +static const value_string h450_DeactivateDiversionQArg_extension_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t DeactivateDiversionQArg_extension_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_DeactivateDiversionQArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_DeactivateDiversionQArg_extension, DeactivateDiversionQArg_extension_choice, "DeactivateDiversionQArg_extension", + NULL); + + return offset; +} +static int dissect_deactivateDiversionQArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_DeactivateDiversionQArg_extension(tvb, offset, pinfo, tree, hf_h450_deactivateDiversionQArg_extension); +} + +static const per_sequence_t DeactivateDiversionQArg_sequence[] = { + { "procedure" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_procedure }, + { "basicService" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_basicService }, + { "servedUserNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_servedUserNr }, + { "deactivatingUserNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_deactivatingUserNr }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_deactivateDiversionQArg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_DeactivateDiversionQArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_DeactivateDiversionQArg, DeactivateDiversionQArg_sequence); + + return offset; +} + + +static const value_string h450_DeactivateDiversionQRes_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t DeactivateDiversionQRes_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_DeactivateDiversionQRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_DeactivateDiversionQRes, DeactivateDiversionQRes_choice, "DeactivateDiversionQRes", + NULL); + + return offset; +} + + +static const value_string h450_InterrogateDiversionQ_extension_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t InterrogateDiversionQ_extension_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_InterrogateDiversionQ_extension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_InterrogateDiversionQ_extension, InterrogateDiversionQ_extension_choice, "InterrogateDiversionQ_extension", + NULL); + + return offset; +} +static int dissect_interrogateDiversionQ_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_InterrogateDiversionQ_extension(tvb, offset, pinfo, tree, hf_h450_interrogateDiversionQ_extension); +} + +static const per_sequence_t InterrogateDiversionQ_sequence[] = { + { "procedure" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_procedure }, + { "basicService" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_basicService }, + { "servedUserNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_servedUserNr }, + { "interrogatingUserNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_interrogatingUserNr }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_interrogateDiversionQ_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_InterrogateDiversionQ(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_InterrogateDiversionQ, InterrogateDiversionQ_sequence); + + return offset; +} + + +static const value_string h450_IntResult_extension_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t IntResult_extension_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_IntResult_extension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_IntResult_extension, IntResult_extension_choice, "IntResult_extension", + NULL); + + return offset; +} +static int dissect_intResult_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_IntResult_extension(tvb, offset, pinfo, tree, hf_h450_intResult_extension); +} + +static const per_sequence_t IntResult_sequence[] = { + { "servedUserNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_servedUserNr }, + { "basicService" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_basicService }, + { "procedure" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_procedure }, + { "divertedToAddress" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_divertedToAddress }, + { "remoteEnabled" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_remoteEnabled }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_intResult_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_IntResult(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_IntResult, IntResult_sequence); + + return offset; +} +static int dissect_IntResultList_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_IntResult(tvb, offset, pinfo, tree, hf_h450_IntResultList_item); +} + + +static int +dissect_h450_IntResultList(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_set_of(tvb, offset, pinfo, tree, hf_index, + ett_h450_IntResultList, dissect_IntResultList_item, + 0, 29); + + return offset; +} + + +static int +dissect_h450_InterrogateDiversionQRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_h450_IntResultList(tvb, offset, pinfo, tree, hf_index); + + return offset; +} + + +static const value_string h450_CheckRestrictionArg_extension_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t CheckRestrictionArg_extension_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_CheckRestrictionArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_CheckRestrictionArg_extension, CheckRestrictionArg_extension_choice, "CheckRestrictionArg_extension", + NULL); + + return offset; +} +static int dissect_checkRestrictionArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_CheckRestrictionArg_extension(tvb, offset, pinfo, tree, hf_h450_checkRestrictionArg_extension); +} + +static const per_sequence_t CheckRestrictionArg_sequence[] = { + { "servedUserNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_servedUserNr }, + { "basicService" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_basicService }, + { "divertedToNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_divertedToNr }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_checkRestrictionArg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CheckRestrictionArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CheckRestrictionArg, CheckRestrictionArg_sequence); + + return offset; +} + + +static const value_string h450_CheckRestrictionRes_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t CheckRestrictionRes_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_CheckRestrictionRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_CheckRestrictionRes, CheckRestrictionRes_choice, "CheckRestrictionRes", + NULL); + + return offset; +} + + +static const value_string h450_DiversionReason_vals[] = { + { 0, "unknown" }, + { 1, "cfu" }, + { 2, "cfb" }, + { 3, "cfnr" }, + { 0, NULL } +}; + + +static int +dissect_h450_DiversionReason(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, + 0, 3, NULL, NULL, TRUE); + + return offset; +} +static int dissect_reroutingReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_DiversionReason(tvb, offset, pinfo, tree, hf_h450_reroutingReason); +} +static int dissect_originalReroutingReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_DiversionReason(tvb, offset, pinfo, tree, hf_h450_originalReroutingReason); +} +static int dissect_diversionReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_DiversionReason(tvb, offset, pinfo, tree, hf_h450_diversionReason); +} +static int dissect_originalDiversionReason(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_DiversionReason(tvb, offset, pinfo, tree, hf_h450_originalDiversionReason); +} + + + +static int +dissect_h450_INTEGER_1_15(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, + 1U, 15U, NULL, NULL, FALSE); + + return offset; +} +static int dissect_diversionCounter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_INTEGER_1_15(tvb, offset, pinfo, tree, hf_h450_diversionCounter); +} + + +static const value_string h450_SubscriptionOption_vals[] = { + { 0, "noNotification" }, + { 1, "notificationWithoutDivertedToNr" }, + { 2, "notificationWithDivertedToNr" }, + { 0, NULL } +}; + + +static int +dissect_h450_SubscriptionOption(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, + 0, 2, NULL, NULL, TRUE); + + return offset; +} +static int dissect_subscriptionOption(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SubscriptionOption(tvb, offset, pinfo, tree, hf_h450_subscriptionOption); +} + + +static const value_string h450_CallReroutingArg_extension_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t CallReroutingArg_extension_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_CallReroutingArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_CallReroutingArg_extension, CallReroutingArg_extension_choice, "CallReroutingArg_extension", + NULL); + + return offset; +} +static int dissect_callReroutingArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_CallReroutingArg_extension(tvb, offset, pinfo, tree, hf_h450_callReroutingArg_extension); +} + +static const per_sequence_t CallReroutingArg_sequence[] = { + { "reroutingReason" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_reroutingReason }, + { "originalReroutingReason" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_originalReroutingReason }, + { "calledAddress" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_calledAddress }, + { "diversionCounter" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_diversionCounter }, + { "h225InfoElement" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225InfoElement }, + { "lastReroutingNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_lastReroutingNr }, + { "subscriptionOption" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_subscriptionOption }, + { "callingPartySubaddress" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_callingPartySubaddress }, + { "callingNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_callingNumber }, + { "callingInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_callingInfo }, + { "originalCalledNr" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_originalCalledNr }, + { "redirectingInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_redirectingInfo }, + { "originalCalledInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_originalCalledInfo }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_callReroutingArg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CallReroutingArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CallReroutingArg, CallReroutingArg_sequence); + + return offset; +} + + +static const value_string h450_CallReroutingRes_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t CallReroutingRes_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_CallReroutingRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_CallReroutingRes, CallReroutingRes_choice, "CallReroutingRes", + NULL); + + return offset; +} + + +static const value_string h450_DivertingLegInformation1Arg_extension_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t DivertingLegInformation1Arg_extension_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_DivertingLegInformation1Arg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_DivertingLegInformation1Arg_extension, DivertingLegInformation1Arg_extension_choice, "DivertingLegInformation1Arg_extension", + NULL); + + return offset; +} +static int dissect_divertingLegInformation1Arg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_DivertingLegInformation1Arg_extension(tvb, offset, pinfo, tree, hf_h450_divertingLegInformation1Arg_extension); +} + +static const per_sequence_t DivertingLegInformation1Arg_sequence[] = { + { "diversionReason" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_diversionReason }, + { "subscriptionOption" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_subscriptionOption }, + { "nominatedNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nominatedNr }, + { "nominatedInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nominatedInfo }, + { "redirectingNr" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_redirectingNr }, + { "redirectingInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_redirectingInfo }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_divertingLegInformation1Arg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_DivertingLegInformation1Arg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_DivertingLegInformation1Arg, DivertingLegInformation1Arg_sequence); + + return offset; +} + + +static const value_string h450_DivertingLegInformation2Arg_extension_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t DivertingLegInformation2Arg_extension_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_DivertingLegInformation2Arg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_DivertingLegInformation2Arg_extension, DivertingLegInformation2Arg_extension_choice, "DivertingLegInformation2Arg_extension", + NULL); + + return offset; +} +static int dissect_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_DivertingLegInformation2Arg_extension(tvb, offset, pinfo, tree, hf_h450_extension); +} + +static const per_sequence_t DivertingLegInformation2Arg_sequence[] = { + { "diversionCounter" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_diversionCounter }, + { "diversionReason" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_diversionReason }, + { "originalDiversionReason" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_originalDiversionReason }, + { "divertingNr" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_divertingNr }, + { "originalCalledNr" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_originalCalledNr }, + { "redirectingInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_redirectingInfo }, + { "originalCalledInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_originalCalledInfo }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_DivertingLegInformation2Arg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_DivertingLegInformation2Arg, DivertingLegInformation2Arg_sequence); + + return offset; +} + + +static const value_string h450_DivertingLegInformation3Arg_extension_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t DivertingLegInformation3Arg_extension_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_DivertingLegInformation3Arg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_DivertingLegInformation3Arg_extension, DivertingLegInformation3Arg_extension_choice, "DivertingLegInformation3Arg_extension", + NULL); + + return offset; +} +static int dissect_divertingLegInformation3Arg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_DivertingLegInformation3Arg_extension(tvb, offset, pinfo, tree, hf_h450_divertingLegInformation3Arg_extension); +} + +static const per_sequence_t DivertingLegInformation3Arg_sequence[] = { + { "presentationAllowedIndicator", ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_presentationAllowedIndicator }, + { "redirectionNr" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_redirectionNr }, + { "redirectionInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_redirectionInfo }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_divertingLegInformation3Arg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_DivertingLegInformation3Arg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_DivertingLegInformation3Arg, DivertingLegInformation3Arg_sequence); + + return offset; +} + + +static const value_string h450_DivertingLegInformation4Arg_extension_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t DivertingLegInformation4Arg_extension_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_DivertingLegInformation4Arg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_DivertingLegInformation4Arg_extension, DivertingLegInformation4Arg_extension_choice, "DivertingLegInformation4Arg_extension", + NULL); + + return offset; +} +static int dissect_divertingLegInformation4Arg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_DivertingLegInformation4Arg_extension(tvb, offset, pinfo, tree, hf_h450_divertingLegInformation4Arg_extension); +} + +static const per_sequence_t DivertingLegInformation4Arg_sequence[] = { + { "diversionReason" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_diversionReason }, + { "subscriptionOption" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_subscriptionOption }, + { "callingNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_callingNr }, + { "callingInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_callingInfo }, + { "nominatedNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_nominatedNr }, + { "nominatedInfo" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nominatedInfo }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_divertingLegInformation4Arg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_DivertingLegInformation4Arg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_DivertingLegInformation4Arg, DivertingLegInformation4Arg_sequence); + + return offset; +} + + +static const value_string h450_CfnrDivertedLegFailedArg_vals[] = { + { 0, "extensionSeq" }, + { 1, "nonStandardData" }, + { 0, NULL } +}; + +static const per_choice_t CfnrDivertedLegFailedArg_choice[] = { + { 0, "extensionSeq" , ASN1_NO_EXTENSIONS , dissect_extensionSeq }, + { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_CfnrDivertedLegFailedArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_CfnrDivertedLegFailedArg, CfnrDivertedLegFailedArg_choice, "CfnrDivertedLegFailedArg", + NULL); + + return offset; +} + + static const value_string h450_MixedExtension_vals[] = { { 0, "extension" }, { 1, "nonStandardData" }, @@ -1369,7 +2534,7 @@ static const value_string h450_MixedExtension_vals[] = { }; static const per_choice_t MixedExtension_choice[] = { - { 0, "extension" , ASN1_NO_EXTENSIONS , dissect_extension }, + { 0, "extension" , ASN1_NO_EXTENSIONS , dissect_mixedExtension_extension }, { 1, "nonStandardData" , ASN1_NO_EXTENSIONS , dissect_nonStandardData }, { 0, NULL, 0, NULL } }; @@ -1382,8 +2547,8 @@ dissect_h450_MixedExtension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, p return offset; } -static int dissect_ExtensionArg_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_h450_MixedExtension(tvb, offset, pinfo, tree, hf_h450_ExtensionArg_item); +static int dissect_extensionArg_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_MixedExtension(tvb, offset, pinfo, tree, hf_h450_extensionArg_item); } static int dissect_extensionRes_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h450_MixedExtension(tvb, offset, pinfo, tree, hf_h450_extensionRes_item); @@ -1391,22 +2556,145 @@ static int dissect_extensionRes_item(tvbuff_t *tvb, int offset, packet_info *pin static int dissect_MwiDummyRes_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { return dissect_h450_MixedExtension(tvb, offset, pinfo, tree, hf_h450_MwiDummyRes_item); } +static int dissect_ExtensionArg_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_MixedExtension(tvb, offset, pinfo, tree, hf_h450_ExtensionArg_item); +} +static int dissect_extension_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_MixedExtension(tvb, offset, pinfo, tree, hf_h450_extension_item); +} +static int dissect_argumentExtension_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_MixedExtension(tvb, offset, pinfo, tree, hf_h450_argumentExtension_item); +} +static int dissect_resultExtension_item(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_MixedExtension(tvb, offset, pinfo, tree, hf_h450_resultExtension_item); +} static int -dissect_h450_ExtensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_index, - ett_h450_ExtensionArg, dissect_ExtensionArg_item, + ett_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension, dissect_extensionArg_item, 0, 255); return offset; } -static int dissect_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_h450_ExtensionArg(tvb, offset, pinfo, tree, hf_h450_extensionArg); +static int dissect_holdNotificArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_holdNotificArg_extensionArg); +} +static int dissect_retrieveNotificArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_retrieveNotificArg_extensionArg); +} +static int dissect_remoteHoldArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_remoteHoldArg_extensionArg); +} +static int dissect_extensionRes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_extensionRes); +} +static int dissect_remoteRetrieveArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_remoteRetrieveArg_extensionArg); +} +static int dissect_cpRequestArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cpRequestArg_extensionArg); +} +static int dissect_cpSetupArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cpSetupArg_extensionArg); +} +static int dissect_groupIndicationOnArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_groupIndicationOnArg_extensionArg); +} +static int dissect_groupIndicationOffArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_groupIndicationOffArg_extensionArg); +} +static int dissect_pickrequArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_pickrequArg_extensionArg); +} +static int dissect_pickupArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_pickupArg_extensionArg); +} +static int dissect_pickExeArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_pickExeArg_extensionArg); +} +static int dissect_cpNotifyArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cpNotifyArg_extensionArg); +} +static int dissect_cpickupNotifyArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cpickupNotifyArg_extensionArg); +} +static int dissect_callWaitingArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_callWaitingArg_extensionArg); +} +static int dissect_nameArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_nameArg_extensionArg); +} +static int dissect_ccRequestArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_ccRequestArg_extension); +} +static int dissect_ccRequestRes_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_ccRequestRes_extension); +} +static int dissect_ccShortArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_ccShortArg_extension); +} +static int dissect_ccLongArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_ccLongArg_extension); +} +static int dissect_coReqOptArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_coReqOptArg_extension); +} +static int dissect_rUAlertOptArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_rUAlertOptArg_extension); +} +static int dissect_cfbOvrOptArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cfbOvrOptArg_extension); +} +static int dissect_cIRequestArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cIRequestArg_argumentExtension); +} +static int dissect_cIRequestRes_resultExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cIRequestRes_resultExtension); +} +static int dissect_cIGetCIPLOptArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cIGetCIPLOptArg_argumentExtension); +} +static int dissect_cIGetCIPLRes_resultExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cIGetCIPLRes_resultExtension); +} +static int dissect_cIIsOptArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cIIsOptArg_argumentExtension); +} +static int dissect_cIIsOptRes_resultExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cIIsOptRes_resultExtension); +} +static int dissect_cIFrcRelArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cIFrcRelArg_argumentExtension); +} +static int dissect_cIFrcRelOptRes_resultExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cIFrcRelOptRes_resultExtension); +} +static int dissect_cIWobOptArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cIWobOptArg_argumentExtension); +} +static int dissect_cIWobOptRes_resultExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cIWobOptRes_resultExtension); +} +static int dissect_cISilentArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cISilentArg_argumentExtension); +} +static int dissect_cISilentOptRes_resultExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cISilentOptRes_resultExtension); +} +static int dissect_cINotificationArg_argumentExtension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cINotificationArg_argumentExtension); +} +static int dissect_cmnArg_extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cmnArg_extension); +} +static int dissect_cmnRequestArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_cmnRequestArg_extensionArg); } static const per_sequence_t HoldNotificArg_sequence[] = { - { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionArg }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_holdNotificArg_extensionArg }, { NULL, 0, 0, NULL } }; @@ -1418,171 +2706,395 @@ dissect_h450_HoldNotificArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, p return offset; } +static const per_sequence_t RetrieveNotificArg_sequence[] = { + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_retrieveNotificArg_extensionArg }, + { NULL, 0, 0, NULL } +}; static int -dissect_h450_HoldNotific(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { - offset = dissect_h450_HoldNotificArg(tvb, offset, pinfo, tree, hf_index); +dissect_h450_RetrieveNotificArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_RetrieveNotificArg, RetrieveNotificArg_sequence); return offset; } -static const per_sequence_t RetrieveNotificArg_sequence[] = { - { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionArg }, +static const per_sequence_t RemoteHoldArg_sequence[] = { + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_remoteHoldArg_extensionArg }, { NULL, 0, 0, NULL } }; static int -dissect_h450_RetrieveNotificArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_RemoteHoldArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, - ett_h450_RetrieveNotificArg, RetrieveNotificArg_sequence); + ett_h450_RemoteHoldArg, RemoteHoldArg_sequence); return offset; } +static const per_sequence_t RemoteHoldRes_sequence[] = { + { "extensionRes" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionRes }, + { NULL, 0, 0, NULL } +}; static int -dissect_h450_RetrieveNotific(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { - offset = dissect_h450_RetrieveNotificArg(tvb, offset, pinfo, tree, hf_index); +dissect_h450_RemoteHoldRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_RemoteHoldRes, RemoteHoldRes_sequence); return offset; } -static const per_sequence_t RemoteHoldArg_sequence[] = { - { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionArg }, +static const per_sequence_t RemoteRetrieveArg_sequence[] = { + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_remoteRetrieveArg_extensionArg }, { NULL, 0, 0, NULL } }; static int -dissect_h450_RemoteHoldArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_RemoteRetrieveArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, - ett_h450_RemoteHoldArg, RemoteHoldArg_sequence); + ett_h450_RemoteRetrieveArg, RemoteRetrieveArg_sequence); return offset; } +static const per_sequence_t RemoteRetrieveRes_sequence[] = { + { "extensionRes" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionRes }, + { NULL, 0, 0, NULL } +}; static int -dissect_h450_RemoteHold(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { - offset = dissect_h450_RemoteHoldArg(tvb, offset, pinfo, tree, hf_index); +dissect_h450_RemoteRetrieveRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_RemoteRetrieveRes, RemoteRetrieveRes_sequence); return offset; } + static int -dissect_h450_SEQUNCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { - offset = dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_index, - ett_h450_SEQUNCE_SIZE_0_255_OF_MixedExtension, dissect_extensionRes_item, - 0, 255); +dissect_h450_ParkedToPosition(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, + 0U, 65535U, NULL, NULL, FALSE); return offset; } -static int dissect_extensionRes(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_h450_SEQUNCE_SIZE_0_255_OF_MixedExtension(tvb, offset, pinfo, tree, hf_h450_extensionRes); +static int dissect_parkedToPosition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ParkedToPosition(tvb, offset, pinfo, tree, hf_h450_parkedToPosition); +} +static int dissect_parkPosition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ParkedToPosition(tvb, offset, pinfo, tree, hf_h450_parkPosition); } -static const per_sequence_t RemoteHoldRes_sequence[] = { - { "extensionRes" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionRes }, +static const per_sequence_t CpRequestArg_sequence[] = { + { "parkingNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_parkingNumber }, + { "parkedNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_parkedNumber }, + { "parkedToNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_parkedToNumber }, + { "parkedToPosition" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_parkedToPosition }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cpRequestArg_extensionArg }, { NULL, 0, 0, NULL } }; static int -dissect_h450_RemoteHoldRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_CpRequestArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, - ett_h450_RemoteHoldRes, RemoteHoldRes_sequence); + ett_h450_CpRequestArg, CpRequestArg_sequence); return offset; } -static const per_sequence_t RemoteRetrieveArg_sequence[] = { - { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionArg }, + +static const value_string h450_ParkCondition_vals[] = { + { 0, "unspecified" }, + { 1, "parkedToUserIdle" }, + { 2, "parkedToUserBusy" }, + { 3, "parkedToGroup" }, + { 0, NULL } +}; + + +static int +dissect_h450_ParkCondition(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, + 0, 3, NULL, NULL, TRUE); + + return offset; +} +static int dissect_parkCondition(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ParkCondition(tvb, offset, pinfo, tree, hf_h450_parkCondition); +} + +static const per_sequence_t CpRequestRes_sequence[] = { + { "parkedToNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_parkedToNumber }, + { "parkedToPosition" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_parkedToPosition }, + { "parkCondition" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_parkCondition }, + { "extensionRes" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionRes }, { NULL, 0, 0, NULL } }; static int -dissect_h450_RemoteRetrieveArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_CpRequestRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, - ett_h450_RemoteRetrieveArg, RemoteRetrieveArg_sequence); + ett_h450_CpRequestRes, CpRequestRes_sequence); return offset; } +static const per_sequence_t CpSetupArg_sequence[] = { + { "parkingNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_parkingNumber }, + { "parkedNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_parkedNumber }, + { "parkedToNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_parkedToNumber }, + { "parkedToPosition" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_parkedToPosition }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cpSetupArg_extensionArg }, + { NULL, 0, 0, NULL } +}; static int -dissect_h450_RemoteRetrieve(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { - offset = dissect_h450_RemoteRetrieveArg(tvb, offset, pinfo, tree, hf_index); +dissect_h450_CpSetupArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CpSetupArg, CpSetupArg_sequence); return offset; } -static const per_sequence_t RemoteRetrieveRes_sequence[] = { +static const per_sequence_t CpSetupRes_sequence[] = { + { "parkedToNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_parkedToNumber }, + { "parkedToPosition" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_parkedToPosition }, + { "parkCondition" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_parkCondition }, { "extensionRes" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionRes }, { NULL, 0, 0, NULL } }; static int -dissect_h450_RemoteRetrieveRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_CpSetupRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, - ett_h450_RemoteRetrieveRes, RemoteRetrieveRes_sequence); + ett_h450_CpSetupRes, CpSetupRes_sequence); return offset; } -static const value_string h450_BasicService_vals[] = { - { 0, "allServices" }, - { 1, "speech" }, - { 2, "unrestrictedDigitalInformation" }, - { 3, "audio3100Hz" }, - { 32, "telephony" }, - { 33, "teletex" }, - { 34, "telefaxGroup4Class1" }, - { 35, "videotexSyntaxBased" }, - { 36, "videotelephony" }, - { 37, "telefaxGroup2-3" }, - { 38, "reservedNotUsed1" }, - { 39, "reservedNotUsed2" }, - { 40, "reservedNotUsed3" }, - { 41, "reservedNotUsed4" }, - { 42, "reservedNotUsed5" }, - { 51, "email" }, - { 52, "video" }, - { 53, "fileTransfer" }, - { 54, "shortMessageService" }, - { 55, "speechAndVideo" }, - { 56, "speechAndFax" }, - { 57, "speechAndEmail" }, - { 58, "videoAndFax" }, - { 59, "videoAndEmail" }, - { 60, "faxAndEmail" }, - { 61, "speechVideoAndFax" }, - { 62, "speechVideoAndEmail" }, - { 63, "speechFaxAndEmail" }, - { 64, "videoFaxAndEmail" }, - { 65, "speechVideoFaxAndEmail" }, - { 66, "multimediaUnknown" }, - { 67, "serviceUnknown" }, - { 68, "futureReserve1" }, - { 69, "futureReserve2" }, - { 70, "futureReserve3" }, - { 71, "futureReserve4" }, - { 72, "futureReserve5" }, - { 73, "futureReserve6" }, - { 74, "futureReserve7" }, - { 75, "futureReserve8" }, +static const value_string h450_CallType_vals[] = { + { 0, "parkedCall" }, + { 1, "alertingCall" }, { 0, NULL } }; static int -dissect_h450_BasicService(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_CallType(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, - 0, 75, NULL, NULL, FALSE); + 0, 1, NULL, NULL, TRUE); return offset; } -static int dissect_basicService(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { - return dissect_h450_BasicService(tvb, offset, pinfo, tree, hf_h450_basicService); +static int dissect_retrieveCallType(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_CallType(tvb, offset, pinfo, tree, hf_h450_retrieveCallType); +} + +static const per_sequence_t GroupIndicationOnArg_sequence[] = { + { "callPickupId" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_callPickupId }, + { "groupMemberUserNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_groupMemberUserNr }, + { "retrieveCallType" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_retrieveCallType }, + { "partyToRetrieve" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_partyToRetrieve }, + { "retrieveAddress" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_retrieveAddress }, + { "parkPosition" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_parkPosition }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_groupIndicationOnArg_extensionArg }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_GroupIndicationOnArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_GroupIndicationOnArg, GroupIndicationOnArg_sequence); + + return offset; +} + +static const per_sequence_t GroupIndicationOnRes_sequence[] = { + { "extensionRes" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionRes }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_GroupIndicationOnRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_GroupIndicationOnRes, GroupIndicationOnRes_sequence); + + return offset; +} + +static const per_sequence_t GroupIndicationOffArg_sequence[] = { + { "callPickupId" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_callPickupId }, + { "groupMemberUserNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_groupMemberUserNr }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_groupIndicationOffArg_extensionArg }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_GroupIndicationOffArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_GroupIndicationOffArg, GroupIndicationOffArg_sequence); + + return offset; +} + +static const per_sequence_t GroupIndicationOffRes_sequence[] = { + { "extensionRes" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionRes }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_GroupIndicationOffRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_GroupIndicationOffRes, GroupIndicationOffRes_sequence); + + return offset; +} + +static const per_sequence_t PickrequArg_sequence[] = { + { "picking-upNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_picking_upNumber }, + { "callPickupId" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_callPickupId }, + { "partyToRetrieve" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_partyToRetrieve }, + { "retrieveAddress" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_retrieveAddress }, + { "parkPosition" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_parkPosition }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_pickrequArg_extensionArg }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_PickrequArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_PickrequArg, PickrequArg_sequence); + + return offset; +} + +static const per_sequence_t PickrequRes_sequence[] = { + { "callPickupId" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_callPickupId }, + { "extensionRes" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionRes }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_PickrequRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_PickrequRes, PickrequRes_sequence); + + return offset; +} + +static const per_sequence_t PickupArg_sequence[] = { + { "callPickupId" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_callPickupId }, + { "picking-upNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_picking_upNumber }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_pickupArg_extensionArg }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_PickupArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_PickupArg, PickupArg_sequence); + + return offset; +} + +static const per_sequence_t PickupRes_sequence[] = { + { "extensionRes" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionRes }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_PickupRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_PickupRes, PickupRes_sequence); + + return offset; +} + +static const per_sequence_t PickExeArg_sequence[] = { + { "callPickupId" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_callPickupId }, + { "picking-upNumber" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_picking_upNumber }, + { "partyToRetrieve" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_partyToRetrieve }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_pickExeArg_extensionArg }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_PickExeArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_PickExeArg, PickExeArg_sequence); + + return offset; +} + +static const per_sequence_t PickExeRes_sequence[] = { + { "extensionRes" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionRes }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_PickExeRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_PickExeRes, PickExeRes_sequence); + + return offset; +} + +static const per_sequence_t CpNotifyArg_sequence[] = { + { "parkingNumber" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_parkingNumber }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cpNotifyArg_extensionArg }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CpNotifyArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CpNotifyArg, CpNotifyArg_sequence); + + return offset; +} + +static const per_sequence_t CpickupNotifyArg_sequence[] = { + { "picking-upNumber" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_picking_upNumber }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cpickupNotifyArg_extensionArg }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CpickupNotifyArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CpickupNotifyArg, CpickupNotifyArg_sequence); + + return offset; +} + + + +static int +dissect_h450_INTEGER_0_255(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, + 0U, 255U, NULL, NULL, FALSE); + + return offset; +} +static int dissect_nbOfAddWaitingCalls(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_INTEGER_0_255(tvb, offset, pinfo, tree, hf_h450_nbOfAddWaitingCalls); +} + +static const per_sequence_t CallWaitingArg_sequence[] = { + { "nbOfAddWaitingCalls" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nbOfAddWaitingCalls }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_callWaitingArg_extensionArg }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CallWaitingArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CallWaitingArg, CallWaitingArg_sequence); + + return offset; } @@ -1675,6 +3187,28 @@ static int dissect_priority(tvbuff_t *tvb, int offset, packet_info *pinfo, proto return dissect_h450_INTEGER_0_9(tvb, offset, pinfo, tree, hf_h450_priority); } + +static int +dissect_h450_ExtensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_sequence_of(tvb, offset, pinfo, tree, hf_index, + ett_h450_ExtensionArg, dissect_ExtensionArg_item, + 0, 255); + + return offset; +} +static int dissect_mWIActivateArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ExtensionArg(tvb, offset, pinfo, tree, hf_h450_mWIActivateArg_extensionArg); +} +static int dissect_mWIDeactivateArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ExtensionArg(tvb, offset, pinfo, tree, hf_h450_mWIDeactivateArg_extensionArg); +} +static int dissect_mWIInterrogateArg_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ExtensionArg(tvb, offset, pinfo, tree, hf_h450_mWIInterrogateArg_extensionArg); +} +static int dissect_mWIInterrogateResElt_extensionArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_ExtensionArg(tvb, offset, pinfo, tree, hf_h450_mWIInterrogateResElt_extensionArg); +} + static const per_sequence_t MWIActivateArg_sequence[] = { { "servedUserNr" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_servedUserNr }, { "basicService" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_basicService }, @@ -1683,7 +3217,7 @@ static const per_sequence_t MWIActivateArg_sequence[] = { { "originatingNr" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_originatingNr }, { "timestamp" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_timestamp }, { "priority" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_priority }, - { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionArg }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_mWIActivateArg_extensionArg }, { NULL, 0, 0, NULL } }; @@ -1708,7 +3242,7 @@ static const per_sequence_t MWIDeactivateArg_sequence[] = { { "basicService" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_basicService }, { "msgCentreId" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_msgCentreId }, { "callbackReq" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_callbackReq }, - { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionArg }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_mWIDeactivateArg_extensionArg }, { NULL, 0, 0, NULL } }; @@ -1733,7 +3267,7 @@ static const per_sequence_t MWIInterrogateArg_sequence[] = { { "basicService" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_basicService }, { "msgCentreId" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_msgCentreId }, { "callbackReq" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_callbackReq }, - { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionArg }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_mWIInterrogateArg_extensionArg }, { NULL, 0, 0, NULL } }; @@ -1770,7 +3304,7 @@ static const per_sequence_t MWIInterrogateResElt_sequence[] = { { "originatingNr" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_originatingNr }, { "timestamp" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_timestamp }, { "priority" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_priority }, - { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionArg }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_mWIInterrogateResElt_extensionArg }, { NULL, 0, 0, NULL } }; @@ -1899,58 +3433,525 @@ static int dissect_name(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tre return dissect_h450_Name(tvb, offset, pinfo, tree, hf_h450_name); } -static const per_sequence_t CallingName_sequence[] = { +static const per_sequence_t NameArg_sequence[] = { { "name" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_name }, - { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionArg }, + { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_nameArg_extensionArg }, { NULL, 0, 0, NULL } }; static int -dissect_h450_CallingName(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_NameArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, - ett_h450_CallingName, CallingName_sequence); + ett_h450_NameArg, NameArg_sequence); return offset; } -static const per_sequence_t AlertingName_sequence[] = { - { "name" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_name }, - { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionArg }, +static const per_sequence_t CcRequestArg_sequence[] = { + { "numberA" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_numberA }, + { "numberB" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_numberB }, + { "ccIdentifier" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ccIdentifier }, + { "service" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_service }, + { "can-retain-service" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_can_retain_service }, + { "retain-sig-connection" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_retain_sig_connection }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ccRequestArg_extension }, { NULL, 0, 0, NULL } }; static int -dissect_h450_AlertingName(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_CcRequestArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, - ett_h450_AlertingName, AlertingName_sequence); + ett_h450_CcRequestArg, CcRequestArg_sequence); return offset; } -static const per_sequence_t ConnectedName_sequence[] = { - { "name" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_name }, - { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionArg }, +static const per_sequence_t CcRequestRes_sequence[] = { + { "retain-service" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_retain_service }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ccRequestRes_extension }, { NULL, 0, 0, NULL } }; static int -dissect_h450_ConnectedName(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_CcRequestRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, - ett_h450_ConnectedName, ConnectedName_sequence); + ett_h450_CcRequestRes, CcRequestRes_sequence); return offset; } -static const per_sequence_t BusyName_sequence[] = { - { "name" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_name }, - { "extensionArg" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_extensionArg }, +static const per_sequence_t CcShortArg_sequence[] = { + { "ccIdentifier" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ccIdentifier }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ccShortArg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CcShortArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CcShortArg, CcShortArg_sequence); + + return offset; +} +static int dissect_shortArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_CcShortArg(tvb, offset, pinfo, tree, hf_h450_shortArg); +} + +static const per_sequence_t CcLongArg_sequence[] = { + { "numberA" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_numberA }, + { "numberB" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_numberB }, + { "ccIdentifier" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ccIdentifier }, + { "service" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_service }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ccLongArg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CcLongArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CcLongArg, CcLongArg_sequence); + + return offset; +} +static int dissect_longArg(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_CcLongArg(tvb, offset, pinfo, tree, hf_h450_longArg); +} + + +static const value_string h450_CcArg_vals[] = { + { 0, "shortArg" }, + { 1, "longArg" }, + { 0, NULL } +}; + +static const per_choice_t CcArg_choice[] = { + { 0, "shortArg" , ASN1_EXTENSION_ROOT , dissect_shortArg }, + { 1, "longArg" , ASN1_EXTENSION_ROOT , dissect_longArg }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_CcArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_CcArg, CcArg_choice, "CcArg", + NULL); + + return offset; +} + +static const per_sequence_t CoReqOptArg_sequence[] = { + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_coReqOptArg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CoReqOptArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CoReqOptArg, CoReqOptArg_sequence); + + return offset; +} + +static const per_sequence_t RUAlertOptArg_sequence[] = { + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_rUAlertOptArg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_RUAlertOptArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_RUAlertOptArg, RUAlertOptArg_sequence); + + return offset; +} + +static const per_sequence_t CfbOvrOptArg_sequence[] = { + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cfbOvrOptArg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CfbOvrOptArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CfbOvrOptArg, CfbOvrOptArg_sequence); + + return offset; +} + + +static const value_string h450_CICapabilityLevel_vals[] = { + { 1, "intrusionLowCap" }, + { 2, "intrusionMediumCap" }, + { 3, "intrusionHighCap" }, + { 0, NULL } +}; + + +static int +dissect_h450_CICapabilityLevel(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, + 1U, 3U, NULL, NULL, FALSE); + + return offset; +} +static int dissect_ciCapabilityLevel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_CICapabilityLevel(tvb, offset, pinfo, tree, hf_h450_ciCapabilityLevel); +} + +static const per_sequence_t CIRequestArg_sequence[] = { + { "ciCapabilityLevel" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ciCapabilityLevel }, + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cIRequestArg_argumentExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CIRequestArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CIRequestArg, CIRequestArg_sequence); + + return offset; +} + + +static const value_string h450_CIStatusInformation_vals[] = { + { 0, "callIntrusionImpending" }, + { 1, "callIntruded" }, + { 2, "callIsolated" }, + { 3, "callForceReleased" }, + { 4, "callIntrusionComplete" }, + { 5, "callIntrusionEnd" }, + { 0, NULL } +}; + +static const per_choice_t CIStatusInformation_choice[] = { + { 0, "callIntrusionImpending" , ASN1_EXTENSION_ROOT , dissect_callIntrusionImpending }, + { 1, "callIntruded" , ASN1_EXTENSION_ROOT , dissect_callIntruded }, + { 2, "callIsolated" , ASN1_EXTENSION_ROOT , dissect_callIsolated }, + { 3, "callForceReleased" , ASN1_EXTENSION_ROOT , dissect_callForceReleased }, + { 4, "callIntrusionComplete" , ASN1_EXTENSION_ROOT , dissect_callIntrusionComplete }, + { 5, "callIntrusionEnd" , ASN1_EXTENSION_ROOT , dissect_callIntrusionEnd }, + { 0, NULL, 0, NULL } +}; + +static int +dissect_h450_CIStatusInformation(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_choice(tvb, offset, pinfo, tree, hf_index, + ett_h450_CIStatusInformation, CIStatusInformation_choice, "CIStatusInformation", + NULL); + + return offset; +} +static int dissect_ciStatusInformation(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_CIStatusInformation(tvb, offset, pinfo, tree, hf_h450_ciStatusInformation); +} + +static const per_sequence_t CIRequestRes_sequence[] = { + { "ciStatusInformation" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ciStatusInformation }, + { "resultExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cIRequestRes_resultExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CIRequestRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CIRequestRes, CIRequestRes_sequence); + + return offset; +} + +static const per_sequence_t CIGetCIPLOptArg_sequence[] = { + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cIGetCIPLOptArg_argumentExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CIGetCIPLOptArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CIGetCIPLOptArg, CIGetCIPLOptArg_sequence); + + return offset; +} + + +static const value_string h450_CIProtectionLevel_vals[] = { + { 0, "lowProtection" }, + { 1, "mediumProtection" }, + { 2, "highProtection" }, + { 3, "fullProtection" }, + { 0, NULL } +}; + + +static int +dissect_h450_CIProtectionLevel(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, + 0U, 3U, NULL, NULL, FALSE); + + return offset; +} +static int dissect_ciProtectionLevel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_CIProtectionLevel(tvb, offset, pinfo, tree, hf_h450_ciProtectionLevel); +} + +static const per_sequence_t CIGetCIPLRes_sequence[] = { + { "ciProtectionLevel" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ciProtectionLevel }, + { "silentMonitoringPermitted" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_silentMonitoringPermitted }, + { "resultExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cIGetCIPLRes_resultExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CIGetCIPLRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CIGetCIPLRes, CIGetCIPLRes_sequence); + + return offset; +} + +static const per_sequence_t CIIsOptArg_sequence[] = { + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cIIsOptArg_argumentExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CIIsOptArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CIIsOptArg, CIIsOptArg_sequence); + + return offset; +} + +static const per_sequence_t CIIsOptRes_sequence[] = { + { "resultExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cIIsOptRes_resultExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CIIsOptRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CIIsOptRes, CIIsOptRes_sequence); + + return offset; +} + +static const per_sequence_t CIFrcRelArg_sequence[] = { + { "ciCapabilityLevel" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ciCapabilityLevel }, + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cIFrcRelArg_argumentExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CIFrcRelArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CIFrcRelArg, CIFrcRelArg_sequence); + + return offset; +} + +static const per_sequence_t CIFrcRelOptRes_sequence[] = { + { "resultExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cIFrcRelOptRes_resultExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CIFrcRelOptRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CIFrcRelOptRes, CIFrcRelOptRes_sequence); + + return offset; +} + +static const per_sequence_t CIWobOptArg_sequence[] = { + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cIWobOptArg_argumentExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CIWobOptArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CIWobOptArg, CIWobOptArg_sequence); + + return offset; +} + +static const per_sequence_t CIWobOptRes_sequence[] = { + { "resultExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cIWobOptRes_resultExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CIWobOptRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CIWobOptRes, CIWobOptRes_sequence); + + return offset; +} + +static const per_sequence_t CISilentArg_sequence[] = { + { "ciCapabilityLevel" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ciCapabilityLevel }, + { "specificCall" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_specificCall }, + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cISilentArg_argumentExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CISilentArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CISilentArg, CISilentArg_sequence); + + return offset; +} + +static const per_sequence_t CISilentOptRes_sequence[] = { + { "resultExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cISilentOptRes_resultExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CISilentOptRes(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CISilentOptRes, CISilentOptRes_sequence); + + return offset; +} + +static const per_sequence_t CINotificationArg_sequence[] = { + { "ciStatusInformation" , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_ciStatusInformation }, + { "argumentExtension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cINotificationArg_argumentExtension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CINotificationArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CINotificationArg, CINotificationArg_sequence); + + return offset; +} + +static const per_sequence_t FeatureList_sequence[] = { + { "ssCFreRoutingSupported" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCFreRoutingSupported }, + { "ssCTreRoutingSupported" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCTreRoutingSupported }, + { "ssCCBSPossible" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCCBSPossible }, + { "ssCCNRPossible" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCCNRPossible }, + { "ssCOSupported" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCOSupported }, + { "ssCIForcedReleaseSupported" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCIForcedReleaseSupported }, + { "ssCIIsolationSupported" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCIIsolationSupported }, + { "ssCIWaitOnBusySupported" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCIWaitOnBusySupported }, + { "ssCISilentMonitoringSupported", ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCISilentMonitoringSupported }, + { "ssCIConferenceSupported" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCIConferenceSupported }, + { "ssCHFarHoldSupported" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCHFarHoldSupported }, + { "ssMWICallbackSupported" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssMWICallbackSupported }, + { "ssCPCallParkSupported" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCPCallParkSupported }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_FeatureList(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_FeatureList, FeatureList_sequence); + + return offset; +} +static int dissect_featureList(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_FeatureList(tvb, offset, pinfo, tree, hf_h450_featureList); +} + + +static const value_string h450_PartyCategory_vals[] = { + { 0, "unknown" }, + { 1, "extension" }, + { 2, "attendant" }, + { 3, "emergExt" }, + { 0, NULL } +}; + + +static int +dissect_h450_PartyCategory(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, + 0, 3, NULL, NULL, TRUE); + + return offset; +} +static int dissect_partyCategory(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_PartyCategory(tvb, offset, pinfo, tree, hf_h450_partyCategory); +} + + + +static int +dissect_h450_SSCIProtectionLevel(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_constrained_integer(tvb, offset, pinfo, tree, hf_index, + 0U, 3U, NULL, NULL, FALSE); + + return offset; +} +static int dissect_ssCIprotectionLevel(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_SSCIProtectionLevel(tvb, offset, pinfo, tree, hf_h450_ssCIprotectionLevel); +} + +static const per_sequence_t FeatureValues_sequence[] = { + { "partyCategory" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_partyCategory }, + { "ssCIprotectionLevel" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCIprotectionLevel }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_FeatureValues(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_FeatureValues, FeatureValues_sequence); + + return offset; +} +static int dissect_featureValues(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_FeatureValues(tvb, offset, pinfo, tree, hf_h450_featureValues); +} + +static const per_sequence_t FeatureControl_sequence[] = { + { "ssCHDoNotHold" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCHDoNotHold }, + { "ssCTDoNotTransfer" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCTDoNotTransfer }, + { "ssMWICallbackCall" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssMWICallbackCall }, + { "ssCISilentMonitorPermitted" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_ssCISilentMonitorPermitted }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_FeatureControl(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_FeatureControl, FeatureControl_sequence); + + return offset; +} +static int dissect_featureControl(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree) { + return dissect_h450_FeatureControl(tvb, offset, pinfo, tree, hf_h450_featureControl); +} + +static const per_sequence_t CmnArg_sequence[] = { + { "featureList" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_featureList }, + { "featureValues" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_featureValues }, + { "featureControl" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_featureControl }, + { "extension" , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_cmnArg_extension }, + { NULL, 0, 0, NULL } +}; + +static int +dissect_h450_CmnArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { + offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, + ett_h450_CmnArg, CmnArg_sequence); + + return offset; +} + +static const per_sequence_t CmnRequestArg_sequence[] = { + { "extensionArg" , ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_cmnRequestArg_extensionArg }, { NULL, 0, 0, NULL } }; static int -dissect_h450_BusyName(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { +dissect_h450_CmnRequestArg(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index) { offset = dissect_per_sequence(tvb, offset, pinfo, tree, hf_index, - ett_h450_BusyName, BusyName_sequence); + ett_h450_CmnRequestArg, CmnRequestArg_sequence); return offset; } @@ -1963,7 +3964,7 @@ static const value_string h450_Unspecified_vals[] = { }; static const per_choice_t Unspecified_choice[] = { - { 0, "extension" , ASN1_NO_EXTENSIONS , dissect_extension1 }, + { 0, "extension" , ASN1_NO_EXTENSIONS , dissect_Unspecified_extension }, { 1, "nonStandard" , ASN1_NO_EXTENSIONS , dissect_nonStandard }, { 0, NULL, 0, NULL } }; @@ -2367,6 +4368,7 @@ dissect_h4501_argument(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree switch (localOpcode) { + /* h450.2 */ case CallTransferIdentify: /* Localvalue 7 */ case CallTransferAbandon: /* Localvalue 8 */ dissect_h450_DummyArg(argument_tvb, 0, pinfo , tree, hf_h4502_DummyArg); @@ -2395,7 +4397,39 @@ dissect_h4501_argument(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree case CallTransferActive: /* Localvalue 11 */ dissect_h450_CTActiveArg(argument_tvb, 0, pinfo , tree, hf_h4502_CTActiveArg); break; - /* H.450.4 */ + /* h450.3*/ + + case ActivateDiversionQ: /* Localvalue 15 */ + dissect_h450_ActivateDiversionQArg(argument_tvb, 0, pinfo , tree, hf_h4503ActivateDiversionQArg); + break; + case DeactivateDiversionQ: /* Localvalue 16 */ + dissect_h450_DeactivateDiversionQArg(argument_tvb, 0, pinfo , tree, hf_h4503DeactivateDiversionQArg); + break; + case InterrogateDiversionQ: /* Localvalue 17 */ + dissect_h450_InterrogateDiversionQ(argument_tvb, 0, pinfo , tree, hf_h4503InterrogateDiversionQ); + break; + case CheckRestriction: /* Localvalue 18 */ + dissect_h450_CheckRestrictionArg(argument_tvb, 0, pinfo , tree, hf_h4503CheckRestrictionArg); + break; + case CallRerouting: /* Localvalue 19 */ + dissect_h450_CallReroutingArg(argument_tvb, 0, pinfo , tree, hf_h4503CallReroutingArg); + break; + case DivertingLegInformation1: /* Localvalue 20 */ + dissect_h450_DivertingLegInformation1Arg(argument_tvb, 0, pinfo , tree, hf_h4503DivertingLegInformation1Arg); + break; + case DivertingLegInformation2: /* Localvalue 21 */ + dissect_h450_DivertingLegInformation2Arg(argument_tvb, 0, pinfo , tree, hf_h4503DivertingLegInformation2Arg); + break; + case DivertingLegInformation3: /* Localvalue 22 */ + dissect_h450_DivertingLegInformation3Arg(argument_tvb, 0, pinfo , tree, hf_h4503DivertingLegInformation3Arg); + break; + case DivertingLegInformation4: /* Localvalue 100 */ + dissect_h450_DivertingLegInformation4Arg(argument_tvb, 0, pinfo , tree, hf_h4503DivertingLegInformation4Arg); + break; + case CfnrDivertedLegFailed: /* Localvalue 23 */ + dissect_h450_CfnrDivertedLegFailedArg(argument_tvb, 0, pinfo , tree, hf_h4503CfnrDivertedLegFailedArg); + break; + /* H.450.4 Call Hold */ case HoldNotific: /* Localvalue 101 */ dissect_h450_HoldNotificArg(argument_tvb, 0, pinfo , tree, hf_h4504_HoldNotificArg); break; @@ -2408,6 +4442,23 @@ dissect_h4501_argument(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree case RemoteRetrieve: /* Localvalue 104 */ dissect_h450_RemoteRetrieveArg(argument_tvb, 0, pinfo , tree, hf_h4504_RemoteRetrieveArg); break; + +/* H.450.5 Call Park and Pickup constants */ + case CpRequest: /* Localvalue 106 */ + case CpSetup: /* Localvalue 107 */ + case GroupIndicationOn: /* Localvalue 108 */ + case GroupIndicationOff: /* Localvalue 109 */ + case Pickrequ: /* Localvalue 110 */ + case Pickup: /* Localvalue 111 */ + case PickExe: /* Localvalue 112 */ + case CpNotify: /* Localvalue 113 */ + case CpickupNotify: /* Localvalue 114 */ + +/* H.450.6 Call Waiting constants */ + case CallWaiting: /* Localvalue 105 */ +PER_NOT_DECODED_YET("Unrecognized H.450.x operation"); + break; + /* H.450.7 Message Waiting Indication */ case MWIActivate: /* Localvalue 80 */ dissect_h450_MWIActivateArg(argument_tvb, 0, pinfo , tree, hf_h4507_MWIActivateArg); @@ -2419,19 +4470,47 @@ dissect_h4501_argument(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree dissect_h450_MWIInterrogateArg(argument_tvb, 0, pinfo , tree, hf_h4507_MWIInterrogateArg); break; - /* H.450.8 */ + /* H.450.8 Name Identification */ case NIcallingName: /* Localvalue 0 */ - dissect_h450_CallingName(argument_tvb, 0, pinfo , tree, hf_h4508_CallingNameArg); + dissect_h450_NameArg(argument_tvb, 0, pinfo , tree, hf_h4508_CallingNameArg); break; case NIalertingName: /* Localvalue 1 */ - dissect_h450_AlertingName(argument_tvb, 0, pinfo , tree, hf_h4508_AlertingNameArg); + dissect_h450_NameArg(argument_tvb, 0, pinfo , tree, hf_h4508_AlertingNameArg); break; case NIconnectedName: /* Localvalue 2 */ - dissect_h450_ConnectedName(argument_tvb, 0, pinfo , tree, hf_h4508_ConnectedNameArg); + dissect_h450_NameArg(argument_tvb, 0, pinfo , tree, hf_h4508_ConnectedNameArg); break; case NIbusyName: /* Localvalue 3 */ - dissect_h450_BusyName(argument_tvb, 0, pinfo , tree, hf_h4508_BusyNameArg); + dissect_h450_NameArg(argument_tvb, 0, pinfo , tree, hf_h4508_BusyNameArg); break; + +/* H.450.9 Call Completion constants */ + case CCBSRequest: /* Localvalue 40 */ + case CCNRRequest: /* Localvalue 27 */ + case CCCancel: /* Localvalue 28 */ + case CCExecPossible: /* Localvalue 29 */ + case CCRingout: /* Localvalue 31 */ + case CCSuspend: /* Localvalue 32 */ + case CCResume: /* Localvalue 33 */ + +/* H.450.10 Call Offer constants */ + case CallOfferRequest: /* Localvalue 34 */ + case RemoteUserAlerting: /* Localvalue 115 */ + case CFBOverride: /* Localvalue 49 */ + +/* H.450.11 Call Intrusion constants */ + case CallIntrusionRequest: /* Localvalue 43 */ + case CallIntrusionGetCIPL: /* Localvalue 44 */ + case CallIntrusionIsolate: /* Localvalue 45 */ + case CallIntrusionForcedRelease: /* Localvalue 46 */ + case CallIntrusionWOBRequest: /* Localvalue 47 */ + case CallIntrusionSilentMonitor: /* Localvalue 116 */ + case CallIntrusionNotification: /* Localvalue 117 */ + +/* H.450.12 Common Information Operations constants */ + case CmnRequest: /* Localvalue 84 */ + case CmnInform: /* Localvalue 85 */ + /* TODO - decode other H.450.x invoke arguments here */ default: PER_NOT_DECODED_YET("Unrecognized H.450.x operation"); @@ -2560,6 +4639,37 @@ void proto_register_h450(void) { { "SubaddressTransferArg", "h4502.SubaddressTransferArg", FT_NONE, BASE_NONE, NULL, 0, "SubaddressTransferArg sequence of", HFILL }}, + { &hf_h4503ActivateDiversionQArg, + { "ActivateDiversionQArg", "h4503.ActivateDiversionQArg", FT_NONE, BASE_NONE, + NULL, 0, "ActivateDiversionQArg sequence of", HFILL }}, + { &hf_h4503DeactivateDiversionQArg, + { "DeactivateDiversionQArg", "h4503.DeactivateDiversionQArg", FT_NONE, BASE_NONE, + NULL, 0, "ActivateDiversionQArg sequence of", HFILL }}, + { &hf_h4503InterrogateDiversionQ, + { "InterrogateDiversionQ", "h4503.InterrogateDiversionQ", FT_NONE, BASE_NONE, + NULL, 0, "InterrogateDiversionQ sequence of", HFILL }}, + { &hf_h4503CheckRestrictionArg, + { "CheckRestrictionArg", "h4503.CheckRestrictionArg", FT_NONE, BASE_NONE, + NULL, 0, "CheckRestrictionArg sequence of", HFILL }}, + { &hf_h4503CallReroutingArg, + { "CallReroutingArg", "h4503.CallReroutingArg", FT_NONE, BASE_NONE, + NULL, 0, "ActivateDiversionQArg sequence of", HFILL }}, + { &hf_h4503DivertingLegInformation1Arg, + { "DivertingLegInformation1Arg", "h4503.DivertingLegInformation1Arg", FT_NONE, BASE_NONE, + NULL, 0, "DivertingLegInformation1Arg sequence of", HFILL }}, + { &hf_h4503DivertingLegInformation2Arg, + { "DivertingLegInformation2Arg", "h4503.DivertingLegInformation2Arg", FT_NONE, BASE_NONE, + NULL, 0, "DivertingLegInformation1Arg sequence of", HFILL }}, + { &hf_h4503DivertingLegInformation3Arg, + { "DivertingLegInformation3Arg", "h4503.DivertingLegInformation3Arg", FT_NONE, BASE_NONE, + NULL, 0, "DivertingLegInformation1Arg sequence of", HFILL }}, + { &hf_h4503DivertingLegInformation4Arg, + { "DivertingLegInformation4Arg", "h4503.DivertingLegInformation4Arg", FT_NONE, BASE_NONE, + NULL, 0, "DivertingLegInformation4Arg sequence of", HFILL }}, + { &hf_h4503CfnrDivertedLegFailedArg, + { "CfnrDivertedLegFailedArg", "h4503.CfnrDivertedLegFailedArg", FT_NONE, BASE_NONE, + NULL, 0, "ActivateDiversionQArg sequence of", HFILL }}, + { &hf_h4504_HoldNotificArg, { "HoldNotificArg", "h4504.HoldNotificArg", FT_NONE, BASE_NONE, NULL, 0, "HoldNotificArg sequence of", HFILL }}, @@ -2776,14 +4886,18 @@ void proto_register_h450(void) { { "reroutingNumber", "h450.reroutingNumber", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, - { &hf_h450_argumentExtension, + { &hf_h450_cTInitiateArg_argumentExtension, { "argumentExtension", "h450.argumentExtension", FT_UINT32, BASE_DEC, VALS(h450_ArgumentExtension_vals), 0, - "", HFILL }}, + "CTInitiateArg/argumentExtension", HFILL }}, { &hf_h450_transferringNumber, { "transferringNumber", "h450.transferringNumber", FT_NONE, BASE_NONE, NULL, 0, "CTSetupArg/transferringNumber", HFILL }}, + { &hf_h450_cTSetupArg_argumentExtension, + { "argumentExtension", "h450.argumentExtension", + FT_UINT32, BASE_DEC, VALS(h450_ArgumentExtension_vals), 0, + "CTSetupArg/argumentExtension", HFILL }}, { &hf_h450_resultExtension, { "resultExtension", "h450.resultExtension", FT_UINT32, BASE_DEC, VALS(h450_T_resultExtension_vals), 0, @@ -2800,10 +4914,18 @@ void proto_register_h450(void) { { "basicCallInfoElements", "h450.basicCallInfoElements", FT_BYTES, BASE_HEX, NULL, 0, "", HFILL }}, + { &hf_h450_cTUpdateArg_argumentExtension, + { "argumentExtension", "h450.argumentExtension", + FT_UINT32, BASE_DEC, VALS(h450_ArgumentExtension_vals), 0, + "CTUpdateArg/argumentExtension", HFILL }}, { &hf_h450_redirectionSubaddress, { "redirectionSubaddress", "h450.redirectionSubaddress", FT_UINT32, BASE_DEC, VALS(h450_PartySubaddress_vals), 0, "SubaddressTransferArg/redirectionSubaddress", HFILL }}, + { &hf_h450_subaddressTransferArg_argumentExtension, + { "argumentExtension", "h450.argumentExtension", + FT_UINT32, BASE_DEC, VALS(h450_ArgumentExtension_vals), 0, + "SubaddressTransferArg/argumentExtension", HFILL }}, { &hf_h450_endDesignation, { "endDesignation", "h450.endDesignation", FT_UINT32, BASE_DEC, VALS(h450_EndDesignation_vals), 0, @@ -2812,6 +4934,10 @@ void proto_register_h450(void) { { "callStatus", "h450.callStatus", FT_UINT32, BASE_DEC, VALS(h450_CallStatus_vals), 0, "CTCompleteArg/callStatus", HFILL }}, + { &hf_h450_cTCompleteArg_argumentExtension, + { "argumentExtension", "h450.argumentExtension", + FT_UINT32, BASE_DEC, VALS(h450_ArgumentExtension_vals), 0, + "CTCompleteArg/argumentExtension", HFILL }}, { &hf_h450_connectedAddress, { "connectedAddress", "h450.connectedAddress", FT_NONE, BASE_NONE, NULL, 0, @@ -2820,18 +4946,198 @@ void proto_register_h450(void) { { "connectedInfo", "h450.connectedInfo", FT_STRING, BASE_NONE, NULL, 0, "CTActiveArg/connectedInfo", HFILL }}, + { &hf_h450_cTActiveArg_argumentExtension, + { "argumentExtension", "h450.argumentExtension", + FT_UINT32, BASE_DEC, VALS(h450_ArgumentExtension_vals), 0, + "CTActiveArg/argumentExtension", HFILL }}, { &hf_h450_ExtensionSeq_item, { "Item", "h450.ExtensionSeq_item", FT_NONE, BASE_NONE, NULL, 0, "ExtensionSeq/_item", HFILL }}, - { &hf_h450_extensionArg, - { "extensionArg", "h450.extensionArg", + { &hf_h450_procedure, + { "procedure", "h450.procedure", + FT_UINT32, BASE_DEC, VALS(h450_Procedure_vals), 0, + "", HFILL }}, + { &hf_h450_basicService, + { "basicService", "h450.basicService", + FT_UINT32, BASE_DEC, VALS(h450_BasicService_vals), 0, + "", HFILL }}, + { &hf_h450_divertedToAddress, + { "divertedToAddress", "h450.divertedToAddress", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, - { &hf_h450_ExtensionArg_item, - { "Item", "h450.ExtensionArg_item", + { &hf_h450_servedUserNr, + { "servedUserNr", "h450.servedUserNr", + FT_NONE, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_activatingUserNr, + { "activatingUserNr", "h450.activatingUserNr", + FT_NONE, BASE_NONE, NULL, 0, + "ActivateDiversionQArg/activatingUserNr", HFILL }}, + { &hf_h450_activateDiversionQArg_extension, + { "extension", "h450.extension", + FT_UINT32, BASE_DEC, VALS(h450_ActivateDiversionQArg_extension_vals), 0, + "ActivateDiversionQArg/extension", HFILL }}, + { &hf_h450_deactivatingUserNr, + { "deactivatingUserNr", "h450.deactivatingUserNr", + FT_NONE, BASE_NONE, NULL, 0, + "DeactivateDiversionQArg/deactivatingUserNr", HFILL }}, + { &hf_h450_deactivateDiversionQArg_extension, + { "extension", "h450.extension", + FT_UINT32, BASE_DEC, VALS(h450_DeactivateDiversionQArg_extension_vals), 0, + "DeactivateDiversionQArg/extension", HFILL }}, + { &hf_h450_interrogatingUserNr, + { "interrogatingUserNr", "h450.interrogatingUserNr", + FT_NONE, BASE_NONE, NULL, 0, + "InterrogateDiversionQ/interrogatingUserNr", HFILL }}, + { &hf_h450_interrogateDiversionQ_extension, + { "extension", "h450.extension", + FT_UINT32, BASE_DEC, VALS(h450_InterrogateDiversionQ_extension_vals), 0, + "InterrogateDiversionQ/extension", HFILL }}, + { &hf_h450_divertedToNr, + { "divertedToNr", "h450.divertedToNr", + FT_NONE, BASE_NONE, NULL, 0, + "CheckRestrictionArg/divertedToNr", HFILL }}, + { &hf_h450_checkRestrictionArg_extension, + { "extension", "h450.extension", + FT_UINT32, BASE_DEC, VALS(h450_CheckRestrictionArg_extension_vals), 0, + "CheckRestrictionArg/extension", HFILL }}, + { &hf_h450_reroutingReason, + { "reroutingReason", "h450.reroutingReason", + FT_UINT32, BASE_DEC, VALS(h450_DiversionReason_vals), 0, + "CallReroutingArg/reroutingReason", HFILL }}, + { &hf_h450_originalReroutingReason, + { "originalReroutingReason", "h450.originalReroutingReason", + FT_UINT32, BASE_DEC, VALS(h450_DiversionReason_vals), 0, + "CallReroutingArg/originalReroutingReason", HFILL }}, + { &hf_h450_calledAddress, + { "calledAddress", "h450.calledAddress", + FT_NONE, BASE_NONE, NULL, 0, + "CallReroutingArg/calledAddress", HFILL }}, + { &hf_h450_diversionCounter, + { "diversionCounter", "h450.diversionCounter", + FT_UINT32, BASE_DEC, NULL, 0, + "", HFILL }}, + { &hf_h450_h225InfoElement, + { "h225InfoElement", "h450.h225InfoElement", + FT_BYTES, BASE_HEX, NULL, 0, + "CallReroutingArg/h225InfoElement", HFILL }}, + { &hf_h450_lastReroutingNr, + { "lastReroutingNr", "h450.lastReroutingNr", + FT_NONE, BASE_NONE, NULL, 0, + "CallReroutingArg/lastReroutingNr", HFILL }}, + { &hf_h450_subscriptionOption, + { "subscriptionOption", "h450.subscriptionOption", + FT_UINT32, BASE_DEC, VALS(h450_SubscriptionOption_vals), 0, + "", HFILL }}, + { &hf_h450_callingPartySubaddress, + { "callingPartySubaddress", "h450.callingPartySubaddress", + FT_UINT32, BASE_DEC, VALS(h450_PartySubaddress_vals), 0, + "CallReroutingArg/callingPartySubaddress", HFILL }}, + { &hf_h450_callingNumber, + { "callingNumber", "h450.callingNumber", + FT_NONE, BASE_NONE, NULL, 0, + "CallReroutingArg/callingNumber", HFILL }}, + { &hf_h450_callingInfo, + { "callingInfo", "h450.callingInfo", + FT_STRING, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_originalCalledNr, + { "originalCalledNr", "h450.originalCalledNr", + FT_NONE, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_redirectingInfo, + { "redirectingInfo", "h450.redirectingInfo", + FT_STRING, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_originalCalledInfo, + { "originalCalledInfo", "h450.originalCalledInfo", + FT_STRING, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_callReroutingArg_extension, + { "extension", "h450.extension", + FT_UINT32, BASE_DEC, VALS(h450_CallReroutingArg_extension_vals), 0, + "CallReroutingArg/extension", HFILL }}, + { &hf_h450_diversionReason, + { "diversionReason", "h450.diversionReason", + FT_UINT32, BASE_DEC, VALS(h450_DiversionReason_vals), 0, + "", HFILL }}, + { &hf_h450_nominatedNr, + { "nominatedNr", "h450.nominatedNr", + FT_NONE, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_nominatedInfo, + { "nominatedInfo", "h450.nominatedInfo", + FT_STRING, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_redirectingNr, + { "redirectingNr", "h450.redirectingNr", + FT_NONE, BASE_NONE, NULL, 0, + "DivertingLegInformation1Arg/redirectingNr", HFILL }}, + { &hf_h450_divertingLegInformation1Arg_extension, + { "extension", "h450.extension", + FT_UINT32, BASE_DEC, VALS(h450_DivertingLegInformation1Arg_extension_vals), 0, + "DivertingLegInformation1Arg/extension", HFILL }}, + { &hf_h450_originalDiversionReason, + { "originalDiversionReason", "h450.originalDiversionReason", + FT_UINT32, BASE_DEC, VALS(h450_DiversionReason_vals), 0, + "DivertingLegInformation2Arg/originalDiversionReason", HFILL }}, + { &hf_h450_divertingNr, + { "divertingNr", "h450.divertingNr", + FT_NONE, BASE_NONE, NULL, 0, + "DivertingLegInformation2Arg/divertingNr", HFILL }}, + { &hf_h450_extension, + { "extension", "h450.extension", + FT_UINT32, BASE_DEC, VALS(h450_DivertingLegInformation2Arg_extension_vals), 0, + "DivertingLegInformation2Arg/extension", HFILL }}, + { &hf_h450_presentationAllowedIndicator, + { "presentationAllowedIndicator", "h450.presentationAllowedIndicator", + FT_BOOLEAN, 8, NULL, 0, + "DivertingLegInformation3Arg/presentationAllowedIndicator", HFILL }}, + { &hf_h450_redirectionNr, + { "redirectionNr", "h450.redirectionNr", + FT_NONE, BASE_NONE, NULL, 0, + "DivertingLegInformation3Arg/redirectionNr", HFILL }}, + { &hf_h450_divertingLegInformation3Arg_extension, + { "extension", "h450.extension", + FT_UINT32, BASE_DEC, VALS(h450_DivertingLegInformation3Arg_extension_vals), 0, + "DivertingLegInformation3Arg/extension", HFILL }}, + { &hf_h450_callingNr, + { "callingNr", "h450.callingNr", + FT_NONE, BASE_NONE, NULL, 0, + "DivertingLegInformation4Arg/callingNr", HFILL }}, + { &hf_h450_divertingLegInformation4Arg_extension, + { "extension", "h450.extension", + FT_UINT32, BASE_DEC, VALS(h450_DivertingLegInformation4Arg_extension_vals), 0, + "DivertingLegInformation4Arg/extension", HFILL }}, + { &hf_h450_IntResultList_item, + { "Item", "h450.IntResultList_item", + FT_NONE, BASE_NONE, NULL, 0, + "IntResultList/_item", HFILL }}, + { &hf_h450_remoteEnabled, + { "remoteEnabled", "h450.remoteEnabled", + FT_BOOLEAN, 8, NULL, 0, + "IntResult/remoteEnabled", HFILL }}, + { &hf_h450_intResult_extension, + { "extension", "h450.extension", + FT_UINT32, BASE_DEC, VALS(h450_IntResult_extension_vals), 0, + "IntResult/extension", HFILL }}, + { &hf_h450_holdNotificArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "HoldNotificArg/extensionArg", HFILL }}, + { &hf_h450_extensionArg_item, + { "Item", "h450.extensionArg_item", FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0, - "ExtensionArg/_item", HFILL }}, + "", HFILL }}, + { &hf_h450_retrieveNotificArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "RetrieveNotificArg/extensionArg", HFILL }}, + { &hf_h450_remoteHoldArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "RemoteHoldArg/extensionArg", HFILL }}, { &hf_h450_extensionRes, { "extensionRes", "h450.extensionRes", FT_NONE, BASE_NONE, NULL, 0, @@ -2840,18 +5146,106 @@ void proto_register_h450(void) { { "Item", "h450.extensionRes_item", FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0, "", HFILL }}, - { &hf_h450_extension, + { &hf_h450_remoteRetrieveArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "RemoteRetrieveArg/extensionArg", HFILL }}, + { &hf_h450_mixedExtension_extension, { "extension", "h450.extension", FT_NONE, BASE_NONE, NULL, 0, "MixedExtension/extension", HFILL }}, - { &hf_h450_servedUserNr, - { "servedUserNr", "h450.servedUserNr", + { &hf_h450_parkingNumber, + { "parkingNumber", "h450.parkingNumber", FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, - { &hf_h450_basicService, - { "basicService", "h450.basicService", - FT_UINT32, BASE_DEC, VALS(h450_BasicService_vals), 0, + { &hf_h450_parkedNumber, + { "parkedNumber", "h450.parkedNumber", + FT_NONE, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_parkedToNumber, + { "parkedToNumber", "h450.parkedToNumber", + FT_NONE, BASE_NONE, NULL, 0, "", HFILL }}, + { &hf_h450_parkedToPosition, + { "parkedToPosition", "h450.parkedToPosition", + FT_UINT32, BASE_DEC, NULL, 0, + "", HFILL }}, + { &hf_h450_cpRequestArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "CpRequestArg/extensionArg", HFILL }}, + { &hf_h450_parkCondition, + { "parkCondition", "h450.parkCondition", + FT_UINT32, BASE_DEC, VALS(h450_ParkCondition_vals), 0, + "", HFILL }}, + { &hf_h450_cpSetupArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "CpSetupArg/extensionArg", HFILL }}, + { &hf_h450_callPickupId, + { "callPickupId", "h450.callPickupId", + FT_NONE, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_groupMemberUserNr, + { "groupMemberUserNr", "h450.groupMemberUserNr", + FT_NONE, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_retrieveCallType, + { "retrieveCallType", "h450.retrieveCallType", + FT_UINT32, BASE_DEC, VALS(h450_CallType_vals), 0, + "GroupIndicationOnArg/retrieveCallType", HFILL }}, + { &hf_h450_partyToRetrieve, + { "partyToRetrieve", "h450.partyToRetrieve", + FT_NONE, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_retrieveAddress, + { "retrieveAddress", "h450.retrieveAddress", + FT_NONE, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_parkPosition, + { "parkPosition", "h450.parkPosition", + FT_UINT32, BASE_DEC, NULL, 0, + "", HFILL }}, + { &hf_h450_groupIndicationOnArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "GroupIndicationOnArg/extensionArg", HFILL }}, + { &hf_h450_groupIndicationOffArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "GroupIndicationOffArg/extensionArg", HFILL }}, + { &hf_h450_picking_upNumber, + { "picking-upNumber", "h450.picking_upNumber", + FT_NONE, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_pickrequArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "PickrequArg/extensionArg", HFILL }}, + { &hf_h450_pickupArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "PickupArg/extensionArg", HFILL }}, + { &hf_h450_pickExeArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "PickExeArg/extensionArg", HFILL }}, + { &hf_h450_cpNotifyArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "CpNotifyArg/extensionArg", HFILL }}, + { &hf_h450_cpickupNotifyArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "CpickupNotifyArg/extensionArg", HFILL }}, + { &hf_h450_nbOfAddWaitingCalls, + { "nbOfAddWaitingCalls", "h450.nbOfAddWaitingCalls", + FT_UINT32, BASE_DEC, NULL, 0, + "CallWaitingArg/nbOfAddWaitingCalls", HFILL }}, + { &hf_h450_callWaitingArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "CallWaitingArg/extensionArg", HFILL }}, { &hf_h450_msgCentreId, { "msgCentreId", "h450.msgCentreId", FT_UINT32, BASE_DEC, VALS(h450_MsgCentreId_vals), 0, @@ -2872,6 +5266,10 @@ void proto_register_h450(void) { { "priority", "h450.priority", FT_UINT32, BASE_DEC, NULL, 0, "", HFILL }}, + { &hf_h450_mWIActivateArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "MWIActivateArg/extensionArg", HFILL }}, { &hf_h450_MwiDummyRes_item, { "Item", "h450.MwiDummyRes_item", FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0, @@ -2880,10 +5278,22 @@ void proto_register_h450(void) { { "callbackReq", "h450.callbackReq", FT_BOOLEAN, 8, NULL, 0, "", HFILL }}, + { &hf_h450_mWIDeactivateArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "MWIDeactivateArg/extensionArg", HFILL }}, + { &hf_h450_mWIInterrogateArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "MWIInterrogateArg/extensionArg", HFILL }}, { &hf_h450_MWIInterrogateRes_item, { "Item", "h450.MWIInterrogateRes_item", FT_NONE, BASE_NONE, NULL, 0, "MWIInterrogateRes/_item", HFILL }}, + { &hf_h450_mWIInterrogateResElt_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "MWIInterrogateResElt/extensionArg", HFILL }}, { &hf_h450_integer, { "integer", "h450.integer", FT_UINT32, BASE_DEC, NULL, 0, @@ -2896,10 +5306,18 @@ void proto_register_h450(void) { { "numericString", "h450.numericString", FT_STRING, BASE_NONE, NULL, 0, "MsgCentreId/numericString", HFILL }}, + { &hf_h450_ExtensionArg_item, + { "Item", "h450.ExtensionArg_item", + FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0, + "ExtensionArg/_item", HFILL }}, { &hf_h450_name, { "name", "h450.name", FT_UINT32, BASE_DEC, VALS(h450_Name_vals), 0, - "", HFILL }}, + "NameArg/name", HFILL }}, + { &hf_h450_nameArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "NameArg/extensionArg", HFILL }}, { &hf_h450_namePresentationAllowed, { "namePresentationAllowed", "h450.namePresentationAllowed", FT_UINT32, BASE_DEC, VALS(h450_NamePresentationAllowed_vals), 0, @@ -2924,7 +5342,275 @@ void proto_register_h450(void) { { "restrictedNull", "h450.restrictedNull", FT_NONE, BASE_NONE, NULL, 0, "NamePresentationRestricted/restrictedNull", HFILL }}, - { &hf_h450_extension1, + { &hf_h450_numberA, + { "numberA", "h450.numberA", + FT_NONE, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_numberB, + { "numberB", "h450.numberB", + FT_NONE, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_ccIdentifier, + { "ccIdentifier", "h450.ccIdentifier", + FT_NONE, BASE_NONE, NULL, 0, + "", HFILL }}, + { &hf_h450_service, + { "service", "h450.service", + FT_UINT32, BASE_DEC, VALS(h450_BasicService_vals), 0, + "", HFILL }}, + { &hf_h450_can_retain_service, + { "can-retain-service", "h450.can_retain_service", + FT_BOOLEAN, 8, NULL, 0, + "CcRequestArg/can-retain-service", HFILL }}, + { &hf_h450_retain_sig_connection, + { "retain-sig-connection", "h450.retain_sig_connection", + FT_BOOLEAN, 8, NULL, 0, + "CcRequestArg/retain-sig-connection", HFILL }}, + { &hf_h450_ccRequestArg_extension, + { "extension", "h450.extension", + FT_NONE, BASE_NONE, NULL, 0, + "CcRequestArg/extension", HFILL }}, + { &hf_h450_extension_item, + { "Item", "h450.extension_item", + FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0, + "", HFILL }}, + { &hf_h450_retain_service, + { "retain-service", "h450.retain_service", + FT_BOOLEAN, 8, NULL, 0, + "CcRequestRes/retain-service", HFILL }}, + { &hf_h450_ccRequestRes_extension, + { "extension", "h450.extension", + FT_NONE, BASE_NONE, NULL, 0, + "CcRequestRes/extension", HFILL }}, + { &hf_h450_shortArg, + { "shortArg", "h450.shortArg", + FT_NONE, BASE_NONE, NULL, 0, + "CcArg/shortArg", HFILL }}, + { &hf_h450_longArg, + { "longArg", "h450.longArg", + FT_NONE, BASE_NONE, NULL, 0, + "CcArg/longArg", HFILL }}, + { &hf_h450_ccShortArg_extension, + { "extension", "h450.extension", + FT_NONE, BASE_NONE, NULL, 0, + "CcShortArg/extension", HFILL }}, + { &hf_h450_ccLongArg_extension, + { "extension", "h450.extension", + FT_NONE, BASE_NONE, NULL, 0, + "CcLongArg/extension", HFILL }}, + { &hf_h450_coReqOptArg_extension, + { "extension", "h450.extension", + FT_NONE, BASE_NONE, NULL, 0, + "CoReqOptArg/extension", HFILL }}, + { &hf_h450_rUAlertOptArg_extension, + { "extension", "h450.extension", + FT_NONE, BASE_NONE, NULL, 0, + "RUAlertOptArg/extension", HFILL }}, + { &hf_h450_cfbOvrOptArg_extension, + { "extension", "h450.extension", + FT_NONE, BASE_NONE, NULL, 0, + "CfbOvrOptArg/extension", HFILL }}, + { &hf_h450_ciCapabilityLevel, + { "ciCapabilityLevel", "h450.ciCapabilityLevel", + FT_UINT32, BASE_DEC, VALS(h450_CICapabilityLevel_vals), 0, + "", HFILL }}, + { &hf_h450_cIRequestArg_argumentExtension, + { "argumentExtension", "h450.argumentExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CIRequestArg/argumentExtension", HFILL }}, + { &hf_h450_argumentExtension_item, + { "Item", "h450.argumentExtension_item", + FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0, + "", HFILL }}, + { &hf_h450_ciStatusInformation, + { "ciStatusInformation", "h450.ciStatusInformation", + FT_UINT32, BASE_DEC, VALS(h450_CIStatusInformation_vals), 0, + "", HFILL }}, + { &hf_h450_cIRequestRes_resultExtension, + { "resultExtension", "h450.resultExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CIRequestRes/resultExtension", HFILL }}, + { &hf_h450_resultExtension_item, + { "Item", "h450.resultExtension_item", + FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0, + "", HFILL }}, + { &hf_h450_cIGetCIPLOptArg_argumentExtension, + { "argumentExtension", "h450.argumentExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CIGetCIPLOptArg/argumentExtension", HFILL }}, + { &hf_h450_ciProtectionLevel, + { "ciProtectionLevel", "h450.ciProtectionLevel", + FT_UINT32, BASE_DEC, VALS(h450_CIProtectionLevel_vals), 0, + "CIGetCIPLRes/ciProtectionLevel", HFILL }}, + { &hf_h450_silentMonitoringPermitted, + { "silentMonitoringPermitted", "h450.silentMonitoringPermitted", + FT_NONE, BASE_NONE, NULL, 0, + "CIGetCIPLRes/silentMonitoringPermitted", HFILL }}, + { &hf_h450_cIGetCIPLRes_resultExtension, + { "resultExtension", "h450.resultExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CIGetCIPLRes/resultExtension", HFILL }}, + { &hf_h450_cIIsOptArg_argumentExtension, + { "argumentExtension", "h450.argumentExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CIIsOptArg/argumentExtension", HFILL }}, + { &hf_h450_cIIsOptRes_resultExtension, + { "resultExtension", "h450.resultExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CIIsOptRes/resultExtension", HFILL }}, + { &hf_h450_cIFrcRelArg_argumentExtension, + { "argumentExtension", "h450.argumentExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CIFrcRelArg/argumentExtension", HFILL }}, + { &hf_h450_cIFrcRelOptRes_resultExtension, + { "resultExtension", "h450.resultExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CIFrcRelOptRes/resultExtension", HFILL }}, + { &hf_h450_cIWobOptArg_argumentExtension, + { "argumentExtension", "h450.argumentExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CIWobOptArg/argumentExtension", HFILL }}, + { &hf_h450_cIWobOptRes_resultExtension, + { "resultExtension", "h450.resultExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CIWobOptRes/resultExtension", HFILL }}, + { &hf_h450_specificCall, + { "specificCall", "h450.specificCall", + FT_NONE, BASE_NONE, NULL, 0, + "CISilentArg/specificCall", HFILL }}, + { &hf_h450_cISilentArg_argumentExtension, + { "argumentExtension", "h450.argumentExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CISilentArg/argumentExtension", HFILL }}, + { &hf_h450_cISilentOptRes_resultExtension, + { "resultExtension", "h450.resultExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CISilentOptRes/resultExtension", HFILL }}, + { &hf_h450_cINotificationArg_argumentExtension, + { "argumentExtension", "h450.argumentExtension", + FT_NONE, BASE_NONE, NULL, 0, + "CINotificationArg/argumentExtension", HFILL }}, + { &hf_h450_callIntrusionImpending, + { "callIntrusionImpending", "h450.callIntrusionImpending", + FT_NONE, BASE_NONE, NULL, 0, + "CIStatusInformation/callIntrusionImpending", HFILL }}, + { &hf_h450_callIntruded, + { "callIntruded", "h450.callIntruded", + FT_NONE, BASE_NONE, NULL, 0, + "CIStatusInformation/callIntruded", HFILL }}, + { &hf_h450_callIsolated, + { "callIsolated", "h450.callIsolated", + FT_NONE, BASE_NONE, NULL, 0, + "CIStatusInformation/callIsolated", HFILL }}, + { &hf_h450_callForceReleased, + { "callForceReleased", "h450.callForceReleased", + FT_NONE, BASE_NONE, NULL, 0, + "CIStatusInformation/callForceReleased", HFILL }}, + { &hf_h450_callIntrusionComplete, + { "callIntrusionComplete", "h450.callIntrusionComplete", + FT_NONE, BASE_NONE, NULL, 0, + "CIStatusInformation/callIntrusionComplete", HFILL }}, + { &hf_h450_callIntrusionEnd, + { "callIntrusionEnd", "h450.callIntrusionEnd", + FT_NONE, BASE_NONE, NULL, 0, + "CIStatusInformation/callIntrusionEnd", HFILL }}, + { &hf_h450_featureList, + { "featureList", "h450.featureList", + FT_NONE, BASE_NONE, NULL, 0, + "CmnArg/featureList", HFILL }}, + { &hf_h450_featureValues, + { "featureValues", "h450.featureValues", + FT_NONE, BASE_NONE, NULL, 0, + "CmnArg/featureValues", HFILL }}, + { &hf_h450_featureControl, + { "featureControl", "h450.featureControl", + FT_NONE, BASE_NONE, NULL, 0, + "CmnArg/featureControl", HFILL }}, + { &hf_h450_cmnArg_extension, + { "extension", "h450.extension", + FT_NONE, BASE_NONE, NULL, 0, + "CmnArg/extension", HFILL }}, + { &hf_h450_cmnRequestArg_extensionArg, + { "extensionArg", "h450.extensionArg", + FT_NONE, BASE_NONE, NULL, 0, + "CmnRequestArg/extensionArg", HFILL }}, + { &hf_h450_ssCFreRoutingSupported, + { "ssCFreRoutingSupported", "h450.ssCFreRoutingSupported", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssCFreRoutingSupported", HFILL }}, + { &hf_h450_ssCTreRoutingSupported, + { "ssCTreRoutingSupported", "h450.ssCTreRoutingSupported", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssCTreRoutingSupported", HFILL }}, + { &hf_h450_ssCCBSPossible, + { "ssCCBSPossible", "h450.ssCCBSPossible", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssCCBSPossible", HFILL }}, + { &hf_h450_ssCCNRPossible, + { "ssCCNRPossible", "h450.ssCCNRPossible", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssCCNRPossible", HFILL }}, + { &hf_h450_ssCOSupported, + { "ssCOSupported", "h450.ssCOSupported", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssCOSupported", HFILL }}, + { &hf_h450_ssCIForcedReleaseSupported, + { "ssCIForcedReleaseSupported", "h450.ssCIForcedReleaseSupported", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssCIForcedReleaseSupported", HFILL }}, + { &hf_h450_ssCIIsolationSupported, + { "ssCIIsolationSupported", "h450.ssCIIsolationSupported", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssCIIsolationSupported", HFILL }}, + { &hf_h450_ssCIWaitOnBusySupported, + { "ssCIWaitOnBusySupported", "h450.ssCIWaitOnBusySupported", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssCIWaitOnBusySupported", HFILL }}, + { &hf_h450_ssCISilentMonitoringSupported, + { "ssCISilentMonitoringSupported", "h450.ssCISilentMonitoringSupported", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssCISilentMonitoringSupported", HFILL }}, + { &hf_h450_ssCIConferenceSupported, + { "ssCIConferenceSupported", "h450.ssCIConferenceSupported", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssCIConferenceSupported", HFILL }}, + { &hf_h450_ssCHFarHoldSupported, + { "ssCHFarHoldSupported", "h450.ssCHFarHoldSupported", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssCHFarHoldSupported", HFILL }}, + { &hf_h450_ssMWICallbackSupported, + { "ssMWICallbackSupported", "h450.ssMWICallbackSupported", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssMWICallbackSupported", HFILL }}, + { &hf_h450_ssCPCallParkSupported, + { "ssCPCallParkSupported", "h450.ssCPCallParkSupported", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureList/ssCPCallParkSupported", HFILL }}, + { &hf_h450_partyCategory, + { "partyCategory", "h450.partyCategory", + FT_UINT32, BASE_DEC, VALS(h450_PartyCategory_vals), 0, + "FeatureValues/partyCategory", HFILL }}, + { &hf_h450_ssCIprotectionLevel, + { "ssCIprotectionLevel", "h450.ssCIprotectionLevel", + FT_UINT32, BASE_DEC, NULL, 0, + "FeatureValues/ssCIprotectionLevel", HFILL }}, + { &hf_h450_ssCHDoNotHold, + { "ssCHDoNotHold", "h450.ssCHDoNotHold", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureControl/ssCHDoNotHold", HFILL }}, + { &hf_h450_ssCTDoNotTransfer, + { "ssCTDoNotTransfer", "h450.ssCTDoNotTransfer", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureControl/ssCTDoNotTransfer", HFILL }}, + { &hf_h450_ssMWICallbackCall, + { "ssMWICallbackCall", "h450.ssMWICallbackCall", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureControl/ssMWICallbackCall", HFILL }}, + { &hf_h450_ssCISilentMonitorPermitted, + { "ssCISilentMonitorPermitted", "h450.ssCISilentMonitorPermitted", + FT_NONE, BASE_NONE, NULL, 0, + "FeatureControl/ssCISilentMonitorPermitted", HFILL }}, + { &hf_h450_Unspecified_extension, { "extension", "h450.extension", FT_NONE, BASE_NONE, NULL, 0, "Unspecified/extension", HFILL }}, @@ -2932,6 +5618,14 @@ void proto_register_h450(void) { { "nonStandard", "h450.nonStandard", FT_NONE, BASE_NONE, NULL, 0, "Unspecified/nonStandard", HFILL }}, + { &hf_h450_extensionId, + { "extensionId", "h450.extensionId", + FT_STRING, BASE_NONE, NULL, 0, + "Extension/extensionId", HFILL }}, + { &hf_h450_extensionArgument, + { "extensionArgument", "h450.extensionArgument", + FT_BYTES, BASE_HEX, NULL, 0, + "Extension/extensionArgument", HFILL }}, /*--- End of included file: packet-h450-hfarr.c ---*/ @@ -2958,7 +5652,7 @@ void proto_register_h450(void) { &ett_h450_EntityType, &ett_h450_InterpretationApdu, &ett_h450_ServiceApdus, - &ett_h450_SEQUNCE_OF_ROSxxx, + &ett_h450_SEQUENCE_OF_ROSxxx, &ett_h450_PresentedAddressScreened, &ett_h450_PresentedAddressUnscreened, &ett_h450_PresentedNumberScreened, @@ -2967,7 +5661,7 @@ void proto_register_h450(void) { &ett_h450_NumberScreened, &ett_h450_Address, &ett_h450_EndpointAddress, - &ett_h450_SEQUNCE_OF_AliasAddress, + &ett_h450_SEQUENCE_OF_AliasAddress, &ett_h450_PartySubaddress, &ett_h450_UserSpecifiedSubaddress, &ett_h450_DummyArg, @@ -2982,15 +5676,57 @@ void proto_register_h450(void) { &ett_h450_CTCompleteArg, &ett_h450_CTActiveArg, &ett_h450_ExtensionSeq, + &ett_h450_ActivateDiversionQArg, + &ett_h450_ActivateDiversionQArg_extension, + &ett_h450_ActivateDiversionQRes, + &ett_h450_DeactivateDiversionQArg, + &ett_h450_DeactivateDiversionQArg_extension, + &ett_h450_DeactivateDiversionQRes, + &ett_h450_InterrogateDiversionQ, + &ett_h450_InterrogateDiversionQ_extension, + &ett_h450_CheckRestrictionArg, + &ett_h450_CheckRestrictionArg_extension, + &ett_h450_CheckRestrictionRes, + &ett_h450_CallReroutingArg, + &ett_h450_CallReroutingArg_extension, + &ett_h450_CallReroutingRes, + &ett_h450_DivertingLegInformation1Arg, + &ett_h450_DivertingLegInformation1Arg_extension, + &ett_h450_DivertingLegInformation2Arg, + &ett_h450_DivertingLegInformation2Arg_extension, + &ett_h450_DivertingLegInformation3Arg, + &ett_h450_DivertingLegInformation3Arg_extension, + &ett_h450_DivertingLegInformation4Arg, + &ett_h450_DivertingLegInformation4Arg_extension, + &ett_h450_CfnrDivertedLegFailedArg, + &ett_h450_IntResultList, + &ett_h450_IntResult, + &ett_h450_IntResult_extension, &ett_h450_HoldNotificArg, - &ett_h450_ExtensionArg, + &ett_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension, &ett_h450_RetrieveNotificArg, &ett_h450_RemoteHoldArg, &ett_h450_RemoteHoldRes, - &ett_h450_SEQUNCE_SIZE_0_255_OF_MixedExtension, &ett_h450_RemoteRetrieveArg, &ett_h450_RemoteRetrieveRes, &ett_h450_MixedExtension, + &ett_h450_CpRequestArg, + &ett_h450_CpRequestRes, + &ett_h450_CpSetupArg, + &ett_h450_CpSetupRes, + &ett_h450_GroupIndicationOnArg, + &ett_h450_GroupIndicationOnRes, + &ett_h450_GroupIndicationOffArg, + &ett_h450_GroupIndicationOffRes, + &ett_h450_PickrequArg, + &ett_h450_PickrequRes, + &ett_h450_PickupArg, + &ett_h450_PickupRes, + &ett_h450_PickExeArg, + &ett_h450_PickExeRes, + &ett_h450_CpNotifyArg, + &ett_h450_CpickupNotifyArg, + &ett_h450_CallWaitingArg, &ett_h450_MWIActivateArg, &ett_h450_MwiDummyRes, &ett_h450_MWIDeactivateArg, @@ -2998,14 +5734,40 @@ void proto_register_h450(void) { &ett_h450_MWIInterrogateRes, &ett_h450_MWIInterrogateResElt, &ett_h450_MsgCentreId, - &ett_h450_CallingName, - &ett_h450_AlertingName, - &ett_h450_ConnectedName, - &ett_h450_BusyName, + &ett_h450_ExtensionArg, + &ett_h450_NameArg, &ett_h450_Name, &ett_h450_NamePresentationAllowed, &ett_h450_NamePresentationRestricted, + &ett_h450_CcRequestArg, + &ett_h450_CcRequestRes, + &ett_h450_CcArg, + &ett_h450_CcShortArg, + &ett_h450_CcLongArg, + &ett_h450_CoReqOptArg, + &ett_h450_RUAlertOptArg, + &ett_h450_CfbOvrOptArg, + &ett_h450_CIRequestArg, + &ett_h450_CIRequestRes, + &ett_h450_CIGetCIPLOptArg, + &ett_h450_CIGetCIPLRes, + &ett_h450_CIIsOptArg, + &ett_h450_CIIsOptRes, + &ett_h450_CIFrcRelArg, + &ett_h450_CIFrcRelOptRes, + &ett_h450_CIWobOptArg, + &ett_h450_CIWobOptRes, + &ett_h450_CISilentArg, + &ett_h450_CISilentOptRes, + &ett_h450_CINotificationArg, + &ett_h450_CIStatusInformation, + &ett_h450_CmnArg, + &ett_h450_CmnRequestArg, + &ett_h450_FeatureList, + &ett_h450_FeatureValues, + &ett_h450_FeatureControl, &ett_h450_Unspecified, + &ett_h450_Extension, /*--- End of included file: packet-h450-ettarr.c ---*/ diff --git a/epan/dissectors/packet-h450.h b/epan/dissectors/packet-h450.h index b8c32c18b8..8f2f90d1c4 100644 --- a/epan/dissectors/packet-h450.h +++ b/epan/dissectors/packet-h450.h @@ -1,6 +1,6 @@ /* Do not modify this file. */ /* It is created automatically by the ASN.1 to Ethereal dissector compiler */ -/* ./packet-h450.h */ +/* .\packet-h450.h */ /* ../../tools/asn2eth.py -X -e -p h450 -c h450.cnf -s packet-h450-template h4501.asn */ /* Input file: packet-h450-template.h */ |