aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTomas Kukosa <tomas.kukosa@siemens.com>2007-07-30 08:01:59 +0000
committerTomas Kukosa <tomas.kukosa@siemens.com>2007-07-30 08:01:59 +0000
commit5a46ea46b5d79e119f902d52ce714f4a2466deed (patch)
treed28654291f462760aca4ef6985e6ea5946ec91c1
parent4142a2b90f1e248997f3979346c550373561981c (diff)
H.450 regenerated from original ASN.1 sources
svn path=/trunk/; revision=22417
-rw-r--r--asn1/Makefile.am22
-rw-r--r--asn1/h450/Addressing-Data-Elements.asn127
-rw-r--r--asn1/h450/Call-Completion-Operations.asn156
-rw-r--r--asn1/h450/Call-Diversion-Operations.asn325
-rw-r--r--asn1/h450/Call-Hold-Operations.asn133
-rw-r--r--asn1/h450/Call-Intrusion-Operations.asn211
-rw-r--r--asn1/h450/Call-Offer-Operations.asn73
-rw-r--r--asn1/h450/Call-Park-Pickup-Operations.asn304
-rw-r--r--asn1/h450/Call-Transfer-Operations.asn246
-rw-r--r--asn1/h450/Call-Waiting-Operations.asn47
-rw-r--r--asn1/h450/Common-Information-Operations.asn151
-rw-r--r--asn1/h450/H225-generic-parameters-definition.asn19
-rw-r--r--asn1/h450/H4501-General-Error-List.asn102
-rw-r--r--asn1/h450/H4501-Supplementary-ServiceAPDU-Structure.asn74
-rw-r--r--asn1/h450/Makefile13
-rw-r--r--asn1/h450/Makefile.nmake30
-rw-r--r--asn1/h450/Manufacturer-specific-service-extension-definition.asn33
-rw-r--r--asn1/h450/Message-Waiting-Indication-Operations.asn171
-rw-r--r--asn1/h450/Name-Operations.asn99
-rw-r--r--asn1/h450/Remote-Operations-Apdus.asn152
-rw-r--r--asn1/h450/h450-ros-exp.cnf14
-rw-r--r--asn1/h450/h450-ros.cnf192
-rw-r--r--asn1/h450/h450.cnf111
-rw-r--r--asn1/h450/h4501.asn1899
-rw-r--r--asn1/h450/packet-h450-ros-template.c107
-rw-r--r--asn1/h450/packet-h450-ros-template.h (renamed from asn1/h450/packet-h450-template.h)17
-rw-r--r--asn1/h450/packet-h450-template.c1171
-rw-r--r--epan/dissectors/Makefile.common3
-rw-r--r--epan/dissectors/packet-h450.c7456
-rw-r--r--epan/dissectors/packet-h450.h43
-rw-r--r--epan/dissectors/packet-per.c6
-rwxr-xr-xtools/asn2wrs.py56
32 files changed, 7425 insertions, 6138 deletions
diff --git a/asn1/Makefile.am b/asn1/Makefile.am
index 7b8dfce740..2b208751ee 100644
--- a/asn1/Makefile.am
+++ b/asn1/Makefile.am
@@ -154,12 +154,30 @@ EXTRA_DIST = \
h248/MEGACO.asn \
h248/packet-h248-template.c \
h248/packet-h248-template.h \
- h450/h4501.asn \
+ h450/H4501-Supplementary-ServiceAPDU-Structure.asn \
+ h450/Addressing-Data-Elements.asn \
+ h450/H225-generic-parameters-definition.asn \
+ h450/Manufacturer-specific-service-extension-definition.asn \
+ h450/H4501-General-Error-List.asn \
+ h450/Call-Transfer-Operations.asn \
+ h450/Call-Diversion-Operations.asn \
+ h450/Call-Hold-Operations.asn \
+ h450/Call-Park-Pickup-Operations.asn \
+ h450/Call-Waiting-Operations.asn \
+ h450/Message-Waiting-Indication-Operations.asn \
+ h450/Name-Operations.asn \
+ h450/Call-Completion-Operations.asn \
+ h450/Call-Offer-Operations.asn \
+ h450/Call-Intrusion-Operations.asn \
+ h450/Common-Information-Operations.asn \
+ h450/Remote-Operations-Apdus.asn \
h450/h450.cnf \
+ h450/h450-ros.cnf \
h450/Makefile \
h450/Makefile.nmake \
h450/packet-h450-template.c \
- h450/packet-h450-template.h \
+ h450/packet-h450-ros-template.c \
+ h450/packet-h450-ros-template.h \
inap/inap.asn \
inap/inap.cnf \
inap/Makefile \
diff --git a/asn1/h450/Addressing-Data-Elements.asn b/asn1/h450/Addressing-Data-Elements.asn
new file mode 100644
index 0000000000..bab8dbaf04
--- /dev/null
+++ b/asn1/h450/Addressing-Data-Elements.asn
@@ -0,0 +1,127 @@
+-- Addressing-Data-Elements.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.1/1998/Addressing-Data-Elements.asn
+--
+-- $Id$
+--
+
+-- Module Addressing-Data-Elements (H.450.1:02/1998)
+Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
+ addressing-data-elements(9)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ AliasAddress, PartyNumber, PresentationIndicator, ScreeningIndicator
+ FROM H323-MESSAGES; -- see H.225.0
+
+PresentedAddressScreened ::= CHOICE {
+ presentationAllowedAddress AddressScreened,
+ presentationRestricted NULL,
+ numberNotAvailableDueToInterworking NULL,
+ presentationRestrictedAddress AddressScreened,
+ ...
+}
+
+PresentedAddressUnscreened ::= CHOICE {
+ presentationAllowedAddress Address,
+ presentationRestricted NULL,
+ numberNotAvailableDueToInterworking NULL,
+ presentationRestrictedAddress Address,
+ ...
+}
+
+PresentedNumberScreened ::= CHOICE {
+ presentationAllowedAddress NumberScreened,
+ presentationRestricted NULL,
+ numberNotAvailableDueToInterworking NULL,
+ presentationRestrictedAddress NumberScreened,
+ ...
+}
+
+PresentedNumberUnscreened ::= CHOICE {
+ presentationAllowedAddress PartyNumber,
+ presentationRestricted NULL,
+ numberNotAvailableDueToInterworking NULL,
+ presentationRestrictedAddress PartyNumber,
+ ...
+}
+
+AddressScreened ::= SEQUENCE {
+ partyNumber PartyNumber,
+ screeningIndicator ScreeningIndicator,
+ partySubaddress PartySubaddress OPTIONAL,
+ ...
+}
+
+NumberScreened ::= SEQUENCE {
+ partyNumber PartyNumber,
+ screeningIndicator ScreeningIndicator,
+ ...
+}
+
+Address ::= SEQUENCE {
+ partyNumber PartyNumber,
+ partySubaddress PartySubaddress OPTIONAL,
+ ...
+}
+
+-- PartyNumber defined in Recommendation H.225.0
+-- PublicPartyNumber defined in Recommendation H.225.0
+-- PrivatePartyNumber defined in Recommendation H.225.0
+-- NumberDigits defined in Recommendation H.225.0
+-- PublicTypeOfNumber defined in Recommendation H.225.0
+-- PrivateTypeOfNumber defined in Recommendation H.225.0
+-- PresentationIndicator defined in Recommendation H.225.0 (v3 and beyond)
+-- ScreeningIndicator defined in Recommendation H.225.0 (v3 and beyond)
+EndpointAddress ::= SEQUENCE {
+ destinationAddress SEQUENCE OF AliasAddress,
+ -- multiple alias addresses may be used to address the same H.323 endpoint
+ remoteExtensionAddress AliasAddress OPTIONAL,
+ ...,
+ destinationAddressPresentationIndicator
+ PresentationIndicator OPTIONAL,
+ -- Note 1, 2
+ destinationAddressScreeningIndicator ScreeningIndicator OPTIONAL,
+ remoteExtensionAddressPresentationIndicator
+ PresentationIndicator OPTIONAL,
+ -- Note 1, 2
+ remoteExtensionAddressScreeningIndicator ScreeningIndicator OPTIONAL
+}
+
+-- Note 1: If this element is not available, presentation allowed shall be assumed.
+-- Note 2: If an H.450 APDU that carries this element EndpointAddress also
+-- contains an element PresentationAllowedIndicator, then the setting of the
+-- element PresentationAllowedIndicator shall take precedence in case of
+-- conflicting presentation information.
+PartySubaddress ::= CHOICE {
+ userSpecifiedSubaddress UserSpecifiedSubaddress,
+ -- not recommended.
+ nsapSubaddress NSAPSubaddress,
+ -- according to Recommendation X.213.
+ ...
+}
+
+UserSpecifiedSubaddress ::= SEQUENCE {
+ subaddressInformation SubaddressInformation,
+ oddCountIndicator BOOLEAN OPTIONAL,
+ -- used when the coding of subaddress is BCD
+ ...
+}
+
+NSAPSubaddress ::= OCTET STRING(SIZE (1..20))
+
+-- specified according to X.213. Some networks may
+-- limit the subaddress value to some other length
+-- e.g. 4 octets
+SubaddressInformation ::= OCTET STRING(SIZE (1..20))
+
+-- coded according to user requirements. Some networks
+-- may limit the subaddress value to some other length
+-- e.g. 4 octets
+PresentationAllowedIndicator ::= BOOLEAN
+
+END -- of Addressing-Data-Elements
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Call-Completion-Operations.asn b/asn1/h450/Call-Completion-Operations.asn
new file mode 100644
index 0000000000..62e8187264
--- /dev/null
+++ b/asn1/h450/Call-Completion-Operations.asn
@@ -0,0 +1,156 @@
+-- Call-Completion-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.9/2000/Call-Completion-Operations.asn
+--
+-- $Id$
+--
+
+-- Module Call-Completion-Operations (H.450.9:11/2000)
+Call-Completion-Operations {itu-t recommendation h 450 9 version1(0)
+ call-completion-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ CallIdentifier
+ FROM H323-MESSAGES -- see ITU-T H.225.0
+
+ EndpointAddress
+ FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
+ addressing-data-elements(9)}
+ MixedExtension, undefined
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)}
+ supplementaryServiceInteractionNotAllowed
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)}
+ BasicService
+ FROM Message-Waiting-Indication-Operations {itu-t recommendation h
+ 450 7 version1(0) message-waiting-operations(0)};
+
+H323CallCompletionOperations OPERATION ::=
+ {ccbsRequest | ccnrRequest | ccCancel | ccExecPossible | ccRingout |
+ ccSuspend | ccResume}
+
+ccbsRequest OPERATION ::= {
+ ARGUMENT CcRequestArg
+ RESULT CcRequestRes
+ ERRORS
+ {shortTermRejection | longTermRejection | undefined |
+ supplementaryServiceInteractionNotAllowed}
+ CODE local:40
+}
+
+ccnrRequest OPERATION ::= {
+ ARGUMENT CcRequestArg
+ RESULT CcRequestRes
+ ERRORS
+ {shortTermRejection | longTermRejection | undefined |
+ supplementaryServiceInteractionNotAllowed}
+ CODE local:27
+}
+
+ccCancel OPERATION ::= {
+ ARGUMENT CcArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:28
+}
+
+ccExecPossible OPERATION ::= {
+ ARGUMENT CcArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:29
+}
+
+ccRingout OPERATION ::= {
+ ARGUMENT CcShortArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ERRORS {remoteUserBusyAgain | failureToMatch | undefined}
+ CODE local:31
+}
+
+ccSuspend OPERATION ::= {
+ ARGUMENT CcShortArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:32
+}
+
+ccResume OPERATION ::= {
+ ARGUMENT CcArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:33
+}
+
+CcRequestArg ::= SEQUENCE {
+ numberA EndpointAddress,
+ numberB EndpointAddress,
+ ccIdentifier CallIdentifier OPTIONAL,
+ -- If present, it shall be used as the prime mechanism for associating
+ -- the unsuccessful call, the CC Request and the CC Call.
+ service BasicService,
+ can-retain-service BOOLEAN,
+ retain-sig-connection BOOLEAN OPTIONAL,
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CcRequestRes ::= SEQUENCE {
+ retain-service BOOLEAN,
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CcArg ::= CHOICE {
+ shortArg CcShortArg, -- if signalling conection is retained
+ longArg CcLongArg, -- if connection release option applies
+ ...
+}
+
+CcShortArg ::= SEQUENCE {
+ ccIdentifier CallIdentifier OPTIONAL,
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CcLongArg ::= SEQUENCE {
+ numberA EndpointAddress OPTIONAL,
+ numberB EndpointAddress OPTIONAL,
+ ccIdentifier CallIdentifier OPTIONAL,
+ service BasicService OPTIONAL,
+ -- these elements are used to identify the proper CC Request.
+ -- The ccIdentifier if present shall be the prime mechanism for this purpose.
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+shortTermRejection ERROR ::= {CODE local:1010
+}
+
+longTermRejection ERROR ::= {CODE local:1011
+}
+
+remoteUserBusyAgain ERROR ::= {CODE local:1012
+}
+
+failureToMatch ERROR ::= {CODE local:1013
+}
+
+END -- of Call-Completion-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Call-Diversion-Operations.asn b/asn1/h450/Call-Diversion-Operations.asn
new file mode 100644
index 0000000000..e5f7233ec7
--- /dev/null
+++ b/asn1/h450/Call-Diversion-Operations.asn
@@ -0,0 +1,325 @@
+-- Call-Diversion-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.3/1998/Call-Diversion-Operations.asn
+--
+-- $Id$
+--
+
+-- Module Call-Diversion-Operations (H.450.3:02/1998)
+Call-Diversion-Operations {itu-t recommendation h 450 3 version1(0)
+ call-diversion-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ H225InformationElement
+ FROM H225-generic-parameters-definition {itu-t recommendation h 450
+ 1 version1(0) h225-generic-parameters(6)}
+ NonStandardParameter
+ FROM H323-MESSAGES
+ EndpointAddress, PartySubaddress, PresentationAllowedIndicator
+ FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
+ addressing-data-elements(9)}
+ userNotSubscribed, notAvailable, invalidServedUserNumber,
+ basicServiceNotProvided, resourceUnavailable,
+ supplementaryServiceInteractionNotAllowed
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)};
+
+H323CallDiversionOperations OPERATION ::=
+ {activateDiversionQ | deactivateDiversionQ | interrogateDiversionQ |
+ checkRestriction | callRerouting | divertingLegInformation1 |
+ divertingLegInformation2 | divertingLegInformation3 |
+ divertingLegInformation4 | cfnrDivertedLegFailed}
+
+activateDiversionQ OPERATION ::=
+ { -- sent from the activating h.323-endpoint to the served h.323-endpoint
+ ARGUMENT
+ SEQUENCE {procedure Procedure,
+ basicService BasicService,
+ divertedToAddress EndpointAddress,
+ servedUserNr EndpointAddress,
+ activatingUserNr EndpointAddress,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RESULT
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter}
+ OPTIONAL TRUE
+ ERRORS
+ {userNotSubscribed | notAvailable | invalidServedUserNumber |
+ basicServiceNotProvided | resourceUnavailable | invalidDivertedNumber |
+ specialServiceNumber | diversionToServedUserNumber |
+ temporarilyUnavailable | notAuthorized | unspecified}
+ CODE local:15
+}
+
+deactivateDiversionQ OPERATION ::=
+ { -- sent from the deactivating h.323-endpoint to the served h.323-endpoint
+ ARGUMENT
+ SEQUENCE {procedure Procedure,
+ basicService BasicService,
+ servedUserNr EndpointAddress,
+ deactivatingUserNr EndpointAddress,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RESULT
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter}
+ OPTIONAL TRUE
+ ERRORS
+ {userNotSubscribed | notAvailable | invalidServedUserNumber |
+ temporarilyUnavailable | notAuthorized | unspecified}
+ CODE local:16
+}
+
+interrogateDiversionQ OPERATION ::=
+ { -- sent from the interrogating h.323-endpoint to the served h.323-endpoint
+ ARGUMENT
+ SEQUENCE {procedure Procedure,
+ basicService BasicService DEFAULT allServices,
+ servedUserNr EndpointAddress,
+ interrogatingUserNr EndpointAddress,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RESULT IntResultList
+ ERRORS
+ {userNotSubscribed | notAvailable | invalidServedUserNumber |
+ temporarilyUnavailable | notAuthorized | unspecified}
+ CODE local:17
+}
+
+checkRestriction OPERATION ::=
+ { -- sent from the served h.323-endpoint to the diverted-to h.323-endpoint
+ ARGUMENT
+ SEQUENCE {servedUserNr EndpointAddress,
+ basicService BasicService,
+ divertedToNr EndpointAddress,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RESULT
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter}
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | invalidServedUserNumber | invalidDivertedNumber |
+ specialServiceNumber | unspecified}
+ CODE local:18
+}
+
+callRerouting OPERATION ::=
+ { -- sent from the served h.323-endpoint to the rerouting h.323-endpoint
+ ARGUMENT
+ SEQUENCE {reroutingReason DiversionReason,
+ originalReroutingReason DiversionReason OPTIONAL,
+ calledAddress EndpointAddress,
+ diversionCounter INTEGER(1..15),
+ h225InfoElement H225InformationElement,
+ -- The H.225 information elements Bearer capability,
+ -- High layer compatibility, Low layer compatibility and
+ -- Progress Indicator information element may be embedded
+ -- in the h225InfoElement in accordance with H.450.1.
+ lastReroutingNr EndpointAddress,
+ subscriptionOption SubscriptionOption,
+ callingPartySubaddress PartySubaddress OPTIONAL,
+ callingNumber EndpointAddress,
+ callingInfo BMPString(SIZE (1..128)) OPTIONAL,
+ originalCalledNr EndpointAddress OPTIONAL,
+ redirectingInfo BMPString(SIZE (1..128)) OPTIONAL,
+ originalCalledInfo BMPString(SIZE (1..128)) OPTIONAL,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RESULT
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter}
+ OPTIONAL TRUE
+ ERRORS
+ {userNotSubscribed | notAvailable | resourceUnavailable |
+ invalidDivertedNumber | specialServiceNumber |
+ diversionToServedUserNumber | numberOfDiversionsExceeded |
+ supplementaryServiceInteractionNotAllowed | unspecified}
+ CODE local:19
+}
+
+divertingLegInformation1 OPERATION ::=
+ { -- sent from the re-routing h.323-endpoint to the originating h.323-endpoint
+ -- if the re-routing endpoint equals the originating endpoint, this operation
+
+ -- is not applicable; may also be sent from the rerouting endpoint to other
+ -- members of a conference, if subscription option allows.
+ ARGUMENT
+ SEQUENCE {diversionReason DiversionReason,
+ subscriptionOption SubscriptionOption,
+ nominatedNr EndpointAddress,
+ nominatedInfo BMPString(SIZE (1..128)) OPTIONAL,
+ redirectingNr EndpointAddress OPTIONAL,
+ redirectingInfo BMPString(SIZE (1..128)) OPTIONAL,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:20
+}
+
+divertingLegInformation2 OPERATION ::=
+ { --sent from the re-routing h.323-endpoint to the diverted-to h.323-endpoint
+ ARGUMENT
+ SEQUENCE {diversionCounter INTEGER(1..15),
+ diversionReason DiversionReason,
+ originalDiversionReason DiversionReason OPTIONAL,
+ divertingNr EndpointAddress OPTIONAL,
+ originalCalledNr EndpointAddress OPTIONAL,
+ redirectingInfo BMPString(SIZE (1..128)) OPTIONAL,
+ originalCalledInfo BMPString(SIZE (1..128)) OPTIONAL,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ -- The divertingNr element is mandatory except in the case of interworking
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:21
+}
+
+divertingLegInformation3 OPERATION ::= {
+ --sent from the diverted-to h.323-endpoint to the originating h.323-endpoint
+ ARGUMENT
+ SEQUENCE {presentationAllowedIndicator PresentationAllowedIndicator,
+ redirectionNr EndpointAddress OPTIONAL,
+ redirectionInfo BMPString(SIZE (1..128)) OPTIONAL,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:22
+}
+
+divertingLegInformation4 OPERATION ::= {
+ -- If call diversion in not performed by the forwarding terminal but by a
+ -- gatekeeper, the gatekeeper may send divertingLegInformation4 apdu to the
+ -- forwarding terminal.
+ ARGUMENT
+ SEQUENCE {diversionReason DiversionReason,
+ subscriptionOption SubscriptionOption,
+ callingNr EndpointAddress,
+ callingInfo BMPString(SIZE (1..128)) OPTIONAL,
+ nominatedNr EndpointAddress,
+ nominatedInfo BMPString(SIZE (1..128)) OPTIONAL,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:100
+}
+
+cfnrDivertedLegFailed OPERATION ::=
+ { -- sent from the rerouting h.323-terminal to the served h.323-endpoint
+ ARGUMENT
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter}
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:23
+}
+
+-- This indicates that the diverted-to leg has been cleared during SS-CFNR execution.
+-- Definitions of general used data types:
+DiversionReason ::= ENUMERATED {unknown(0), cfu(1), cfb(2), cfnr(3), ...
+ }
+
+-- The value unknown is only used if received from another network when interworking.
+IntResultList ::= SET SIZE (0..29) OF IntResult
+
+IntResult ::= SEQUENCE {
+ servedUserNr EndpointAddress,
+ basicService BasicService,
+ procedure Procedure,
+ divertedToAddress EndpointAddress,
+ remoteEnabled BOOLEAN DEFAULT FALSE,
+ extension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+Procedure ::= ENUMERATED {cfu(0), cfb(1), cfnr(2), ...
+ }
+
+SubscriptionOption ::= ENUMERATED {
+ noNotification(0), notificationWithoutDivertedToNr(1),
+ notificationWithDivertedToNr(2), ...
+ }
+
+invalidDivertedNumber ERROR ::= {CODE local:12
+}
+
+specialServiceNumber ERROR ::= {CODE local:14
+}
+
+diversionToServedUserNumber ERROR ::= {CODE local:15
+}
+
+numberOfDiversionsExceeded ERROR ::= {CODE local:24
+}
+
+temporarilyUnavailable ERROR ::= {CODE local:1000
+}
+
+notAuthorized ERROR ::= {CODE local:1007
+}
+
+unspecified ERROR ::= {
+ PARAMETER
+ CHOICE {extension Extension{{ExtensionSet}},
+ nonStandard NonStandardParameter}
+ CODE local:1008
+}
+
+BasicService ::= ENUMERATED {
+ allServices(0),
+ -- speech (1),
+ -- unrestrictedDigitalInformation (2),
+ -- audio3.1KHz (3),
+ -- telephony (32),
+ -- teletex (33),
+ -- telefaxGroup4Class1 (34),
+ -- videotexSyntaxBased (35),
+ -- videotelephony (36),
+ ...
+ }
+
+-- For multimedia calls the value "allServices" shall be used only.
+-- The usage of the other codepoints for multimedia calls is for further study.
+ExtensionSeq ::= SEQUENCE OF Extension{{ExtensionSet}}
+
+ExtensionSet EXTENSION ::=
+ {...}
+
+-- Actual values defined by individual manufacturers
+END -- of Call-Diversion-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Call-Hold-Operations.asn b/asn1/h450/Call-Hold-Operations.asn
new file mode 100644
index 0000000000..764119d0ff
--- /dev/null
+++ b/asn1/h450/Call-Hold-Operations.asn
@@ -0,0 +1,133 @@
+-- Call-Hold-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.4/1999/Call-Hold-Operations.asn
+--
+-- $Id$
+--
+
+-- Module Call-Hold-Operations (H.450.4:05/1999)
+Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ notAvailable, invalidCallState, resourceUnavailable,
+ supplementaryServiceInteractionNotAllowed
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)}
+ NonStandardParameter
+ FROM H323-MESSAGES; -- see H.225.0
+
+CallHoldOperations OPERATION ::=
+ {holdNotific | retrieveNotific | remoteHold | remoteRetrieve}
+
+holdNotific OPERATION ::=
+ { -- sent from holding to held H.323 endpoint to invoke near-end call hold feature
+
+ ARGUMENT HoldNotificArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:101
+}
+
+HoldNotificArg ::= SEQUENCE {
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+retrieveNotific OPERATION ::=
+ { -- sent from holding to held H.323 endpoint to invoke retrieval of near-end call hold feature
+
+ ARGUMENT RetrieveNotificArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:102
+}
+
+RetrieveNotificArg ::= SEQUENCE {
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+remoteHold OPERATION ::=
+ { -- sent from holding to held H.323 endpoint to invoke remote-end call hold feature
+
+ ARGUMENT RemoteHoldArg
+ OPTIONAL TRUE
+ RESULT RemoteHoldRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable
+ | -- feature not available in combination with the basic service
+ invalidCallState | --hold not possible in current call state
+ resourceUnavailable | -- maximum number of calls on hold reached
+ supplementaryServiceInteractionNotAllowed |
+
+ -- other supplementary service prohibits hold
+ undefined -- undefined reason--}
+ CODE local:103
+}
+
+RemoteHoldArg ::= SEQUENCE {
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+RemoteHoldRes ::= SEQUENCE {
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+remoteRetrieve OPERATION ::=
+ { -- sent from holding to held H.323 endpoint to invoke retrieval of remote-end call hold feature
+
+ ARGUMENT RemoteRetrieveArg
+ OPTIONAL TRUE
+ RESULT RemoteRetrieveRes
+ OPTIONAL TRUE
+ ERRORS
+ {invalidCallState |
+
+ -- Call to which retrieve request applies is not in state Hold_RE_Held
+ undefined -- undefined reason--}
+ CODE local:104
+}
+
+RemoteRetrieveArg ::= SEQUENCE {
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+RemoteRetrieveRes ::= SEQUENCE {
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+MixedExtension ::= CHOICE {
+ extension Extension{{ExtensionSet}},
+ nonStandardData NonStandardParameter
+}
+
+ExtensionSet EXTENSION ::=
+ {...}
+
+-- Actual values defined by individual manufacturers
+undefined ERROR ::= {
+ PARAMETER SEQUENCE SIZE (0..255) OF MixedExtension
+ OPTIONAL TRUE
+ CODE local:2002
+}
+
+END -- of Call-Hold-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Call-Intrusion-Operations.asn b/asn1/h450/Call-Intrusion-Operations.asn
new file mode 100644
index 0000000000..b5b1620dc1
--- /dev/null
+++ b/asn1/h450/Call-Intrusion-Operations.asn
@@ -0,0 +1,211 @@
+-- Call-Intrusion-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.11/2001/Call-Intrusion-Operations.asn
+--
+-- $Id$
+--
+
+-- Module Call-Intrusion-Operations (H.450.11:03/2001)
+Call-Intrusion-Operations {itu-t recommendation h 450 11 version1(0)
+ call-intrusion-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ CallIdentifier
+ FROM H323-MESSAGES -- see H.225.0
+
+ MixedExtension, undefined
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)}
+ notAvailable, supplementaryServiceInteractionNotAllowed
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)}
+ callWaiting
+ FROM Call-Waiting-Operations {itu-t recommendation h 450 6 version1(0)
+ call-waiting-operations(0)}
+ cfbOverride, remoteUserAlerting
+ FROM Call-Offer-Operations {itu-t recommendation h 450 10 version1(0)
+ call-offer-operations(0)};
+
+H323CallIntrusionOperations OPERATION ::=
+ {callIntrusionRequest | callIntrusionGetCIPL | callIntrusionIsolate |
+ callIntrusionForcedRelease | callIntrusionWOBRequest |
+ callIntrusionSilentMonitor | callIntrusionNotification | cfbOverride |
+ remoteUserAlerting | callWaiting}
+
+-- callWaiting is only used for interaction with Call Transfer
+callIntrusionRequest OPERATION ::= {
+ ARGUMENT CIRequestArg
+ RESULT CIRequestRes
+ ERRORS
+ {notAvailable | notBusy | temporarilyUnavailable | notAuthorized |
+ undefined | supplementaryServiceInteractionNotAllowed}
+ CODE local:43
+}
+
+callIntrusionGetCIPL OPERATION ::= {
+ ARGUMENT CIGetCIPLOptArg
+ OPTIONAL TRUE
+ RESULT CIGetCIPLRes
+ ALWAYS RESPONDS FALSE
+ CODE local:44
+}
+
+callIntrusionIsolate OPERATION ::= {
+ ARGUMENT CIIsOptArg
+ OPTIONAL TRUE
+ RESULT CIIsOptRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | undefined | supplementaryServiceInteractionNotAllowed}
+ CODE local:45
+}
+
+callIntrusionForcedRelease OPERATION ::= {
+ ARGUMENT CIFrcRelArg
+ OPTIONAL TRUE
+ RESULT CIFrcRelOptRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | notBusy | temporarilyUnavailable | notAuthorized |
+ undefined | supplementaryServiceInteractionNotAllowed}
+ CODE local:46
+}
+
+callIntrusionWOBRequest OPERATION ::= {
+ ARGUMENT CIWobOptArg
+ OPTIONAL TRUE
+ RESULT CIWobOptRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | undefined | supplementaryServiceInteractionNotAllowed}
+ CODE local:47
+}
+
+callIntrusionSilentMonitor OPERATION ::= {
+ ARGUMENT CISilentArg
+ RESULT CISilentOptRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | notBusy | temporarilyUnavailable | notAuthorized |
+ undefined | supplementaryServiceInteractionNotAllowed}
+ CODE local:116
+}
+
+callIntrusionNotification OPERATION ::= {
+ ARGUMENT CINotificationArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:117
+}
+
+CIRequestArg ::= SEQUENCE {
+ ciCapabilityLevel CICapabilityLevel,
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIRequestRes ::= SEQUENCE {
+ ciStatusInformation CIStatusInformation,
+ resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIGetCIPLOptArg ::= SEQUENCE {
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIGetCIPLRes ::= SEQUENCE {
+ ciProtectionLevel CIProtectionLevel,
+ silentMonitoringPermitted NULL OPTIONAL,
+ resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIIsOptArg ::= SEQUENCE {
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIIsOptRes ::= SEQUENCE {
+ resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIFrcRelArg ::= SEQUENCE {
+ ciCapabilityLevel CICapabilityLevel,
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIFrcRelOptRes ::= SEQUENCE {
+ resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIWobOptArg ::= SEQUENCE {
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CIWobOptRes ::= SEQUENCE {
+ resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CISilentArg ::= SEQUENCE {
+ ciCapabilityLevel CICapabilityLevel,
+ specificCall CallIdentifier OPTIONAL,
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CISilentOptRes ::= SEQUENCE {
+ resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CINotificationArg ::= SEQUENCE {
+ ciStatusInformation CIStatusInformation,
+ argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CICapabilityLevel ::= INTEGER {
+ intrusionLowCap(1), intrusionMediumCap(2), intrusionHighCap(3)}(1..3)
+
+CIProtectionLevel ::= INTEGER {
+ lowProtection(0), mediumProtection(1), highProtection(2), fullProtection(3)
+}(0..3)
+
+CIStatusInformation ::= CHOICE {
+ callIntrusionImpending NULL,
+ callIntruded NULL,
+ callIsolated NULL,
+ callForceReleased NULL,
+ callIntrusionComplete NULL,
+ callIntrusionEnd NULL,
+ ...
+}
+
+notBusy ERROR ::= {CODE local:1009
+} -- used when the called user is not busy
+
+temporarilyUnavailable ERROR ::= {CODE local:1000
+} -- used when conditions for invocation of SS-CI
+
+-- are momentarily not met
+notAuthorized ERROR ::= {CODE local:1007
+} -- used when a SS-CI request is rejected
+
+-- because of insufficient CICL or if silent
+-- monitoring is not permitted
+END -- of Call-Intrusion-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Call-Offer-Operations.asn b/asn1/h450/Call-Offer-Operations.asn
new file mode 100644
index 0000000000..356332a966
--- /dev/null
+++ b/asn1/h450/Call-Offer-Operations.asn
@@ -0,0 +1,73 @@
+-- Call-Offer-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.10/2001/Call-Offer-Operations.asn
+--
+-- $Id$
+--
+
+-- Module Call-Offer-Operations (H.450.10:03/2001)
+Call-Offer-Operations {itu-t recommendation h 450 10 version1(0)
+ call-offer-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ MixedExtension
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)}
+ callWaiting
+ FROM Call-Waiting-Operations {itu-t recommendation h 450 6 version1(0)
+ call-waiting-operations(0)};
+
+H323CallOfferOperations OPERATION ::=
+ {callOfferRequest | callWaiting | remoteUserAlerting | cfbOverride}
+
+callOfferRequest OPERATION ::= -- sent from calling to called endpoint
+ {
+ ARGUMENT CoReqOptArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:34
+}
+
+remoteUserAlerting OPERATION ::= -- sent from called to calling endpoint
+ {
+ ARGUMENT RUAlertOptArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:115
+}
+
+cfbOverride OPERATION ::= -- sent from calling to called endpoint
+ {
+ ARGUMENT CfbOvrOptArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:49
+}
+
+CoReqOptArg ::= SEQUENCE {
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+RUAlertOptArg ::= SEQUENCE {
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CfbOvrOptArg ::= SEQUENCE {
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+END -- of Call-Offer-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Call-Park-Pickup-Operations.asn b/asn1/h450/Call-Park-Pickup-Operations.asn
new file mode 100644
index 0000000000..18f6c76f30
--- /dev/null
+++ b/asn1/h450/Call-Park-Pickup-Operations.asn
@@ -0,0 +1,304 @@
+-- Call-Park-Pickup-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.5/1999/Call-Park-Pickup-Operations.asn
+--
+-- $Id$
+--
+
+-- Module Call-Park-Pickup-Operations (H.450.5:05/1999)
+Call-Park-Pickup-Operations {itu-t recommendation h 450 5 version1(0)
+ call-park-pickup-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ notAvailable, invalidCallState, resourceUnavailable,
+ supplementaryServiceInteractionNotAllowed
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)}
+ EndpointAddress
+ FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
+ addressing-data-elements(9)}
+ MixedExtension
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)}
+ NonStandardParameter, CallIdentifier
+ FROM H323-MESSAGES; -- see H.225.0
+
+CallParkPickupOperations OPERATION ::=
+ {cpRequest | cpSetup | groupIndicationOn | groupIndicationOff | pickrequ |
+ pickup | pickExe | cpNotify | cpickupNotify}
+
+cpRequest OPERATION ::=
+ { -- sent from parking endpoint to the parked endpoint to invoke SS-PARK
+ ARGUMENT CpRequestArg
+ RESULT CpRequestRes
+ ERRORS
+ {notAvailable |
+
+ -- feature not available in combination with the basic service
+ invalidCallState | -- call park not possible in current call state
+ resourceUnavailable | -- maximum number of parked calls reached
+ supplementaryServiceInteractionNotAllowed |
+
+ -- other supplementary service prohibits call park invocation
+ undefined -- undefined reason--}
+ CODE local:106
+}
+
+CpRequestArg ::= SEQUENCE {
+ parkingNumber EndpointAddress,
+ parkedNumber EndpointAddress,
+ parkedToNumber EndpointAddress,
+ parkedToPosition ParkedToPosition OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CpRequestRes ::= SEQUENCE {
+ parkedToNumber EndpointAddress,
+ parkedToPosition ParkedToPosition OPTIONAL,
+ parkCondition ParkCondition,
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+cpSetup OPERATION ::= { -- sent from parked endpoint to the parked-to endpoint
+ ARGUMENT CpSetupArg
+ RESULT CpSetupRes
+ ERRORS
+ {notAvailable |
+
+ -- feature not available in combination with the basic service
+ invalidCallState | -- call park not possible in current call state
+ resourceUnavailable | -- maximum number of parked calls reached
+ supplementaryServiceInteractionNotAllowed |
+
+ -- other supplementary service prohibits call park invocation
+ undefined -- undefined reason --}
+ CODE local:107
+}
+
+CpSetupArg ::= SEQUENCE {
+ parkingNumber EndpointAddress,
+ parkedNumber EndpointAddress,
+ parkedToNumber EndpointAddress,
+ parkedToPosition ParkedToPosition OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+CpSetupRes ::= SEQUENCE {
+ parkedToNumber EndpointAddress,
+ parkedToPosition ParkedToPosition OPTIONAL,
+ parkCondition ParkCondition,
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+groupIndicationOn OPERATION ::=
+ { -- sent from the parked-to endpoint/alerting endpoint to the group members
+ ARGUMENT GroupIndicationOnArg
+ RESULT GroupIndicationOnRes
+ ERRORS {undefined -- undefined reason--}
+ CODE local:108
+}
+
+GroupIndicationOnArg ::= SEQUENCE {
+ callPickupId CallIdentifier,
+ -- identification of the call to be retrieved (parked or alerting call);
+ -- its value equals the value of the CallIdentifier as assigned for the parked/
+ -- alerting call within Setup-UUIE
+ groupMemberUserNr EndpointAddress,
+ retrieveCallType CallType,
+ partyToRetrieve EndpointAddress, -- Parked or Calling User
+ retrieveAddress EndpointAddress, -- parked-to or alerting entity address
+
+ -- (may also be a GK, see 9.2)
+ parkPosition ParkedToPosition OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+GroupIndicationOnRes ::= SEQUENCE {
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+groupIndicationOff OPERATION ::=
+ { -- sent from the parked-to endpoint/alerting endpoint to the group members
+ ARGUMENT GroupIndicationOffArg
+ RESULT GroupIndicationOffRes
+ ERRORS
+ {invalidCallState | -- group indication is not on
+ undefined -- undefined reason--}
+ CODE local:109
+}
+
+GroupIndicationOffArg ::= SEQUENCE {
+ callPickupId CallIdentifier,
+ -- identification of the call that has been picked up (parked or alerting call)
+ groupMemberUserNr EndpointAddress,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+GroupIndicationOffRes ::= SEQUENCE {
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+pickrequ OPERATION ::= { -- sent from the picking-up user to the parked-to/
+ -- alerting endpoint as part of the SS-PICKUP invocation
+ ARGUMENT PickrequArg
+ RESULT PickrequRes
+ ERRORS
+ {undefined | -- undefined reason
+
+ callAlreadyPickedUp -- call has already been picked up by another user --}
+ CODE local:110
+}
+
+PickrequArg ::= SEQUENCE {
+ picking-upNumber EndpointAddress,
+ callPickupId CallIdentifier OPTIONAL,
+ -- identification of the call to be picked up (parked or alerting call), if known
+ partyToRetrieve EndpointAddress OPTIONAL, -- Parked or Calling User
+ retrieveAddress EndpointAddress, -- parked-to or alerting entity address
+ parkPosition ParkedToPosition OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+PickrequRes ::= SEQUENCE {
+ callPickupId CallIdentifier,
+ -- identification of the call that is being picked up (parked or alerting call),
+ -- if not sent in pickrequ invoke, it is assigned at the parked-to/alerting
+ -- endpoint and reflects the CallIdentification of the parked/alerting call for
+ -- later association with the pickExe invoke APDU.
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+pickup OPERATION ::=
+ { -- sent from the parked-to/alerting endpoint to the parked/calling endpoint
+ -- after the picking-up user has invoked SS-PICKUP. The picking-up user may
+ -- be local (i.e. parked-to/alerting endpoint equals picking-up
+ -- endpoint) or may be remote (i.e. picking-up user is located at a
+ -- remote picking-up endpoint having sent pickrequ invoke APDU to the
+ -- parked-to/alerting endpoint).
+ ARGUMENT PickupArg
+ RESULT PickupRes
+ ERRORS
+ {undefined | -- undefined reason
+
+ callAlreadyPickedUp -- call has already been picked up by another user --}
+ CODE local:111
+}
+
+PickupArg ::= SEQUENCE {
+ callPickupId CallIdentifier,
+ -- identification of this call to be picked up (parked or alerting call);
+ -- equals the CallIdentifier value that was assigned to this call in Setup-UUIE
+ picking-upNumber EndpointAddress,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+PickupRes ::= SEQUENCE {
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+pickExe OPERATION ::=
+ { -- sent from the parked/calling endpoint to the picking-up endpoint
+ ARGUMENT PickExeArg
+ RESULT PickExeRes
+ ERRORS
+ {undefined | -- undefined reason
+
+ callPickupIdInvalid
+ -- value not matching with the previous SS-PICKUP request
+ }
+ CODE local:112
+}
+
+PickExeArg ::= SEQUENCE {
+ callPickupId CallIdentifier,
+ -- identification of the parked/alerting call to be picked-up;
+ -- required at picking-up endpoint to associate the SS-PICKUP invoked with this
+ -- incoming setup message carrying the pickExe invoke APDU.
+ picking-upNumber EndpointAddress,
+ partyToRetrieve EndpointAddress, -- Parked or Calling User
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+PickExeRes ::= SEQUENCE {
+ extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+cpNotify OPERATION ::=
+ { -- sent from the parking-to to parked endpoint in case of local park.
+ ARGUMENT CpNotifyArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:113
+}
+
+CpNotifyArg ::= SEQUENCE {
+ parkingNumber EndpointAddress OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+cpickupNotify OPERATION ::=
+ { -- sent from parked-to to parked endpoint in case of SS-PICKUP from local park
+
+ ARGUMENT CpickupNotifyArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:114
+}
+
+CpickupNotifyArg ::= SEQUENCE {
+ picking-upNumber EndpointAddress OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+ParkedToPosition ::= INTEGER(0..65535)
+
+ParkCondition ::= ENUMERATED {
+ unspecified(0), parkedToUserIdle(1), parkedToUserBusy(2), parkedToGroup(3),
+ ...
+ }
+
+CallType ::= ENUMERATED {parkedCall(0), alertingCall(1), ...
+ }
+
+callPickupIdInvalid ERROR ::= {CODE local:2000
+}
+
+callAlreadyPickedUp ERROR ::= {CODE local:2001
+}
+
+undefined ERROR ::= {
+ PARAMETER SEQUENCE SIZE (0..255) OF MixedExtension
+ OPTIONAL TRUE
+ CODE local:2002
+}
+
+END -- of Call-Park-Pickup-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Call-Transfer-Operations.asn b/asn1/h450/Call-Transfer-Operations.asn
new file mode 100644
index 0000000000..5302f146f3
--- /dev/null
+++ b/asn1/h450/Call-Transfer-Operations.asn
@@ -0,0 +1,246 @@
+-- Call-Transfer-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.2/1998/Call-Transfer-Operations.asn
+--
+-- $Id$
+--
+
+-- Module Call-Transfer-Operations (H.450.2:02/1998)
+Call-Transfer-Operations {itu-t recommendation h 450 2 version1(0)
+ call-transfer-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ notAvailable, supplementaryServiceInteractionNotAllowed, invalidCallState
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)}
+ EndpointAddress, PartySubaddress
+ FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
+ addressing-data-elements(9)}
+ NonStandardParameter
+ FROM H323-MESSAGES -- see H.225.0
+
+ H225InformationElement
+ FROM H225-generic-parameters-definition {itu-t recommendation h 450
+ 1 version1(0) h225-generic-parameters(6)};
+
+H323CallTransferOperations OPERATION ::=
+ {callTransferIdentify | callTransferAbandon | callTransferInitiate |
+ callTransferSetup | callTransferUpdate | subaddressTransfer |
+ callTransferComplete | callTransferActive}
+
+callTransferIdentify OPERATION ::= {
+ -- sent from transferring endpoint to transferred-to endpoint
+ ARGUMENT DummyArg
+ OPTIONAL TRUE
+ RESULT CTIdentifyRes
+ ERRORS
+ {notAvailable | invalidCallState |
+ supplementaryServiceInteractionNotAllowed | unspecified}
+ CODE local:7
+}
+
+callTransferAbandon OPERATION ::= {
+ -- sent from transferring to transferred-to endpoint
+ ARGUMENT DummyArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:8
+}
+
+callTransferInitiate OPERATION ::= {
+ -- sent from transfering to transferred endpoint
+ ARGUMENT CTInitiateArg
+ RESULT DummyRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | invalidCallState | invalidReroutingNumber |
+ unrecognizedCallIdentity | establishmentFailure |
+ supplementaryServiceInteractionNotAllowed | unspecified}
+ CODE local:9
+}
+
+callTransferSetup OPERATION ::= {
+ -- sent from transferred to transferred-to endpoint
+ ARGUMENT CTSetupArg
+ RESULT DummyRes
+ OPTIONAL TRUE
+ ERRORS
+ {notAvailable | invalidCallState | invalidReroutingNumber |
+ unrecognizedCallIdentity | unspecified |
+ supplementaryServiceInteractionNotAllowed}
+ CODE local:10
+}
+
+callTransferUpdate OPERATION ::= {
+ -- may be sent from transferred to transferred-to endpoint (in SETUP) and
+ -- vice versa (in CONNECT)
+ ARGUMENT CTUpdateArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:13
+}
+
+subaddressTransfer OPERATION ::= {
+ -- may be sent from transferred to the transferred-to endpoint and vice versa
+ ARGUMENT SubaddressTransferArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:14
+}
+
+callTransferComplete OPERATION ::= {
+ -- sent from GK to the transferred endpoint, if GK performs call transfer
+ -- (see 10.6.1).
+ ARGUMENT CTCompleteArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:12
+}
+
+callTransferActive OPERATION ::= {
+ -- sent from gatekeeper to the transferred endpoint, in case of transfer ringing
+ -- after transferred-to endpoint has answered the call (only in case of
+ -- transfer performed by gatekeeper)
+ ARGUMENT CTActiveArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:11
+}
+
+DummyArg ::= CHOICE {
+ extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter
+}
+
+DummyRes ::= CHOICE {
+ extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter
+}
+
+CTInitiateArg ::= SEQUENCE {
+ callIdentity CallIdentity,
+ reroutingNumber EndpointAddress,
+ argumentExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+CTSetupArg ::= SEQUENCE {
+ callIdentity CallIdentity,
+ transferringNumber EndpointAddress OPTIONAL,
+ argumentExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+CTIdentifyRes ::= SEQUENCE {
+ callIdentity CallIdentity,
+ reroutingNumber EndpointAddress,
+ resultExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+CTUpdateArg ::= SEQUENCE {
+ redirectionNumber EndpointAddress,
+ redirectionInfo BMPString(SIZE (1..128)) OPTIONAL,
+ basicCallInfoElements H225InformationElement OPTIONAL,
+ -- Information element
+ -- Progress indicator may be conveyed
+ argumentExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+SubaddressTransferArg ::= SEQUENCE {
+ redirectionSubaddress PartySubaddress,
+ argumentExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+CTCompleteArg ::= SEQUENCE {
+ endDesignation EndDesignation,
+ redirectionNumber EndpointAddress,
+ -- number of new connected user
+ basicCallInfoElements H225InformationElement OPTIONAL,
+ -- Information element Progress indicator may be conveyed
+ redirectionInfo BMPString(SIZE (1..128)) OPTIONAL,
+ callStatus CallStatus DEFAULT answered,
+ argumentExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+EndDesignation ::= ENUMERATED {primaryEnd(0), secondaryEnd(1), ...
+ }
+
+CallStatus ::= ENUMERATED {answered(0), alerting(1), ...
+ }
+
+CTActiveArg ::= SEQUENCE {
+ connectedAddress EndpointAddress,
+ -- number of new connected user
+ basicCallInfoElements H225InformationElement OPTIONAL,
+ -- Information element Progress indicator may be conveyed
+ connectedInfo BMPString(SIZE (1..128)) OPTIONAL,
+ argumentExtension
+ CHOICE {extensionSeq ExtensionSeq,
+ nonStandardData NonStandardParameter} OPTIONAL,
+ ...
+}
+
+CallIdentity ::= NumericString(SIZE (0..4))
+
+-- size 0 means 'empty'
+ExtensionSeq ::= SEQUENCE OF Extension{{ExtensionSet}}
+
+ExtensionSet EXTENSION ::=
+ {...}
+
+-- Actual values defined by individual manufacturers
+unspecified ERROR ::= {
+ PARAMETER
+ CHOICE {extension Extension{{ExtensionSet}},
+ nonStandard NonStandardParameter}
+ CODE local:1008
+}
+
+invalidReroutingNumber ERROR ::= {
+ -- used when establishment of the new connection fails
+ -- because the reroutingNumber is not a valid alias address
+ CODE local:1004
+}
+
+unrecognizedCallIdentity ERROR ::= {
+ -- used when establishment of the new connection fails because it
+ -- could not be associated with a SS-CT entity at the
+ -- transferred-to endpoint
+ CODE local:1005
+}
+
+establishmentFailure ERROR ::= {
+ -- used when establishment of the new connection fails and
+ -- no other error applies
+ CODE local:1006
+}
+
+END -- of Call-Transfer-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Call-Waiting-Operations.asn b/asn1/h450/Call-Waiting-Operations.asn
new file mode 100644
index 0000000000..3f7920f496
--- /dev/null
+++ b/asn1/h450/Call-Waiting-Operations.asn
@@ -0,0 +1,47 @@
+-- Call-Waiting-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.6/1999/Call-Waiting-Operations.asn
+--
+-- $Id$
+--
+
+-- Module Call-Waiting-Operations (H.450.6:05/1999)
+Call-Waiting-Operations {itu-t recommendation h 450 6 version1(0)
+ call-waiting-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ MixedExtension
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)};
+
+CallWaitingOperations OPERATION ::= {callWaiting}
+
+callWaiting OPERATION ::=
+ { -- sent from served endpoint to the calling endpoint in ALERTING message
+ ARGUMENT CallWaitingArg
+ OPTIONAL TRUE
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:105
+}
+
+CallWaitingArg ::= SEQUENCE {
+ nbOfAddWaitingCalls INTEGER(0..255) OPTIONAL,
+ -- indicates the number of waiting calls at the served user
+ -- in addition to the call to which this operation applies.
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+END -- of Call-Waiting-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Common-Information-Operations.asn b/asn1/h450/Common-Information-Operations.asn
new file mode 100644
index 0000000000..d4e5901fb7
--- /dev/null
+++ b/asn1/h450/Common-Information-Operations.asn
@@ -0,0 +1,151 @@
+-- Common-Information-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.12/2001/Common-Information-Operations.asn
+--
+-- $Id$
+--
+
+-- Module Common-Information-Operations (H.450.12:07/2001)
+Common-Information-Operations {itu-t recommendation h 450 12 version1(0)
+ common-information-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ MixedExtension, undefined
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)};
+
+H323CommonInformationOperations OPERATION ::= {cmnRequest | cmnInform}
+
+cmnRequest OPERATION ::= {
+ ARGUMENT DummyArg
+ OPTIONAL TRUE
+ RESULT CmnArg
+ ERRORS {undefined}
+ CODE local:84
+}
+
+cmnInform OPERATION ::= {
+ ARGUMENT CmnArg
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:85
+}
+
+CmnArg ::= SEQUENCE {
+ featureList FeatureList OPTIONAL,
+ featureValues FeatureValues OPTIONAL,
+ featureControl FeatureControl OPTIONAL,
+ extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+DummyArg ::= SEQUENCE {
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL
+}
+
+FeatureList ::= SEQUENCE {
+ -- indicates capabilities of the endpoint sending the FeatureList
+ ssCFreRoutingSupported NULL OPTIONAL, -- Call Forwarding rerouting
+
+ -- supported meaningful only in
+ -- forward direction during call
+ -- establishment
+ ssCTreRoutingSupported NULL OPTIONAL, -- Call Transfer rerouting
+
+ -- supported meaningful both in
+ -- forward & backward direction
+ -- during call establishment
+ ssCCBSPossible NULL OPTIONAL, -- CCBS possible meaningful only
+
+ -- in backward direction before
+ -- receipt of ALERTING/CONNECT
+ ssCCNRPossible NULL OPTIONAL, -- CCNR possible meaningful only
+
+ -- in backward direction before
+ -- receipt of CONNECT
+ ssCOSupported NULL OPTIONAL, -- Call Offer supported
+
+ -- meaningful only in backward
+ -- direction during call
+ -- establishment
+ -- Call Intrusion
+ ssCIForcedReleaseSupported NULL OPTIONAL, -- meaningful only in
+
+ -- backward direction
+ ssCIIsolationSupported NULL OPTIONAL, -- meaningful only in
+
+ -- backward direction
+ ssCIWaitOnBusySupported NULL OPTIONAL, -- meaningful only in
+
+ -- backward direction
+ ssCISilentMonitoringSupported NULL OPTIONAL, -- meaningful only in
+
+ -- backward direction
+ ssCIConferenceSupported NULL OPTIONAL, -- meaningful only in
+
+ -- backward direction
+ -- Call Hold
+ ssCHFarHoldSupported NULL OPTIONAL, -- meaningful in both
+
+ -- directions
+ -- Message Waiting Callback
+ ssMWICallbackSupported NULL OPTIONAL, -- meaningful in backward
+
+ -- direction
+ -- meaningful both in
+ -- forward & backward
+ -- direction during call
+ -- establishment
+ -- Call Park
+ ssCPCallParkSupported NULL OPTIONAL, -- meaningful in both
+
+ -- directions
+ ...
+}
+
+FeatureValues ::= SEQUENCE {
+ partyCategory PartyCategory OPTIONAL,
+ ssCIprotectionLevel SSCIProtectionLevel OPTIONAL,
+ -- Supplementary Service Call Intrusion Protection level
+ -- meaningful both in forward and backward direction; inclusion
+ -- indicates support of SS-CI as an unwanted endpoint (forward
+ -- direction) or as a Terminating Endpoint (backward direction),
+ -- as well as the applicable protection level.
+ ...
+}
+
+PartyCategory ::= ENUMERATED {unknown, extension, attendant, emergExt, ...
+ }
+
+SSCIProtectionLevel ::= INTEGER(0..3)
+
+FeatureControl ::= SEQUENCE {
+ ssCHDoNotHold NULL OPTIONAL, -- meaningful in both directions
+
+ -- Sending endpoint shall not be held
+ ssCTDoNotTransfer NULL OPTIONAL, -- meaningful in both directions
+
+ -- sending endpoint shall not be transferred
+ ssMWICallbackCall NULL OPTIONAL, -- meaningful only in SETUP
+
+ -- indicating a callback call
+ ssCISilentMonitorPermitted NULL OPTIONAL, -- unwanted endpoint
+
+ -- allows for
+ -- silent monitoring
+ -- meaningful in forward and backward direction
+ ...
+}
+
+END -- of Common-Information-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/H225-generic-parameters-definition.asn b/asn1/h450/H225-generic-parameters-definition.asn
new file mode 100644
index 0000000000..84c3e0e756
--- /dev/null
+++ b/asn1/h450/H225-generic-parameters-definition.asn
@@ -0,0 +1,19 @@
+-- H225-generic-parameters-definition.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.1/1998/H225-generic-parameters-definition.asn
+--
+-- $Id$
+--
+
+-- Module H225-generic-parameters-definition (H.450.1:02/1998)
+H225-generic-parameters-definition {itu-t recommendation h 450 1 version1(0)
+ h225-generic-parameters(6)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+H225InformationElement ::= OCTET STRING
+
+END -- of H225 Generic parameters definition
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/H4501-General-Error-List.asn b/asn1/h450/H4501-General-Error-List.asn
new file mode 100644
index 0000000000..b14511e467
--- /dev/null
+++ b/asn1/h450/H4501-General-Error-List.asn
@@ -0,0 +1,102 @@
+-- H4501-General-Error-List.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.1/1998/H4501-General-Error-List.asn
+--
+-- $Id$
+--
+
+-- Module H4501-General-Error-List (H.450.1:02/1998)
+H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)};
+
+-- The following errors are based on the error definitions of Recommendation Q.950.
+userNotSubscribed ERROR ::= {CODE local:0
+}
+
+-- is an indication that the user has not subscribed to this service.
+rejectedByNetwork ERROR ::= {CODE local:1
+}
+
+-- is an indication that the requested service is rejected by the network
+-- (e.g. gatekeeper).
+rejectedByUser ERROR ::= {CODE local:2
+}
+
+-- is an indication that the requested service is provided by the
+-- network but that the remote user has rejected this service request.
+notAvailable ERROR ::= {CODE local:3
+}
+
+-- is an indication that the user has subscribed to this service but the
+-- requested service is not available combined with the basic service or
+-- the other services (e.g. operation).
+insufficientInformation ERROR ::= {CODE local:5
+}
+
+-- is an indication that the content of operation argument is
+-- incomplete, or absent entirely.
+invalidServedUserNumber ERROR ::= {CODE local:6
+}
+
+-- is an indication that the requested service cannot be performed
+-- because of the usage of an invalid served user number.
+invalidCallState ERROR ::= {CODE local:7
+}
+
+-- is an indication that no match exists between the service request and
+-- the valid H.225.0 call state, this applies also to invalid
+-- auxiliary states or an invalid combination of H.225.0 call states and
+-- auxiliary states.
+basicServiceNotProvided ERROR ::= {CODE local:8
+}
+
+-- is an indication that the service request is directed to a Basic
+-- Service which is not provided (e.g. this return error value is used
+-- in cases where a supplementary service is to be invoked with a SETUP
+-- message but indicating the wrong Basic Service).
+notIncomingCall ERROR ::= {CODE local:9
+}
+
+-- is an indication that the service request has been invoked for an
+-- outgoing call, which is not permitted for that service.
+supplementaryServiceInteractionNotAllowed ERROR ::= {CODE local:10
+}
+
+-- is an indication that the Service request is not permitted in
+-- combination with either a further requested or active supplementary
+-- service.
+resourceUnavailable ERROR ::= {CODE local:11
+}
+
+-- is an indication that the service provider has temporarily no
+-- resource available for the provision of the requested service.
+callFailure ERROR ::= {CODE local:25
+}
+
+-- is an indication that the requested supplementary service was not executable by virtue
+-- of a Basic Call Failure. The parameter is included under circumstances where the
+-- call failure was remote from the local gatekeeper interface over which the error is to
+-- be sent. For example when:
+-- a) no H.225.0 RELEASE COMPLETE message is provided locally, or
+-- b) the cause information element included in the RELEASE COMPLETE
+-- message represents only the reason for local basic call clearing.
+-- In these cases the parameter value represents the clearing cause included in the
+-- remote clearing procedure.
+proceduralError ERROR ::= {CODE local:43
+}
+
+-- is an indication that a transport message (e.g. SETUP)
+-- is received which has one or more operation APDUs which have a valid
+-- content but which are not specified as valid information content of
+-- the transport message used.
+END -- of H4501-General-Error-List
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/H4501-Supplementary-ServiceAPDU-Structure.asn b/asn1/h450/H4501-Supplementary-ServiceAPDU-Structure.asn
new file mode 100644
index 0000000000..ad7284dca2
--- /dev/null
+++ b/asn1/h450/H4501-Supplementary-ServiceAPDU-Structure.asn
@@ -0,0 +1,74 @@
+-- H4501-Supplementary-ServiceAPDU-Structure.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.1/1998/H4501-Supplementary-ServiceAPDU-Structure.asn
+--
+-- $Id$
+--
+
+-- Module H4501-Supplementary-ServiceAPDU-Structure (H.450.1:02/1998)
+H4501-Supplementary-ServiceAPDU-Structure {itu-t recommendation h 450
+ 1 version1(0) h4501-facility-information-structure(2)} DEFINITIONS AUTOMATIC
+TAGS ::=
+BEGIN
+
+IMPORTS
+ AliasAddress
+ FROM H323-MESSAGES -- see H.225.0 V2
+
+ OPERATION, ROS{}, InvokeId
+ FROM Remote-Operations-Apdus {itu-t recommendation h 450 1 version1(0)
+ remote-operations-apdus(11)};
+
+H4501SupplementaryService ::= SEQUENCE {
+ networkFacilityExtension NetworkFacilityExtension OPTIONAL, -- see 8.1
+ interpretationApdu InterpretationApdu OPTIONAL, -- see 8.2
+ serviceApdu ServiceApdus, -- H.450.x supplementary services
+ ...
+}
+
+NetworkFacilityExtension ::= SEQUENCE {
+ sourceEntity EntityType,
+ sourceEntityAddress AddressInformation OPTIONAL,
+ destinationEntity EntityType,
+ destinationEntityAddress AddressInformation OPTIONAL,
+ ...
+}
+
+EntityType ::= CHOICE {endpoint NULL,
+ anyEntity NULL,
+ ...
+}
+
+AddressInformation ::= AliasAddress
+
+InterpretationApdu ::= CHOICE {
+ discardAnyUnrecognizedInvokePdu NULL,
+ clearCallIfAnyInvokePduNotRecognized NULL,
+ -- this value also applies to Call independent signalling connections
+ rejectAnyUnrecognizedInvokePdu NULL,
+ -- this coding is implied by the absence of an interpretation APDU.
+ ...
+}
+
+ServiceApdus ::= CHOICE {
+ rosApdus
+ SEQUENCE SIZE (1..MAX) OF
+ ROS{{InvokeIdSet}, {OperationSet}, {OperationSet}},
+ -- see 8.3; other alternatives may be defined in future versions
+ ...
+}
+
+InvokeIdSet INTEGER ::= {InvokeIDs, ...}
+
+InvokeIDs ::= INTEGER(0..65535)
+
+OperationSet OPERATION ::=
+ {...}
+
+-- actual values are defined by individual supplementary service specifications
+-- (e.g. H.450.x or manufacturer specific)
+END -- of H4501- Supplementary-ServiceAPDU-Structure
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Makefile b/asn1/h450/Makefile
index c7d8051288..08029d5bbf 100644
--- a/asn1/h450/Makefile
+++ b/asn1/h450/Makefile
@@ -1,14 +1,21 @@
# $Id$
-DISSECTOR_FILES=packet-h450.c packet-h450.h
+H450_FILES=packet-$(PROTOCOL_NAME).c
+H450_ROS_FILES=packet-$(PROTOCOL_NAME)-ros.c packet-$(PROTOCOL_NAME)-ros.h
+DISSECTOR_FILES=$(H450_FILES) $(H450_ROS_FILES)
+H450_ASN=H4501-Supplementary-ServiceAPDU-Structure.asn Addressing-Data-Elements.asn H225-generic-parameters-definition.asn Manufacturer-specific-service-extension-definition.asn H4501-General-Error-List.asn
+H450_OP_ASN=Call-Transfer-Operations.asn Call-Diversion-Operations.asn Call-Hold-Operations.asn Call-Park-Pickup-Operations.asn Call-Waiting-Operations.asn Message-Waiting-Indication-Operations.asn Name-Operations.asn Call-Completion-Operations.asn Call-Offer-Operations.asn Call-Intrusion-Operations.asn Common-Information-Operations.asn
+H450_ROS_ASN=../ros/Remote-Operations-Information-Objects.asn Remote-Operations-Apdus.asn
all: generate_dissector
generate_dissector: $(DISSECTOR_FILES)
-$(DISSECTOR_FILES): ../../tools/asn2wrs.py h4501.asn packet-h450-template.c packet-h450-template.h h450.cnf
- python ../../tools/asn2wrs.py -e -p h450 -c h450.cnf -s packet-h450-template h4501.asn
+$(H450_FILES): ../../tools/asn2wrs.py $(H450_ASN) $(H450_OP_ASN) packet-h450-template.c packet-h450-template.h h450.cnf
+ python ../../tools/asn2wrs.py -c $(PROTOCOL_NAME).cnf -s packet-$(PROTOCOL_NAME)-template $(H450_ASN) $(H450_OP_ASN)
+$(H450_ROS_FILES): ../../tools/asn2wrs.py $(H450_ROS_ASN) packet-$(PROTOCOL_NAME)-ros-template.c $(PROTOCOL_NAME)-ros.cnf
+ python ../../tools/asn2wrs.py -e -p $(PROTOCOL_NAME).ros -c $(PROTOCOL_NAME)-ros.cnf -o $(PROTOCOL_NAME)-ros -s packet-$(PROTOCOL_NAME)-ros-template $(H450_ROS_ASN)
clean:
rm -f parsetab.py $(DISSECTOR_FILES)
diff --git a/asn1/h450/Makefile.nmake b/asn1/h450/Makefile.nmake
index 25377f8d6d..4cd8aff7cd 100644
--- a/asn1/h450/Makefile.nmake
+++ b/asn1/h450/Makefile.nmake
@@ -7,15 +7,28 @@ include ../../config.nmake
UNIX2DOS=$(PERL) ../../tools/unix2dos.pl
PROTOCOL_NAME=h450
-DISSECTOR_FILES=packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).h
+H450_FILES=packet-$(PROTOCOL_NAME).c
+H450_ROS_FILES=packet-$(PROTOCOL_NAME)-ros.c packet-$(PROTOCOL_NAME)-ros.h
+DISSECTOR_FILES=$(H450_FILES) $(H450_ROS_FILES)
+H450_ASN=H4501-Supplementary-ServiceAPDU-Structure.asn Addressing-Data-Elements.asn H225-generic-parameters-definition.asn Manufacturer-specific-service-extension-definition.asn H4501-General-Error-List.asn
+H450_OP_ASN=Call-Transfer-Operations.asn Call-Diversion-Operations.asn Call-Hold-Operations.asn Call-Park-Pickup-Operations.asn Call-Waiting-Operations.asn Message-Waiting-Indication-Operations.asn Name-Operations.asn Call-Completion-Operations.asn Call-Offer-Operations.asn Call-Intrusion-Operations.asn Common-Information-Operations.asn
+H450_ROS_ASN=../ros/Remote-Operations-Information-Objects.asn Remote-Operations-Apdus.asn
all: generate_dissector
generate_dissector: $(DISSECTOR_FILES)
-$(DISSECTOR_FILES): ../../tools/asn2wrs.py h4501.asn packet-$(PROTOCOL_NAME)-template.c packet-$(PROTOCOL_NAME)-template.h $(PROTOCOL_NAME).cnf
+$(H450_FILES): ../../tools/asn2wrs.py $(H450_ASN) $(H450_OP_ASN) packet-$(PROTOCOL_NAME)-template.c $(PROTOCOL_NAME).cnf
!IFDEF PYTHON
- $(PYTHON) "../../tools/asn2wrs.py" -e -p h450 -c h450.cnf -s packet-h450-template h4501.asn
+ $(PYTHON) "../../tools/asn2wrs.py" -c $(PROTOCOL_NAME).cnf -s packet-$(PROTOCOL_NAME)-template $(H450_ASN) $(H450_OP_ASN)
+!ELSE
+ @echo Error: You need Python to use asn2wrs.py
+ @exit 1
+!ENDIF
+
+$(H450_ROS_FILES): ../../tools/asn2wrs.py $(H450_ROS_ASN) packet-$(PROTOCOL_NAME)-ros-template.c $(PROTOCOL_NAME)-ros.cnf
+!IFDEF PYTHON
+ $(PYTHON) "../../tools/asn2wrs.py" -e -p $(PROTOCOL_NAME).ros -c $(PROTOCOL_NAME)-ros.cnf -o $(PROTOCOL_NAME)-ros -s packet-$(PROTOCOL_NAME)-ros-template $(H450_ROS_ASN)
!ELSE
@echo Error: You need Python to use asn2wrs.py
@exit 1
@@ -35,11 +48,14 @@ maintainer-clean: distclean
fix_eol: generate_dissector
move packet-$(PROTOCOL_NAME).c packet-$(PROTOCOL_NAME).c.tmp
- move packet-$(PROTOCOL_NAME).h packet-$(PROTOCOL_NAME).h.tmp
+ move packet-$(PROTOCOL_NAME)-ros.c packet-$(PROTOCOL_NAME)-ros.c.tmp
+ move packet-$(PROTOCOL_NAME)-ros.h packet-$(PROTOCOL_NAME)-ros.h.tmp
$(UNIX2DOS) < packet-$(PROTOCOL_NAME).c.tmp > packet-$(PROTOCOL_NAME).c
- $(UNIX2DOS) < packet-$(PROTOCOL_NAME).h.tmp > packet-$(PROTOCOL_NAME).h
- del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME).h.tmp
+ $(UNIX2DOS) < packet-$(PROTOCOL_NAME)-ros.c.tmp > packet-$(PROTOCOL_NAME)-ros.c
+ $(UNIX2DOS) < packet-$(PROTOCOL_NAME)-ros.h.tmp > packet-$(PROTOCOL_NAME)-ros.h
+ del /f packet-$(PROTOCOL_NAME).c.tmp packet-$(PROTOCOL_NAME)-ros.c.tmp packet-$(PROTOCOL_NAME)-ros.h.tmp
copy_files: generate_dissector fix_eol
xcopy packet-$(PROTOCOL_NAME).c ..\..\epan\dissectors /d /y
- xcopy packet-$(PROTOCOL_NAME).h ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME)-ros.c ..\..\epan\dissectors /d /y
+ xcopy packet-$(PROTOCOL_NAME)-ros.h ..\..\epan\dissectors /d /y
diff --git a/asn1/h450/Manufacturer-specific-service-extension-definition.asn b/asn1/h450/Manufacturer-specific-service-extension-definition.asn
new file mode 100644
index 0000000000..3d7abae1bd
--- /dev/null
+++ b/asn1/h450/Manufacturer-specific-service-extension-definition.asn
@@ -0,0 +1,33 @@
+-- Manufacturer-specific-service-extension-definition.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.1/1998/Manufacturer-specific-service-extension-definition.asn
+--
+-- $Id$
+--
+
+-- Module Manufacturer-specific-service-extension-definition (H.450.1:02/1998)
+Manufacturer-specific-service-extension-definition {itu-t recommendation
+ h 450 1 version1(0) msi-definition(18)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+EXTENSION ::= CLASS {&ArgumentType ,
+ &extensionId OBJECT IDENTIFIER
+}WITH SYNTAX {ARGUMENT &ArgumentType
+ IDENTIFIER &extensionId
+}
+
+Extension{EXTENSION:ExtensionSet} ::= SEQUENCE {
+ extensionId EXTENSION.&extensionId({ExtensionSet}),
+ extensionArgument EXTENSION.&ArgumentType({ExtensionSet}{@extensionId})
+}
+
+-- ExtensionSet is a set of objects of class EXTENSION.
+-- Actual values of ExtensionSet are defined by the individual manufacturers.
+-- Element extensionId is constrained to be the identifier of an object from that set.
+-- Element extensionArgument is constrained to be the argument type for that particular
+-- object.
+END -- of Manufacturer-specific-service-extension-definition
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Message-Waiting-Indication-Operations.asn b/asn1/h450/Message-Waiting-Indication-Operations.asn
new file mode 100644
index 0000000000..8cd0e94fdb
--- /dev/null
+++ b/asn1/h450/Message-Waiting-Indication-Operations.asn
@@ -0,0 +1,171 @@
+-- Message-Waiting-Indication-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.7/1999/Message-Waiting-Indication-Operations.asn
+--
+-- $Id$
+--
+
+-- Module Message-Waiting-Indication-Operations (H.450.7:05/1999)
+Message-Waiting-Indication-Operations {itu-t recommendation h 450 7 version1(0)
+ message-waiting-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ userNotSubscribed, invalidServedUserNumber, basicServiceNotProvided
+ FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
+ general-error-list(1)}
+ EndpointAddress
+ FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
+ addressing-data-elements(9)}
+ MixedExtension
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)};
+
+H323-MWI-Operations OPERATION ::=
+ {mwiActivate | mwiDeactivate | mwiInterrogate}
+
+mwiActivate OPERATION ::= {
+ ARGUMENT MWIActivateArg
+ RESULT DummyRes
+ ERRORS
+ {userNotSubscribed | invalidServedUserNumber | basicServiceNotProvided |
+ undefined}
+ CODE local:80
+}
+
+mwiDeactivate OPERATION ::= {
+ ARGUMENT MWIDeactivateArg
+ RESULT DummyRes
+ ERRORS
+ {userNotSubscribed | invalidServedUserNumber | basicServiceNotProvided |
+ undefined}
+ CODE local:81
+}
+
+mwiInterrogate OPERATION ::= {
+ ARGUMENT MWIInterrogateArg
+ RESULT MWIInterrogateRes
+ ERRORS
+ {userNotSubscribed | invalidServedUserNumber | notActivated |
+ invalidMsgCentreId | undefined}
+ CODE local:82
+}
+
+MWIActivateArg ::= SEQUENCE {
+ servedUserNr EndpointAddress,
+ basicService BasicService,
+ msgCentreId MsgCentreId OPTIONAL,
+ nbOfMessages NbOfMessages OPTIONAL,
+ originatingNr EndpointAddress OPTIONAL,
+ timestamp TimeStamp OPTIONAL,
+ priority INTEGER(0..9) OPTIONAL,
+ -- the value 0 means the highest priority and 9 the lowest
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+DummyRes ::= SEQUENCE SIZE (0..255) OF MixedExtension
+
+MWIDeactivateArg ::= SEQUENCE {
+ servedUserNr EndpointAddress,
+ basicService BasicService,
+ msgCentreId MsgCentreId OPTIONAL,
+ callbackReq BOOLEAN OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+MWIInterrogateArg ::= SEQUENCE {
+ servedUserNr EndpointAddress,
+ basicService BasicService,
+ msgCentreId MsgCentreId OPTIONAL,
+ callbackReq BOOLEAN OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+MWIInterrogateRes ::= SEQUENCE SIZE (1..64) OF MWIInterrogateResElt
+
+MWIInterrogateResElt ::= SEQUENCE {
+ basicService BasicService,
+ msgCentreId MsgCentreId OPTIONAL,
+ nbOfMessages NbOfMessages OPTIONAL,
+ originatingNr EndpointAddress OPTIONAL,
+ timestamp TimeStamp OPTIONAL,
+ priority INTEGER(0..9) OPTIONAL,
+ -- the value 0 means the highest priority and 9 the lowest
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...
+}
+
+MsgCentreId ::= CHOICE {
+ -- only partyNumber provides a callable identification
+ integer INTEGER(0..65535),
+ partyNumber EndpointAddress,
+ numericString NumericString(SIZE (1..10))
+}
+
+NbOfMessages ::= INTEGER(0..65535)
+
+TimeStamp ::= GeneralizedTime(SIZE (12..19))
+
+-- a VisibleString representation of date and time following ISO 8601
+-- containing:
+-- - the (local) date in 8 digits (YYYYMMDD),
+-- - followed by (local) time of day in 4 or 6 digits [HHMM(SS)],
+-- - optionally followed by the letter "Z" or by a local time differential
+-- from UTC time in 5 digits ("+"HHMM or "-"HHMM);
+-- Examples:
+-- 1) 19970621194530, meaning 21 June 1997, 19:45:30;
+-- 2) 19970621194530Z, meaning the same as 1);
+-- 3) 19970621194530-0500, meaning the same as 1),
+-- 5 hours retarded in relation to UTC time
+undefined ERROR ::= {
+ PARAMETER SEQUENCE SIZE (0..255) OF MixedExtension
+ OPTIONAL TRUE
+ CODE local:2002
+}
+
+invalidMsgCentreId ERROR ::=
+ { -- returned by a Message Centre endpoint when an unknown Message
+ -- Centre Identifier is specified in a mwiInterrogate invoke
+ CODE local:1018
+}
+
+BasicService ::= ENUMERATED {
+ -- MWI Services:
+ -- for compatibility among vendors, speech is recommended for voice mail
+ -- indications
+ allServices(0), speech(1), unrestrictedDigitalInformation(2), audio3100Hz(3),
+ telephony(32), teletex(33), telefaxGroup4Class1(34), videotexSyntaxBased(35),
+ videotelephony(36), telefaxGroup2-3(37), reservedNotUsed1(38),
+ reservedNotUsed2(39), reservedNotUsed3(40), reservedNotUsed4(41),
+ reservedNotUsed5(42),
+ --
+ -- MWI Service Classes:
+ email(51), video(52), fileTransfer(53), shortMessageService(54),
+ speechAndVideo(55), speechAndFax(56), speechAndEmail(57), videoAndFax(58),
+ videoAndEmail(59), faxAndEmail(60), speechVideoAndFax(61),
+ speechVideoAndEmail(62), speechFaxAndEmail(63), videoFaxAndEmail(64),
+ speechVideoFaxAndEmail(65), multimediaUnknown(66),
+ serviceUnknown(67),
+ --
+ -- Reserved for future additions:
+ futureReserve1(68), futureReserve2(69), futureReserve3(70),
+ futureReserve4(71), futureReserve5(72), futureReserve6(73),
+ futureReserve7(74), futureReserve8(75)}
+
+notActivated ERROR ::= {CODE local:31
+}
+
+END -- of Message-Waiting-Indication-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Name-Operations.asn b/asn1/h450/Name-Operations.asn
new file mode 100644
index 0000000000..0f8cef7f4a
--- /dev/null
+++ b/asn1/h450/Name-Operations.asn
@@ -0,0 +1,99 @@
+-- Name-Operations.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.8/2000/Name-Operations.asn
+--
+-- $Id$
+--
+
+-- Module Name-Operations (H.450.8:02/2000)
+Name-Operations {itu-t recommendation h 450 8 version1(0) name-operations(0)}
+DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)}
+ EXTENSION, Extension{}
+ FROM Manufacturer-specific-service-extension-definition {itu-t
+ recommendation h 450 1 version1(0) msi-definition(18)}
+ MixedExtension
+ FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
+ call-hold-operations(0)};
+
+NameOperations OPERATION ::=
+ {callingName | alertingName | connectedName | busyName}
+
+callingName OPERATION ::= {
+ ARGUMENT
+ SEQUENCE {name Name,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:0
+}
+
+alertingName OPERATION ::= {
+ ARGUMENT
+ SEQUENCE {name Name,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:1
+}
+
+connectedName OPERATION ::= {
+ ARGUMENT
+ SEQUENCE {name Name,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:2
+}
+
+busyName OPERATION ::= {
+ ARGUMENT
+ SEQUENCE {name Name,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+ ...}
+ RETURN RESULT FALSE
+ ALWAYS RESPONDS FALSE
+ CODE local:3
+}
+
+Name ::= CHOICE {
+ namePresentationAllowed NamePresentationAllowed,
+ namePresentationRestricted NamePresentationRestricted,
+ nameNotAvailable NULL,
+ ...
+}
+
+NamePresentationAllowed ::= CHOICE {
+ simpleName SimpleName,
+ extendedName ExtendedName,
+ ...
+}
+
+NamePresentationRestricted ::= CHOICE {
+ simpleName SimpleName,
+ extendedName ExtendedName,
+ restrictedNull NULL, -- only used in case of interworking where other network
+
+ -- provides indication that the name is restricted without
+ -- the name itself
+ ...
+}
+
+SimpleName ::= OCTET STRING(SIZE (1..50))
+
+ExtendedName ::= BMPString(SIZE (1..256)) -- Basic ISO/IEC 10646-1 (Unicode)
+
+
+END -- of Name-Operations
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/Remote-Operations-Apdus.asn b/asn1/h450/Remote-Operations-Apdus.asn
new file mode 100644
index 0000000000..72a90352c2
--- /dev/null
+++ b/asn1/h450/Remote-Operations-Apdus.asn
@@ -0,0 +1,152 @@
+-- Remote-Operations-Apdus.asn
+--
+-- Taken from ITU ASN.1 database
+-- http://www.itu.int/ITU-T/asn1/database/itu-t/h/h450.1/1998/Remote-Operations-Apdus.asn
+--
+-- $Id$
+--
+
+-- Module Remote-Operations-Apdus (H.450.1:02/1998)
+Remote-Operations-Apdus {itu-t recommendation h 450 1 version1(0)
+ remote-operations-apdus(11)} DEFINITIONS AUTOMATIC TAGS ::=
+BEGIN
+
+-- exports everything
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t
+ remote-operations(4) informationObjects(5) version1(0)};
+
+ROS{InvokeId:InvokeIdSet, OPERATION:Invokable, OPERATION:Returnable} ::=
+ CHOICE {
+ invoke [1] Invoke{{InvokeIdSet}, {Invokable}},
+ returnResult [2] ReturnResult{{Returnable}},
+ returnError [3] ReturnError{{Errors {{Returnable}}}},
+ reject [4] Reject
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-unrecognizedPDU)
+
+Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
+ invokeId
+ InvokeId(InvokeIdSet)
+ (CONSTRAINED BY {-- must be unambiguous -- } !
+ RejectProblem:invoke-duplicateInvocation),
+ linkedId
+ InvokeId
+ (CONSTRAINED BY {-- must identify an outstanding operation -- } !
+ RejectProblem:invoke-unrecognizedLinkedId)
+ (CONSTRAINED BY {-- which has one or more linked operations-- } !
+ RejectProblem:invoke-linkedResponseUnexpected) OPTIONAL,
+ opcode
+ OPERATION.&operationCode
+ ({Operations} !RejectProblem:invoke-unrecognizedOperation),
+ argument
+ OPERATION.&ArgumentType
+ ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+--(
+-- WITH COMPONENTS
+-- {
+-- ...,
+-- linkedId ABSENT
+-- }
+-- WITH COMPONENTS {
+-- ...,
+-- linkedId PRESENT,
+-- opcode (CONSTRAINED BY {
+-- must be in the &Linked field of the associated operation
+-- } ! RejectProblem : invoke-unexpectedLinkedOperation)
+-- }
+--)
+ReturnResult{OPERATION:Operations} ::= SEQUENCE {
+ invokeId
+ InvokeId
+ (CONSTRAINED BY {-- must be that for an outstanding operation -- } !
+ RejectProblem:returnResult-unrecognizedInvocation)
+ (CONSTRAINED BY {-- which returns a result -- } !
+ RejectProblem:returnResult-resultResponseUnexpected),
+ result
+ SEQUENCE {opcode
+ OPERATION.&operationCode({Operations})
+ (CONSTRAINED BY {-- identified by invokeId -- } !
+ RejectProblem:returnResult-unrecognizedInvocation),
+ result
+ OPERATION.&ResultType
+ ({Operations}{@.opcode} !
+ RejectProblem:returnResult-mistypedResult)} OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+ReturnError{ERROR:Errors} ::= SEQUENCE {
+ invokeId
+ InvokeId
+ (CONSTRAINED BY {-- must be that for an outstanding operation -- } !
+ RejectProblem:returnError-unrecognizedInvocation)
+ (CONSTRAINED BY {-- which returns an error -- } !
+ RejectProblem:returnError-errorResponseUnexpected),
+ errcode
+ ERROR.&errorCode({Errors} !RejectProblem:returnError-unrecognizedError)
+ (CONSTRAINED BY {--must be in the &Errors field of the associated operation --
+ } !RejectProblem:returnError-unexpectedError),
+ parameter
+ ERROR.&ParameterType
+ ({Errors}{@errcode} !RejectProblem:returnError-mistypedParameter)
+ OPTIONAL
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+Reject ::= SEQUENCE {
+ invokeId InvokeId,
+ problem
+ CHOICE {general GeneralProblem,
+ invoke InvokeProblem,
+ returnResult ReturnResultProblem,
+ returnError ReturnErrorProblem}
+}
+(CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:general-mistypedPDU)
+
+GeneralProblem ::= INTEGER {
+ unrecognizedComponent(0), mistypedComponent(1), badlyStructuredComponent(2)
+}
+
+InvokeProblem ::= INTEGER {
+ duplicateInvocation(0), unrecognizedOperation(1), mistypedArgument(2),
+ resourceLimitation(3), releaseInProgress(4), unrecognizedLinkedId(5),
+ linkedResponseUnexpected(6), unexpectedLinkedOperation(7)}
+
+ReturnResultProblem ::= INTEGER {
+ unrecognizedInvocation(0), resultResponseUnexpected(1), mistypedResult(2)
+}
+
+ReturnErrorProblem ::= INTEGER {
+ unrecognizedInvocation(0), errorResponseUnexpected(1), unrecognizedError(2),
+ unexpectedError(3), mistypedParameter(4)}
+
+RejectProblem ::= INTEGER {
+ general-unrecognizedPDU(0), general-mistypedPDU(1),
+ general-badlyStructuredPDU(2), invoke-duplicateInvocation(10),
+ invoke-unrecognizedOperation(11), invoke-mistypedArgument(12),
+ invoke-resourceLimitation(13), invoke-releaseInProgress(14),
+ invoke-unrecognizedLinkedId(15), invoke-linkedResponseUnexpected(16),
+ invoke-unexpectedLinkedOperation(17),
+ returnResult-unrecognizedInvocation(20),
+ returnResult-resultResponseUnexpected(21), returnResult-mistypedResult(22),
+ returnError-unrecognizedInvocation(30),
+ returnError-errorResponseUnexpected(31), returnError-unrecognizedError(32),
+ returnError-unexpectedError(33), returnError-mistypedParameter(34)}
+
+InvokeId ::= INTEGER
+
+Errors{OPERATION:Operations} ERROR ::= {Operations.&Errors}
+
+END -- end of Remote-Operations-Apdus definitions
+
+-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
+
diff --git a/asn1/h450/h450-ros-exp.cnf b/asn1/h450/h450-ros-exp.cnf
new file mode 100644
index 0000000000..d379db5e5c
--- /dev/null
+++ b/asn1/h450/h450-ros-exp.cnf
@@ -0,0 +1,14 @@
+# Do not modify this file.
+# It is created automatically by the ASN.1 to Wireshark dissector compiler
+# .\h450-ros-exp.cnf
+# ../../tools/asn2wrs.py -e -p h450.ros -c h450-ros.cnf -o h450-ros -s packet-h450-ros-template ../ros/Remote-Operations-Information-Objects.asn Remote-Operations-Apdus.asn
+
+#.MODULE
+Remote-Operations-Information-Objects h450.ros
+Remote-Operations-Apdus h450.ros
+#.END
+
+#.TYPE_ATTR
+ROS TYPE = FT_UINT32 DISPLAY = BASE_DEC STRINGS = VALS(h450_ros_ROS_vals) BITMASK = 0
+#.END
+
diff --git a/asn1/h450/h450-ros.cnf b/asn1/h450/h450-ros.cnf
new file mode 100644
index 0000000000..ce7f484676
--- /dev/null
+++ b/asn1/h450/h450-ros.cnf
@@ -0,0 +1,192 @@
+
+#.EXPORTS
+
+ROS
+
+#.OMIT_ASSIGNMENT
+
+Priority
+RejectProblem
+
+#.TYPE_RENAME
+
+Invoke/argument InvokeArgument
+ReturnResult/result/result ResultArgument
+
+#.FIELD_RENAME
+
+Invoke/invokeId invokeIdConstrained
+
+Reject/problem/invoke invokeProblem
+Reject/problem/returnError returnErrorProblem
+Reject/problem/returnResult returnResultProblem
+
+ReturnResult/result/result resultArgument
+
+#--- ROS ---
+
+#.FN_HDR ROS
+ DISSECTOR_ASSERT(actx->rose_ctx);
+ rose_ctx_clean_data(actx->rose_ctx);
+#.END
+
+#--- Code ---
+
+#.FN_PARS
+Code VAL_PTR = &%(ACTX)s->rose_ctx->d.code
+Code/local VAL_PTR = &%(ACTX)s->rose_ctx->d.code_local
+Code/global FN_VARIANT = _str VAL_PTR = &%(ACTX)s->rose_ctx->d.code_global
+#.FN_FTR Code
+ actx->rose_ctx->d.code_item = actx->created_item;
+#.END
+
+#--- Problem ---
+
+#.FN_PARS
+GeneralProblem VAL_PTR = &problem_val
+InvokeProblem VAL_PTR = &problem_val
+ReturnResultProblem VAL_PTR = &problem_val
+ReturnErrorProblem VAL_PTR = &problem_val
+#.FN_FTR GeneralProblem
+ strcpy(problem_str, val_to_str(problem_val, VALS(h450_ros_GeneralProblem_vals), ""));
+#.FN_FTR InvokeProblem
+ strcpy(problem_str, val_to_str(problem_val, VALS(h450_ros_InvokeProblem_vals), ""));
+#.FN_FTR ReturnResultProblem
+ strcpy(problem_str, val_to_str(problem_val, VALS(h450_ros_ReturnResultProblem_vals), ""));
+#.FN_FTR ReturnErrorProblem
+ strcpy(problem_str, val_to_str(problem_val, VALS(h450_ros_ReturnErrorProblem_vals), ""));
+#.END
+
+#--- INVOKE ---
+
+# body is impleneted manually as asn2wrs is not able to handle subtype constraint event passed through parameter
+#.FN_BODY Invoke/invokeId
+ offset = dissect_per_constrained_integer(%(TVB)s, %(OFFSET)s, %(ACTX)s, %(TREE)s, %(HF_INDEX)s,
+ 0U, 65535U, %(VAL_PTR)s, TRUE);
+#.END
+
+#.FIELD_ATTR
+Invoke/argument TYPE = FT_BYTES DISPLAY = BASE_HEX
+
+#.FN_PARS Invoke/argument
+FN_VARIANT = _pdu
+TYPE_REF_FN = argument_cb
+
+#.FN_HDR Invoke
+ dissector_handle_t arg_handle = NULL;
+
+ arg_next_tvb = NULL;
+#.FN_FTR Invoke
+ actx->rose_ctx->d.pdu = 1;
+
+ if (actx->rose_ctx->d.code == 0) {
+ arg_handle = dissector_get_port_handle(actx->rose_ctx->arg_local_dissector_table, actx->rose_ctx->d.code_local);
+ } else if (actx->rose_ctx->d.code == 1) {
+ arg_handle = dissector_get_string_handle(actx->rose_ctx->arg_global_dissector_table, actx->rose_ctx->d.code_global);
+ } else {
+ arg_handle = NULL;
+ }
+
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " INV:");
+ if (!arg_handle ||
+ !proto_is_protocol_enabled(find_protocol_by_id(dissector_handle_get_protocol_index(arg_handle)))) {
+ if (actx->rose_ctx->d.code == 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " %d", actx->rose_ctx->d.code_local);
+ else if (actx->rose_ctx->d.code == 1)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " %s", actx->rose_ctx->d.code_global);
+ }
+ if (!arg_next_tvb) { /* empty argument */
+ arg_next_tvb = tvb_new_subset(tvb, offset>>3, 0, 0);
+ }
+ actx->pinfo->private_data = actx->rose_ctx;
+ call_dissector((arg_handle)?arg_handle:data_handle, arg_next_tvb, actx->pinfo, tree);
+#.END
+
+
+#--- RETURN RESULT ---
+
+#.FIELD_ATTR
+ReturnResult/result/result TYPE = FT_BYTES DISPLAY = BASE_HEX
+
+#.FN_PARS ReturnResult/result/result
+FN_VARIANT = _pdu
+TYPE_REF_FN = result_cb
+
+#.FN_HDR ReturnResult
+ dissector_handle_t res_handle = NULL;
+
+ res_next_tvb = NULL;
+#.FN_FTR ReturnResult
+ actx->rose_ctx->d.pdu = 2;
+
+ if (actx->rose_ctx->d.code == 0) {
+ res_handle = dissector_get_port_handle(actx->rose_ctx->res_local_dissector_table, actx->rose_ctx->d.code_local);
+ } else if (actx->rose_ctx->d.code == 1) {
+ res_handle = dissector_get_string_handle(actx->rose_ctx->res_global_dissector_table, actx->rose_ctx->d.code_global);
+ } else {
+ res_handle = NULL;
+ }
+
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " RES:");
+ if (!res_handle ||
+ !proto_is_protocol_enabled(find_protocol_by_id(dissector_handle_get_protocol_index(res_handle)))) {
+ if (actx->rose_ctx->d.code == 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " %d", actx->rose_ctx->d.code_local);
+ else if (actx->rose_ctx->d.code == 1)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " %s", actx->rose_ctx->d.code_global);
+ else if (actx->rose_ctx->d.code == -1) /* Code not available */
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " -");
+ }
+ if (!res_next_tvb) { /* empty result */
+ res_next_tvb = tvb_new_subset(tvb, offset>>3, 0, 0);
+ }
+ actx->pinfo->private_data = actx->rose_ctx;
+ call_dissector((res_handle)?res_handle:data_handle, res_next_tvb, actx->pinfo, tree);
+#.END
+
+#--- RETURN ERROR ---
+
+#.FIELD_ATTR
+ReturnError/parameter TYPE = FT_BYTES DISPLAY = BASE_HEX
+
+#.FN_PARS ReturnError/parameter
+FN_VARIANT = _pdu
+TYPE_REF_FN = error_cb
+
+#.FN_HDR ReturnError
+ dissector_handle_t err_handle = NULL;
+
+ err_next_tvb = NULL;
+#.FN_FTR ReturnError
+ actx->rose_ctx->d.pdu = 3;
+
+ if (actx->rose_ctx->d.code == 0) {
+ err_handle = dissector_get_port_handle(actx->rose_ctx->err_local_dissector_table, actx->rose_ctx->d.code_local);
+ } else if (actx->rose_ctx->d.code == 1) {
+ err_handle = dissector_get_string_handle(actx->rose_ctx->err_global_dissector_table, actx->rose_ctx->d.code_global);
+ } else {
+ err_handle = NULL;
+ }
+
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " ERR:");
+ if (!err_handle ||
+ !proto_is_protocol_enabled(find_protocol_by_id(dissector_handle_get_protocol_index(err_handle)))) {
+ if (actx->rose_ctx->d.code == 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " %d", actx->rose_ctx->d.code_local);
+ else if (actx->rose_ctx->d.code == 1)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " %s", actx->rose_ctx->d.code_global);
+ }
+ if (!err_next_tvb) { /* empty error */
+ err_next_tvb = tvb_new_subset(tvb, offset>>3, 0, 0);
+ }
+ actx->pinfo->private_data = actx->rose_ctx;
+ call_dissector((err_handle)?err_handle:data_handle, err_next_tvb, actx->pinfo, tree);
+#.END
+
+#--- REJECT ---
+
+#.FN_HDR Reject
+ problem_str[0] = '\0';
+#.FN_FTR Reject
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), actx->rose_ctx->apdu_depth), " REJ: %s", problem_str);
+#.END
diff --git a/asn1/h450/h450.cnf b/asn1/h450/h450.cnf
index 2f3ef90bdb..2daf6fef43 100644
--- a/asn1/h450/h450.cnf
+++ b/asn1/h450/h450.cnf
@@ -3,39 +3,61 @@
# Copyright 2004 Anders Broman
# $Id$
+#.OPT
+PER
+ALIGNED
+GROUP_BY_PROT
+-o h450
+#.END
+
#.INCLUDE ../h225/h225-exp.cnf
+#.INCLUDE h450-ros-exp.cnf
#.MODULE
-Remote-Operations-Apdus ros
+
+H4501-Supplementary-ServiceAPDU-Structure h450
+Addressing-Data-Elements h450
+H225-generic-parameters-definition h450
+Manufacturer-specific-service-extension-definition h450
+H4501-General-Error-List h450
+
+Call-Transfer-Operations h450.2
+Call-Diversion-Operations h450.3
+Call-Hold-Operations h450.4
+Call-Park-Pickup-Operations h450.5
+Call-Waiting-Operations h450.6
+Message-Waiting-Indication-Operations h450.7
+Name-Operations h450.8
+Call-Completion-Operations h450.9
+Call-Offer-Operations h450.10
+Call-Intrusion-Operations h450.11
+Common-Information-Operations h450.12
+
+#.PDU_NEW
+H4501SupplementaryService
+OPERATION.&ArgumentType
+OPERATION.&ResultType
+ERROR.&ParameterType
+
+#.FN_HDR H4501SupplementaryService
+ proto_tree_add_item_hidden(tree, proto_h450, tvb, offset, -1, FALSE);
#.END
-#----------------------------------------------------------------------------------------
-#.PDU
-CallTransferIdentify
-CallTransferAbandon
-CallTransferInitiate
-CallTransferSetup
-CallTransferUpdate
-SubaddressTransfer
-CallTransferComplete
-CallTransferActive
-ActivateDiversionQArg
-ActivateDiversionQRes
-DeactivateDiversionQRes
-InterrogateDiversionQRes
-CheckRestrictionRes
-CallReroutingRes
+#.FN_HDR ServiceApdus/rosApdus/_item
+ h450_rose_ctx.apdu_depth = 1;
+ actx->rose_ctx = &h450_rose_ctx;
+#.END
#.TYPE_RENAME
-ActivateDiversionQArg/extension ActivateDiversionQArg_extension
-DeactivateDiversionQArg/extension DeactivateDiversionQArg_extension
-InterrogateDiversionQ/extension InterrogateDiversionQ_extension
-CheckRestrictionArg/extension CheckRestrictionArg_extension
-CallReroutingArg/extension CallReroutingArg_extension
-DivertingLegInformation1Arg/extension DivertingLegInformation1Arg_extension
-DivertingLegInformation2Arg/extension DivertingLegInformation2Arg_extension
-DivertingLegInformation3Arg/extension DivertingLegInformation3Arg_extension
-DivertingLegInformation4Arg/extension DivertingLegInformation4Arg_extension
+ARG-activateDiversionQ/extension ActivateDiversionQArg_extension
+ARG-deactivateDiversionQ/extension DeactivateDiversionQArg_extension
+ARG-interrogateDiversionQ/extension InterrogateDiversionQ_extension
+ARG-checkRestriction/extension CheckRestrictionArg_extension
+ARG-callRerouting/extension CallReroutingArg_extension
+ARG-divertingLegInformation1/extension DivertingLegInformation1Arg_extension
+ARG-divertingLegInformation2/extension DivertingLegInformation2Arg_extension
+ARG-divertingLegInformation3/extension DivertingLegInformation3Arg_extension
+ARG-divertingLegInformation4/extension DivertingLegInformation4Arg_extension
IntResult/extension IntResult_extension
#.FIELD_RENAME
@@ -57,9 +79,10 @@ SubaddressTransferArg/argumentExtension subaddressTransferArg_argumentExtension
CTCompleteArg/argumentExtension cTCompleteArg_argumentExtension
CTActiveArg/argumentExtension cTActiveArg_argumentExtension
MixedExtension/extension mixedExtension_extension
-Unspecified/extension unspecified_extension
-CheckRestrictionArg/extension checkRestrictionArg_extension
-DivertingLegInformation1Arg/extension divertingLegInformation1Arg_extension
+PAR-unspecified/extension unspecified_extension
+ARG-checkRestriction/extension checkRestrictionArg_extension
+ARG-divertingLegInformation1/extension divertingLegInformation1Arg_extension
+ARG-divertingLegInformation2/extension divertingLegInformation2Arg_extension
CcRequestArg/extension ccRequestArg_extension
CcRequestRes/extension ccRequestRes_extension
CcShortArg/extension ccShortArg_extension
@@ -68,12 +91,12 @@ CoReqOptArg/extension coReqOptArg_extension
RUAlertOptArg/extension rUAlertOptArg_extension
CfbOvrOptArg/extension cfbOvrOptArg_extension
CmnArg/extension cmnArg_extension
-ActivateDiversionQArg/extension activateDiversionQArg_extension
-InterrogateDiversionQ/extension interrogateDiversionQ_extension
-CallReroutingArg/extension callReroutingArg_extension
-DivertingLegInformation4Arg/extension divertingLegInformation4Arg_extension
-DivertingLegInformation3Arg/extension divertingLegInformation3Arg_extension
-DeactivateDiversionQArg/extension deactivateDiversionQArg_extension
+ARG-activateDiversionQ/extension activateDiversionQArg_extension
+ARG-interrogateDiversionQ/extension interrogateDiversionQ_extension
+ARG-callRerouting/extension callReroutingArg_extension
+ARG-divertingLegInformation4/extension divertingLegInformation4Arg_extension
+ARG-divertingLegInformation3/extension divertingLegInformation3Arg_extension
+ARG-deactivateDiversionQ/extension deactivateDiversionQArg_extension
IntResult/extension intResult_extension
MWIActivateArg/extensionArg mWIActivateArg_extensionArg
@@ -96,8 +119,6 @@ PickExeArg/extensionArg pickExeArg_extensionArg
CpNotifyArg/extensionArg cpNotifyArg_extensionArg
CpickupNotifyArg/extensionArg cpickupNotifyArg_extensionArg
CallWaitingArg/extensionArg callWaitingArg_extensionArg
-NameArg/extensionArg nameArg_extensionArg
-CmnRequestArg/extensionArg cmnRequestArg_extensionArg
CIRequestArg/argumentExtension cIRequestArg_argumentExtension
CIGetCIPLOptArg/argumentExtension cIGetCIPLOptArg_argumentExtension
CIIsOptArg/argumentExtension cIIsOptArg_argumentExtension
@@ -112,3 +133,19 @@ CIIsOptRes/resultExtension cIIsOptRes_resultExtension
CIFrcRelOptRes/resultExtension cIFrcRelOptRes_resultExtension
CIWobOptRes/resultExtension cIWobOptRes_resultExtension
CISilentOptRes/resultExtension cISilentOptRes_resultExtension
+
+#.TABLE10_BODY OPERATION
+ { %(&operationCode)3s, "%(_name)s" },
+#.END
+
+#.TABLE11_BODY OPERATION
+ /* %(_name)-24s */ { %(&operationCode)3s, %(_argument_pdu)s, %(_result_pdu)s },
+#.END
+
+#.TABLE20_BODY ERROR
+ { %(&errorCode)4s, "%(_name)s" },
+#.END
+
+#.TABLE21_BODY ERROR
+ /* %(_name)-24s */ { %(&errorCode)4s, %(_parameter_pdu)s },
+#.END
diff --git a/asn1/h450/h4501.asn b/asn1/h450/h4501.asn
deleted file mode 100644
index 387793b43c..0000000000
--- a/asn1/h450/h4501.asn
+++ /dev/null
@@ -1,1899 +0,0 @@
--- Module H4501-Supplementary-ServiceAPDU-Structure (H.450.1:02/1998)
-H4501-Supplementary-ServiceAPDU-Structure {itu-t recommendation h 450
- 1 version1(0) h4501-facility-information-structure(2)} DEFINITIONS AUTOMATIC
-TAGS ::=
-BEGIN
-
-IMPORTS
- AliasAddress, PartyNumber, PresentationIndicator, ScreeningIndicator, NonStandardParameter, CallIdentifier
- FROM H323-MESSAGES -- see H.225.0 V2
-
- OPERATION, ROS{}, InvokeId
- FROM Remote-Operations-Apdus {itu-t recommendation h 450 1 version1(0)
- remote-operations-apdus(11)};
-
-H4501SupplementaryService ::= SEQUENCE {
- networkFacilityExtension NetworkFacilityExtension OPTIONAL, -- see 8.1
- interpretationApdu InterpretationApdu OPTIONAL, -- see 8.2
- serviceApdu ServiceApdus, -- H.450.x supplementary services
- ...
-}
-
-NetworkFacilityExtension ::= SEQUENCE {
- sourceEntity EntityType,
- sourceEntityAddress AddressInformation OPTIONAL,
- destinationEntity EntityType,
- destinationEntityAddress AddressInformation OPTIONAL,
- ...
-}
-
-EntityType ::= CHOICE {endpoint NULL,
- anyEntity NULL,
- ...
-}
-
-AddressInformation ::= AliasAddress
-
-InterpretationApdu ::= CHOICE {
- discardAnyUnrecognizedInvokePdu NULL,
- clearCallIfAnyInvokePduNotRecognized NULL,
- -- this value also applies to Call independent signalling connections
- rejectAnyUnrecognizedInvokePdu NULL,
- -- this coding is implied by the absence of an interpretation APDU.
- ...
-}
-
-ServiceApdus ::= CHOICE {
- rosApdus
- SEQUENCE OF
- ROS{x--{InvokeIdSet}, {OperationSet}, {OperationSet}--},
- -- see 8.3; other alternatives may be defined in future versions
- ...
-}
-
-Notassignedlocalopcode ::= OCTET STRING -- Dummy assigment used
-
--- actual values are defined by individual supplementary service specifications
--- (e.g. H.450.x or manufacturer specific)
---
--- END of H4501- Supplementary-ServiceAPDU-Structure
--- Imported :
--- Module Addressing-Data-Elements (H.450.1:02/1998)
--- Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
--- addressing-data-elements(9)} DEFINITIONS AUTOMATIC TAGS ::=
-PresentedAddressScreened ::= CHOICE {
- presentationAllowedAddress AddressScreened,
- presentationRestricted NULL,
- numberNotAvailableDueToInterworking NULL,
- presentationRestrictedAddress AddressScreened,
- ...
-}
-
-PresentedAddressUnscreened ::= CHOICE {
- presentationAllowedAddress Address,
- presentationRestricted NULL,
- numberNotAvailableDueToInterworking NULL,
- presentationRestrictedAddress Address,
- ...
-}
-
-PresentedNumberScreened ::= CHOICE {
- presentationAllowedAddress NumberScreened,
- presentationRestricted NULL,
- numberNotAvailableDueToInterworking NULL,
- presentationRestrictedAddress NumberScreened,
- ...
-}
-
-PresentedNumberUnscreened ::= CHOICE {
- presentationAllowedAddress PartyNumber,
- presentationRestricted NULL,
- numberNotAvailableDueToInterworking NULL,
- presentationRestrictedAddress PartyNumber,
- ...
-}
-
-AddressScreened ::= SEQUENCE {
- partyNumber PartyNumber,
- screeningIndicator ScreeningIndicator,
- partySubaddress PartySubaddress OPTIONAL,
- ...
-}
-
-NumberScreened ::= SEQUENCE {
- partyNumber PartyNumber,
- screeningIndicator ScreeningIndicator,
- ...
-}
-
-Address ::= SEQUENCE {
- partyNumber PartyNumber,
- partySubaddress PartySubaddress OPTIONAL,
- ...
-}
-
--- PartyNumber defined in Recommendation H.225.0
--- PublicPartyNumber defined in Recommendation H.225.0
--- PrivatePartyNumber defined in Recommendation H.225.0
--- NumberDigits defined in Recommendation H.225.0
--- PublicTypeOfNumber defined in Recommendation H.225.0
--- PrivateTypeOfNumber defined in Recommendation H.225.0
--- PresentationIndicator defined in Recommendation H.225.0 (v3 and beyond)
--- ScreeningIndicator defined in Recommendation H.225.0 (v3 and beyond)
-EndpointAddress ::= SEQUENCE {
- destinationAddress SEQUENCE OF AliasAddress,
- -- multiple alias addresses may be used to address the same H.323 endpoint
- remoteExtensionAddress AliasAddress OPTIONAL,
- ...,
- destinationAddressPresentationIndicator
- PresentationIndicator OPTIONAL,
- -- Note 1, 2
- destinationAddressScreeningIndicator ScreeningIndicator OPTIONAL,
- remoteExtensionAddressPresentationIndicator
- PresentationIndicator OPTIONAL,
- -- Note 1, 2
- remoteExtensionAddressScreeningIndicator ScreeningIndicator OPTIONAL
-}
-
--- Note 1: If this element is not available, presentation allowed shall be assumed.
--- Note 2: If an H.450 APDU that carries this element EndpointAddress also
--- contains an element PresentationAllowedIndicator, then the setting of the
--- element PresentationAllowedIndicator shall take precedence in case of
--- conflicting presentation information.
-PartySubaddress ::= CHOICE {
- userSpecifiedSubaddress UserSpecifiedSubaddress,
- -- not recommended.
- nsapSubaddress NSAPSubaddress,
- -- according to Recommendation X.213.
- ...
-}
-
-UserSpecifiedSubaddress ::= SEQUENCE {
- subaddressInformation SubaddressInformation,
- oddCountIndicator BOOLEAN OPTIONAL,
- -- used when the coding of subaddress is BCD
- ...
-}
-
-NSAPSubaddress ::= OCTET STRING(SIZE (1..20))
-
--- specified according to X.213. Some networks may
--- limit the subaddress value to some other length
--- e.g. 4 octets
-SubaddressInformation ::= OCTET STRING(SIZE (1..20))
-
--- coded according to user requirements. Some networks
--- may limit the subaddress value to some other length
--- e.g. 4 octets
-PresentationAllowedIndicator ::= BOOLEAN
-
---END
--- of Addressing-Data-Elements
-
--- Module Call-Transfer-Operations (H.450.2:02/1998)
--- Call-Transfer-Operations {itu-t recommendation h 450 2 version1(0)
--- call-transfer-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
--- Edited for Wireshark purposes
-
-CallTransferIdentify ::= DummyArg
-CallTransferAbandon ::= DummyArg
-CallTransferInitiate ::= CTInitiateArg
-CallTransferSetup ::= CTSetupArg
-CallTransferUpdate ::= CTUpdateArg
-SubaddressTransfer ::= SubaddressTransferArg
-CallTransferComplete ::= CTCompleteArg
-CallTransferActive ::= CTActiveArg
-
-DummyArg ::= CHOICE {
- extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter
-}
-DummyRes ::= CHOICE {
- extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter
-}
-
-CTInitiateArg ::= SEQUENCE {
- callIdentity CallIdentity,
- reroutingNumber EndpointAddress,
- argumentExtension ArgumentExtension OPTIONAL,
- ...
-}
-ArgumentExtension ::= CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter}
-
-CTSetupArg ::= SEQUENCE {
- callIdentity CallIdentity,
- transferringNumber EndpointAddress OPTIONAL,
- argumentExtension ArgumentExtension OPTIONAL,
- ...
-}
-
-CTIdentifyRes ::= SEQUENCE {
- callIdentity CallIdentity,
- reroutingNumber EndpointAddress,
- resultExtension
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter} OPTIONAL,
- ...
-}
-
-CTUpdateArg ::= SEQUENCE {
- redirectionNumber EndpointAddress,
- redirectionInfo BMPString(SIZE (1..128)) OPTIONAL,
- basicCallInfoElements H225InformationElement OPTIONAL,
- -- Information element
- -- Progress indicator may be conveyed
- argumentExtension ArgumentExtension OPTIONAL,
- ...
-}
-
-SubaddressTransferArg ::= SEQUENCE {
- redirectionSubaddress PartySubaddress,
- argumentExtension ArgumentExtension OPTIONAL,
- ...
-}
-
-CTCompleteArg ::= SEQUENCE {
- endDesignation EndDesignation,
- redirectionNumber EndpointAddress,
- -- number of new connected user
- basicCallInfoElements H225InformationElement OPTIONAL,
- -- Information element Progress indicator may be conveyed
- redirectionInfo BMPString(SIZE (1..128)) OPTIONAL,
- callStatus CallStatus DEFAULT answered,
- argumentExtension ArgumentExtension OPTIONAL,
- ...
-}
-
-EndDesignation ::= ENUMERATED {primaryEnd(0), secondaryEnd(1), ...
- }
-
-CallStatus ::= ENUMERATED {answered(0), alerting(1), ...
- }
-
-CTActiveArg ::= SEQUENCE {
- connectedAddress EndpointAddress,
- -- number of new connected user
- basicCallInfoElements H225InformationElement OPTIONAL,
- -- Information element Progress indicator may be conveyed
- connectedInfo BMPString(SIZE (1..128)) OPTIONAL,
- argumentExtension ArgumentExtension OPTIONAL,
- ...
-}
-
-CallIdentity ::= NumericString(SIZE (0..4))
--- size 0 means 'empty'
-
-ExtensionSeq ::= SEQUENCE OF Extension
---END
--- of Call-Transfer-Operations
-
--- Module Call-Diversion-Operations (H.450.3:02/1998)
---Call-Diversion-Operations {itu-t recommendation h 450 3 version1(0)
--- call-diversion-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
---BEGIN
---
---IMPORTS
--- OPERATION, ERROR
--- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
--- remote-operations(4) informationObjects(5) version1(0)}
--- EXTENSION, Extension{}
--- FROM Manufacturer-specific-service-extension-definition {itu-t
--- recommendation h 450 1 version1(0) msi-definition(18)}
--- H225InformationElement
--- FROM H225-generic-parameters-definition {itu-t recommendation h 450
--- 1 version1(0) h225-generic-parameters(6)}
--- NonStandardParameter
--- FROM H323-MESSAGES
--- EndpointAddress, PartySubaddress, PresentationAllowedIndicator
--- FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
--- addressing-data-elements(9)}
--- userNotSubscribed, notAvailable, invalidServedUserNumber,
--- basicServiceNotProvided, resourceUnavailable,
--- supplementaryServiceInteractionNotAllowed
--- FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
--- general-error-list(1)};
--- activateDiversionQ OPERATION ::=
--- { sent from the activating h.323-endpoint to the served h.323-endpoint
--- ARGUMENT
-ActivateDiversionQArg ::= SEQUENCE {procedure Procedure,
- basicService BasicService,
- divertedToAddress EndpointAddress,
- servedUserNr EndpointAddress,
- activatingUserNr EndpointAddress,
- extension
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter} OPTIONAL,
- ...}
--- RESULT
-ActivateDiversionQRes ::=
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter}
-
--- deactivateDiversionQ OPERATION ::=
--- { sent from the deactivating h.323-endpoint to the served h.323-endpoint
--- ARGUMENT
-DeactivateDiversionQArg ::=
- SEQUENCE {procedure Procedure,
- basicService BasicService,
- servedUserNr EndpointAddress,
- deactivatingUserNr EndpointAddress,
- extension
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter} OPTIONAL,
- ...}
--- RESULT
-DeactivateDiversionQRes ::=
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter}
--- OPTIONAL TRUE
--- ERRORS
--- {userNotSubscribed | notAvailable | invalidServedUserNumber |
--- temporarilyUnavailable | notAuthorized | unspecified}
--- CODE local:16
---}
-
--- interrogateDiversionQ OPERATION ::=
--- { sent from the interrogating h.323-endpoint to the served h.323-endpoint
--- ARGUMENT
-InterrogateDiversionQ ::= SEQUENCE {procedure Procedure,
- basicService BasicService DEFAULT allServices,
- servedUserNr EndpointAddress,
- interrogatingUserNr EndpointAddress,
- extension
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter} OPTIONAL,
- ...}
--- RESULT IntResultList
-InterrogateDiversionQRes ::= IntResultList
-
--- ERRORS
--- {userNotSubscribed | notAvailable | invalidServedUserNumber |
--- temporarilyUnavailable | notAuthorized | unspecified}
--- CODE local:17
---}
-
--- checkRestriction OPERATION ::=
--- { sent from the served h.323-endpoint to the diverted-to h.323-endpoint
--- ARGUMENT
-CheckRestrictionArg ::=
- SEQUENCE {servedUserNr EndpointAddress,
- basicService BasicService,
- divertedToNr EndpointAddress,
- extension
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter} OPTIONAL,
- ...}
- -- RESULT
-CheckRestrictionRes ::= CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter}
--- OPTIONAL TRUE
--- ERRORS
--- {notAvailable | invalidServedUserNumber | invalidDivertedNumber |
--- specialServiceNumber | unspecified}
--- CODE local:18
---}
-
--- callRerouting OPERATION ::=
--- { sent from the served h.323-endpoint to the rerouting h.323-endpoint
--- ARGUMENT
-CallReroutingArg ::=
- SEQUENCE {reroutingReason DiversionReason,
- originalReroutingReason DiversionReason OPTIONAL,
- calledAddress EndpointAddress,
- diversionCounter INTEGER(1..15),
- h225InfoElement H225InformationElement,
- -- The H.225 information elements Bearer capability,
- -- High layer compatibility, Low layer compatibility and
- -- Progress Indicator information element may be embedded
- -- in the h225InfoElement in accordance with H.450.1.
- lastReroutingNr EndpointAddress,
- subscriptionOption SubscriptionOption,
- callingPartySubaddress PartySubaddress OPTIONAL,
- callingNumber EndpointAddress,
- callingInfo BMPString(SIZE (1..128)) OPTIONAL,
- originalCalledNr EndpointAddress OPTIONAL,
- redirectingInfo BMPString(SIZE (1..128)) OPTIONAL,
- originalCalledInfo BMPString(SIZE (1..128)) OPTIONAL,
- extension
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter} OPTIONAL,
- ...}
--- RESULT
-CallReroutingRes ::= CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter}
-
--- OPTIONAL TRUE
--- ERRORS
--- {userNotSubscribed | notAvailable | resourceUnavailable |
--- invalidDivertedNumber | specialServiceNumber |
--- diversionToServedUserNumber | numberOfDiversionsExceeded |
--- supplementaryServiceInteractionNotAllowed | unspecified}
--- CODE local:19
--- }
-
--- divertingLegInformation1 OPERATION ::=
--- { sent from the re-routing h.323-endpoint to the originating h.323-endpoint
--- if the re-routing endpoint equals the originating endpoint, this operation
-
- -- is not applicable; may also be sent from the rerouting endpoint to other
- -- members of a conference, if subscription option allows.
--- ARGUMENT
-DivertingLegInformation1Arg ::=
- SEQUENCE {diversionReason DiversionReason,
- subscriptionOption SubscriptionOption,
- nominatedNr EndpointAddress,
- nominatedInfo BMPString(SIZE (1..128)) OPTIONAL,
- redirectingNr EndpointAddress OPTIONAL,
- redirectingInfo BMPString(SIZE (1..128)) OPTIONAL,
- extension
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter} OPTIONAL,
- ...}
- -- RETURN RESULT FALSE
- -- ALWAYS RESPONDS FALSE
- -- CODE local:20
---}
-
--- divertingLegInformation2 OPERATION ::=
--- { sent from the re-routing h.323-endpoint to the diverted-to h.323-endpoint
--- ARGUMENT
-DivertingLegInformation2Arg ::=
- SEQUENCE {diversionCounter INTEGER(1..15),
- diversionReason DiversionReason,
- originalDiversionReason DiversionReason OPTIONAL,
- divertingNr EndpointAddress OPTIONAL,
- originalCalledNr EndpointAddress OPTIONAL,
- redirectingInfo BMPString(SIZE (1..128)) OPTIONAL,
- originalCalledInfo BMPString(SIZE (1..128)) OPTIONAL,
- extension
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter} OPTIONAL,
- ...}
- -- The divertingNr element is mandatory except in the case of interworking
- -- RETURN RESULT FALSE
- -- ALWAYS RESPONDS FALSE
- -- CODE local:21
---}
-
--- divertingLegInformation3 OPERATION ::= {
- --sent from the diverted-to h.323-endpoint to the originating h.323-endpoint
--- ARGUMENT
-DivertingLegInformation3Arg ::=
- SEQUENCE {presentationAllowedIndicator PresentationAllowedIndicator,
- redirectionNr EndpointAddress OPTIONAL,
- redirectionInfo BMPString(SIZE (1..128)) OPTIONAL,
- extension
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter} OPTIONAL,
- ...}
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:22
---}
-
--- divertingLegInformation4 OPERATION ::= {
- -- If call diversion in not performed by the forwarding terminal but by a
- -- gatekeeper, the gatekeeper may send divertingLegInformation4 apdu to the
- -- forwarding terminal.
--- ARGUMENT
-DivertingLegInformation4Arg ::= SEQUENCE {diversionReason DiversionReason,
- subscriptionOption SubscriptionOption,
- callingNr EndpointAddress,
- callingInfo BMPString(SIZE (1..128)) OPTIONAL,
- nominatedNr EndpointAddress,
- nominatedInfo BMPString(SIZE (1..128)) OPTIONAL,
- extension
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter} OPTIONAL,
- ...}
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:100
---}
-
--- cfnrDivertedLegFailed OPERATION ::=
--- { sent from the rerouting h.323-terminal to the served h.323-endpoint
--- ARGUMENT
-CfnrDivertedLegFailedArg ::=
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter}
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:23
--- }
-
--- This indicates that the diverted-to leg has been cleared during SS-CFNR execution.
--- Definitions of general used data types:
-DiversionReason ::= ENUMERATED {unknown(0), cfu(1), cfb(2), cfnr(3), ...
- }
-
--- The value unknown is only used if received from another network when interworking.
-IntResultList ::= SET SIZE (0..29) OF IntResult
-
-IntResult ::= SEQUENCE {
- servedUserNr EndpointAddress,
- basicService BasicService,
- procedure Procedure,
- divertedToAddress EndpointAddress,
- remoteEnabled BOOLEAN DEFAULT FALSE,
- extension
- CHOICE {extensionSeq ExtensionSeq,
- nonStandardData NonStandardParameter} OPTIONAL,
- ...
-}
-
-Procedure ::= ENUMERATED {cfu(0), cfb(1), cfnr(2), ...
- }
-
-SubscriptionOption ::= ENUMERATED {
- noNotification(0), notificationWithoutDivertedToNr(1),
- notificationWithDivertedToNr(2), ...
- }
-
--- invalidDivertedNumber ERROR ::= {CODE local:12
--- }
-
--- specialServiceNumber ERROR ::= {CODE local:14
--- }
-
--- diversionToServedUserNumber ERROR ::= {CODE local:15
--- }
-
--- numberOfDiversionsExceeded ERROR ::= {CODE local:24
--- }
-
--- temporarilyUnavailable ERROR ::= {CODE local:1000
--- }
-
--- notAuthorized ERROR ::= {CODE local:1007
--- }
-
--- unspecified ERROR ::= {
--- PARAMETER
--- CHOICE {extension Extension,
--- nonStandard NonStandardParameter}
--- CODE local:1008
--- }
--- BasicService defined for MWI should do for Wireshark purposes
- -- BasicService ::= ENUMERATED {
- -- allServices(0),
- -- speech (1),
- -- unrestrictedDigitalInformation (2),
- -- audio3.1KHz (3),
- -- telephony (32),
- -- teletex (33),
- -- telefaxGroup4Class1 (34),
- -- videotexSyntaxBased (35),
- -- videotelephony (36),
--- ...
--- }
-
--- For multimedia calls the value "allServices" shall be used only.
--- The usage of the other codepoints for multimedia calls is for further study.
--- Defined elsewhere for Wireshark
--- ExtensionSeq ::= SEQUENCE OF Extension
---
--- ExtensionSet EXTENSION ::=
--- {...}
-
--- Actual values defined by individual manufacturers
--- END
--- of Call-Diversion-Operations
-
--- Module Call-Hold-Operations (H.450.4:05/1999)
--- Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
--- call-hold-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
--- BEGIN
-
--- IMPORTS
--- OPERATION, ERROR
--- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
--- remote-operations(4) informationObjects(5) version1(0)}
--- EXTENSION, Extension{}
--- FROM Manufacturer-specific-service-extension-definition {itu-t
--- recommendation h 450 1 version1(0) msi-definition(18)}
--- notAvailable, invalidCallState, resourceUnavailable,
--- supplementaryServiceInteractionNotAllowed
--- FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
--- general-error-list(1)}
--- NonStandardParameter
--- FROM H323-MESSAGES;
--- see H.225.0
-
--- CallHoldOperations OPERATION ::=
--- {holdNotific | retrieveNotific | remoteHold | remoteRetrieve}
-
--- holdNotific OPERATION ::=
--- { sent from holding to held H.323 endpoint to invoke near-end call hold feature
---
--- ARGUMENT HoldNotificArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:101
--- }
-
-HoldNotificArg ::= SEQUENCE {
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- retrieveNotific OPERATION ::=
--- { sent from holding to held H.323 endpoint to invoke retrieval of near-end call hold feature
-
--- ARGUMENT RetrieveNotificArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:102
--- }
-
-RetrieveNotificArg ::= SEQUENCE {
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
- }
-
--- remoteHold OPERATION ::=
--- { sent from holding to held H.323 endpoint to invoke remote-end call hold feature
-
--- ARGUMENT RemoteHoldArg
--- OPTIONAL TRUE
--- RESULT RemoteHoldRes
--- OPTIONAL TRUE
--- ERRORS
--- {notAvailable
--- | feature not available in combination with the basic service
--- invalidCallState | hold not possible in current call state
--- resourceUnavailable | maximum number of calls on hold reached
--- supplementaryServiceInteractionNotAllowed |
-
- -- other supplementary service prohibits hold
--- undefined -- -- undefined reason--
--- }
--- CODE local:103
--- }
-
-RemoteHoldArg ::= SEQUENCE {
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-RemoteHoldRes ::= SEQUENCE {
- extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- remoteRetrieve OPERATION ::=
--- { sent from holding to held H.323 endpoint to invoke retrieval of remote-end call hold feature
-
--- ARGUMENT RemoteRetrieveArg
--- OPTIONAL TRUE
--- RESULT RemoteRetrieveRes
--- OPTIONAL TRUE
--- ERRORS
--- {invalidCallState |
-
- -- Call to which retrieve request applies is not in state Hold_RE_Held
--- undefined -- -- undefined reason } --
--- CODE local:104
--- }
-
-RemoteRetrieveArg ::= SEQUENCE {
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-RemoteRetrieveRes ::= SEQUENCE {
- extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-MixedExtension ::= CHOICE {
- extension Extension,
- nonStandardData NonStandardParameter
-}
-
--- ExtensionSet EXTENSION ::=
--- {...}
-
--- Actual values defined by individual manufacturers
--- undefined ERROR ::= {
--- PARAMETER SEQUENCE SIZE (0..255) OF MixedExtension
--- OPTIONAL TRUE
--- CODE local:2002
--- }
-
--- END
--- of Call-Hold-Operations
-
-
-
--- Module Call-Park-Pickup-Operations (H.450.5:05/1999)
--- Call-Park-Pickup-Operations {itu-t recommendation h 450 5 version1(0)
--- call-park-pickup-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
--- BEGIN
---
--- IMPORTS
--- OPERATION, ERROR
--- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
--- remote-operations(4) informationObjects(5) version1(0)}
--- EXTENSION, Extension{}
--- FROM Manufacturer-specific-service-extension-definition {itu-t
--- recommendation h 450 1 version1(0) msi-definition(18)}
--- notAvailable, invalidCallState, resourceUnavailable,
--- supplementaryServiceInteractionNotAllowed
--- FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
--- general-error-list(1)}
--- EndpointAddress
--- FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
--- addressing-data-elements(9)}
--- MixedExtension
--- FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
--- call-hold-operations(0)}
--- NonStandardParameter, CallIdentifier
--- FROM H323-MESSAGES;
--- see H.225.0
-
--- CallParkPickupOperations OPERATION ::=
--- {cpRequest | cpSetup | groupIndicationOn | groupIndicationOff | pickrequ |
--- pickup | pickExe | cpNotify | cpickupNotify}
-
--- cpRequest OPERATION ::=
--- { sent from parking endpoint to the parked endpoint to invoke SS-PARK
--- ARGUMENT CpRequestArg
--- RESULT CpRequestRes
--- ERRORS
--- {notAvailable |
-
- -- feature not available in combination with the basic service
- -- invalidCallState | call park not possible in current call state
- -- resourceUnavailable | maximum number of parked calls reached
- -- supplementaryServiceInteractionNotAllowed |
-
- -- other supplementary service prohibits call park invocation
--- undefined undefined reason } --
--- CODE local:106
--- }
-
-CpRequestArg ::= SEQUENCE {
- parkingNumber EndpointAddress,
- parkedNumber EndpointAddress,
- parkedToNumber EndpointAddress,
- parkedToPosition ParkedToPosition OPTIONAL,
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CpRequestRes ::= SEQUENCE {
- parkedToNumber EndpointAddress,
- parkedToPosition ParkedToPosition OPTIONAL,
- parkCondition ParkCondition,
- extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- cpSetup OPERATION ::= { sent from parked endpoint to the parked-to endpoint
--- ARGUMENT CpSetupArg
--- RESULT CpSetupRes
--- ERRORS
--- {notAvailable |
-
- -- feature not available in combination with the basic service
- -- invalidCallState | call park not possible in current call state
- -- resourceUnavailable | maximum number of parked calls reached
- -- supplementaryServiceInteractionNotAllowed |
-
- -- other supplementary service prohibits call park invocation
- -- undefined undefined reason }
- -- CODE local:107
--- }
-
-CpSetupArg ::= SEQUENCE {
- parkingNumber EndpointAddress,
- parkedNumber EndpointAddress,
- parkedToNumber EndpointAddress,
- parkedToPosition ParkedToPosition OPTIONAL,
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CpSetupRes ::= SEQUENCE {
- parkedToNumber EndpointAddress,
- parkedToPosition ParkedToPosition OPTIONAL,
- parkCondition ParkCondition,
- extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- groupIndicationOn OPERATION ::=
--- { sent from the parked-to endpoint/alerting endpoint to the group members
--- ARGUMENT GroupIndicationOnArg
--- RESULT GroupIndicationOnRes
--- ERRORS {undefined undefined reason } --
--- CODE local:108
--- }
-
-GroupIndicationOnArg ::= SEQUENCE {
- callPickupId CallIdentifier,
- -- identification of the call to be retrieved (parked or alerting call);
- -- its value equals the value of the CallIdentifier as assigned for the parked/
- -- alerting call within Setup-UUIE
- groupMemberUserNr EndpointAddress,
- retrieveCallType CallType,
- partyToRetrieve EndpointAddress, -- Parked or Calling User
- retrieveAddress EndpointAddress, -- parked-to or alerting entity address
-
- -- (may also be a GK, see 9.2)
- parkPosition ParkedToPosition OPTIONAL,
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-GroupIndicationOnRes ::= SEQUENCE {
- extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- groupIndicationOff OPERATION ::=
--- { sent from the parked-to endpoint/alerting endpoint to the group members
--- ARGUMENT GroupIndicationOffArg
--- RESULT GroupIndicationOffRes
--- ERRORS
--- {invalidCallState | group indication is not on
--- undefined undefined reason } --
--- CODE local:109
--- }
-
-GroupIndicationOffArg ::= SEQUENCE {
- callPickupId CallIdentifier,
- -- identification of the call that has been picked up (parked or alerting call)
- groupMemberUserNr EndpointAddress,
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-GroupIndicationOffRes ::= SEQUENCE {
- extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- pickrequ OPERATION ::= { sent from the picking-up user to the parked-to/
- -- alerting endpoint as part of the SS-PICKUP invocation
--- ARGUMENT PickrequArg
--- RESULT PickrequRes
--- ERRORS
--- {undefined | undefined reason
-
--- callAlreadyPickedUp call has already been picked up by another user }
--- CODE local:110
--- }
-
-PickrequArg ::= SEQUENCE {
- picking-upNumber EndpointAddress,
- callPickupId CallIdentifier OPTIONAL,
- -- identification of the call to be picked up (parked or alerting call), if known
- partyToRetrieve EndpointAddress OPTIONAL, -- Parked or Calling User
- retrieveAddress EndpointAddress, -- parked-to or alerting entity address
- parkPosition ParkedToPosition OPTIONAL,
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-PickrequRes ::= SEQUENCE {
- callPickupId CallIdentifier,
- -- identification of the call that is being picked up (parked or alerting call),
- -- if not sent in pickrequ invoke, it is assigned at the parked-to/alerting
- -- endpoint and reflects the CallIdentification of the parked/alerting call for
- -- later association with the pickExe invoke APDU.
- extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- pickup OPERATION ::=
--- { sent from the parked-to/alerting endpoint to the parked/calling endpoint
- -- after the picking-up user has invoked SS-PICKUP. The picking-up user may
- -- be local (i.e. parked-to/alerting endpoint equals picking-up
- -- endpoint) or may be remote (i.e. picking-up user is located at a
- -- remote picking-up endpoint having sent pickrequ invoke APDU to the
- -- parked-to/alerting endpoint).
--- ARGUMENT PickupArg
--- RESULT PickupRes
--- ERRORS
--- {undefined | undefined reason
-
--- callAlreadyPickedUp call has already been picked up by another user }
--- CODE local:111
--- }
-
-PickupArg ::= SEQUENCE {
- callPickupId CallIdentifier,
- -- identification of this call to be picked up (parked or alerting call);
- -- equals the CallIdentifier value that was assigned to this call in Setup-UUIE
- picking-upNumber EndpointAddress,
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-PickupRes ::= SEQUENCE {
- extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- pickExe OPERATION ::=
--- { sent from the parked/calling endpoint to the picking-up endpoint
--- ARGUMENT PickExeArg
--- RESULT PickExeRes
--- ERRORS
--- {undefined | undefined reason
-
--- callPickupIdInvalid
- -- value not matching with the previous SS-PICKUP request
--- }
--- CODE local:112
--- }
-
-PickExeArg ::= SEQUENCE {
- callPickupId CallIdentifier,
- -- identification of the parked/alerting call to be picked-up;
- -- required at picking-up endpoint to associate the SS-PICKUP invoked with this
- -- incoming setup message carrying the pickExe invoke APDU.
- picking-upNumber EndpointAddress,
- partyToRetrieve EndpointAddress, -- Parked or Calling User
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-PickExeRes ::= SEQUENCE {
- extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- cpNotify OPERATION ::=
--- { sent from the parking-to to parked endpoint in case of local park.
--- ARGUMENT CpNotifyArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:113
--- }
-
-CpNotifyArg ::= SEQUENCE {
- parkingNumber EndpointAddress OPTIONAL,
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- cpickupNotify OPERATION ::=
--- { sent from parked-to to parked endpoint in case of SS-PICKUP from local park
-
--- ARGUMENT CpickupNotifyArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:114
--- }
-
-CpickupNotifyArg ::= SEQUENCE {
- picking-upNumber EndpointAddress OPTIONAL,
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-ParkedToPosition ::= INTEGER(0..65535)
-
-ParkCondition ::= ENUMERATED {
- unspecified(0), parkedToUserIdle(1), parkedToUserBusy(2), parkedToGroup(3),
- ...
- }
-
-CallType ::= ENUMERATED {parkedCall(0), alertingCall(1), ...
- }
-
--- callPickupIdInvalid ERROR ::= {CODE local:2000
--- }
-
--- callAlreadyPickedUp ERROR ::= {CODE local:2001
--- }
-
--- undefined ERROR ::= {
--- PARAMETER SEQUENCE SIZE (0..255) OF MixedExtension
--- OPTIONAL TRUE
--- CODE local:2002
--- }
-
--- END
--- of Call-Park-Pickup-Operations
-
--- Module Call-Waiting-Operations (H.450.6:05/1999)
--- Call-Waiting-Operations {itu-t recommendation h 450 6 version1(0)
--- call-waiting-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
--- BEGIN
-
--- IMPORTS
--- OPERATION, ERROR
--- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
--- remote-operations(4) informationObjects(5) version1(0)}
--- EXTENSION, Extension{}
--- FROM Manufacturer-specific-service-extension-definition {itu-t
--- recommendation h 450 1 version1(0) msi-definition(18)}
--- MixedExtension
--- FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
--- call-hold-operations(0)};
-
--- CallWaitingOperations OPERATION ::= {callWaiting}
-
--- callWaiting OPERATION ::=
--- { sent from served endpoint to the calling endpoint in ALERTING message
--- ARGUMENT CallWaitingArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:105
--- }
-
-CallWaitingArg ::= SEQUENCE {
- nbOfAddWaitingCalls INTEGER(0..255) OPTIONAL,
- -- indicates the number of waiting calls at the served user
- -- in addition to the call to which this operation applies.
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- END
--- of Call-Waiting-Operations
-
-
--- Module Message-Waiting-Indication-Operations (H.450.7:05/1999)
---Message-Waiting-Indication-Operations {itu-t recommendation h 450 7 version1(0)
--- message-waiting-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
---H323-MWI-Operations OPERATION ::=
--- {mwiActivate | mwiDeactivate | mwiInterrogate}
-
-MwiActivate ::= MWIActivateArg
-MwiDeactivate ::= MWIDeactivateArg
-
-MwiInterrogate ::= MWIInterrogateArg
-
-MWIActivateArg ::= SEQUENCE {
- servedUserNr EndpointAddress,
- basicService BasicService,
- msgCentreId MsgCentreId OPTIONAL,
- nbOfMessages NbOfMessages OPTIONAL,
- originatingNr EndpointAddress OPTIONAL,
- timestamp TimeStamp OPTIONAL,
- priority INTEGER(0..9) OPTIONAL,
- -- the value 0 means the highest priority and 9 the lowest
- extensionArg ExtensionArg OPTIONAL,
- ...
-}
-
-MwiDummyRes ::= SEQUENCE SIZE (0..255) OF MixedExtension
-
-MWIDeactivateArg ::= SEQUENCE {
- servedUserNr EndpointAddress,
- basicService BasicService,
- msgCentreId MsgCentreId OPTIONAL,
- callbackReq BOOLEAN OPTIONAL,
- extensionArg ExtensionArg OPTIONAL,
- ...
-}
-
-MWIInterrogateArg ::= SEQUENCE {
- servedUserNr EndpointAddress,
- basicService BasicService,
- msgCentreId MsgCentreId OPTIONAL,
- callbackReq BOOLEAN OPTIONAL,
- extensionArg ExtensionArg OPTIONAL,
- ...
-}
-
-MWIInterrogateRes ::= SEQUENCE SIZE (1..64) OF MWIInterrogateResElt
-
-MWIInterrogateResElt ::= SEQUENCE {
- basicService BasicService,
- msgCentreId MsgCentreId OPTIONAL,
- nbOfMessages NbOfMessages OPTIONAL,
- originatingNr EndpointAddress OPTIONAL,
- timestamp TimeStamp OPTIONAL,
- priority INTEGER(0..9) OPTIONAL,
- -- the value 0 means the highest priority and 9 the lowest
- extensionArg ExtensionArg OPTIONAL,
- ...
-}
-
-MsgCentreId ::= CHOICE {
- -- only partyNumber provides a callable identification
- integer INTEGER(0..65535),
- mwipartyNumber EndpointAddress,
- numericString NumericString(SIZE (1..10))
-}
-
-NbOfMessages ::= INTEGER(0..65535)
-
-TimeStamp ::= GeneralizedTime(SIZE (12..19))
-
-ExtensionArg ::= SEQUENCE SIZE (0..255) OF MixedExtension
-
--- a VisibleString representation of date and time following ISO 8601
--- containing:
--- - the (local) date in 8 digits (YYYYMMDD),
--- - followed by (local) time of day in 4 or 6 digits [HHMM(SS)],
--- - optionally followed by the letter "Z" or by a local time differential
--- from UTC time in 5 digits ("+"HHMM or "-"HHMM);
--- Examples:
--- 1) 19970621194530, meaning 21 June 1997, 19:45:30;
--- 2) 19970621194530Z, meaning the same as 1);
--- 3) 19970621194530-0500, meaning the same as 1),
--- 5 hours retarded in relation to UTC time
---undefined ERROR ::= {
--- PARAMETER SEQUENCE SIZE (0..255) OF MixedExtension
--- OPTIONAL TRUE
--- CODE local:2002
---}
-
---invalidMsgCentreId ERROR ::=
--- { returned by a Message Centre endpoint when an unknown Message
- -- Centre Identifier is specified in a mwiInterrogate invoke
--- CODE local:1018
---}
-
-BasicService ::= ENUMERATED {
- -- MWI Services:
- -- for compatibility among vendors, speech is recommended for voice mail
- -- indications
- allServices(0), speech(1), unrestrictedDigitalInformation(2), audio3100Hz(3),
- telephony(32), teletex(33), telefaxGroup4Class1(34), videotexSyntaxBased(35),
- videotelephony(36), telefaxGroup2-3(37), reservedNotUsed1(38),
- reservedNotUsed2(39), reservedNotUsed3(40), reservedNotUsed4(41),
- reservedNotUsed5(42),
- --
- -- MWI Service Classes:
- email(51), video(52), fileTransfer(53), shortMessageService(54),
- speechAndVideo(55), speechAndFax(56), speechAndEmail(57), videoAndFax(58),
- videoAndEmail(59), faxAndEmail(60), speechVideoAndFax(61),
- speechVideoAndEmail(62), speechFaxAndEmail(63), videoFaxAndEmail(64),
- speechVideoFaxAndEmail(65), multimediaUnknown(66),
- serviceUnknown(67),
- --
- -- Reserved for future additions:
- futureReserve1(68), futureReserve2(69), futureReserve3(70),
- futureReserve4(71), futureReserve5(72), futureReserve6(73),
- futureReserve7(74), futureReserve8(75)}
-
--- notActivated ERROR ::= {CODE local:31
--- }
-
---END
--- of Message-Waiting-Indication-Operations
-
--- Module Name-Operations (H.450.8:02/2000)
--- Name-Operations {itu-t recommendation h 450 8 version1(0) name-operations(0)}
--- DEFINITIONS AUTOMATIC TAGS ::=
--- BEGIN
-
--- IMPORTS
--- OPERATION, ERROR
--- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
--- remote-operations(4) informationObjects(5) version1(0)}
--- EXTENSION, Extension{}
--- FROM Manufacturer-specific-service-extension-definition {itu-t
--- recommendation h 450 1 version1(0) msi-definition(18)}
--- MixedExtension
--- FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
--- call-hold-operations(0)};
-
--- NameOperations OPERATION ::=
--- {callingName | alertingName | connectedName | busyName}
-
--- callingName OPERATION ::= {
--- ARGUMENT
--- SEQUENCE {name Name,
--- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
--- ...}
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:0
--- }
-
--- alertingName OPERATION ::= {
--- ARGUMENT
--- SEQUENCE {name Name,
--- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
--- ...}
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:1
--- }
-
--- connectedName OPERATION ::= {
--- ARGUMENT
--- SEQUENCE {name Name,
--- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
--- ...}
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:2
--- }
-
-
--- busyName OPERATION ::= {
--- ARGUMENT
--- SEQUENCE {name Name,
--- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
--- ...}
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:3
--- }
--- It all translates to NameArg doesn't it ?
-
-NameArg ::= SEQUENCE {name Name,
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...}
-
-Name ::= CHOICE {
- namePresentationAllowed NamePresentationAllowed,
- namePresentationRestricted NamePresentationRestricted,
- nameNotAvailable NULL,
- ...
-}
-
-NamePresentationAllowed ::= CHOICE {
- simpleName SimpleName,
- extendedName ExtendedName,
- ...
-}
-
-NamePresentationRestricted ::= CHOICE {
- simpleName SimpleName,
- extendedName ExtendedName,
- restrictedNull NULL, -- only used in case of interworking where other network
-
- -- provides indication that the name is restricted without
- -- the name itself
- ...
-}
-
-SimpleName ::= OCTET STRING(SIZE (1..50))
-
-ExtendedName ::= BMPString(SIZE (1..256)) -- Basic ISO/IEC 10646-1 (Unicode)
-
---
--- END
--- of Name-Operations
--- Module Call-Completion-Operations (H.450.9:11/2000)
--- Call-Completion-Operations {itu-t recommendation h 450 9 version1(0)
--- call-completion-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
--- BEGIN
-
--- IMPORTS
--- OPERATION, ERROR
--- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
--- remote-operations(4) informationObjects(5) version1(0)}
--- EXTENSION, Extension{}
--- FROM Manufacturer-specific-service-extension-definition {itu-t
--- recommendation h 450 1 version1(0) msi-definition(18)}
--- CallIdentifier
--- FROM H323-MESSAGES see ITU-T H.225.0
---
--- EndpointAddress
--- FROM Addressing-Data-Elements {itu-t recommendation h 450 1 version1(0)
--- addressing-data-elements(9)}
--- MixedExtension, undefined
--- FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
--- call-hold-operations(0)}
--- supplementaryServiceInteractionNotAllowed
--- FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
--- general-error-list(1)}
--- BasicService
--- FROM Message-Waiting-Indication-Operations {itu-t recommendation h
--- 450 7 version1(0) message-waiting-operations(0)};
-
--- H323CallCompletionOperations OPERATION ::=
--- {ccbsRequest | ccnrRequest | ccCancel | ccExecPossible | ccRingout |
--- ccSuspend | ccResume}
-
--- ccbsRequest OPERATION ::= {
--- ARGUMENT CcRequestArg
--- RESULT CcRequestRes
--- ERRORS
--- {shortTermRejection | longTermRejection | undefined |
--- supplementaryServiceInteractionNotAllowed}
--- CODE local:40
--- }
-
--- ccnrRequest OPERATION ::= {
--- ARGUMENT CcRequestArg
--- RESULT CcRequestRes
--- ERRORS
--- {shortTermRejection | longTermRejection | undefined |
--- supplementaryServiceInteractionNotAllowed}
--- CODE local:27
--- }
-
--- ccCancel OPERATION ::= {
--- ARGUMENT CcArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:28
--- }
-
--- ccExecPossible OPERATION ::= {
--- ARGUMENT CcArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:29
--- }
-
--- ccRingout OPERATION ::= {
--- ARGUMENT CcShortArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ERRORS {remoteUserBusyAgain | failureToMatch | undefined}
--- CODE local:31
--- }
-
--- ccSuspend OPERATION ::= {
--- ARGUMENT CcShortArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:32
--- }
-
--- ccResume OPERATION ::= {
--- ARGUMENT CcArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:33
--- }
-
-CcRequestArg ::= SEQUENCE {
- numberA EndpointAddress,
- numberB EndpointAddress,
- ccIdentifier CallIdentifier OPTIONAL,
- -- If present, it shall be used as the prime mechanism for associating
- -- the unsuccessful call, the CC Request and the CC Call.
- service BasicService,
- can-retain-service BOOLEAN,
- retain-sig-connection BOOLEAN OPTIONAL,
- extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CcRequestRes ::= SEQUENCE {
- retain-service BOOLEAN,
- extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CcArg ::= CHOICE {
- shortArg CcShortArg, -- if signalling conection is retained
- longArg CcLongArg, -- if connection release option applies
- ...
-}
-
-CcShortArg ::= SEQUENCE {
- ccIdentifier CallIdentifier OPTIONAL,
- extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CcLongArg ::= SEQUENCE {
- numberA EndpointAddress OPTIONAL,
- numberB EndpointAddress OPTIONAL,
- ccIdentifier CallIdentifier OPTIONAL,
- service BasicService OPTIONAL,
- -- these elements are used to identify the proper CC Request.
- -- The ccIdentifier if present shall be the prime mechanism for this purpose.
- extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- shortTermRejection ERROR ::= {CODE local:1010
--- }
-
--- longTermRejection ERROR ::= {CODE local:1011
--- }
-
--- remoteUserBusyAgain ERROR ::= {CODE local:1012
--- }
-
--- failureToMatch ERROR ::= {CODE local:1013
--- }
-
--- END
--- of Call-Completion-Operations
-
--- Module Call-Offer-Operations (H.450.10:03/2001)
--- Call-Offer-Operations {itu-t recommendation h 450 10 version1(0)
--- call-offer-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
--- BEGIN
---
--- IMPORTS
--- OPERATION, ERROR
--- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
--- remote-operations(4) informationObjects(5) version1(0)}
--- MixedExtension
--- FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
--- call-hold-operations(0)}
--- callWaiting
--- FROM Call-Waiting-Operations {itu-t recommendation h 450 6 version1(0)
--- call-waiting-operations(0)};
-
--- H323CallOfferOperations OPERATION ::=
--- {callOfferRequest | callWaiting | remoteUserAlerting | cfbOverride}
-
--- callOfferRequest OPERATION ::= sent from calling to called endpoint
--- {
--- ARGUMENT CoReqOptArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:34
--- }
-
--- remoteUserAlerting OPERATION ::= sent from called to calling endpoint
--- {
--- ARGUMENT RUAlertOptArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:115
--- }
-
--- cfbOverride OPERATION ::= sent from calling to called endpoint
--- {
--- ARGUMENT CfbOvrOptArg
--- OPTIONAL TRUE
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:49
--- }
-
-CoReqOptArg ::= SEQUENCE {
- extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-RUAlertOptArg ::= SEQUENCE {
- extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CfbOvrOptArg ::= SEQUENCE {
- extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
--- END
--- of Call-Offer-Operations
--- Module Call-Intrusion-Operations (H.450.11:03/2001)
--- Call-Intrusion-Operations {itu-t recommendation h 450 11 version1(0)
--- call-intrusion-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
--- BEGIN
-
--- IMPORTS
--- OPERATION, ERROR
--- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
--- remote-operations(4) informationObjects(5) version1(0)}
--- CallIdentifier
--- FROM H323-MESSAGES see H.225.0
-
--- MixedExtension, undefined
--- FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
--- call-hold-operations(0)}
--- notAvailable, supplementaryServiceInteractionNotAllowed
--- FROM H4501-General-Error-List {itu-t recommendation h 450 1 version1(0)
--- general-error-list(1)}
--- callWaiting
--- FROM Call-Waiting-Operations {itu-t recommendation h 450 6 version1(0)
--- call-waiting-operations(0)}
--- cfbOverride, remoteUserAlerting
--- FROM Call-Offer-Operations {itu-t recommendation h 450 10 version1(0)
--- call-offer-operations(0)};
-
--- H323CallIntrusionOperations OPERATION ::=
--- {callIntrusionRequest | callIntrusionGetCIPL | callIntrusionIsolate |
--- callIntrusionForcedRelease | callIntrusionWOBRequest |
--- callIntrusionSilentMonitor | callIntrusionNotification | cfbOverride |
--- remoteUserAlerting | callWaiting}
-
--- callWaiting is only used for interaction with Call Transfer
--- callIntrusionRequest OPERATION ::= {
--- ARGUMENT CIRequestArg
--- RESULT CIRequestRes
--- ERRORS
--- {notAvailable | notBusy | temporarilyUnavailable | notAuthorized |
--- undefined | supplementaryServiceInteractionNotAllowed}
--- CODE local:43
--- }
-
--- callIntrusionGetCIPL OPERATION ::= {
--- ARGUMENT CIGetCIPLOptArg
--- OPTIONAL TRUE
--- RESULT CIGetCIPLRes
--- ALWAYS RESPONDS FALSE
--- CODE local:44
--- }
-
--- callIntrusionIsolate OPERATION ::= {
--- ARGUMENT CIIsOptArg
--- OPTIONAL TRUE
--- RESULT CIIsOptRes
--- OPTIONAL TRUE
--- ERRORS
--- {notAvailable | undefined | supplementaryServiceInteractionNotAllowed}
--- CODE local:45
--- }
-
--- callIntrusionForcedRelease OPERATION ::= {
--- ARGUMENT CIFrcRelArg
--- OPTIONAL TRUE
--- RESULT CIFrcRelOptRes
--- OPTIONAL TRUE
--- ERRORS
--- {notAvailable | notBusy | temporarilyUnavailable | notAuthorized |
--- undefined | supplementaryServiceInteractionNotAllowed}
--- CODE local:46
--- }
-
--- callIntrusionWOBRequest OPERATION ::= {
--- ARGUMENT CIWobOptArg
--- OPTIONAL TRUE
--- RESULT CIWobOptRes
--- OPTIONAL TRUE
--- ERRORS
--- {notAvailable | undefined | supplementaryServiceInteractionNotAllowed}
--- CODE local:47
--- }
-
--- callIntrusionSilentMonitor OPERATION ::= {
--- ARGUMENT CISilentArg
--- RESULT CISilentOptRes
--- OPTIONAL TRUE
--- ERRORS
--- {notAvailable | notBusy | temporarilyUnavailable | notAuthorized |
--- undefined | supplementaryServiceInteractionNotAllowed}
--- CODE local:116
--- }
-
--- callIntrusionNotification OPERATION ::= {
--- ARGUMENT CINotificationArg
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:117
--- }
-
-CIRequestArg ::= SEQUENCE {
- ciCapabilityLevel CICapabilityLevel,
- argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CIRequestRes ::= SEQUENCE {
- ciStatusInformation CIStatusInformation,
- resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CIGetCIPLOptArg ::= SEQUENCE {
- argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CIGetCIPLRes ::= SEQUENCE {
- ciProtectionLevel CIProtectionLevel,
- silentMonitoringPermitted NULL OPTIONAL,
- resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CIIsOptArg ::= SEQUENCE {
- argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CIIsOptRes ::= SEQUENCE {
- resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CIFrcRelArg ::= SEQUENCE {
- ciCapabilityLevel CICapabilityLevel,
- argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CIFrcRelOptRes ::= SEQUENCE {
- resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CIWobOptArg ::= SEQUENCE {
- argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CIWobOptRes ::= SEQUENCE {
- resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CISilentArg ::= SEQUENCE {
- ciCapabilityLevel CICapabilityLevel,
- specificCall CallIdentifier OPTIONAL,
- argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CISilentOptRes ::= SEQUENCE {
- resultExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CINotificationArg ::= SEQUENCE {
- ciStatusInformation CIStatusInformation,
- argumentExtension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CICapabilityLevel ::= INTEGER {
- intrusionLowCap(1), intrusionMediumCap(2), intrusionHighCap(3)}(1..3)
-
-CIProtectionLevel ::= INTEGER {
- lowProtection(0), mediumProtection(1), highProtection(2), fullProtection(3)
-}(0..3)
-
-CIStatusInformation ::= CHOICE {
- callIntrusionImpending NULL,
- callIntruded NULL,
- callIsolated NULL,
- callForceReleased NULL,
- callIntrusionComplete NULL,
- callIntrusionEnd NULL,
- ...
-}
-
--- notBusy ERROR ::= {CODE local:1009
--- } used when the called user is not busy
-
--- temporarilyUnavailable ERROR ::= {CODE local:1000
--- } used when conditions for invocation of SS-CI
-
--- are momentarily not met
--- notAuthorized ERROR ::= {CODE local:1007
--- } used when a SS-CI request is rejected
-
--- because of insufficient CICL or if silent
--- monitoring is not permitted
--- END
--- of Call-Intrusion-Operations
-
--- Module Common-Information-Operations (H.450.12:07/2001)
--- Common-Information-Operations {itu-t recommendation h 450 12 version1(0)
--- common-information-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
--- BEGIN
-
--- IMPORTS
--- OPERATION, ERROR
--- FROM Remote-Operations-Information-Objects {joint-iso-itu-t
--- remote-operations(4) informationObjects(5) version1(0)}
--- EXTENSION, Extension{}
--- FROM Manufacturer-specific-service-extension-definition {itu-t
--- recommendation h 450 1 version1(0) msi-definition(18)}
--- MixedExtension, undefined
--- FROM Call-Hold-Operations {itu-t recommendation h 450 4 version1(0)
--- call-hold-operations(0)};
-
--- H323CommonInformationOperations OPERATION ::= {cmnRequest | cmnInform}
-
--- cmnRequest OPERATION ::= {
--- ARGUMENT DummyArg used as CmnRequestArg ( Wireshark )
--- OPTIONAL TRUE
--- RESULT CmnArg
--- ERRORS {undefined}
--- CODE local:84
--- }
-
--- cmnInform OPERATION ::= {
--- ARGUMENT CmnArg
--- RETURN RESULT FALSE
--- ALWAYS RESPONDS FALSE
--- CODE local:85
--- }
-
-CmnArg ::= SEQUENCE {
- featureList FeatureList OPTIONAL,
- featureValues FeatureValues OPTIONAL,
- featureControl FeatureControl OPTIONAL,
- extension SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
- ...
-}
-
-CmnRequestArg ::= SEQUENCE {
- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL
-}
-
-FeatureList ::= SEQUENCE {
- -- indicates capabilities of the endpoint sending the FeatureList
- ssCFreRoutingSupported NULL OPTIONAL, -- Call Forwarding rerouting
-
- -- supported meaningful only in
- -- forward direction during call
- -- establishment
- ssCTreRoutingSupported NULL OPTIONAL, -- Call Transfer rerouting
-
- -- supported meaningful both in
- -- forward & backward direction
- -- during call establishment
- ssCCBSPossible NULL OPTIONAL, -- CCBS possible meaningful only
-
- -- in backward direction before
- -- receipt of ALERTING/CONNECT
- ssCCNRPossible NULL OPTIONAL, -- CCNR possible meaningful only
-
- -- in backward direction before
- -- receipt of CONNECT
- ssCOSupported NULL OPTIONAL, -- Call Offer supported
-
- -- meaningful only in backward
- -- direction during call
- -- establishment
- -- Call Intrusion
- ssCIForcedReleaseSupported NULL OPTIONAL, -- meaningful only in
-
- -- backward direction
- ssCIIsolationSupported NULL OPTIONAL, -- meaningful only in
-
- -- backward direction
- ssCIWaitOnBusySupported NULL OPTIONAL, -- meaningful only in
-
- -- backward direction
- ssCISilentMonitoringSupported NULL OPTIONAL, -- meaningful only in
-
- -- backward direction
- ssCIConferenceSupported NULL OPTIONAL, -- meaningful only in
-
- -- backward direction
- -- Call Hold
- ssCHFarHoldSupported NULL OPTIONAL, -- meaningful in both
-
- -- directions
- -- Message Waiting Callback
- ssMWICallbackSupported NULL OPTIONAL, -- meaningful in backward
-
- -- direction
- -- meaningful both in
- -- forward & backward
- -- direction during call
- -- establishment
- -- Call Park
- ssCPCallParkSupported NULL OPTIONAL, -- meaningful in both
-
- -- directions
- ...
-}
-
-FeatureValues ::= SEQUENCE {
- partyCategory PartyCategory OPTIONAL,
- ssCIprotectionLevel SSCIProtectionLevel OPTIONAL,
- -- Supplementary Service Call Intrusion Protection level
- -- meaningful both in forward and backward direction; inclusion
- -- indicates support of SS-CI as an unwanted endpoint (forward
- -- direction) or as a Terminating Endpoint (backward direction),
- -- as well as the applicable protection level.
- ...
-}
-
-PartyCategory ::= ENUMERATED {unknown, extension, attendant, emergExt, ...
- }
-
-SSCIProtectionLevel ::= INTEGER(0..3)
-
-FeatureControl ::= SEQUENCE {
- ssCHDoNotHold NULL OPTIONAL, -- meaningful in both directions
-
- -- Sending endpoint shall not be held
- ssCTDoNotTransfer NULL OPTIONAL, -- meaningful in both directions
-
- -- sending endpoint shall not be transferred
- ssMWICallbackCall NULL OPTIONAL, -- meaningful only in SETUP
-
- -- indicating a callback call
- ssCISilentMonitorPermitted NULL OPTIONAL, -- unwanted endpoint
-
- -- allows for
- -- silent monitoring
- -- meaningful in forward and backward direction
- ...
-}
-
--- END
--- of Common-Information-Operations
-
-
-
-
---
--- Module Manufacturer-specific-service-extension-definition (H.450.1:02/1998)
--- Manufacturer-specific-service-extension-definition {itu-t recommendation
--- h 450 1 version1(0) msi-definition(18)} DEFINITIONS AUTOMATIC TAGS ::=
--- BEGIN
-
--- Actual values defined by individual manufacturers
-Unspecified ::=
- CHOICE {extension Extension,
- nonStandard NonStandardParameter}
-
--- invalidReroutingNumber ERROR ::= {
- -- used when establishment of the new connection fails
- -- because the reroutingNumber is not a valid alias address
--- CODE local:1004
--- }
-
--- UnrecognizedCallIdentity ERROR ::= {
- -- used when establishment of the new connection fails because it
- -- could not be associated with a SS-CT entity at the
- -- transferred-to endpoint
--- CODE local:1005
---}
-
---establishmentFailure ERROR ::= {
- -- used when establishment of the new connection fails and
- -- no other error applies
--- CODE local:1006
---}
-
--- END
--- of Call-Transfer-Operations
--- Module H225-generic-parameters-definition (H.450.1:02/1998)
--- H225-generic-parameters-definition {itu-t recommendation h 450 1 version1(0)
--- h225-generic-parameters(6)} DEFINITIONS AUTOMATIC TAGS ::=
-
-H225InformationElement ::= OCTET STRING
-
---END
--- of H225 Generic parameters definition
--- Module Manufacturer-specific-service-extension-definition (H.450.1:02/1998)
-
-
--- Manufacturer-specific-service-extension-definition {itu-t recommendation
--- h 450 1 version1(0) msi-definition(18)} DEFINITIONS AUTOMATIC TAGS ::=
--- BEGIN
-
--- EXTENSION ::= CLASS {&ArgumentType ,
--- &extensionId OBJECT IDENTIFIER
--- }WITH SYNTAX {ARGUMENT &ArgumentType
--- IDENTIFIER &extensionId
--- }
-
--- Extension{EXTENSION:ExtensionSet} ::= SEQUENCE {
--- extensionId EXTENSION.&extensionId({ExtensionSet}),
--- extensionArgument EXTENSION.&ArgumentType({ExtensionSet}{@extensionId})
---}
--- Wireshark adaptation NEEDS VERIFICATION !
- Extension ::= SEQUENCE {
- extensionId OBJECT IDENTIFIER,
- extensionArgument ExtensionArgument
- }
-ExtensionArgument ::= OCTET STRING
-
--- ExtensionSet is a set of objects of class EXTENSION.
--- Actual values of ExtensionSet are defined by the individual manufacturers.
--- Element extensionId is constrained to be the identifier of an object from that set.
--- Element extensionArgument is constrained to be the argument type for that particular
--- object.
--- END
--- of Manufacturer-specific-service-extension-definition
-
-END -- of H4501- Supplementary-ServiceAPDU-Structure
-
--- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D
-
diff --git a/asn1/h450/packet-h450-ros-template.c b/asn1/h450/packet-h450-ros-template.c
new file mode 100644
index 0000000000..8b0f00e4d8
--- /dev/null
+++ b/asn1/h450/packet-h450-ros-template.c
@@ -0,0 +1,107 @@
+/* packet-h450-ros.c
+ * Routines for H.450 packet dissection
+ * 2007 Tomas Kukosa
+ *
+ * $Id$
+ *
+ * Wireshark - Network traffic analyzer
+ * By Gerald Combs <gerald@wireshark.org>
+ * Copyright 1998 Gerald Combs
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+# include "config.h"
+#endif
+
+#include <string.h>
+
+#include <epan/packet.h>
+#include <epan/prefs.h>
+#include <epan/strutil.h>
+#include <epan/emem.h>
+#include <epan/asn1.h>
+
+#include "packet-per.h"
+
+#define PNAME "H.450 Remote Operations Apdus"
+#define PSNAME "H450.ROS"
+#define PFNAME "h450.ros"
+
+/* Initialize the protocol and registered fields */
+int proto_h450_ros = -1;
+#include "packet-h450-ros-hf.c"
+
+/* Initialize the subtree pointers */
+#include "packet-h450-ros-ett.c"
+
+/* Preferences */
+
+/* Subdissectors */
+static dissector_handle_t data_handle = NULL;
+
+/* Gloabl variables */
+static rose_ctx_t *rose_ctx_tmp;
+
+static guint32 problem_val;
+static gchar problem_str[64];
+static tvbuff_t *arg_next_tvb, *res_next_tvb, *err_next_tvb;
+
+static void
+argument_cb(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ arg_next_tvb = tvb;
+}
+
+static void
+result_cb(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ res_next_tvb = tvb;
+}
+
+static void
+error_cb(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ err_next_tvb = tvb;
+}
+
+#include "packet-h450-ros-fn.c"
+
+/*--- proto_register_h450_ros -----------------------------------------------*/
+void proto_register_h450_ros(void) {
+
+ /* List of fields */
+ static hf_register_info hf[] = {
+#include "packet-h450-ros-hfarr.c"
+ };
+
+ /* List of subtrees */
+ static gint *ett[] = {
+#include "packet-h450-ros-ettarr.c"
+ };
+
+ /* Register protocol and dissector */
+ proto_h450_ros = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ proto_set_cant_toggle(proto_h450_ros);
+
+ /* Register fields and subtrees */
+ proto_register_field_array(proto_h450_ros, hf, array_length(hf));
+ proto_register_subtree_array(ett, array_length(ett));
+}
+
+/*--- proto_reg_handoff_h450_ros --------------------------------------------*/
+void proto_reg_handoff_h450_ros(void) {
+ data_handle = find_dissector("data");
+}
+
+/*---------------------------------------------------------------------------*/
diff --git a/asn1/h450/packet-h450-template.h b/asn1/h450/packet-h450-ros-template.h
index d5ef3020be..47c2e66dee 100644
--- a/asn1/h450/packet-h450-template.h
+++ b/asn1/h450/packet-h450-ros-template.h
@@ -1,6 +1,6 @@
-/* packet-h450.h
- * Routines for h450 packet dissection
- * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
+/* packet-h450-ros.h
+ * Routines for H.450 packet dissection
+ * 2007 Tomas Kukosa
*
* $Id$
*
@@ -23,13 +23,10 @@
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
*/
-#ifndef PACKET_H450_H
-#define PACKET_H450_H
+#ifndef PACKET_H450_ROS_H
+#define PACKET_H450_ROS_H
+#include "packet-h450-ros-exp.h"
-
-/*#include "packet-H450-exp.h" */
-
-#endif /* PACKET_H450_H */
-
+#endif /* PACKET_H450_ROS_H */
diff --git a/asn1/h450/packet-h450-template.c b/asn1/h450/packet-h450-template.c
index 1776b2da63..fa3b73e5fe 100644
--- a/asn1/h450/packet-h450-template.c
+++ b/asn1/h450/packet-h450-template.c
@@ -38,1042 +38,265 @@
#include <stdio.h>
#include <string.h>
-
#include <epan/asn1.h>
-#include "packet-h450.h"
-#include "packet-ber.h"
#include "packet-per.h"
#include "packet-h225.h"
-#define PNAME "h450"
-#define PSNAME "h450"
-#define PFNAME "h450"
-/* H.450.2 Call Transfer constants */
-#define CallTransferIdentify 7
-#define CallTransferAbandon 8
-#define CallTransferInitiate 9
-#define CallTransferSetup 10
-#define CallTransferUpdate 13
-#define SubaddressTransfer 14
-#define CallTransferComplete 12
-#define CallTransferActive 11
-
-/* H.450.3 Call Diversion constants */
-#define ActivateDiversionQ 15
-#define DeactivateDiversionQ 16
-#define InterrogateDiversionQ 17
-#define CheckRestriction 18
-#define CallRerouting 19
-#define DivertingLegInformation1 20
-#define DivertingLegInformation2 21
-#define DivertingLegInformation3 22
-#define DivertingLegInformation4 100
-#define CfnrDivertedLegFailed 23
-
-/* H.450.4 Call Hold constants */
-#define HoldNotific 101
-#define RetrieveNotific 102
-#define RemoteHold 103
-#define RemoteRetrieve 104
-
-/* H.450.5 Call Park and Pickup constants */
-#define CpRequest 106
-#define CpSetup 107
-#define GroupIndicationOn 108
-#define GroupIndicationOff 109
-#define Pickrequ 110
-#define Pickup 111
-#define PickExe 112
-#define CpNotify 113
-#define CpickupNotify 114
-
-/* H.450.6 Call Waiting constants */
-#define CallWaiting 105
-
-/* H.450.7 Message Waiting Indication constants */
-#define MWIActivate 80
-#define MWIDeactivate 81
-#define MWIInterrogate 82
-
-/* H.450.8 Name Identification constants */
-#define NIcallingName 0
-#define NIalertingName 1
-#define NIconnectedName 2
-#define NIbusyName 3
-
-/* H.450.9 Call Completion constants */
-#define CCBSRequest 40
-#define CCNRRequest 27
-#define CCCancel 28
-#define CCExecPossible 29
-#define CCRingout 31
-#define CCSuspend 32
-#define CCResume 33
-
-/* H.450.10 Call Offer constants */
-#define CallOfferRequest 34
-#define RemoteUserAlerting 115
-#define CFBOverride 49
+#include "packet-h450-ros.h"
-/* H.450.11 Call Intrusion constants */
-#define CallIntrusionRequest 43
-#define CallIntrusionGetCIPL 44
-#define CallIntrusionIsolate 45
-#define CallIntrusionForcedRelease 46
-#define CallIntrusionWOBRequest 47
-#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;
+#define PNAME "H.450 Supplementary Services"
+#define PSNAME "H450"
+#define PFNAME "h450"
/* Initialize the protocol and registered fields */
-static int proto_h4501 = -1;
-
-static int hf_h4501 = -1;
-static int hf_h4501_dummy = -1;
-static int hf_h4501_constrained_invokeId = -1;
-static int hf_h4501_invokeId = -1;
-static int hf_h4501_localOpcode = -1;
-static int hf_h4501_globalCode = -1;
-static int hf_h4501_globalargument = -1;
-static int hf_h4501_opcode = -1;
-static int hf_h4501_ReturnResult_result = -1;
-static int hf_h4501_result = -1;
-static int hf_h4501_ReturnResult = -1;
-static int hf_h4501_localErrorCode = -1;
-static int hf_h4501_errorCode = -1;
-static int hf_h4501_parameter = -1;
-static int hf_h4501_ReturnError = -1;
-static int hf_h4501_GeneralProblem = -1;
-static int hf_h4501_InvokeProblem = -1;
-static int hf_h4501_ReturnResultProblem = -1;
-static int hf_h4501_ReturnErrorProblem = -1;
-static int hf_h4501_problem = -1;
-static int hf_h4501_Reject = -1;
-
-static int hf_h4502_CTIdentifyRes = -1;
-static int hf_h4502_DummyRes = -1;
-static int hf_h4502_DummyArg = -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;
-static int hf_h4504_RemoteRetrieveArg = -1;
-static int hf_h4504_RemoteRetrieveRes = -1;
-
-static int hf_h4507_MWIActivateArg = -1;
-static int hf_h4507_MWIDeactivateArg = -1;
-static int hf_h4507_MwiDummyRes = -1;
-static int hf_h4507_MWIInterrogateArg = -1;
-static int hf_h4507_MWIInterrogateRes = -1;
-
-static int hf_h4508_CallingNameArg = -1;
-static int hf_h4508_AlertingNameArg = -1;
-static int hf_h4508_ConnectedNameArg = -1;
-static int hf_h4508_BusyNameArg = -1;
-static int hf_h45012_CmnRequest = -1;
-static int hf_h45012_CmnInform = -1;
-
-static int hf_h4501_Invoke = -1;
-static int hf_h4501_ROS = -1;
-
+static int proto_h450 = -1;
+static int hf_h450_operation = -1;
+static int hf_h450_error = -1;
#include "packet-h450-hf.c"
/* Initialize the subtree pointers */
-static gint ett_h4501 = -1;
-static gint ett_h4501_opcode = -1;
-static gint ett_h4501_result = -1;
-static gint ett_h4501_errorCode = -1;
-
-static gint ett_h4501_problem = -1;
-static gint ett_h4501_Reject = -1;
-static gint ett_h4501_ReturnError = -1;
-static gint ett_h4501_ReturnResult = -1;
-static gint ett_h4501_Invoke = -1;
-static gint ett_h4501_ROS = -1;
-
#include "packet-h450-ett.c"
-/* Global variables */
-static guint32 localOpcode;
-static guint32 localErrorCode;
-static const char *globalcode_oid_str;
-static gboolean is_globalcode;
-
-static const value_string localOpcode_vals[] = {
- /* H.450.2 Call Transfer opcodes */
- { CallTransferIdentify, "callTransferIdentify"},
- { CallTransferAbandon, "callTransferAbandon"},
- { CallTransferInitiate, "callTransferInitiate"},
- { CallTransferSetup, "callTransferSetup"},
- { CallTransferUpdate, "callTransferUpdate"},
- { SubaddressTransfer, "subaddressTransfer"},
- { CallTransferComplete, "callTransferComplete"},
- { CallTransferActive, "callTransferActive"},
-
- /* H.450.3 Call Diversion opcodes */
- { ActivateDiversionQ, "activateDiversionQ"},
- { DeactivateDiversionQ, "deactivateDiversionQ"},
- { InterrogateDiversionQ, "interrogateDiversionQ"},
- { CheckRestriction, "checkRestriction"},
- { CallRerouting, "callRerouting"},
- { DivertingLegInformation1,"divertingLegInformation1"},
- { DivertingLegInformation2,"divertingLegInformation2"},
- { DivertingLegInformation3,"divertingLegInformation3"},
- { DivertingLegInformation4,"divertingLegInformation4"},
- { CfnrDivertedLegFailed, "cfnrDivertedLegFailed"},
-
- /* H.450.4 Call Hold opcodes */
- { HoldNotific, "holdNotific"},
- { RetrieveNotific, "retrieveNotific"},
- { RemoteHold, "remoteHold"},
- { RemoteRetrieve, "remoteRetrieve"},
-
- /* H.450.5 Call Park and Pickup opcodes */
- { CpRequest, "cpRequest"},
- { CpSetup, "cpSetup"},
- { GroupIndicationOn, "groupIndicationOn"},
- { GroupIndicationOff, "groupIndicationOff"},
- { Pickrequ, "pickrequ"},
- { Pickup, "pickup"},
- { PickExe, "pickExe"},
- { CpNotify, "cpNotify"},
- { CpickupNotify, "cpickupNotify"},
-
- /* H.450.6 Call Waiting opcodes */
- { CallWaiting, "callWaiting"},
-
- /* H.450.7 Message Waiting Indication constants */
- { MWIActivate, "mwiActivate"},
- { MWIDeactivate, "mwiDeactivate"},
- { MWIInterrogate, "mwiInterrogate"},
-
- /* H.450.8 Name Identification constants */
- { NIcallingName, "niCallingName"},
- { NIalertingName, "niAlertingName"},
- { NIconnectedName, "niConnectedName"},
- { NIbusyName, "niBusyName"},
-
- /* H.450.9 Call Completion constants */
- { CCBSRequest, "ccbsRequest"},
- { CCNRRequest, "ccnrRequest"},
- { CCCancel, "ccCancel"},
- { CCExecPossible, "ccExecPossible"},
- { CCRingout, "ccRingout"},
- { CCSuspend, "ccSuspend"},
- { CCResume, "ccResume"},
-
- /* H.450.10 Call Offer constants */
- { CallOfferRequest, "callOfferRequest"},
- { RemoteUserAlerting, "remoteUserAlerting"},
- { CFBOverride, "cfbOverride"},
-
- /* H.450.11 Call Intrusion constants */
- { CallIntrusionRequest, "callIntrusionRequest"},
- { CallIntrusionGetCIPL, "callIntrusionGetCIPL"},
- { CallIntrusionIsolate, "callIntrusionIsolate"},
- { CallIntrusionForcedRelease,"callIntrusionForcedRelease"},
- { CallIntrusionWOBRequest, "callIntrusionWOBRequest"},
- { CallIntrusionSilentMonitor,"callIntrusionSilentMonitor"},
- { CallIntrusionNotification, "callIntrusionNotification"},
-
- /* TODO - add other H.450.x invoke opcodes here */
-/* H.450.12 Common Information Operations constants */
- { CmnRequest, "CmnRequest"},
- { CmnInform, "CmnInform"},
- { 0, NULL }
+static const value_string h450_str_operation[] = {
+#include "packet-h450-table10.c"
+ { 0, NULL}
};
-static int dissect_h4501_Argument(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
-static int dissect_ros_ROS(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_ind _U_);
-
-
-
-#include "packet-h450-fn.c"
-
-static const value_string InvokeProblem_vals[] = {
- { 0, "duplicateInvocation"},
- { 1, "unrecognizedOperation"},
- { 2, "mistypedArgument"},
- { 3, "resourceLimitation"},
- { 4, "releaseInProgress"},
- { 5, "unrecognizedLinkedId"},
- { 6, "linkedResponseUnexpected"},
- { 7, "unexpectedLinkedOperation"},
- { 0, NULL }
-};
-static int
-dissect_h4501_InvokeProblem(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0, 7, NULL, FALSE);
- return offset;
-}
-
-
-static const value_string ReturnResultProblem_vals[] = {
- { 0, "unrecognizedInvocation"},
- { 1, "resultResponseUnexpected"},
- { 2, "mistypedResult"},
- { 0, NULL }
+static const value_string h450_str_error[] = {
+#include "packet-h450-table20.c"
+ { 0, NULL}
};
-static int
-dissect_h4501_ReturnResultProblem(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0, 2, NULL, FALSE);
- return offset;
-}
-
-
-static const value_string ReturnErrorProblem_vals[] = {
- { 0, "unrecognizedInvocation"},
- { 1, "errorResponseUnexpected"},
- { 2, "unrecognizedError"},
- { 3, "unexpectedError"},
- { 4, "mistypedParameter"},
- { 0, NULL }
-};
-static int
-dissect_h4501_ReturnErrorProblem(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0, 4, NULL, FALSE);
- return offset;
-}
-
-static const value_string GeneralProblem_vals[] = {
- { 0, "unrecognizedCompenent"},
- { 1, "mistypedCompenent"},
- { 2, "badlyStructuredCompenent"},
- { 0, NULL }
-};
-static int
-dissect_h4501_GeneralProblem(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0, 2, NULL, FALSE);
- return offset;
-}
-static int
-dissect_h4501_ReturnResult_result(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- tvbuff_t *result_tvb = NULL;
- offset=dissect_per_octet_string(tvb, offset, actx, tree, -1, NO_BOUND, NO_BOUND, &result_tvb);
+/* ROSE context */
+static rose_ctx_t h450_rose_ctx;
- if(tvb_length(result_tvb)){
- switch (localOpcode) {
- case CallTransferIdentify:
- dissect_h450_CTIdentifyRes(result_tvb, 0, actx, tree, hf_h4502_CTIdentifyRes);
- break;
+/* Subdissectors */
+static dissector_handle_t data_handle = NULL;
- case CallTransferInitiate:
- case CallTransferSetup:
- dissect_h450_DummyRes(result_tvb, 0, actx , tree, hf_h4502_DummyRes);
- break;
-
- case ActivateDiversionQ:
- dissect_ActivateDiversionQRes_PDU(result_tvb, actx->pinfo, tree);
- break;
- case DeactivateDiversionQ:
- dissect_DeactivateDiversionQRes_PDU(result_tvb, actx->pinfo, tree);
- break;
- case InterrogateDiversionQ:
- dissect_InterrogateDiversionQRes_PDU(result_tvb, actx->pinfo, tree);
- break;
- case CheckRestriction:
- dissect_CheckRestrictionRes_PDU(result_tvb, actx->pinfo, tree);
- break;
- case CallRerouting:
- dissect_CallReroutingRes_PDU(result_tvb, actx->pinfo, tree);
- break;
-
- case RemoteRetrieve:
- dissect_h450_RemoteRetrieveRes(result_tvb, 0, actx , tree, hf_h4504_RemoteRetrieveRes);
- break;
- case MWIActivate:
- dissect_h450_MwiDummyRes(result_tvb, 0, actx , tree, hf_h4507_MwiDummyRes);
- break;
- case MWIDeactivate:
- dissect_h450_MwiDummyRes(result_tvb, 0, actx , tree, hf_h4507_MwiDummyRes);
- break;
- case MWIInterrogate:
- dissect_h450_MWIInterrogateRes(result_tvb, 0, actx , tree, hf_h4507_MWIInterrogateRes);
- break;
-
- default:
-PER_NOT_DECODED_YET("Unrecognized H.450.x return result");
- break;
- }
- }
-
- return offset;
-}
-
-static int
-dissect_h4501_LocalOpcode(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_integer(tvb, offset, actx, tree, hf_index, &localOpcode);
- is_globalcode = FALSE;
- return offset;
-}
-
-
-static int
-dissect_h4501_GlobalCode(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &globalcode_oid_str);
- is_globalcode = TRUE;
- return offset;
-}
-
-
-static const value_string opcode_vals[] = {
- { 0, "local" },
- { 1, "global" },
- { 0, NULL}
-};
-static const per_choice_t opcode_choice[] = {
- { 0, &hf_h4501_localOpcode, ASN1_NO_EXTENSIONS,
- dissect_h4501_LocalOpcode },
- { 1, &hf_h4501_globalCode, ASN1_NO_EXTENSIONS,
- dissect_h4501_GlobalCode },
- { 0, NULL, 0, NULL }
-};
-static int
-dissect_h4501_Opcode(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h4501_opcode, opcode_choice, NULL);
- return offset;
-}
-
-static const per_sequence_t result_sequence[] = {
- { &hf_h4501_opcode, ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
- dissect_h4501_Opcode },
- { &hf_h4501_dummy, ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
- dissect_h4501_ReturnResult_result },
- { NULL, 0, 0, NULL }
-};
-static int
-dissect_h4501_Result(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h4501_result, result_sequence);
- return offset;
-}
-
-static int
-dissect_h4501_Parameter(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- /* TODO - decode return error parameter based on localErrorCode */
- offset=dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, NULL);
- return offset;
-}
-static const value_string localErrorCode_vals[] = {
- /* H.450.1 general error list */
- { 0, "userNotSubscribed"},
- { 1, "RejectedByNetwork"},
- { 2, "RejectedByUser"},
- { 3, "NotAvailable"},
- { 5, "InsufficientInformation"},
- { 6, "InvalidServedUserNumber"},
- { 7, "InvalidCallState"},
- { 8, "BasicServiceNotProvided"},
- { 9, "NotIncomingCall"},
- { 10, "SupplementaryServiceInteractionNotAllowed"},
- { 11, "ResourceUnavailable"},
- { 25, "CallFailure"},
- { 43, "ProceduralError"},
-
- /* H.450.2 Call Transfer return errors */
- { 1004, "invalidReroutingNumber"},
- { 1005, "unrecognizedCallIdentity"},
- { 1006, "establishmentFailure"},
- { 1008, "unspecified"},
-
- /* H.450.4 Call Hold return errors */
- { 2002, "undefined"},
-
- /* H.450.5 Call Park and Pickup return errors */
- { 2000, "callPickupIdInvalid"},
- { 2001, "callAlreadyPickedUp"},
-
- /* H.450.7 Message Waiting Indication return errors */
- { 1018, "invalidMsgCentreId"},
- { 31, "notActivated"},
-
- /* H.450.9 Call Completion return errors */
- { 1010, "shortTermRejection"},
- { 1011, "longTermRejection"},
- { 1012, "remoteUserBusyAgain"},
- { 1013, "failureToMatch"},
-
- /* H.450.11 Call Intrusion return errors */
- { 1009, "notBusy"},
- { 1000, "temporarilyUnavailable"},
- { 1007, "notAuthorized"},
-
- /* TODO - add other H.450.x error codes here */
-
- { 0, NULL }
-};
-static int
-dissect_h4501_LocalErrorCode(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_integer(tvb, offset, actx, tree, hf_index, &localErrorCode);
- return offset;
-}
-
-
-static const value_string errorCode_vals[] = {
- { 0, "local" },
- { 1, "global" },
- { 0, NULL}
-};
-static const per_choice_t errorCode_choice[] = {
- { 0, &hf_h4501_localErrorCode, ASN1_NO_EXTENSIONS,
- dissect_h4501_LocalErrorCode },
- { 1, &hf_h4501_globalCode, ASN1_NO_EXTENSIONS,
- dissect_h4501_GlobalCode },
- { 0, NULL, 0, NULL }
-};
-static int
-dissect_h4501_ErrorCode(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h4501_errorCode, errorCode_choice, NULL);
- return offset;
-}
-
-static const value_string problem_vals[] = {
- { 0, "general" },
- { 1, "invoke" },
- { 2, "returnResult" },
- { 3, "returnError" },
- { 0, NULL}
-};
-static const per_choice_t problem_choice[] = {
- { 0, &hf_h4501_GeneralProblem, ASN1_NO_EXTENSIONS,
- dissect_h4501_GeneralProblem },
- { 1, &hf_h4501_InvokeProblem, ASN1_NO_EXTENSIONS,
- dissect_h4501_InvokeProblem },
- { 2, &hf_h4501_ReturnResultProblem, ASN1_NO_EXTENSIONS,
- dissect_h4501_ReturnResultProblem },
- { 3, &hf_h4501_ReturnErrorProblem, ASN1_NO_EXTENSIONS,
- dissect_h4501_ReturnErrorProblem },
- { 0, NULL, 0, NULL }
-};
-static int
-dissect_h4501_Problem(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h4501_problem, problem_choice, NULL);
- return offset;
-}
-static int
-dissect_h4501_Constrained_invokeId(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0, 65535, NULL, FALSE);
- return offset;
-}
+/* Global variables */
+#include "packet-h450-fn.c"
-static int
-dissect_h4501_InvokeId(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
- return offset;
+typedef struct _h450_op_t {
+ gint32 opcode;
+ new_dissector_t arg_pdu;
+ new_dissector_t res_pdu;
+} h450_op_t;
+
+static const h450_op_t h450_op_tab[] = {
+#include "packet-h450-table11.c"
+};
+
+typedef struct _h450_err_t {
+ gint32 errcode;
+ new_dissector_t err_pdu;
+} h450_err_t;
+
+static const h450_err_t h450_err_tab[] = {
+#include "packet-h450-table21.c"
+};
+
+static const h450_op_t *get_op(gint32 opcode) {
+ int i;
+
+ /* search from the end to get the last occurence if the operation is redefined in some newer specification */
+ for (i = array_length(h450_op_tab) - 1; i >= 0; i--)
+ if (h450_op_tab[i].opcode == opcode)
+ return &h450_op_tab[i];
+ return NULL;
}
-static const per_sequence_t Reject_sequence[] = {
- { &hf_h4501_invokeId, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_InvokeId },
- { &hf_h4501_problem, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_Problem },
- { NULL, 0, 0, NULL }
-};
-static int
-dissect_h4501_Reject(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h4501_Reject, Reject_sequence);
- return offset;
-}
+static const h450_err_t *get_err(gint32 errcode) {
+ int i;
-static const per_sequence_t ReturnError_sequence[] = {
- { &hf_h4501_invokeId, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_InvokeId },
- { &hf_h4501_errorCode, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_ErrorCode },
- { &hf_h4501_parameter, ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
- dissect_h4501_Parameter },
- { NULL, 0, 0, NULL }
-};
-static int
-dissect_h4501_ReturnError(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h4501_ReturnError, ReturnError_sequence);
- return offset;
+ /* search from the end to get the last occurence if the operation is redefined in some newer specification */
+ for (i = array_length(h450_err_tab) - 1; i >= 0; i--)
+ if (h450_err_tab[i].errcode == errcode)
+ return &h450_err_tab[i];
+ return NULL;
}
-static const per_sequence_t ReturnResult_sequence[] = {
- { &hf_h4501_invokeId, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_InvokeId },
- { &hf_h4501_result, ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
- dissect_h4501_Result },
- { NULL, 0, 0, NULL }
-};
-static int
-dissect_h4501_ReturnResult(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h4501_ReturnResult, ReturnResult_sequence);
- return offset;
-}
+/*--- dissect_h450_arg ------------------------------------------------------*/
+static int
+dissect_h450_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ int offset;
+ rose_ctx_t *rctx;
+ gint32 opcode;
+ const h450_op_t *op_ptr;
+ const gchar *p;
+
+ offset = 0;
+ rctx = get_rose_ctx(pinfo->private_data);
+ DISSECTOR_ASSERT(rctx);
+ if (rctx->d.pdu != 1) /* invoke */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ opcode = rctx->d.code_local;
+ op_ptr = get_op(opcode);
+ if (!op_ptr)
+ return offset;
+
+ proto_tree_add_uint_hidden(tree, hf_h450_operation, tvb, 0, 0, opcode);
+ p = match_strval(opcode, VALS(h450_str_operation));
+ if (p) {
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
+ }
-static const per_sequence_t Invoke_sequence[] = {
- { &hf_h4501_constrained_invokeId, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_Constrained_invokeId },
- { &hf_h4501_invokeId, ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
- dissect_h4501_InvokeId },
- { &hf_h4501_opcode, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_Opcode },
- { &hf_h4501_dummy, ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
- dissect_h4501_Argument },
- { NULL, 0, 0, NULL }
-};
-static int
-dissect_h4501_Invoke(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h4501_Invoke, Invoke_sequence);
- return offset;
-}
+ if (op_ptr->arg_pdu && (tvb_length_remaining(tvb, offset) > 0))
+ offset = op_ptr->arg_pdu(tvb, pinfo, tree);
+ else
+ if (tvb_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_text(tree, tvb, offset, -1, "UNSUPPORTED ARGUMENT TYPE (H.450)");
+ offset += tvb_length_remaining(tvb, offset);
+ }
-static const value_string ROS_vals[] = {
- { 1, "invoke" },
- { 2, "returnResult" },
- { 3, "returnError" },
- { 4, "reject" },
- { 0, NULL}
-};
-static const per_choice_t ROS_choice[] = {
- { 1, &hf_h4501_Invoke, ASN1_NO_EXTENSIONS,
- dissect_h4501_Invoke },
- { 2, &hf_h4501_ReturnResult, ASN1_NO_EXTENSIONS,
- dissect_h4501_ReturnResult },
- { 3, &hf_h4501_ReturnError, ASN1_NO_EXTENSIONS,
- dissect_h4501_ReturnError },
- { 4, &hf_h4501_Reject, ASN1_NO_EXTENSIONS,
- dissect_h4501_Reject },
- { 0, NULL, 0, NULL }
-};
-static int
-dissect_h4501_ROS(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree)
-{
- offset=dissect_per_choice(tvb, offset, actx, tree, hf_h4501_ROS, ett_h4501_ROS, ROS_choice, NULL);
- return offset;
+ return offset;
}
-static int
-dissect_h4501_Argument(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- tvbuff_t *argument_tvb = NULL;
-
- if ( is_globalcode ){
- /* TODO call oid dissector
- * call_ber_oid_callback isn't realy apropriate ?
- */
- offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_h4501_globalargument, NO_BOUND, NO_BOUND, NULL);
- is_globalcode = FALSE;
- return offset;
-
+/*--- dissect_h450_res ------------------------------------------------------*/
+static int
+dissect_h450_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ int offset;
+ rose_ctx_t *rctx;
+ gint32 opcode;
+ const h450_op_t *op_ptr;
+ const gchar *p;
+
+ offset = 0;
+ rctx = get_rose_ctx(pinfo->private_data);
+ DISSECTOR_ASSERT(rctx);
+ if (rctx->d.pdu != 2) /* returnResult */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ opcode = rctx->d.code_local;
+ op_ptr = get_op(opcode);
+ if (!op_ptr)
+ return offset;
+
+ proto_tree_add_uint_hidden(tree, hf_h450_operation, tvb, 0, 0, opcode);
+ p = match_strval(opcode, VALS(h450_str_operation));
+ if (p) {
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
}
- offset=dissect_per_octet_string(tvb, offset, actx, tree, -1, NO_BOUND, NO_BOUND, &argument_tvb);
-
- if(tvb_length(argument_tvb)){
- switch (localOpcode) {
- /* h450.2 */
- case CallTransferIdentify: /* Localvalue 7 */
- dissect_CallTransferIdentify_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case CallTransferAbandon: /* Localvalue 8 */
- dissect_CallTransferAbandon_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case CallTransferInitiate: /* Localvalue 9 */
- dissect_CallTransferInitiate_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case CallTransferSetup: /* Localvalue 10 */
- dissect_CallTransferSetup_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case CallTransferUpdate: /* Localvalue 13 */
- dissect_CallTransferUpdate_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case SubaddressTransfer: /* Localvalue 14 */
- dissect_SubaddressTransfer_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case CallTransferComplete: /* Localvalue 12 */
- dissect_CallTransferComplete_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case CallTransferActive: /* Localvalue 11 */
- dissect_CallTransferActive_PDU(argument_tvb, actx->pinfo, tree);
- break;
- /* h450.3*/
- case ActivateDiversionQ: /* Localvalue 15 */
- dissect_ActivateDiversionQArg_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case DeactivateDiversionQ: /* Localvalue 16 */
- dissect_h450_DeactivateDiversionQArg(argument_tvb, 0, actx , tree, hf_h4503DeactivateDiversionQArg);
- break;
- case InterrogateDiversionQ: /* Localvalue 17 */
- dissect_h450_InterrogateDiversionQ(argument_tvb, 0, actx , tree, hf_h4503InterrogateDiversionQ);
- break;
- case CheckRestriction: /* Localvalue 18 */
- dissect_h450_CheckRestrictionArg(argument_tvb, 0, actx , tree, hf_h4503CheckRestrictionArg);
- break;
- case CallRerouting: /* Localvalue 19 */
- dissect_h450_CallReroutingArg(argument_tvb, 0, actx , tree, hf_h4503CallReroutingArg);
- break;
- case DivertingLegInformation1: /* Localvalue 20 */
- dissect_h450_DivertingLegInformation1Arg(argument_tvb, 0, actx , tree, hf_h4503DivertingLegInformation1Arg);
- break;
- case DivertingLegInformation2: /* Localvalue 21 */
- dissect_h450_DivertingLegInformation2Arg(argument_tvb, 0, actx , tree, hf_h4503DivertingLegInformation2Arg);
- break;
- case DivertingLegInformation3: /* Localvalue 22 */
- dissect_h450_DivertingLegInformation3Arg(argument_tvb, 0, actx , tree, hf_h4503DivertingLegInformation3Arg);
- break;
- case DivertingLegInformation4: /* Localvalue 100 */
- dissect_h450_DivertingLegInformation4Arg(argument_tvb, 0, actx , tree, hf_h4503DivertingLegInformation4Arg);
- break;
- case CfnrDivertedLegFailed: /* Localvalue 23 */
- dissect_h450_CfnrDivertedLegFailedArg(argument_tvb, 0, actx , tree, hf_h4503CfnrDivertedLegFailedArg);
- break;
- /* H.450.4 Call Hold */
- case HoldNotific: /* Localvalue 101 */
- dissect_h450_HoldNotificArg(argument_tvb, 0, actx , tree, hf_h4504_HoldNotificArg);
- break;
- case RetrieveNotific: /* Localvalue 102 */
- dissect_h450_RetrieveNotificArg(argument_tvb, 0, actx , tree, hf_h4504_RetrieveNotificArg);
- break;
- case RemoteHold: /* Localvalue 103 */
- dissect_h450_RemoteHoldArg(argument_tvb, 0, actx , tree, hf_h4504_RemoteHoldArg);
- break;
- case RemoteRetrieve: /* Localvalue 104 */
- dissect_h450_RemoteRetrieveArg(argument_tvb, 0, actx , 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, actx , tree, hf_h4507_MWIActivateArg);
- break;
- case MWIDeactivate: /* Localvalue 81 */
- dissect_h450_MWIDeactivateArg(argument_tvb, 0, actx , tree, hf_h4507_MWIDeactivateArg);
- break;
- case MWIInterrogate: /* Localvalue 82 */
- dissect_h450_MWIInterrogateArg(argument_tvb, 0, actx , tree, hf_h4507_MWIInterrogateArg);
- break;
+ if (op_ptr->res_pdu && (tvb_length_remaining(tvb, offset) > 0))
+ offset = op_ptr->res_pdu(tvb, pinfo, tree);
+ else
+ if (tvb_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_text(tree, tvb, offset, -1, "UNSUPPORTED RESULT TYPE (H.450)");
+ offset += tvb_length_remaining(tvb, offset);
+ }
- /* H.450.8 Name Identification */
- case NIcallingName: /* Localvalue 0 */
- dissect_h450_NameArg(argument_tvb, 0, actx , tree, hf_h4508_CallingNameArg);
- break;
- case NIalertingName: /* Localvalue 1 */
- dissect_h450_NameArg(argument_tvb, 0, actx , tree, hf_h4508_AlertingNameArg);
- break;
- case NIconnectedName: /* Localvalue 2 */
- dissect_h450_NameArg(argument_tvb, 0, actx , tree, hf_h4508_ConnectedNameArg);
- break;
- case NIbusyName: /* Localvalue 3 */
- dissect_h450_NameArg(argument_tvb, 0, actx , 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 */
-PER_NOT_DECODED_YET("Unrecognized H.450.x operation");
-break;
-/* H.450.12 Common Information Operations constants */
- case CmnRequest: /* Localvalue 84 */
- dissect_h450_CmnRequestArg(argument_tvb, 0, actx , tree, hf_h45012_CmnRequest);
- break;
- case CmnInform: /* Localvalue 85 */
- dissect_h450_CmnArg(argument_tvb, 0, actx , tree, hf_h45012_CmnInform);
- break;
-
- /* TODO - decode other H.450.x invoke arguments here */
- default:
-PER_NOT_DECODED_YET("Unrecognized H.450.x operation");
- break;
- }
- }
- return offset;
+ return offset;
}
-static int
-dissect_ros_ROS(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_ind _U_){
- offset = dissect_h4501_ROS(tvb, offset, actx, tree);
- return offset;
-
-}
-static void
-dissect_h4501(tvbuff_t *tvb, packet_info *pinfo, proto_tree* tree)
-{
- proto_item *it;
- proto_tree *tr;
- guint32 offset=0;
- asn1_ctx_t asn1_ctx;
+/*--- dissect_h450_err ------------------------------------------------------*/
+static int
+dissect_h450_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ int offset;
+ rose_ctx_t *rctx;
+ gint32 errcode;
+ const h450_err_t *err_ptr;
+ const gchar *p;
+
+ offset = 0;
+ rctx = get_rose_ctx(pinfo->private_data);
+ DISSECTOR_ASSERT(rctx);
+ if (rctx->d.pdu != 3) /* returnError */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ errcode = rctx->d.code_local;
+ err_ptr = get_err(errcode);
+ if (!err_ptr)
+ return offset;
+
+ proto_tree_add_uint_hidden(tree, hf_h450_error, tvb, 0, 0, errcode);
+ p = match_strval(errcode, VALS(h450_str_error));
+ if (p) {
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
+ }
- it=proto_tree_add_protocol_format(tree, proto_h4501, tvb, 0, -1, "H.450.1");
- tr=proto_item_add_subtree(it, ett_h4501);
+ if (err_ptr->err_pdu && (tvb_length_remaining(tvb, offset) > 0))
+ offset = err_ptr->err_pdu(tvb, pinfo, tree);
+ else
+ if (tvb_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_text(tree, tvb, offset, -1, "UNSUPPORTED ERROR TYPE (H.450)");
+ offset += tvb_length_remaining(tvb, offset);
+ }
- asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_H4501SupplementaryService(tvb, offset, &asn1_ctx, tr, hf_h4501);
+ return offset;
}
/*--- proto_register_h450 -------------------------------------------*/
void proto_register_h450(void) {
/* List of fields */
- static hf_register_info hf[] = {
- { &hf_h4501,
- { "SupplementaryService", "h4501.SupplementaryService", FT_NONE, BASE_NONE,
- NULL, 0, "SupplementaryService sequence", HFILL }},
- { &hf_h4501_dummy,
- { "dummy", "h4501.dummy", FT_NONE, BASE_NONE,
- NULL, 0, "Dummy", HFILL }},
- { &hf_h4501_constrained_invokeId,
- { "invokeId", "h4501.invokeId", FT_UINT32, BASE_DEC,
- NULL, 0, "constrained_invokeId", HFILL }},
- { &hf_h4501_invokeId,
- { "invokeId", "h4501.invokeId", FT_INT32, BASE_DEC,
- NULL, 0, "invokeId", HFILL }},
- { &hf_h4501_localOpcode,
- { "localOpcode", "h4501.localOpcode", FT_INT32, BASE_DEC,
- VALS(localOpcode_vals), 0, "local", HFILL }},
- { &hf_h4501_globalCode,
- { "globalCode", "h4501.globalCode", FT_STRING, BASE_HEX,
- NULL, 0, "global", HFILL }},
- { &hf_h4501_globalargument,
- { "argumentArgument", "h4501.globalArgument", FT_BYTES, BASE_HEX,
- NULL, 0, "argument", HFILL }},
- { &hf_h4501_opcode,
- { "opcode", "h4501.opcode", FT_UINT32, BASE_DEC,
- VALS(opcode_vals), 0, "opcode choice", HFILL }},
- { &hf_h4501_ReturnResult_result,
- { "ReturnResult_result", "h4501.ReturnResult.result", FT_BYTES, BASE_HEX,
- NULL, 0, "result", HFILL }},
- { &hf_h4501_result,
- { "result", "h4501.result", FT_NONE, BASE_NONE,
- NULL, 0, "result sequence of", HFILL }},
- { &hf_h4501_ReturnResult,
- { "ReturnResult", "h4501.ReturnResult", FT_NONE, BASE_NONE,
- NULL, 0, "ReturnResult sequence of", HFILL }},
- { &hf_h4501_localErrorCode,
- { "localErrorCode", "h4501.localErrorCode", FT_INT32, BASE_DEC,
- VALS(localErrorCode_vals), 0, "local", HFILL }},
- { &hf_h4501_errorCode,
- { "errorCode", "h4501.errorCode", FT_UINT32, BASE_DEC,
- VALS(errorCode_vals), 0, "errorCode", HFILL }},
- { &hf_h4501_parameter,
- { "parameter", "h4501.parameter", FT_BYTES, BASE_HEX,
- NULL, 0, "parameter", HFILL }},
- { &hf_h4501_ReturnError,
- { "ReturnError", "h4501.ReturnError", FT_NONE, BASE_NONE,
- NULL, 0, "ReturnError sequence of", HFILL }},
- { &hf_h4501_GeneralProblem,
- { "GeneralProblem", "h4501.GeneralProblem", FT_UINT32, BASE_DEC,
- VALS(GeneralProblem_vals), 0, "GeneralProblem", HFILL }},
- { &hf_h4501_InvokeProblem,
- { "InvokeProblem", "h4501.InvokeProblem", FT_UINT32, BASE_DEC,
- VALS(InvokeProblem_vals), 0, "InvokeProblem", HFILL }},
- { &hf_h4501_ReturnResultProblem,
- { "ReturnResultProblem", "h4501.ReturnResultProblem", FT_UINT32, BASE_DEC,
- VALS(ReturnResultProblem_vals), 0, "ReturnResultProblem", HFILL }},
- { &hf_h4501_ReturnErrorProblem,
- { "ReturnErrorProblem", "h4501.ReturnErrorProblem", FT_UINT32, BASE_DEC,
- VALS(ReturnErrorProblem_vals), 0, "ReturnErrorProblem", HFILL }},
- { &hf_h4501_problem,
- { "problem", "h4501.problem", FT_UINT32, BASE_DEC,
- VALS(problem_vals), 0, "problem choice", HFILL }},
- { &hf_h4501_Reject,
- { "Reject", "h4501.Reject", FT_NONE, BASE_NONE,
- NULL, 0, "Reject sequence of", HFILL }},
- { &hf_h4501_ROS,
- { "ROS", "h4501.ROS", FT_UINT32, BASE_DEC,
- VALS(ROS_vals), 0, "ROS choice", HFILL }},
- { &hf_h4501_Invoke,
- { "Invoke", "h4501.Invoke", FT_NONE, BASE_NONE,
- NULL, 0, "Invoke sequence of", HFILL }},
- { &hf_h4502_CTIdentifyRes,
- { "CTIdentifyRes", "h4502.CTIdentifyRes", FT_NONE, BASE_NONE,
- NULL, 0, "CTIdentifyRes sequence of", HFILL }},
- { &hf_h4502_DummyRes,
- { "DummyRes", "h4502.DummyRes", FT_UINT32, BASE_DEC,
- VALS(h450_DummyRes_vals), 0, "DummyRes Choice", HFILL }},
- { &hf_h4502_DummyArg,
- { "DummyArg", "h4502.DummyArg", FT_UINT32, BASE_DEC,
- VALS(h450_DummyArg_vals), 0, "DummyArg choice", 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 }},
- { &hf_h4504_RetrieveNotificArg,
- { "RetrieveNotificArg", "h4504.RetrieveNotificArg", FT_NONE, BASE_NONE,
- NULL, 0, "RetrieveNotificArg sequence of", HFILL }},
- { &hf_h4504_RemoteHoldArg,
- { "RemoteHoldArg", "h4504.RemoteHoldArg", FT_NONE, BASE_NONE,
- NULL, 0, "RemoteHoldArg sequence of", HFILL }},
- { &hf_h4504_RemoteRetrieveArg,
- { "RemoteRetrieveArg", "h4504.RemoteRetrieveArg", FT_NONE, BASE_NONE,
- NULL, 0, "RemoteRetrieveArg sequence of", HFILL }},
- { &hf_h4504_RemoteRetrieveRes,
- { "RemoteRetrieveRes", "h4504.RemoteRetrieveRes", FT_NONE, BASE_NONE,
- NULL, 0, "RemoteRetrieveRes sequence of", HFILL }},
-
- { &hf_h4507_MWIActivateArg,
- { "MWIActivateArg", "h4507.MWIActivateArg", FT_NONE, BASE_NONE,
- NULL, 0, "MWIActivateArg sequence of", HFILL }},
- { &hf_h4507_MwiDummyRes,
- { "MwiDummyRes", "h4507.MwiDummyRes", FT_NONE, BASE_NONE,
- NULL, 0, "MwiDummyRes sequence of", HFILL }},
- { &hf_h4507_MWIDeactivateArg,
- { "MWIDeactivateArg", "h4507.MWIDeactivateArg", FT_NONE, BASE_NONE,
- NULL, 0, "MWIDeactivateArg sequence of", HFILL }},
- { &hf_h4507_MWIInterrogateArg,
- { "MWIInterrogateArg", "h4507.MWIInterrogateArg", FT_NONE, BASE_NONE,
- NULL, 0, "MWIInterrogateArg sequence of", HFILL }},
- { &hf_h4507_MWIInterrogateRes,
- { "MWIInterrogateRes", "h4507.MWIInterrogateRes", FT_NONE, BASE_NONE,
- NULL, 0, "MWIInterrogateRes sequence of", HFILL }},
-
- { &hf_h4508_CallingNameArg,
- { "CallingNameArg", "h4508.CallingNameArg", FT_NONE, BASE_NONE,
- NULL, 0, "CallingNameArg sequence of", HFILL }},
- { &hf_h4508_AlertingNameArg,
- { "AlertingNameArg", "h4508.AlertingNameArg", FT_NONE, BASE_NONE,
- NULL, 0, "AlertingNameArg sequence of", HFILL }},
- { &hf_h4508_ConnectedNameArg,
- { "ConnectedNameArg", "h4508.ConnectedNameArg", FT_NONE, BASE_NONE,
- NULL, 0, "ConnectedNameArg sequence of", HFILL }},
- { &hf_h4508_BusyNameArg,
- { "BusyNameArg", "h4508.BusyNameArg", FT_NONE, BASE_NONE,
- NULL, 0, "BusyNameArg sequence of", HFILL }},
- { &hf_h45012_CmnRequest,
- { "CmnRequest", "h4508.CmnRequest", FT_NONE, BASE_NONE,
- NULL, 0, "CmnRequest sequence of", HFILL }},
- { &hf_h45012_CmnInform,
- { "CmnRequest", "h4508.CmnRequest", FT_NONE, BASE_NONE,
- NULL, 0, "CmnRequest sequence of", HFILL }},
-
+ static hf_register_info hf[] = {
+ { &hf_h450_operation, { "Operation", "h450.operation",
+ FT_UINT8, BASE_DEC, VALS(h450_str_operation), 0x0,
+ "Operation", HFILL }},
+ { &hf_h450_error, { "Error", "h450.error",
+ FT_UINT8, BASE_DEC, VALS(h450_str_error), 0x0,
+ "Error", HFILL }},
#include "packet-h450-hfarr.c"
};
/* List of subtrees */
static gint *ett[] = {
- &ett_h4501,
- &ett_h4501_opcode,
- &ett_h4501_result,
- &ett_h4501_errorCode,
-
- &ett_h4501_problem,
- &ett_h4501_Reject,
- &ett_h4501_ReturnError,
- &ett_h4501_ReturnResult,
- &ett_h4501_Invoke,
- &ett_h4501_ROS,
#include "packet-h450-ettarr.c"
};
/* Register protocol */
- proto_h4501 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ proto_h450 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ new_register_dissector("h4501", dissect_h450_H4501SupplementaryService_PDU, proto_h450);
/* Register fields and subtrees */
- proto_register_field_array(proto_h4501, hf, array_length(hf));
+ proto_register_field_array(proto_h450, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- register_dissector("h4501", dissect_h4501, proto_h4501);
+ rose_ctx_init(&h450_rose_ctx);
+ /* Register dissector tables */
+ h450_rose_ctx.arg_global_dissector_table = register_dissector_table("h450.ros.global.arg", "H.450 Operation Argument (global opcode)", FT_STRING, BASE_NONE);
+ h450_rose_ctx.res_global_dissector_table = register_dissector_table("h450.ros.global.res", "H.450 Operation Result (global opcode)", FT_STRING, BASE_NONE);
+ h450_rose_ctx.arg_local_dissector_table = register_dissector_table("h450.ros.local.arg", "H.450 Operation Argument (local opcode)", FT_UINT32, BASE_HEX);
+ h450_rose_ctx.res_local_dissector_table = register_dissector_table("h450.ros.local.res", "H.450 Operation Result (local opcode)", FT_UINT32, BASE_HEX);
+ h450_rose_ctx.err_global_dissector_table = register_dissector_table("h450.ros.global.err", "H.450 Error (global opcode)", FT_STRING, BASE_NONE);
+ h450_rose_ctx.err_local_dissector_table = register_dissector_table("h450.ros.local.err", "H.450 Error (local opcode)", FT_UINT32, BASE_HEX);
}
-/*--- proto_reg_handoff_h4501 ---------------------------------------*/
+/*--- proto_reg_handoff_h450 ---------------------------------------*/
void
-proto_reg_handoff_h4501(void)
+proto_reg_handoff_h450(void)
{
-
- h4501_handle = find_dissector("h4501");
+ int i;
+ dissector_handle_t h450_arg_handle;
+ dissector_handle_t h450_res_handle;
+ dissector_handle_t h450_err_handle;
+
+ data_handle = find_dissector("data");
+
+ h450_arg_handle = new_create_dissector_handle(dissect_h450_arg, proto_h450);
+ h450_res_handle = new_create_dissector_handle(dissect_h450_res, proto_h450);
+ for (i=0; i<(int)array_length(h450_op_tab); i++) {
+ dissector_add("h450.ros.local.arg", h450_op_tab[i].opcode, h450_arg_handle);
+ dissector_add("h450.ros.local.res", h450_op_tab[i].opcode, h450_res_handle);
+ }
+ h450_err_handle = new_create_dissector_handle(dissect_h450_err, proto_h450);
+ for (i=0; i<(int)array_length(h450_err_tab); i++) {
+ dissector_add("h450.ros.local.err", h450_err_tab[i].errcode, h450_err_handle);
+ }
}
diff --git a/epan/dissectors/Makefile.common b/epan/dissectors/Makefile.common
index 83e085ab0a..299b927a64 100644
--- a/epan/dissectors/Makefile.common
+++ b/epan/dissectors/Makefile.common
@@ -101,6 +101,7 @@ ASN_DISSECTOR_SRC = \
packet-h245.c \
packet-h248.c \
packet-h450.c \
+ packet-h450-ros.c \
packet-imf.c \
packet-inap.c \
packet-ldap.c \
@@ -868,7 +869,7 @@ DISSECTOR_INCLUDES = \
packet-h235.h \
packet-h245.h \
packet-h248.h \
- packet-h450.h \
+ packet-h450-ros.h \
packet-hci_h4.h \
packet-hclnfsd.h \
packet-hpext.h \
diff --git a/epan/dissectors/packet-h450.c b/epan/dissectors/packet-h450.c
index c3bb1e8f3d..05db2fc411 100644
--- a/epan/dissectors/packet-h450.c
+++ b/epan/dissectors/packet-h450.c
@@ -1,7 +1,7 @@
/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
/* .\packet-h450.c */
-/* ../../tools/asn2wrs.py -e -p h450 -c h450.cnf -s packet-h450-template h4501.asn */
+/* ../../tools/asn2wrs.py -c h450.cnf -s packet-h450-template H4501-Supplementary-ServiceAPDU-Structure.asn Addressing-Data-Elements.asn H225-generic-parameters-definition.asn Manufacturer-specific-service-extension-definition.asn H4501-General-Error-List.asn Call-Transfer-Operations.asn Call-Diversion-Operations.asn Call-Hold-Operations.asn Call-Park-Pickup-Operations.asn Call-Waiting-Operations.asn Message-Waiting-Indication-Operations.asn Name-Operations.asn Call-Completion-Operations.asn Call-Offer-Operations.asn Call-Intrusion-Operations.asn Common-Information-Operations.asn */
/* Input file: packet-h450-template.c */
@@ -46,178 +46,28 @@
#include <stdio.h>
#include <string.h>
-
#include <epan/asn1.h>
-#include "packet-h450.h"
-#include "packet-ber.h"
#include "packet-per.h"
#include "packet-h225.h"
-#define PNAME "h450"
-#define PSNAME "h450"
+#include "packet-h450-ros.h"
+
+#define PNAME "H.450 Supplementary Services"
+#define PSNAME "H450"
#define PFNAME "h450"
-/* H.450.2 Call Transfer constants */
-#define CallTransferIdentify 7
-#define CallTransferAbandon 8
-#define CallTransferInitiate 9
-#define CallTransferSetup 10
-#define CallTransferUpdate 13
-#define SubaddressTransfer 14
-#define CallTransferComplete 12
-#define CallTransferActive 11
-
-/* H.450.3 Call Diversion constants */
-#define ActivateDiversionQ 15
-#define DeactivateDiversionQ 16
-#define InterrogateDiversionQ 17
-#define CheckRestriction 18
-#define CallRerouting 19
-#define DivertingLegInformation1 20
-#define DivertingLegInformation2 21
-#define DivertingLegInformation3 22
-#define DivertingLegInformation4 100
-#define CfnrDivertedLegFailed 23
-
-/* H.450.4 Call Hold constants */
-#define HoldNotific 101
-#define RetrieveNotific 102
-#define RemoteHold 103
-#define RemoteRetrieve 104
-
-/* H.450.5 Call Park and Pickup constants */
-#define CpRequest 106
-#define CpSetup 107
-#define GroupIndicationOn 108
-#define GroupIndicationOff 109
-#define Pickrequ 110
-#define Pickup 111
-#define PickExe 112
-#define CpNotify 113
-#define CpickupNotify 114
-
-/* H.450.6 Call Waiting constants */
-#define CallWaiting 105
-
-/* H.450.7 Message Waiting Indication constants */
-#define MWIActivate 80
-#define MWIDeactivate 81
-#define MWIInterrogate 82
-
-/* H.450.8 Name Identification constants */
-#define NIcallingName 0
-#define NIalertingName 1
-#define NIconnectedName 2
-#define NIbusyName 3
-
-/* H.450.9 Call Completion constants */
-#define CCBSRequest 40
-#define CCNRRequest 27
-#define CCCancel 28
-#define CCExecPossible 29
-#define CCRingout 31
-#define CCSuspend 32
-#define CCResume 33
-
-/* H.450.10 Call Offer constants */
-#define CallOfferRequest 34
-#define RemoteUserAlerting 115
-#define CFBOverride 49
-
-/* H.450.11 Call Intrusion constants */
-#define CallIntrusionRequest 43
-#define CallIntrusionGetCIPL 44
-#define CallIntrusionIsolate 45
-#define CallIntrusionForcedRelease 46
-#define CallIntrusionWOBRequest 47
-#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;
/* Initialize the protocol and registered fields */
-static int proto_h4501 = -1;
-
-static int hf_h4501 = -1;
-static int hf_h4501_dummy = -1;
-static int hf_h4501_constrained_invokeId = -1;
-static int hf_h4501_invokeId = -1;
-static int hf_h4501_localOpcode = -1;
-static int hf_h4501_globalCode = -1;
-static int hf_h4501_globalargument = -1;
-static int hf_h4501_opcode = -1;
-static int hf_h4501_ReturnResult_result = -1;
-static int hf_h4501_result = -1;
-static int hf_h4501_ReturnResult = -1;
-static int hf_h4501_localErrorCode = -1;
-static int hf_h4501_errorCode = -1;
-static int hf_h4501_parameter = -1;
-static int hf_h4501_ReturnError = -1;
-static int hf_h4501_GeneralProblem = -1;
-static int hf_h4501_InvokeProblem = -1;
-static int hf_h4501_ReturnResultProblem = -1;
-static int hf_h4501_ReturnErrorProblem = -1;
-static int hf_h4501_problem = -1;
-static int hf_h4501_Reject = -1;
-
-static int hf_h4502_CTIdentifyRes = -1;
-static int hf_h4502_DummyRes = -1;
-static int hf_h4502_DummyArg = -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;
-static int hf_h4504_RemoteRetrieveArg = -1;
-static int hf_h4504_RemoteRetrieveRes = -1;
-
-static int hf_h4507_MWIActivateArg = -1;
-static int hf_h4507_MWIDeactivateArg = -1;
-static int hf_h4507_MwiDummyRes = -1;
-static int hf_h4507_MWIInterrogateArg = -1;
-static int hf_h4507_MWIInterrogateRes = -1;
-
-static int hf_h4508_CallingNameArg = -1;
-static int hf_h4508_AlertingNameArg = -1;
-static int hf_h4508_ConnectedNameArg = -1;
-static int hf_h4508_BusyNameArg = -1;
-static int hf_h45012_CmnRequest = -1;
-static int hf_h45012_CmnInform = -1;
-
-static int hf_h4501_Invoke = -1;
-static int hf_h4501_ROS = -1;
-
+static int proto_h450 = -1;
+static int hf_h450_operation = -1;
+static int hf_h450_error = -1;
/*--- Included file: packet-h450-hf.c ---*/
#line 1 "packet-h450-hf.c"
-static int hf_h450_CallTransferIdentify_PDU = -1; /* CallTransferIdentify */
-static int hf_h450_CallTransferAbandon_PDU = -1; /* CallTransferAbandon */
-static int hf_h450_CallTransferInitiate_PDU = -1; /* CallTransferInitiate */
-static int hf_h450_CallTransferSetup_PDU = -1; /* CallTransferSetup */
-static int hf_h450_CallTransferUpdate_PDU = -1; /* CallTransferUpdate */
-static int hf_h450_SubaddressTransfer_PDU = -1; /* SubaddressTransfer */
-static int hf_h450_CallTransferComplete_PDU = -1; /* CallTransferComplete */
-static int hf_h450_CallTransferActive_PDU = -1; /* CallTransferActive */
-static int hf_h450_ActivateDiversionQArg_PDU = -1; /* ActivateDiversionQArg */
-static int hf_h450_ActivateDiversionQRes_PDU = -1; /* ActivateDiversionQRes */
-static int hf_h450_DeactivateDiversionQRes_PDU = -1; /* DeactivateDiversionQRes */
-static int hf_h450_InterrogateDiversionQRes_PDU = -1; /* InterrogateDiversionQRes */
-static int hf_h450_CheckRestrictionRes_PDU = -1; /* CheckRestrictionRes */
-static int hf_h450_CallReroutingRes_PDU = -1; /* CallReroutingRes */
+
+/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
+
+static int hf_h450_h450_H4501SupplementaryService_PDU = -1; /* H4501SupplementaryService */
static int hf_h450_networkFacilityExtension = -1; /* NetworkFacilityExtension */
static int hf_h450_interpretationApdu = -1; /* InterpretationApdu */
static int hf_h450_serviceApdu = -1; /* ServiceApdus */
@@ -230,8 +80,8 @@ 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; /* SEQUENCE_OF_ROS */
-static int hf_h450_rosApdus_item = -1; /* ROS */
+static int hf_h450_rosApdus = -1; /* SEQUENCE_SIZE_1_MAX_OF_ROS */
+static int hf_h450_rosApdus_item = -1; /* T_rosApdus_item */
static int hf_h450_addressScreened_presentationAllowedAddress = -1; /* AddressScreened */
static int hf_h450_presentationRestricted = -1; /* NULL */
static int hf_h450_numberNotAvailableDueToInterworking = -1; /* NULL */
@@ -256,254 +106,378 @@ static int hf_h450_userSpecifiedSubaddress = -1; /* UserSpecifiedSubaddress */
static int hf_h450_nsapSubaddress = -1; /* NSAPSubaddress */
static int hf_h450_subaddressInformation = -1; /* SubaddressInformation */
static int hf_h450_oddCountIndicator = -1; /* BOOLEAN */
-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_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_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_holdNotificArg_extensionArg_item = -1; /* MixedExtension */
-static int hf_h450_retrieveNotificArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_retrieveNotificArg_extensionArg_item = -1; /* MixedExtension */
-static int hf_h450_remoteHoldArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_remoteHoldArg_extensionArg_item = -1; /* 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_remoteRetrieveArg_extensionArg_item = -1; /* 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_cpRequestArg_extensionArg_item = -1; /* 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_cpSetupArg_extensionArg_item = -1; /* 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_groupIndicationOnArg_extensionArg_item = -1; /* MixedExtension */
-static int hf_h450_groupIndicationOffArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_groupIndicationOffArg_extensionArg_item = -1; /* 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_pickrequArg_extensionArg_item = -1; /* MixedExtension */
-static int hf_h450_pickupArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_pickupArg_extensionArg_item = -1; /* MixedExtension */
-static int hf_h450_pickExeArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_pickExeArg_extensionArg_item = -1; /* MixedExtension */
-static int hf_h450_cpNotifyArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cpNotifyArg_extensionArg_item = -1; /* MixedExtension */
-static int hf_h450_cpickupNotifyArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cpickupNotifyArg_extensionArg_item = -1; /* 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_callWaitingArg_extensionArg_item = -1; /* 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_nameArg_extensionArg_item = -1; /* 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_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_ccRequestArg_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_ccRequestRes_extension_item = -1; /* 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_ccShortArg_extension_item = -1; /* MixedExtension */
-static int hf_h450_ccLongArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_ccLongArg_extension_item = -1; /* MixedExtension */
-static int hf_h450_coReqOptArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_coReqOptArg_extension_item = -1; /* MixedExtension */
-static int hf_h450_rUAlertOptArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_rUAlertOptArg_extension_item = -1; /* MixedExtension */
-static int hf_h450_cfbOvrOptArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cfbOvrOptArg_extension_item = -1; /* 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_cIRequestArg_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_cIRequestRes_resultExtension_item = -1; /* MixedExtension */
-static int hf_h450_cIGetCIPLOptArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cIGetCIPLOptArg_argumentExtension_item = -1; /* 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_cIGetCIPLRes_resultExtension_item = -1; /* MixedExtension */
-static int hf_h450_cIIsOptArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cIIsOptArg_argumentExtension_item = -1; /* MixedExtension */
-static int hf_h450_cIIsOptRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cIIsOptRes_resultExtension_item = -1; /* MixedExtension */
-static int hf_h450_cIFrcRelArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cIFrcRelArg_argumentExtension_item = -1; /* MixedExtension */
-static int hf_h450_cIFrcRelOptRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cIFrcRelOptRes_resultExtension_item = -1; /* MixedExtension */
-static int hf_h450_cIWobOptArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cIWobOptArg_argumentExtension_item = -1; /* MixedExtension */
-static int hf_h450_cIWobOptRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cIWobOptRes_resultExtension_item = -1; /* 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_cISilentArg_argumentExtension_item = -1; /* MixedExtension */
-static int hf_h450_cISilentOptRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cISilentOptRes_resultExtension_item = -1; /* MixedExtension */
-static int hf_h450_cINotificationArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cINotificationArg_argumentExtension_item = -1; /* 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_cmnArg_extension_item = -1; /* MixedExtension */
-static int hf_h450_cmnRequestArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
-static int hf_h450_cmnRequestArg_extensionArg_item = -1; /* 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 */
+static int hf_h450_extensionArgument = -1; /* T_extensionArgument */
+
+/* --- Module Call-Transfer-Operations --- --- --- */
+
+static int hf_h450_2_h450_2_DummyArg_PDU = -1; /* DummyArg */
+static int hf_h450_2_h450_2_CTIdentifyRes_PDU = -1; /* CTIdentifyRes */
+static int hf_h450_2_h450_2_CTInitiateArg_PDU = -1; /* CTInitiateArg */
+static int hf_h450_2_h450_2_DummyRes_PDU = -1; /* DummyRes */
+static int hf_h450_2_h450_2_CTSetupArg_PDU = -1; /* CTSetupArg */
+static int hf_h450_2_h450_2_CTUpdateArg_PDU = -1; /* CTUpdateArg */
+static int hf_h450_2_h450_2_SubaddressTransferArg_PDU = -1; /* SubaddressTransferArg */
+static int hf_h450_2_h450_2_CTCompleteArg_PDU = -1; /* CTCompleteArg */
+static int hf_h450_2_h450_2_CTActiveArg_PDU = -1; /* CTActiveArg */
+static int hf_h450_2_h450_2_PAR_unspecified_PDU = -1; /* PAR_unspecified */
+static int hf_h450_2_extensionSeq = -1; /* ExtensionSeq */
+static int hf_h450_2_nonStandardData = -1; /* NonStandardParameter */
+static int hf_h450_2_callIdentity = -1; /* CallIdentity */
+static int hf_h450_2_reroutingNumber = -1; /* EndpointAddress */
+static int hf_h450_2_cTInitiateArg_argumentExtension = -1; /* T_cTInitiateArg_argumentExtension */
+static int hf_h450_2_transferringNumber = -1; /* EndpointAddress */
+static int hf_h450_2_cTSetupArg_argumentExtension = -1; /* T_cTSetupArg_argumentExtension */
+static int hf_h450_2_resultExtension = -1; /* T_resultExtension */
+static int hf_h450_2_redirectionNumber = -1; /* EndpointAddress */
+static int hf_h450_2_redirectionInfo = -1; /* BMPString_SIZE_1_128 */
+static int hf_h450_2_basicCallInfoElements = -1; /* H225InformationElement */
+static int hf_h450_2_cTUpdateArg_argumentExtension = -1; /* T_cTUpdateArg_argumentExtension */
+static int hf_h450_2_redirectionSubaddress = -1; /* PartySubaddress */
+static int hf_h450_2_subaddressTransferArg_argumentExtension = -1; /* T_subaddressTransferArg_argumentExtension */
+static int hf_h450_2_endDesignation = -1; /* EndDesignation */
+static int hf_h450_2_callStatus = -1; /* CallStatus */
+static int hf_h450_2_cTCompleteArg_argumentExtension = -1; /* T_cTCompleteArg_argumentExtension */
+static int hf_h450_2_connectedAddress = -1; /* EndpointAddress */
+static int hf_h450_2_connectedInfo = -1; /* BMPString_SIZE_1_128 */
+static int hf_h450_2_cTActiveArg_argumentExtension = -1; /* T_cTActiveArg_argumentExtension */
+static int hf_h450_2_ExtensionSeq_item = -1; /* Extension */
+static int hf_h450_2_unspecified_extension = -1; /* Extension */
+static int hf_h450_2_nonStandard = -1; /* NonStandardParameter */
+
+/* --- Module Call-Diversion-Operations --- --- --- */
+
+static int hf_h450_3_h450_3_ARG_activateDiversionQ_PDU = -1; /* ARG_activateDiversionQ */
+static int hf_h450_3_h450_3_RES_activateDiversionQ_PDU = -1; /* RES_activateDiversionQ */
+static int hf_h450_3_h450_3_ARG_deactivateDiversionQ_PDU = -1; /* ARG_deactivateDiversionQ */
+static int hf_h450_3_h450_3_RES_deactivateDiversionQ_PDU = -1; /* RES_deactivateDiversionQ */
+static int hf_h450_3_h450_3_ARG_interrogateDiversionQ_PDU = -1; /* ARG_interrogateDiversionQ */
+static int hf_h450_3_h450_3_IntResultList_PDU = -1; /* IntResultList */
+static int hf_h450_3_h450_3_ARG_checkRestriction_PDU = -1; /* ARG_checkRestriction */
+static int hf_h450_3_h450_3_RES_checkRestriction_PDU = -1; /* RES_checkRestriction */
+static int hf_h450_3_h450_3_ARG_callRerouting_PDU = -1; /* ARG_callRerouting */
+static int hf_h450_3_h450_3_RES_callRerouting_PDU = -1; /* RES_callRerouting */
+static int hf_h450_3_h450_3_ARG_divertingLegInformation1_PDU = -1; /* ARG_divertingLegInformation1 */
+static int hf_h450_3_h450_3_ARG_divertingLegInformation2_PDU = -1; /* ARG_divertingLegInformation2 */
+static int hf_h450_3_h450_3_ARG_divertingLegInformation3_PDU = -1; /* ARG_divertingLegInformation3 */
+static int hf_h450_3_h450_3_ARG_divertingLegInformation4_PDU = -1; /* ARG_divertingLegInformation4 */
+static int hf_h450_3_h450_3_ARG_cfnrDivertedLegFailed_PDU = -1; /* ARG_cfnrDivertedLegFailed */
+static int hf_h450_3_h450_3_PAR_unspecified_PDU = -1; /* PAR_unspecified */
+static int hf_h450_3_procedure = -1; /* Procedure */
+static int hf_h450_3_basicService = -1; /* BasicService */
+static int hf_h450_3_divertedToAddress = -1; /* EndpointAddress */
+static int hf_h450_3_servedUserNr = -1; /* EndpointAddress */
+static int hf_h450_3_activatingUserNr = -1; /* EndpointAddress */
+static int hf_h450_3_activateDiversionQArg_extension = -1; /* ActivateDiversionQArg_extension */
+static int hf_h450_3_extensionSeq = -1; /* ExtensionSeq */
+static int hf_h450_3_nonStandardData = -1; /* NonStandardParameter */
+static int hf_h450_3_deactivatingUserNr = -1; /* EndpointAddress */
+static int hf_h450_3_deactivateDiversionQArg_extension = -1; /* DeactivateDiversionQArg_extension */
+static int hf_h450_3_interrogatingUserNr = -1; /* EndpointAddress */
+static int hf_h450_3_interrogateDiversionQ_extension = -1; /* InterrogateDiversionQ_extension */
+static int hf_h450_3_divertedToNr = -1; /* EndpointAddress */
+static int hf_h450_3_checkRestrictionArg_extension = -1; /* CheckRestrictionArg_extension */
+static int hf_h450_3_reroutingReason = -1; /* DiversionReason */
+static int hf_h450_3_originalReroutingReason = -1; /* DiversionReason */
+static int hf_h450_3_calledAddress = -1; /* EndpointAddress */
+static int hf_h450_3_diversionCounter = -1; /* INTEGER_1_15 */
+static int hf_h450_3_h225InfoElement = -1; /* H225InformationElement */
+static int hf_h450_3_lastReroutingNr = -1; /* EndpointAddress */
+static int hf_h450_3_subscriptionOption = -1; /* SubscriptionOption */
+static int hf_h450_3_callingPartySubaddress = -1; /* PartySubaddress */
+static int hf_h450_3_callingNumber = -1; /* EndpointAddress */
+static int hf_h450_3_callingInfo = -1; /* BMPString_SIZE_1_128 */
+static int hf_h450_3_originalCalledNr = -1; /* EndpointAddress */
+static int hf_h450_3_redirectingInfo = -1; /* BMPString_SIZE_1_128 */
+static int hf_h450_3_originalCalledInfo = -1; /* BMPString_SIZE_1_128 */
+static int hf_h450_3_callReroutingArg_extension = -1; /* CallReroutingArg_extension */
+static int hf_h450_3_diversionReason = -1; /* DiversionReason */
+static int hf_h450_3_nominatedNr = -1; /* EndpointAddress */
+static int hf_h450_3_nominatedInfo = -1; /* BMPString_SIZE_1_128 */
+static int hf_h450_3_redirectingNr = -1; /* EndpointAddress */
+static int hf_h450_3_divertingLegInformation1Arg_extension = -1; /* DivertingLegInformation1Arg_extension */
+static int hf_h450_3_originalDiversionReason = -1; /* DiversionReason */
+static int hf_h450_3_divertingNr = -1; /* EndpointAddress */
+static int hf_h450_3_divertingLegInformation2Arg_extension = -1; /* DivertingLegInformation2Arg_extension */
+static int hf_h450_3_presentationAllowedIndicator = -1; /* PresentationAllowedIndicator */
+static int hf_h450_3_redirectionNr = -1; /* EndpointAddress */
+static int hf_h450_3_redirectionInfo = -1; /* BMPString_SIZE_1_128 */
+static int hf_h450_3_divertingLegInformation3Arg_extension = -1; /* DivertingLegInformation3Arg_extension */
+static int hf_h450_3_callingNr = -1; /* EndpointAddress */
+static int hf_h450_3_divertingLegInformation4Arg_extension = -1; /* DivertingLegInformation4Arg_extension */
+static int hf_h450_3_IntResultList_item = -1; /* IntResult */
+static int hf_h450_3_remoteEnabled = -1; /* BOOLEAN */
+static int hf_h450_3_intResult_extension = -1; /* IntResult_extension */
+static int hf_h450_3_unspecified_extension = -1; /* Extension */
+static int hf_h450_3_nonStandard = -1; /* NonStandardParameter */
+static int hf_h450_3_ExtensionSeq_item = -1; /* Extension */
+
+/* --- Module Call-Hold-Operations --- --- --- */
+
+static int hf_h450_4_h450_4_HoldNotificArg_PDU = -1; /* HoldNotificArg */
+static int hf_h450_4_h450_4_RetrieveNotificArg_PDU = -1; /* RetrieveNotificArg */
+static int hf_h450_4_h450_4_RemoteHoldArg_PDU = -1; /* RemoteHoldArg */
+static int hf_h450_4_h450_4_RemoteHoldRes_PDU = -1; /* RemoteHoldRes */
+static int hf_h450_4_h450_4_RemoteRetrieveArg_PDU = -1; /* RemoteRetrieveArg */
+static int hf_h450_4_h450_4_RemoteRetrieveRes_PDU = -1; /* RemoteRetrieveRes */
+static int hf_h450_4_h450_4_PAR_undefined_PDU = -1; /* PAR_undefined */
+static int hf_h450_4_holdNotificArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_4_holdNotificArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_4_retrieveNotificArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_4_retrieveNotificArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_4_remoteHoldArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_4_remoteHoldArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_4_extensionRes = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_4_extensionRes_item = -1; /* MixedExtension */
+static int hf_h450_4_remoteRetrieveArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_4_remoteRetrieveArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_4_mixedExtension_extension = -1; /* Extension */
+static int hf_h450_4_nonStandardData = -1; /* NonStandardParameter */
+static int hf_h450_4_PAR_undefined_item = -1; /* MixedExtension */
+
+/* --- Module Call-Park-Pickup-Operations --- --- --- */
+
+static int hf_h450_5_h450_5_CpRequestArg_PDU = -1; /* CpRequestArg */
+static int hf_h450_5_h450_5_CpRequestRes_PDU = -1; /* CpRequestRes */
+static int hf_h450_5_h450_5_CpSetupArg_PDU = -1; /* CpSetupArg */
+static int hf_h450_5_h450_5_CpSetupRes_PDU = -1; /* CpSetupRes */
+static int hf_h450_5_h450_5_GroupIndicationOnArg_PDU = -1; /* GroupIndicationOnArg */
+static int hf_h450_5_h450_5_GroupIndicationOnRes_PDU = -1; /* GroupIndicationOnRes */
+static int hf_h450_5_h450_5_GroupIndicationOffArg_PDU = -1; /* GroupIndicationOffArg */
+static int hf_h450_5_h450_5_GroupIndicationOffRes_PDU = -1; /* GroupIndicationOffRes */
+static int hf_h450_5_h450_5_PickrequArg_PDU = -1; /* PickrequArg */
+static int hf_h450_5_h450_5_PickrequRes_PDU = -1; /* PickrequRes */
+static int hf_h450_5_h450_5_PickupArg_PDU = -1; /* PickupArg */
+static int hf_h450_5_h450_5_PickupRes_PDU = -1; /* PickupRes */
+static int hf_h450_5_h450_5_PickExeArg_PDU = -1; /* PickExeArg */
+static int hf_h450_5_h450_5_PickExeRes_PDU = -1; /* PickExeRes */
+static int hf_h450_5_h450_5_CpNotifyArg_PDU = -1; /* CpNotifyArg */
+static int hf_h450_5_h450_5_CpickupNotifyArg_PDU = -1; /* CpickupNotifyArg */
+static int hf_h450_5_h450_5_PAR_undefined_PDU = -1; /* PAR_undefined */
+static int hf_h450_5_parkingNumber = -1; /* EndpointAddress */
+static int hf_h450_5_parkedNumber = -1; /* EndpointAddress */
+static int hf_h450_5_parkedToNumber = -1; /* EndpointAddress */
+static int hf_h450_5_parkedToPosition = -1; /* ParkedToPosition */
+static int hf_h450_5_cpRequestArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_5_cpRequestArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_5_parkCondition = -1; /* ParkCondition */
+static int hf_h450_5_extensionRes = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_5_extensionRes_item = -1; /* MixedExtension */
+static int hf_h450_5_cpSetupArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_5_cpSetupArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_5_callPickupId = -1; /* CallIdentifier */
+static int hf_h450_5_groupMemberUserNr = -1; /* EndpointAddress */
+static int hf_h450_5_retrieveCallType = -1; /* CallType */
+static int hf_h450_5_partyToRetrieve = -1; /* EndpointAddress */
+static int hf_h450_5_retrieveAddress = -1; /* EndpointAddress */
+static int hf_h450_5_parkPosition = -1; /* ParkedToPosition */
+static int hf_h450_5_groupIndicationOnArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_5_groupIndicationOnArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_5_groupIndicationOffArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_5_groupIndicationOffArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_5_picking_upNumber = -1; /* EndpointAddress */
+static int hf_h450_5_pickrequArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_5_pickrequArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_5_pickupArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_5_pickupArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_5_pickExeArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_5_pickExeArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_5_cpNotifyArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_5_cpNotifyArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_5_cpickupNotifyArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_5_cpickupNotifyArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_5_PAR_undefined_item = -1; /* MixedExtension */
+
+/* --- Module Call-Waiting-Operations --- --- --- */
+
+static int hf_h450_6_h450_6_CallWaitingArg_PDU = -1; /* CallWaitingArg */
+static int hf_h450_6_nbOfAddWaitingCalls = -1; /* INTEGER_0_255 */
+static int hf_h450_6_callWaitingArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_6_callWaitingArg_extensionArg_item = -1; /* MixedExtension */
+
+/* --- Module Message-Waiting-Indication-Operations --- --- --- */
+
+static int hf_h450_7_h450_7_MWIActivateArg_PDU = -1; /* MWIActivateArg */
+static int hf_h450_7_h450_7_DummyRes_PDU = -1; /* DummyRes */
+static int hf_h450_7_h450_7_MWIDeactivateArg_PDU = -1; /* MWIDeactivateArg */
+static int hf_h450_7_h450_7_MWIInterrogateArg_PDU = -1; /* MWIInterrogateArg */
+static int hf_h450_7_h450_7_MWIInterrogateRes_PDU = -1; /* MWIInterrogateRes */
+static int hf_h450_7_h450_7_PAR_undefined_PDU = -1; /* PAR_undefined */
+static int hf_h450_7_servedUserNr = -1; /* EndpointAddress */
+static int hf_h450_7_basicService = -1; /* BasicService */
+static int hf_h450_7_msgCentreId = -1; /* MsgCentreId */
+static int hf_h450_7_nbOfMessages = -1; /* NbOfMessages */
+static int hf_h450_7_originatingNr = -1; /* EndpointAddress */
+static int hf_h450_7_timestamp = -1; /* TimeStamp */
+static int hf_h450_7_priority = -1; /* INTEGER_0_9 */
+static int hf_h450_7_mWIActivateArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_7_mWIActivateArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_7_DummyRes_item = -1; /* MixedExtension */
+static int hf_h450_7_callbackReq = -1; /* BOOLEAN */
+static int hf_h450_7_mWIDeactivateArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_7_mWIDeactivateArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_7_mWIInterrogateArg_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_7_mWIInterrogateArg_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_7_MWIInterrogateRes_item = -1; /* MWIInterrogateResElt */
+static int hf_h450_7_mWIInterrogateResElt_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_7_mWIInterrogateResElt_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_7_integer = -1; /* INTEGER_0_65535 */
+static int hf_h450_7_partyNumber = -1; /* EndpointAddress */
+static int hf_h450_7_numericString = -1; /* NumericString_SIZE_1_10 */
+static int hf_h450_7_PAR_undefined_item = -1; /* MixedExtension */
+
+/* --- Module Name-Operations --- --- --- */
+
+static int hf_h450_8_h450_8_ARG_callingName_PDU = -1; /* ARG_callingName */
+static int hf_h450_8_h450_8_ARG_alertingName_PDU = -1; /* ARG_alertingName */
+static int hf_h450_8_h450_8_ARG_connectedName_PDU = -1; /* ARG_connectedName */
+static int hf_h450_8_h450_8_ARG_busyName_PDU = -1; /* ARG_busyName */
+static int hf_h450_8_name = -1; /* Name */
+static int hf_h450_8_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_8_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_8_namePresentationAllowed = -1; /* NamePresentationAllowed */
+static int hf_h450_8_namePresentationRestricted = -1; /* NamePresentationRestricted */
+static int hf_h450_8_nameNotAvailable = -1; /* NULL */
+static int hf_h450_8_simpleName = -1; /* SimpleName */
+static int hf_h450_8_extendedName = -1; /* ExtendedName */
+static int hf_h450_8_restrictedNull = -1; /* NULL */
+
+/* --- Module Call-Completion-Operations --- --- --- */
+
+static int hf_h450_9_h450_9_CcRequestArg_PDU = -1; /* CcRequestArg */
+static int hf_h450_9_h450_9_CcRequestRes_PDU = -1; /* CcRequestRes */
+static int hf_h450_9_h450_9_CcArg_PDU = -1; /* CcArg */
+static int hf_h450_9_h450_9_CcShortArg_PDU = -1; /* CcShortArg */
+static int hf_h450_9_numberA = -1; /* EndpointAddress */
+static int hf_h450_9_numberB = -1; /* EndpointAddress */
+static int hf_h450_9_ccIdentifier = -1; /* CallIdentifier */
+static int hf_h450_9_service = -1; /* BasicService */
+static int hf_h450_9_can_retain_service = -1; /* BOOLEAN */
+static int hf_h450_9_retain_sig_connection = -1; /* BOOLEAN */
+static int hf_h450_9_ccRequestArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_9_ccRequestArg_extension_item = -1; /* MixedExtension */
+static int hf_h450_9_retain_service = -1; /* BOOLEAN */
+static int hf_h450_9_ccRequestRes_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_9_ccRequestRes_extension_item = -1; /* MixedExtension */
+static int hf_h450_9_shortArg = -1; /* CcShortArg */
+static int hf_h450_9_longArg = -1; /* CcLongArg */
+static int hf_h450_9_ccShortArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_9_ccShortArg_extension_item = -1; /* MixedExtension */
+static int hf_h450_9_ccLongArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_9_ccLongArg_extension_item = -1; /* MixedExtension */
+
+/* --- Module Call-Offer-Operations --- --- --- */
+
+static int hf_h450_10_h450_10_CoReqOptArg_PDU = -1; /* CoReqOptArg */
+static int hf_h450_10_h450_10_RUAlertOptArg_PDU = -1; /* RUAlertOptArg */
+static int hf_h450_10_h450_10_CfbOvrOptArg_PDU = -1; /* CfbOvrOptArg */
+static int hf_h450_10_coReqOptArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_10_coReqOptArg_extension_item = -1; /* MixedExtension */
+static int hf_h450_10_rUAlertOptArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_10_rUAlertOptArg_extension_item = -1; /* MixedExtension */
+static int hf_h450_10_cfbOvrOptArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_10_cfbOvrOptArg_extension_item = -1; /* MixedExtension */
+
+/* --- Module Call-Intrusion-Operations --- --- --- */
+
+static int hf_h450_11_h450_11_CIRequestArg_PDU = -1; /* CIRequestArg */
+static int hf_h450_11_h450_11_CIRequestRes_PDU = -1; /* CIRequestRes */
+static int hf_h450_11_h450_11_CIGetCIPLOptArg_PDU = -1; /* CIGetCIPLOptArg */
+static int hf_h450_11_h450_11_CIGetCIPLRes_PDU = -1; /* CIGetCIPLRes */
+static int hf_h450_11_h450_11_CIIsOptArg_PDU = -1; /* CIIsOptArg */
+static int hf_h450_11_h450_11_CIIsOptRes_PDU = -1; /* CIIsOptRes */
+static int hf_h450_11_h450_11_CIFrcRelArg_PDU = -1; /* CIFrcRelArg */
+static int hf_h450_11_h450_11_CIFrcRelOptRes_PDU = -1; /* CIFrcRelOptRes */
+static int hf_h450_11_h450_11_CIWobOptArg_PDU = -1; /* CIWobOptArg */
+static int hf_h450_11_h450_11_CIWobOptRes_PDU = -1; /* CIWobOptRes */
+static int hf_h450_11_h450_11_CISilentArg_PDU = -1; /* CISilentArg */
+static int hf_h450_11_h450_11_CISilentOptRes_PDU = -1; /* CISilentOptRes */
+static int hf_h450_11_h450_11_CINotificationArg_PDU = -1; /* CINotificationArg */
+static int hf_h450_11_ciCapabilityLevel = -1; /* CICapabilityLevel */
+static int hf_h450_11_cIRequestArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cIRequestArg_argumentExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_ciStatusInformation = -1; /* CIStatusInformation */
+static int hf_h450_11_cIRequestRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cIRequestRes_resultExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_cIGetCIPLOptArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cIGetCIPLOptArg_argumentExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_ciProtectionLevel = -1; /* CIProtectionLevel */
+static int hf_h450_11_silentMonitoringPermitted = -1; /* NULL */
+static int hf_h450_11_cIGetCIPLRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cIGetCIPLRes_resultExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_cIIsOptArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cIIsOptArg_argumentExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_cIIsOptRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cIIsOptRes_resultExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_cIFrcRelArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cIFrcRelArg_argumentExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_cIFrcRelOptRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cIFrcRelOptRes_resultExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_cIWobOptArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cIWobOptArg_argumentExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_cIWobOptRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cIWobOptRes_resultExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_specificCall = -1; /* CallIdentifier */
+static int hf_h450_11_cISilentArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cISilentArg_argumentExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_cISilentOptRes_resultExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cISilentOptRes_resultExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_cINotificationArg_argumentExtension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_11_cINotificationArg_argumentExtension_item = -1; /* MixedExtension */
+static int hf_h450_11_callIntrusionImpending = -1; /* NULL */
+static int hf_h450_11_callIntruded = -1; /* NULL */
+static int hf_h450_11_callIsolated = -1; /* NULL */
+static int hf_h450_11_callForceReleased = -1; /* NULL */
+static int hf_h450_11_callIntrusionComplete = -1; /* NULL */
+static int hf_h450_11_callIntrusionEnd = -1; /* NULL */
+
+/* --- Module Common-Information-Operations --- --- --- */
+
+static int hf_h450_12_h450_12_DummyArg_PDU = -1; /* DummyArg */
+static int hf_h450_12_h450_12_CmnArg_PDU = -1; /* CmnArg */
+static int hf_h450_12_featureList = -1; /* FeatureList */
+static int hf_h450_12_featureValues = -1; /* FeatureValues */
+static int hf_h450_12_featureControl = -1; /* FeatureControl */
+static int hf_h450_12_cmnArg_extension = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_12_cmnArg_extension_item = -1; /* MixedExtension */
+static int hf_h450_12_extensionArg = -1; /* SEQUENCE_SIZE_0_255_OF_MixedExtension */
+static int hf_h450_12_extensionArg_item = -1; /* MixedExtension */
+static int hf_h450_12_ssCFreRoutingSupported = -1; /* NULL */
+static int hf_h450_12_ssCTreRoutingSupported = -1; /* NULL */
+static int hf_h450_12_ssCCBSPossible = -1; /* NULL */
+static int hf_h450_12_ssCCNRPossible = -1; /* NULL */
+static int hf_h450_12_ssCOSupported = -1; /* NULL */
+static int hf_h450_12_ssCIForcedReleaseSupported = -1; /* NULL */
+static int hf_h450_12_ssCIIsolationSupported = -1; /* NULL */
+static int hf_h450_12_ssCIWaitOnBusySupported = -1; /* NULL */
+static int hf_h450_12_ssCISilentMonitoringSupported = -1; /* NULL */
+static int hf_h450_12_ssCIConferenceSupported = -1; /* NULL */
+static int hf_h450_12_ssCHFarHoldSupported = -1; /* NULL */
+static int hf_h450_12_ssMWICallbackSupported = -1; /* NULL */
+static int hf_h450_12_ssCPCallParkSupported = -1; /* NULL */
+static int hf_h450_12_partyCategory = -1; /* PartyCategory */
+static int hf_h450_12_ssCIprotectionLevel = -1; /* SSCIProtectionLevel */
+static int hf_h450_12_ssCHDoNotHold = -1; /* NULL */
+static int hf_h450_12_ssCTDoNotTransfer = -1; /* NULL */
+static int hf_h450_12_ssMWICallbackCall = -1; /* NULL */
+static int hf_h450_12_ssCISilentMonitorPermitted = -1; /* NULL */
/*--- End of included file: packet-h450-hf.c ---*/
-#line 197 "packet-h450-template.c"
+#line 57 "packet-h450-template.c"
/* Initialize the subtree pointers */
-static gint ett_h4501 = -1;
-static gint ett_h4501_opcode = -1;
-static gint ett_h4501_result = -1;
-static gint ett_h4501_errorCode = -1;
-
-static gint ett_h4501_problem = -1;
-static gint ett_h4501_Reject = -1;
-static gint ett_h4501_ReturnError = -1;
-static gint ett_h4501_ReturnResult = -1;
-static gint ett_h4501_Invoke = -1;
-static gint ett_h4501_ROS = -1;
-
/*--- Included file: packet-h450-ett.c ---*/
#line 1 "packet-h450-ett.c"
+
+/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
+
static gint ett_h450_H4501SupplementaryService = -1;
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_SEQUENCE_OF_ROS = -1;
+static gint ett_h450_SEQUENCE_SIZE_1_MAX_OF_ROS = -1;
static gint ett_h450_PresentedAddressScreened = -1;
static gint ett_h450_PresentedAddressUnscreened = -1;
static gint ett_h450_PresentedNumberScreened = -1;
@@ -515,213 +489,375 @@ static gint ett_h450_EndpointAddress = -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;
-static gint ett_h450_DummyRes = -1;
-static gint ett_h450_CTInitiateArg = -1;
-static gint ett_h450_ArgumentExtension = -1;
-static gint ett_h450_CTSetupArg = -1;
-static gint ett_h450_CTIdentifyRes = -1;
-static gint ett_h450_T_resultExtension = -1;
-static gint ett_h450_CTUpdateArg = -1;
-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_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_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;
-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_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;
+/* --- Module Call-Transfer-Operations --- --- --- */
+
+static gint ett_h450_2_DummyArg = -1;
+static gint ett_h450_2_DummyRes = -1;
+static gint ett_h450_2_CTInitiateArg = -1;
+static gint ett_h450_2_T_cTInitiateArg_argumentExtension = -1;
+static gint ett_h450_2_CTSetupArg = -1;
+static gint ett_h450_2_T_cTSetupArg_argumentExtension = -1;
+static gint ett_h450_2_CTIdentifyRes = -1;
+static gint ett_h450_2_T_resultExtension = -1;
+static gint ett_h450_2_CTUpdateArg = -1;
+static gint ett_h450_2_T_cTUpdateArg_argumentExtension = -1;
+static gint ett_h450_2_SubaddressTransferArg = -1;
+static gint ett_h450_2_T_subaddressTransferArg_argumentExtension = -1;
+static gint ett_h450_2_CTCompleteArg = -1;
+static gint ett_h450_2_T_cTCompleteArg_argumentExtension = -1;
+static gint ett_h450_2_CTActiveArg = -1;
+static gint ett_h450_2_T_cTActiveArg_argumentExtension = -1;
+static gint ett_h450_2_ExtensionSeq = -1;
+static gint ett_h450_2_PAR_unspecified = -1;
+
+/* --- Module Call-Diversion-Operations --- --- --- */
+
+static gint ett_h450_3_ARG_activateDiversionQ = -1;
+static gint ett_h450_3_ActivateDiversionQArg_extension = -1;
+static gint ett_h450_3_RES_activateDiversionQ = -1;
+static gint ett_h450_3_ARG_deactivateDiversionQ = -1;
+static gint ett_h450_3_DeactivateDiversionQArg_extension = -1;
+static gint ett_h450_3_RES_deactivateDiversionQ = -1;
+static gint ett_h450_3_ARG_interrogateDiversionQ = -1;
+static gint ett_h450_3_InterrogateDiversionQ_extension = -1;
+static gint ett_h450_3_ARG_checkRestriction = -1;
+static gint ett_h450_3_CheckRestrictionArg_extension = -1;
+static gint ett_h450_3_RES_checkRestriction = -1;
+static gint ett_h450_3_ARG_callRerouting = -1;
+static gint ett_h450_3_CallReroutingArg_extension = -1;
+static gint ett_h450_3_RES_callRerouting = -1;
+static gint ett_h450_3_ARG_divertingLegInformation1 = -1;
+static gint ett_h450_3_DivertingLegInformation1Arg_extension = -1;
+static gint ett_h450_3_ARG_divertingLegInformation2 = -1;
+static gint ett_h450_3_DivertingLegInformation2Arg_extension = -1;
+static gint ett_h450_3_ARG_divertingLegInformation3 = -1;
+static gint ett_h450_3_DivertingLegInformation3Arg_extension = -1;
+static gint ett_h450_3_ARG_divertingLegInformation4 = -1;
+static gint ett_h450_3_DivertingLegInformation4Arg_extension = -1;
+static gint ett_h450_3_ARG_cfnrDivertedLegFailed = -1;
+static gint ett_h450_3_IntResultList = -1;
+static gint ett_h450_3_IntResult = -1;
+static gint ett_h450_3_IntResult_extension = -1;
+static gint ett_h450_3_PAR_unspecified = -1;
+static gint ett_h450_3_ExtensionSeq = -1;
+
+/* --- Module Call-Hold-Operations --- --- --- */
+
+static gint ett_h450_4_HoldNotificArg = -1;
+static gint ett_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension = -1;
+static gint ett_h450_4_RetrieveNotificArg = -1;
+static gint ett_h450_4_RemoteHoldArg = -1;
+static gint ett_h450_4_RemoteHoldRes = -1;
+static gint ett_h450_4_RemoteRetrieveArg = -1;
+static gint ett_h450_4_RemoteRetrieveRes = -1;
+static gint ett_h450_4_MixedExtension = -1;
+static gint ett_h450_4_PAR_undefined = -1;
+
+/* --- Module Call-Park-Pickup-Operations --- --- --- */
+
+static gint ett_h450_5_CpRequestArg = -1;
+static gint ett_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension = -1;
+static gint ett_h450_5_CpRequestRes = -1;
+static gint ett_h450_5_CpSetupArg = -1;
+static gint ett_h450_5_CpSetupRes = -1;
+static gint ett_h450_5_GroupIndicationOnArg = -1;
+static gint ett_h450_5_GroupIndicationOnRes = -1;
+static gint ett_h450_5_GroupIndicationOffArg = -1;
+static gint ett_h450_5_GroupIndicationOffRes = -1;
+static gint ett_h450_5_PickrequArg = -1;
+static gint ett_h450_5_PickrequRes = -1;
+static gint ett_h450_5_PickupArg = -1;
+static gint ett_h450_5_PickupRes = -1;
+static gint ett_h450_5_PickExeArg = -1;
+static gint ett_h450_5_PickExeRes = -1;
+static gint ett_h450_5_CpNotifyArg = -1;
+static gint ett_h450_5_CpickupNotifyArg = -1;
+static gint ett_h450_5_PAR_undefined = -1;
+
+/* --- Module Call-Waiting-Operations --- --- --- */
+
+static gint ett_h450_6_CallWaitingArg = -1;
+static gint ett_h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension = -1;
+
+/* --- Module Message-Waiting-Indication-Operations --- --- --- */
+
+static gint ett_h450_7_MWIActivateArg = -1;
+static gint ett_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension = -1;
+static gint ett_h450_7_DummyRes = -1;
+static gint ett_h450_7_MWIDeactivateArg = -1;
+static gint ett_h450_7_MWIInterrogateArg = -1;
+static gint ett_h450_7_MWIInterrogateRes = -1;
+static gint ett_h450_7_MWIInterrogateResElt = -1;
+static gint ett_h450_7_MsgCentreId = -1;
+static gint ett_h450_7_PAR_undefined = -1;
+
+/* --- Module Name-Operations --- --- --- */
+
+static gint ett_h450_8_ARG_callingName = -1;
+static gint ett_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension = -1;
+static gint ett_h450_8_ARG_alertingName = -1;
+static gint ett_h450_8_ARG_connectedName = -1;
+static gint ett_h450_8_ARG_busyName = -1;
+static gint ett_h450_8_Name = -1;
+static gint ett_h450_8_NamePresentationAllowed = -1;
+static gint ett_h450_8_NamePresentationRestricted = -1;
+
+/* --- Module Call-Completion-Operations --- --- --- */
+
+static gint ett_h450_9_CcRequestArg = -1;
+static gint ett_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension = -1;
+static gint ett_h450_9_CcRequestRes = -1;
+static gint ett_h450_9_CcArg = -1;
+static gint ett_h450_9_CcShortArg = -1;
+static gint ett_h450_9_CcLongArg = -1;
+
+/* --- Module Call-Offer-Operations --- --- --- */
+
+static gint ett_h450_10_CoReqOptArg = -1;
+static gint ett_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension = -1;
+static gint ett_h450_10_RUAlertOptArg = -1;
+static gint ett_h450_10_CfbOvrOptArg = -1;
+
+/* --- Module Call-Intrusion-Operations --- --- --- */
+
+static gint ett_h450_11_CIRequestArg = -1;
+static gint ett_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension = -1;
+static gint ett_h450_11_CIRequestRes = -1;
+static gint ett_h450_11_CIGetCIPLOptArg = -1;
+static gint ett_h450_11_CIGetCIPLRes = -1;
+static gint ett_h450_11_CIIsOptArg = -1;
+static gint ett_h450_11_CIIsOptRes = -1;
+static gint ett_h450_11_CIFrcRelArg = -1;
+static gint ett_h450_11_CIFrcRelOptRes = -1;
+static gint ett_h450_11_CIWobOptArg = -1;
+static gint ett_h450_11_CIWobOptRes = -1;
+static gint ett_h450_11_CISilentArg = -1;
+static gint ett_h450_11_CISilentOptRes = -1;
+static gint ett_h450_11_CINotificationArg = -1;
+static gint ett_h450_11_CIStatusInformation = -1;
+
+/* --- Module Common-Information-Operations --- --- --- */
+
+static gint ett_h450_12_CmnArg = -1;
+static gint ett_h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension = -1;
+static gint ett_h450_12_DummyArg = -1;
+static gint ett_h450_12_FeatureList = -1;
+static gint ett_h450_12_FeatureValues = -1;
+static gint ett_h450_12_FeatureControl = -1;
+
/*--- End of included file: packet-h450-ett.c ---*/
-#line 212 "packet-h450-template.c"
+#line 60 "packet-h450-template.c"
-/* Global variables */
-static guint32 localOpcode;
-static guint32 localErrorCode;
-static const char *globalcode_oid_str;
-static gboolean is_globalcode;
-
-static const value_string localOpcode_vals[] = {
- /* H.450.2 Call Transfer opcodes */
- { CallTransferIdentify, "callTransferIdentify"},
- { CallTransferAbandon, "callTransferAbandon"},
- { CallTransferInitiate, "callTransferInitiate"},
- { CallTransferSetup, "callTransferSetup"},
- { CallTransferUpdate, "callTransferUpdate"},
- { SubaddressTransfer, "subaddressTransfer"},
- { CallTransferComplete, "callTransferComplete"},
- { CallTransferActive, "callTransferActive"},
-
- /* H.450.3 Call Diversion opcodes */
- { ActivateDiversionQ, "activateDiversionQ"},
- { DeactivateDiversionQ, "deactivateDiversionQ"},
- { InterrogateDiversionQ, "interrogateDiversionQ"},
- { CheckRestriction, "checkRestriction"},
- { CallRerouting, "callRerouting"},
- { DivertingLegInformation1,"divertingLegInformation1"},
- { DivertingLegInformation2,"divertingLegInformation2"},
- { DivertingLegInformation3,"divertingLegInformation3"},
- { DivertingLegInformation4,"divertingLegInformation4"},
- { CfnrDivertedLegFailed, "cfnrDivertedLegFailed"},
-
- /* H.450.4 Call Hold opcodes */
- { HoldNotific, "holdNotific"},
- { RetrieveNotific, "retrieveNotific"},
- { RemoteHold, "remoteHold"},
- { RemoteRetrieve, "remoteRetrieve"},
-
- /* H.450.5 Call Park and Pickup opcodes */
- { CpRequest, "cpRequest"},
- { CpSetup, "cpSetup"},
- { GroupIndicationOn, "groupIndicationOn"},
- { GroupIndicationOff, "groupIndicationOff"},
- { Pickrequ, "pickrequ"},
- { Pickup, "pickup"},
- { PickExe, "pickExe"},
- { CpNotify, "cpNotify"},
- { CpickupNotify, "cpickupNotify"},
-
- /* H.450.6 Call Waiting opcodes */
- { CallWaiting, "callWaiting"},
-
- /* H.450.7 Message Waiting Indication constants */
- { MWIActivate, "mwiActivate"},
- { MWIDeactivate, "mwiDeactivate"},
- { MWIInterrogate, "mwiInterrogate"},
-
- /* H.450.8 Name Identification constants */
- { NIcallingName, "niCallingName"},
- { NIalertingName, "niAlertingName"},
- { NIconnectedName, "niConnectedName"},
- { NIbusyName, "niBusyName"},
-
- /* H.450.9 Call Completion constants */
- { CCBSRequest, "ccbsRequest"},
- { CCNRRequest, "ccnrRequest"},
- { CCCancel, "ccCancel"},
- { CCExecPossible, "ccExecPossible"},
- { CCRingout, "ccRingout"},
- { CCSuspend, "ccSuspend"},
- { CCResume, "ccResume"},
-
- /* H.450.10 Call Offer constants */
- { CallOfferRequest, "callOfferRequest"},
- { RemoteUserAlerting, "remoteUserAlerting"},
- { CFBOverride, "cfbOverride"},
-
- /* H.450.11 Call Intrusion constants */
- { CallIntrusionRequest, "callIntrusionRequest"},
- { CallIntrusionGetCIPL, "callIntrusionGetCIPL"},
- { CallIntrusionIsolate, "callIntrusionIsolate"},
- { CallIntrusionForcedRelease,"callIntrusionForcedRelease"},
- { CallIntrusionWOBRequest, "callIntrusionWOBRequest"},
- { CallIntrusionSilentMonitor,"callIntrusionSilentMonitor"},
- { CallIntrusionNotification, "callIntrusionNotification"},
-
- /* TODO - add other H.450.x invoke opcodes here */
-/* H.450.12 Common Information Operations constants */
- { CmnRequest, "CmnRequest"},
- { CmnInform, "CmnInform"},
- { 0, NULL }
-};
-
-static int dissect_h4501_Argument(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index);
-static int dissect_ros_ROS(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_ind _U_);
+static const value_string h450_str_operation[] = {
+
+/*--- Included file: packet-h450-table10.c ---*/
+#line 1 "packet-h450-table10.c"
+
+/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
+
+/* Unknown or empty loop list OPERATION */
+
+/* --- Module Call-Transfer-Operations --- --- --- */
+
+ { 7, "callTransferIdentify" },
+ { 8, "callTransferAbandon" },
+ { 9, "callTransferInitiate" },
+ { 10, "callTransferSetup" },
+ { 13, "callTransferUpdate" },
+ { 14, "subaddressTransfer" },
+ { 12, "callTransferComplete" },
+ { 11, "callTransferActive" },
+
+/* --- Module Call-Diversion-Operations --- --- --- */
+
+ { 15, "activateDiversionQ" },
+ { 16, "deactivateDiversionQ" },
+ { 17, "interrogateDiversionQ" },
+ { 18, "checkRestriction" },
+ { 19, "callRerouting" },
+ { 20, "divertingLegInformation1" },
+ { 21, "divertingLegInformation2" },
+ { 22, "divertingLegInformation3" },
+ { 100, "divertingLegInformation4" },
+ { 23, "cfnrDivertedLegFailed" },
+
+/* --- Module Call-Hold-Operations --- --- --- */
+
+ { 101, "holdNotific" },
+ { 102, "retrieveNotific" },
+ { 103, "remoteHold" },
+ { 104, "remoteRetrieve" },
+
+/* --- Module Call-Park-Pickup-Operations --- --- --- */
+
+ { 106, "cpRequest" },
+ { 107, "cpSetup" },
+ { 108, "groupIndicationOn" },
+ { 109, "groupIndicationOff" },
+ { 110, "pickrequ" },
+ { 111, "pickup" },
+ { 112, "pickExe" },
+ { 113, "cpNotify" },
+ { 114, "cpickupNotify" },
+
+/* --- Module Call-Waiting-Operations --- --- --- */
+
+ { 105, "callWaiting" },
+
+/* --- Module Message-Waiting-Indication-Operations --- --- --- */
+
+ { 80, "mwiActivate" },
+ { 81, "mwiDeactivate" },
+ { 82, "mwiInterrogate" },
+
+/* --- Module Name-Operations --- --- --- */
+
+ { 0, "callingName" },
+ { 1, "alertingName" },
+ { 2, "connectedName" },
+ { 3, "busyName" },
+
+/* --- Module Call-Completion-Operations --- --- --- */
+
+ { 40, "ccbsRequest" },
+ { 27, "ccnrRequest" },
+ { 28, "ccCancel" },
+ { 29, "ccExecPossible" },
+ { 31, "ccRingout" },
+ { 32, "ccSuspend" },
+ { 33, "ccResume" },
+
+/* --- Module Call-Offer-Operations --- --- --- */
+
+ { 34, "callOfferRequest" },
+ { 115, "remoteUserAlerting" },
+ { 49, "cfbOverride" },
+
+/* --- Module Call-Intrusion-Operations --- --- --- */
+
+ { 43, "callIntrusionRequest" },
+ { 44, "callIntrusionGetCIPL" },
+ { 45, "callIntrusionIsolate" },
+ { 46, "callIntrusionForcedRelease" },
+ { 47, "callIntrusionWOBRequest" },
+ { 116, "callIntrusionSilentMonitor" },
+ { 117, "callIntrusionNotification" },
+
+/* --- Module Common-Information-Operations --- --- --- */
+
+ { 84, "cmnRequest" },
+ { 85, "cmnInform" },
+
+/*--- End of included file: packet-h450-table10.c ---*/
+#line 63 "packet-h450-template.c"
+ { 0, NULL}
+};
+
+static const value_string h450_str_error[] = {
+
+/*--- Included file: packet-h450-table20.c ---*/
+#line 1 "packet-h450-table20.c"
+/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
+ { 0, "userNotSubscribed" },
+ { 1, "rejectedByNetwork" },
+ { 2, "rejectedByUser" },
+ { 3, "notAvailable" },
+ { 5, "insufficientInformation" },
+ { 6, "invalidServedUserNumber" },
+ { 7, "invalidCallState" },
+ { 8, "basicServiceNotProvided" },
+ { 9, "notIncomingCall" },
+ { 10, "supplementaryServiceInteractionNotAllowed" },
+ { 11, "resourceUnavailable" },
+ { 25, "callFailure" },
+ { 43, "proceduralError" },
+
+/* --- Module Call-Transfer-Operations --- --- --- */
+
+ { 1008, "unspecified" },
+ { 1004, "invalidReroutingNumber" },
+ { 1005, "unrecognizedCallIdentity" },
+ { 1006, "establishmentFailure" },
+
+/* --- Module Call-Diversion-Operations --- --- --- */
+
+ { 12, "invalidDivertedNumber" },
+ { 14, "specialServiceNumber" },
+ { 15, "diversionToServedUserNumber" },
+ { 24, "numberOfDiversionsExceeded" },
+ { 1000, "temporarilyUnavailable" },
+ { 1007, "notAuthorized" },
+ { 1008, "unspecified" },
+
+/* --- Module Call-Hold-Operations --- --- --- */
+
+ { 2002, "undefined" },
+
+/* --- Module Call-Park-Pickup-Operations --- --- --- */
+
+ { 2000, "callPickupIdInvalid" },
+ { 2001, "callAlreadyPickedUp" },
+ { 2002, "undefined" },
+
+/* --- Module Call-Waiting-Operations --- --- --- */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module Message-Waiting-Indication-Operations --- --- --- */
+
+ { 2002, "undefined" },
+ { 1018, "invalidMsgCentreId" },
+ { 31, "notActivated" },
+
+/* --- Module Name-Operations --- --- --- */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module Call-Completion-Operations --- --- --- */
+
+ { 1010, "shortTermRejection" },
+ { 1011, "longTermRejection" },
+ { 1012, "remoteUserBusyAgain" },
+ { 1013, "failureToMatch" },
+
+/* --- Module Call-Offer-Operations --- --- --- */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module Call-Intrusion-Operations --- --- --- */
+
+ { 1009, "notBusy" },
+ { 1000, "temporarilyUnavailable" },
+ { 1007, "notAuthorized" },
+
+/* --- Module Common-Information-Operations --- --- --- */
+
+/* Unknown or empty loop list ERROR */
+
+/*--- End of included file: packet-h450-table20.c ---*/
+#line 68 "packet-h450-template.c"
+ { 0, NULL}
+};
+
+/* ROSE context */
+static rose_ctx_t h450_rose_ctx;
+
+/* Subdissectors */
+static dissector_handle_t data_handle = NULL;
+
+/* Global variables */
/*--- Included file: packet-h450-fn.c ---*/
#line 1 "packet-h450-fn.c"
+/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
+
+
static int
dissect_h450_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
@@ -737,7 +873,7 @@ static const value_string h450_EntityType_vals[] = {
{ 0, NULL }
};
-static const per_choice_t EntityType_choice[] = {
+static const per_choice_t h450_EntityType_choice[] = {
{ 0, &hf_h450_endpoint , ASN1_EXTENSION_ROOT , dissect_h450_NULL },
{ 1, &hf_h450_anyEntity , ASN1_EXTENSION_ROOT , dissect_h450_NULL },
{ 0, NULL, 0, NULL }
@@ -746,7 +882,7 @@ static const per_choice_t EntityType_choice[] = {
static int
dissect_h450_EntityType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_EntityType, EntityType_choice,
+ ett_h450_EntityType, h450_EntityType_choice,
NULL);
return offset;
@@ -762,7 +898,7 @@ dissect_h450_AddressInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *a
}
-static const per_sequence_t NetworkFacilityExtension_sequence[] = {
+static const per_sequence_t h450_NetworkFacilityExtension_sequence[] = {
{ &hf_h450_sourceEntity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EntityType },
{ &hf_h450_sourceEntityAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_AddressInformation },
{ &hf_h450_destinationEntity, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EntityType },
@@ -773,7 +909,7 @@ static const per_sequence_t NetworkFacilityExtension_sequence[] = {
static int
dissect_h450_NetworkFacilityExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_NetworkFacilityExtension, NetworkFacilityExtension_sequence);
+ ett_h450_NetworkFacilityExtension, h450_NetworkFacilityExtension_sequence);
return offset;
}
@@ -786,7 +922,7 @@ static const value_string h450_InterpretationApdu_vals[] = {
{ 0, NULL }
};
-static const per_choice_t InterpretationApdu_choice[] = {
+static const per_choice_t h450_InterpretationApdu_choice[] = {
{ 0, &hf_h450_discardAnyUnrecognizedInvokePdu, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
{ 1, &hf_h450_clearCallIfAnyInvokePduNotRecognized, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
{ 2, &hf_h450_rejectAnyUnrecognizedInvokePdu, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
@@ -796,21 +932,35 @@ static const per_choice_t InterpretationApdu_choice[] = {
static int
dissect_h450_InterpretationApdu(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_InterpretationApdu, InterpretationApdu_choice,
+ ett_h450_InterpretationApdu, h450_InterpretationApdu_choice,
NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_OF_ROS_sequence_of[1] = {
- { &hf_h450_rosApdus_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_ros_ROS },
+
+static int
+dissect_h450_T_rosApdus_item(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 47 "h450.cnf"
+ h450_rose_ctx.apdu_depth = 1;
+ actx->rose_ctx = &h450_rose_ctx;
+
+ offset = dissect_h450_ros_ROS(tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+static const per_sequence_t h450_SEQUENCE_SIZE_1_MAX_OF_ROS_sequence_of[1] = {
+ { &hf_h450_rosApdus_item , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_T_rosApdus_item },
};
static int
-dissect_h450_SEQUENCE_OF_ROS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_h450_SEQUENCE_OF_ROS, SEQUENCE_OF_ROS_sequence_of);
+dissect_h450_SEQUENCE_SIZE_1_MAX_OF_ROS(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_SEQUENCE_SIZE_1_MAX_OF_ROS, h450_SEQUENCE_SIZE_1_MAX_OF_ROS_sequence_of,
+ 1, NO_BOUND);
return offset;
}
@@ -821,22 +971,22 @@ static const value_string h450_ServiceApdus_vals[] = {
{ 0, NULL }
};
-static const per_choice_t ServiceApdus_choice[] = {
- { 0, &hf_h450_rosApdus , ASN1_EXTENSION_ROOT , dissect_h450_SEQUENCE_OF_ROS },
+static const per_choice_t h450_ServiceApdus_choice[] = {
+ { 0, &hf_h450_rosApdus , ASN1_EXTENSION_ROOT , dissect_h450_SEQUENCE_SIZE_1_MAX_OF_ROS },
{ 0, NULL, 0, NULL }
};
static int
dissect_h450_ServiceApdus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_ServiceApdus, ServiceApdus_choice,
+ ett_h450_ServiceApdus, h450_ServiceApdus_choice,
NULL);
return offset;
}
-static const per_sequence_t H4501SupplementaryService_sequence[] = {
+static const per_sequence_t h450_H4501SupplementaryService_sequence[] = {
{ &hf_h450_networkFacilityExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NetworkFacilityExtension },
{ &hf_h450_interpretationApdu, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_InterpretationApdu },
{ &hf_h450_serviceApdu , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_ServiceApdus },
@@ -845,8 +995,11 @@ static const per_sequence_t H4501SupplementaryService_sequence[] = {
static int
dissect_h450_H4501SupplementaryService(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+#line 43 "h450.cnf"
+ proto_tree_add_item_hidden(tree, proto_h450, tvb, offset, -1, FALSE);
+
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_H4501SupplementaryService, H4501SupplementaryService_sequence);
+ ett_h450_H4501SupplementaryService, h450_H4501SupplementaryService_sequence);
return offset;
}
@@ -854,9 +1007,9 @@ dissect_h450_H4501SupplementaryService(tvbuff_t *tvb _U_, int offset _U_, asn1_c
static int
-dissect_h450_Notassignedlocalopcode(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, NULL);
+dissect_h450_InvokeIDs(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 65535U, NULL, FALSE);
return offset;
}
@@ -881,7 +1034,7 @@ dissect_h450_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, pr
}
-static const per_sequence_t UserSpecifiedSubaddress_sequence[] = {
+static const per_sequence_t h450_UserSpecifiedSubaddress_sequence[] = {
{ &hf_h450_subaddressInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_SubaddressInformation },
{ &hf_h450_oddCountIndicator, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BOOLEAN },
{ NULL, 0, 0, NULL }
@@ -890,7 +1043,7 @@ static const per_sequence_t UserSpecifiedSubaddress_sequence[] = {
static int
dissect_h450_UserSpecifiedSubaddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_UserSpecifiedSubaddress, UserSpecifiedSubaddress_sequence);
+ ett_h450_UserSpecifiedSubaddress, h450_UserSpecifiedSubaddress_sequence);
return offset;
}
@@ -912,7 +1065,7 @@ static const value_string h450_PartySubaddress_vals[] = {
{ 0, NULL }
};
-static const per_choice_t PartySubaddress_choice[] = {
+static const per_choice_t h450_PartySubaddress_choice[] = {
{ 0, &hf_h450_userSpecifiedSubaddress, ASN1_EXTENSION_ROOT , dissect_h450_UserSpecifiedSubaddress },
{ 1, &hf_h450_nsapSubaddress , ASN1_EXTENSION_ROOT , dissect_h450_NSAPSubaddress },
{ 0, NULL, 0, NULL }
@@ -921,14 +1074,14 @@ static const per_choice_t PartySubaddress_choice[] = {
static int
dissect_h450_PartySubaddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_PartySubaddress, PartySubaddress_choice,
+ ett_h450_PartySubaddress, h450_PartySubaddress_choice,
NULL);
return offset;
}
-static const per_sequence_t AddressScreened_sequence[] = {
+static const per_sequence_t h450_AddressScreened_sequence[] = {
{ &hf_h450_partyNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_PartyNumber },
{ &hf_h450_screeningIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ScreeningIndicator },
{ &hf_h450_partySubaddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_PartySubaddress },
@@ -938,7 +1091,7 @@ static const per_sequence_t AddressScreened_sequence[] = {
static int
dissect_h450_AddressScreened(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_AddressScreened, AddressScreened_sequence);
+ ett_h450_AddressScreened, h450_AddressScreened_sequence);
return offset;
}
@@ -952,7 +1105,7 @@ static const value_string h450_PresentedAddressScreened_vals[] = {
{ 0, NULL }
};
-static const per_choice_t PresentedAddressScreened_choice[] = {
+static const per_choice_t h450_PresentedAddressScreened_choice[] = {
{ 0, &hf_h450_addressScreened_presentationAllowedAddress, ASN1_EXTENSION_ROOT , dissect_h450_AddressScreened },
{ 1, &hf_h450_presentationRestricted, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
{ 2, &hf_h450_numberNotAvailableDueToInterworking, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
@@ -963,14 +1116,14 @@ static const per_choice_t PresentedAddressScreened_choice[] = {
static int
dissect_h450_PresentedAddressScreened(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_PresentedAddressScreened, PresentedAddressScreened_choice,
+ ett_h450_PresentedAddressScreened, h450_PresentedAddressScreened_choice,
NULL);
return offset;
}
-static const per_sequence_t Address_sequence[] = {
+static const per_sequence_t h450_Address_sequence[] = {
{ &hf_h450_partyNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_PartyNumber },
{ &hf_h450_partySubaddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_PartySubaddress },
{ NULL, 0, 0, NULL }
@@ -979,7 +1132,7 @@ static const per_sequence_t Address_sequence[] = {
static int
dissect_h450_Address(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_Address, Address_sequence);
+ ett_h450_Address, h450_Address_sequence);
return offset;
}
@@ -993,7 +1146,7 @@ static const value_string h450_PresentedAddressUnscreened_vals[] = {
{ 0, NULL }
};
-static const per_choice_t PresentedAddressUnscreened_choice[] = {
+static const per_choice_t h450_PresentedAddressUnscreened_choice[] = {
{ 0, &hf_h450_addressUnscreened_presentationAllowedAddress, ASN1_EXTENSION_ROOT , dissect_h450_Address },
{ 1, &hf_h450_presentationRestricted, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
{ 2, &hf_h450_numberNotAvailableDueToInterworking, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
@@ -1004,14 +1157,14 @@ static const per_choice_t PresentedAddressUnscreened_choice[] = {
static int
dissect_h450_PresentedAddressUnscreened(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_PresentedAddressUnscreened, PresentedAddressUnscreened_choice,
+ ett_h450_PresentedAddressUnscreened, h450_PresentedAddressUnscreened_choice,
NULL);
return offset;
}
-static const per_sequence_t NumberScreened_sequence[] = {
+static const per_sequence_t h450_NumberScreened_sequence[] = {
{ &hf_h450_partyNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_PartyNumber },
{ &hf_h450_screeningIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_ScreeningIndicator },
{ NULL, 0, 0, NULL }
@@ -1020,7 +1173,7 @@ static const per_sequence_t NumberScreened_sequence[] = {
static int
dissect_h450_NumberScreened(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_NumberScreened, NumberScreened_sequence);
+ ett_h450_NumberScreened, h450_NumberScreened_sequence);
return offset;
}
@@ -1034,7 +1187,7 @@ static const value_string h450_PresentedNumberScreened_vals[] = {
{ 0, NULL }
};
-static const per_choice_t PresentedNumberScreened_choice[] = {
+static const per_choice_t h450_PresentedNumberScreened_choice[] = {
{ 0, &hf_h450_numberScreened_presentationAllowedAddress, ASN1_EXTENSION_ROOT , dissect_h450_NumberScreened },
{ 1, &hf_h450_presentationRestricted, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
{ 2, &hf_h450_numberNotAvailableDueToInterworking, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
@@ -1045,7 +1198,7 @@ static const per_choice_t PresentedNumberScreened_choice[] = {
static int
dissect_h450_PresentedNumberScreened(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_PresentedNumberScreened, PresentedNumberScreened_choice,
+ ett_h450_PresentedNumberScreened, h450_PresentedNumberScreened_choice,
NULL);
return offset;
@@ -1060,7 +1213,7 @@ static const value_string h450_PresentedNumberUnscreened_vals[] = {
{ 0, NULL }
};
-static const per_choice_t PresentedNumberUnscreened_choice[] = {
+static const per_choice_t h450_PresentedNumberUnscreened_choice[] = {
{ 0, &hf_h450_numberUnscreened_presentationAllowedAddress, ASN1_EXTENSION_ROOT , dissect_h225_PartyNumber },
{ 1, &hf_h450_presentationRestricted, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
{ 2, &hf_h450_numberNotAvailableDueToInterworking, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
@@ -1071,27 +1224,27 @@ static const per_choice_t PresentedNumberUnscreened_choice[] = {
static int
dissect_h450_PresentedNumberUnscreened(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_PresentedNumberUnscreened, PresentedNumberUnscreened_choice,
+ ett_h450_PresentedNumberUnscreened, h450_PresentedNumberUnscreened_choice,
NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_OF_AliasAddress_sequence_of[1] = {
+static const per_sequence_t h450_SEQUENCE_OF_AliasAddress_sequence_of[1] = {
{ &hf_h450_destinationAddress_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h225_AliasAddress },
};
static int
dissect_h450_SEQUENCE_OF_AliasAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_h450_SEQUENCE_OF_AliasAddress, SEQUENCE_OF_AliasAddress_sequence_of);
+ ett_h450_SEQUENCE_OF_AliasAddress, h450_SEQUENCE_OF_AliasAddress_sequence_of);
return offset;
}
-static const per_sequence_t EndpointAddress_sequence[] = {
+static const per_sequence_t h450_EndpointAddress_sequence[] = {
{ &hf_h450_destinationAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_SEQUENCE_OF_AliasAddress },
{ &hf_h450_remoteExtensionAddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_AliasAddress },
{ &hf_h450_destinationAddressPresentationIndicator, ASN1_NOT_EXTENSION_ROOT, ASN1_OPTIONAL , dissect_h225_PresentationIndicator },
@@ -1104,7 +1257,7 @@ static const per_sequence_t EndpointAddress_sequence[] = {
static int
dissect_h450_EndpointAddress(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_EndpointAddress, EndpointAddress_sequence);
+ ett_h450_EndpointAddress, h450_EndpointAddress_sequence);
return offset;
}
@@ -1121,6 +1274,16 @@ dissect_h450_PresentationAllowedIndicator(tvbuff_t *tvb _U_, int offset _U_, asn
static int
+dissect_h450_H225InformationElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
+ NO_BOUND, NO_BOUND, NULL);
+
+ return offset;
+}
+
+
+
+static int
dissect_h450_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_object_identifier(tvb, offset, actx, tree, hf_index, NULL);
@@ -1130,77 +1293,94 @@ dissect_h450_OBJECT_IDENTIFIER(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *ac
static int
-dissect_h450_ExtensionArgument(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, NULL);
+dissect_h450_T_extensionArgument(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_open_type(tvb, offset, actx, tree, hf_index, NULL);
return offset;
}
-static const per_sequence_t Extension_sequence[] = {
+static const per_sequence_t h450_Extension_sequence[] = {
{ &hf_h450_extensionId , ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_OBJECT_IDENTIFIER },
- { &hf_h450_extensionArgument, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_ExtensionArgument },
+ { &hf_h450_extensionArgument, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_T_extensionArgument },
{ NULL, 0, 0, NULL }
};
static int
dissect_h450_Extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_Extension, Extension_sequence);
+ ett_h450_Extension, h450_Extension_sequence);
+
+ return offset;
+}
+/*--- PDUs ---*/
+
+static int dissect_h450_H4501SupplementaryService_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_H4501SupplementaryService(tvb, offset, &asn1_ctx, tree, hf_h450_h450_H4501SupplementaryService_PDU);
+ offset += 7; offset >>= 3;
return offset;
}
-static const per_sequence_t ExtensionSeq_sequence_of[1] = {
- { &hf_h450_ExtensionSeq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_Extension },
+/* --- Module Call-Transfer-Operations --- --- --- */
+
+
+static const per_sequence_t h450_2_ExtensionSeq_sequence_of[1] = {
+ { &hf_h450_2_ExtensionSeq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_Extension },
};
static int
-dissect_h450_ExtensionSeq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_2_ExtensionSeq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_h450_ExtensionSeq, ExtensionSeq_sequence_of);
+ ett_h450_2_ExtensionSeq, h450_2_ExtensionSeq_sequence_of);
return offset;
}
-static const value_string h450_DummyArg_vals[] = {
+static const value_string h450_2_DummyArg_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t DummyArg_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_2_DummyArg_choice[] = {
+ { 0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_2_ExtensionSeq },
+ { 1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_DummyArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_2_DummyArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_DummyArg, DummyArg_choice,
+ ett_h450_2_DummyArg, h450_2_DummyArg_choice,
NULL);
return offset;
}
+static const value_string h450_2_DummyRes_vals[] = {
+ { 0, "extensionSeq" },
+ { 1, "nonStandardData" },
+ { 0, NULL }
+};
-static int
-dissect_h450_CallTransferIdentify(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_h450_DummyArg(tvb, offset, actx, tree, hf_index);
-
- return offset;
-}
-
-
+static const per_choice_t h450_2_DummyRes_choice[] = {
+ { 0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_2_ExtensionSeq },
+ { 1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_h450_CallTransferAbandon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_h450_DummyArg(tvb, offset, actx, tree, hf_index);
+dissect_h450_2_DummyRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_h450_2_DummyRes, h450_2_DummyRes_choice,
+ NULL);
return offset;
}
@@ -1208,7 +1388,7 @@ dissect_h450_CallTransferAbandon(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *
static int
-dissect_h450_CallIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_2_CallIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
0, 4);
@@ -1216,83 +1396,115 @@ dissect_h450_CallIdentity(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
-static const value_string h450_ArgumentExtension_vals[] = {
+static const value_string h450_2_T_cTInitiateArg_argumentExtension_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t ArgumentExtension_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_2_T_cTInitiateArg_argumentExtension_choice[] = {
+ { 0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_2_ExtensionSeq },
+ { 1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_ArgumentExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_2_T_cTInitiateArg_argumentExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_ArgumentExtension, ArgumentExtension_choice,
+ ett_h450_2_T_cTInitiateArg_argumentExtension, h450_2_T_cTInitiateArg_argumentExtension_choice,
NULL);
return offset;
}
-static const per_sequence_t CTInitiateArg_sequence[] = {
- { &hf_h450_callIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_CallIdentity },
- { &hf_h450_reroutingNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_cTInitiateArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ArgumentExtension },
+static const per_sequence_t h450_2_CTInitiateArg_sequence[] = {
+ { &hf_h450_2_callIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_2_CallIdentity },
+ { &hf_h450_2_reroutingNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_2_cTInitiateArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_2_T_cTInitiateArg_argumentExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CTInitiateArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_2_CTInitiateArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CTInitiateArg, CTInitiateArg_sequence);
+ ett_h450_2_CTInitiateArg, h450_2_CTInitiateArg_sequence);
return offset;
}
+static const value_string h450_2_T_cTSetupArg_argumentExtension_vals[] = {
+ { 0, "extensionSeq" },
+ { 1, "nonStandardData" },
+ { 0, NULL }
+};
+
+static const per_choice_t h450_2_T_cTSetupArg_argumentExtension_choice[] = {
+ { 0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_2_ExtensionSeq },
+ { 1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_h450_CallTransferInitiate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_h450_CTInitiateArg(tvb, offset, actx, tree, hf_index);
+dissect_h450_2_T_cTSetupArg_argumentExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_h450_2_T_cTSetupArg_argumentExtension, h450_2_T_cTSetupArg_argumentExtension_choice,
+ NULL);
return offset;
}
-static const per_sequence_t CTSetupArg_sequence[] = {
- { &hf_h450_callIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_CallIdentity },
- { &hf_h450_transferringNumber, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_cTSetupArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ArgumentExtension },
+static const per_sequence_t h450_2_CTSetupArg_sequence[] = {
+ { &hf_h450_2_callIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_2_CallIdentity },
+ { &hf_h450_2_transferringNumber, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_2_cTSetupArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_2_T_cTSetupArg_argumentExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CTSetupArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_2_CTSetupArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CTSetupArg, CTSetupArg_sequence);
+ ett_h450_2_CTSetupArg, h450_2_CTSetupArg_sequence);
return offset;
}
+static const value_string h450_2_T_resultExtension_vals[] = {
+ { 0, "extensionSeq" },
+ { 1, "nonStandardData" },
+ { 0, NULL }
+};
+
+static const per_choice_t h450_2_T_resultExtension_choice[] = {
+ { 0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_2_ExtensionSeq },
+ { 1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_h450_CallTransferSetup(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_h450_CTSetupArg(tvb, offset, actx, tree, hf_index);
+dissect_h450_2_T_resultExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_h450_2_T_resultExtension, h450_2_T_resultExtension_choice,
+ NULL);
return offset;
}
+static const per_sequence_t h450_2_CTIdentifyRes_sequence[] = {
+ { &hf_h450_2_callIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_2_CallIdentity },
+ { &hf_h450_2_reroutingNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_2_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_2_T_resultExtension },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_h450_BMPString_SIZE_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
- 1, 128);
+dissect_h450_2_CTIdentifyRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_2_CTIdentifyRes, h450_2_CTIdentifyRes_sequence);
return offset;
}
@@ -1300,65 +1512,91 @@ dissect_h450_BMPString_SIZE_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t
static int
-dissect_h450_H225InformationElement(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
- NO_BOUND, NO_BOUND, NULL);
+dissect_h450_2_BMPString_SIZE_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
+ 1, 128);
return offset;
}
-static const per_sequence_t CTUpdateArg_sequence[] = {
- { &hf_h450_redirectionNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_redirectionInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_basicCallInfoElements, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_H225InformationElement },
- { &hf_h450_cTUpdateArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ArgumentExtension },
- { NULL, 0, 0, NULL }
+static const value_string h450_2_T_cTUpdateArg_argumentExtension_vals[] = {
+ { 0, "extensionSeq" },
+ { 1, "nonStandardData" },
+ { 0, NULL }
+};
+
+static const per_choice_t h450_2_T_cTUpdateArg_argumentExtension_choice[] = {
+ { 0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_2_ExtensionSeq },
+ { 1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_h450_CTUpdateArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CTUpdateArg, CTUpdateArg_sequence);
+dissect_h450_2_T_cTUpdateArg_argumentExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_h450_2_T_cTUpdateArg_argumentExtension, h450_2_T_cTUpdateArg_argumentExtension_choice,
+ NULL);
return offset;
}
+static const per_sequence_t h450_2_CTUpdateArg_sequence[] = {
+ { &hf_h450_2_redirectionNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_2_redirectionInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_2_BMPString_SIZE_1_128 },
+ { &hf_h450_2_basicCallInfoElements, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_H225InformationElement },
+ { &hf_h450_2_cTUpdateArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_2_T_cTUpdateArg_argumentExtension },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_h450_CallTransferUpdate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_h450_CTUpdateArg(tvb, offset, actx, tree, hf_index);
+dissect_h450_2_CTUpdateArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_2_CTUpdateArg, h450_2_CTUpdateArg_sequence);
return offset;
}
-static const per_sequence_t SubaddressTransferArg_sequence[] = {
- { &hf_h450_redirectionSubaddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_PartySubaddress },
- { &hf_h450_subaddressTransferArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ArgumentExtension },
- { NULL, 0, 0, NULL }
+static const value_string h450_2_T_subaddressTransferArg_argumentExtension_vals[] = {
+ { 0, "extensionSeq" },
+ { 1, "nonStandardData" },
+ { 0, NULL }
+};
+
+static const per_choice_t h450_2_T_subaddressTransferArg_argumentExtension_choice[] = {
+ { 0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_2_ExtensionSeq },
+ { 1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_h450_SubaddressTransferArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_SubaddressTransferArg, SubaddressTransferArg_sequence);
+dissect_h450_2_T_subaddressTransferArg_argumentExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_h450_2_T_subaddressTransferArg_argumentExtension, h450_2_T_subaddressTransferArg_argumentExtension_choice,
+ NULL);
return offset;
}
+static const per_sequence_t h450_2_SubaddressTransferArg_sequence[] = {
+ { &hf_h450_2_redirectionSubaddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_PartySubaddress },
+ { &hf_h450_2_subaddressTransferArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_2_T_subaddressTransferArg_argumentExtension },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_h450_SubaddressTransfer(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_h450_SubaddressTransferArg(tvb, offset, actx, tree, hf_index);
+dissect_h450_2_SubaddressTransferArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_2_SubaddressTransferArg, h450_2_SubaddressTransferArg_sequence);
return offset;
}
-static const value_string h450_EndDesignation_vals[] = {
+static const value_string h450_2_EndDesignation_vals[] = {
{ 0, "primaryEnd" },
{ 1, "secondaryEnd" },
{ 0, NULL }
@@ -1366,7 +1604,7 @@ static const value_string h450_EndDesignation_vals[] = {
static int
-dissect_h450_EndDesignation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_2_EndDesignation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
@@ -1374,7 +1612,7 @@ dissect_h450_EndDesignation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
}
-static const value_string h450_CallStatus_vals[] = {
+static const value_string h450_2_CallStatus_vals[] = {
{ 0, "answered" },
{ 1, "alerting" },
{ 0, NULL }
@@ -1382,7 +1620,7 @@ static const value_string h450_CallStatus_vals[] = {
static int
-dissect_h450_CallStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_2_CallStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
@@ -1390,121 +1628,195 @@ dissect_h450_CallStatus(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
-static const per_sequence_t CTCompleteArg_sequence[] = {
- { &hf_h450_endDesignation , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndDesignation },
- { &hf_h450_redirectionNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_basicCallInfoElements, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_H225InformationElement },
- { &hf_h450_redirectionInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_callStatus , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_CallStatus },
- { &hf_h450_cTCompleteArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ArgumentExtension },
- { NULL, 0, 0, NULL }
+static const value_string h450_2_T_cTCompleteArg_argumentExtension_vals[] = {
+ { 0, "extensionSeq" },
+ { 1, "nonStandardData" },
+ { 0, NULL }
};
-static int
-dissect_h450_CTCompleteArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CTCompleteArg, CTCompleteArg_sequence);
-
- return offset;
-}
-
-
+static const per_choice_t h450_2_T_cTCompleteArg_argumentExtension_choice[] = {
+ { 0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_2_ExtensionSeq },
+ { 1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_h450_CallTransferComplete(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_h450_CTCompleteArg(tvb, offset, actx, tree, hf_index);
+dissect_h450_2_T_cTCompleteArg_argumentExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_h450_2_T_cTCompleteArg_argumentExtension, h450_2_T_cTCompleteArg_argumentExtension_choice,
+ NULL);
return offset;
}
-static const per_sequence_t CTActiveArg_sequence[] = {
- { &hf_h450_connectedAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_basicCallInfoElements, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_H225InformationElement },
- { &hf_h450_connectedInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_cTActiveArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ArgumentExtension },
+static const per_sequence_t h450_2_CTCompleteArg_sequence[] = {
+ { &hf_h450_2_endDesignation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_2_EndDesignation },
+ { &hf_h450_2_redirectionNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_2_basicCallInfoElements, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_H225InformationElement },
+ { &hf_h450_2_redirectionInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_2_BMPString_SIZE_1_128 },
+ { &hf_h450_2_callStatus , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_2_CallStatus },
+ { &hf_h450_2_cTCompleteArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_2_T_cTCompleteArg_argumentExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CTActiveArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_2_CTCompleteArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CTActiveArg, CTActiveArg_sequence);
-
- return offset;
-}
-
-
-
-static int
-dissect_h450_CallTransferActive(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_h450_CTActiveArg(tvb, offset, actx, tree, hf_index);
+ ett_h450_2_CTCompleteArg, h450_2_CTCompleteArg_sequence);
return offset;
}
-static const value_string h450_DummyRes_vals[] = {
+static const value_string h450_2_T_cTActiveArg_argumentExtension_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t DummyRes_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_2_T_cTActiveArg_argumentExtension_choice[] = {
+ { 0, &hf_h450_2_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_2_ExtensionSeq },
+ { 1, &hf_h450_2_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_DummyRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_2_T_cTActiveArg_argumentExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_DummyRes, DummyRes_choice,
+ ett_h450_2_T_cTActiveArg_argumentExtension, h450_2_T_cTActiveArg_argumentExtension_choice,
NULL);
return offset;
}
-static const value_string h450_T_resultExtension_vals[] = {
- { 0, "extensionSeq" },
- { 1, "nonStandardData" },
+static const per_sequence_t h450_2_CTActiveArg_sequence[] = {
+ { &hf_h450_2_connectedAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_2_basicCallInfoElements, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_H225InformationElement },
+ { &hf_h450_2_connectedInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_2_BMPString_SIZE_1_128 },
+ { &hf_h450_2_cTActiveArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_2_T_cTActiveArg_argumentExtension },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_h450_2_CTActiveArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_2_CTActiveArg, h450_2_CTActiveArg_sequence);
+
+ return offset;
+}
+
+
+static const value_string h450_2_PAR_unspecified_vals[] = {
+ { 0, "extension" },
+ { 1, "nonStandard" },
{ 0, NULL }
};
-static const per_choice_t T_resultExtension_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_2_PAR_unspecified_choice[] = {
+ { 0, &hf_h450_2_unspecified_extension, ASN1_NO_EXTENSIONS , dissect_h450_Extension },
+ { 1, &hf_h450_2_nonStandard , ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_T_resultExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_2_PAR_unspecified(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_T_resultExtension, T_resultExtension_choice,
+ ett_h450_2_PAR_unspecified, h450_2_PAR_unspecified_choice,
NULL);
return offset;
}
+/*--- PDUs ---*/
-static const per_sequence_t CTIdentifyRes_sequence[] = {
- { &hf_h450_callIdentity , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_CallIdentity },
- { &hf_h450_reroutingNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_T_resultExtension },
- { NULL, 0, 0, NULL }
-};
-
-static int
-dissect_h450_CTIdentifyRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CTIdentifyRes, CTIdentifyRes_sequence);
-
+static int dissect_h450_2_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_2_DummyArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_DummyArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_2_CTIdentifyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_2_CTIdentifyRes(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_CTIdentifyRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_2_CTInitiateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_2_CTInitiateArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_CTInitiateArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_2_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_2_DummyRes(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_DummyRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_2_CTSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_2_CTSetupArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_CTSetupArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_2_CTUpdateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_2_CTUpdateArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_CTUpdateArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_2_SubaddressTransferArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_2_SubaddressTransferArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_SubaddressTransferArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_2_CTCompleteArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_2_CTCompleteArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_CTCompleteArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_2_CTActiveArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_2_CTActiveArg(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_CTActiveArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_2_PAR_unspecified_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_2_PAR_unspecified(tvb, offset, &asn1_ctx, tree, hf_h450_2_h450_2_PAR_unspecified_PDU);
+ offset += 7; offset >>= 3;
return offset;
}
-static const value_string h450_Procedure_vals[] = {
+/* --- Module Call-Diversion-Operations --- --- --- */
+
+
+static const value_string h450_3_Procedure_vals[] = {
{ 0, "cfu" },
{ 1, "cfb" },
{ 2, "cfnr" },
@@ -1513,7 +1825,7 @@ static const value_string h450_Procedure_vals[] = {
static int
-dissect_h450_Procedure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_Procedure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
3, NULL, TRUE, 0, NULL);
@@ -1521,778 +1833,993 @@ dissect_h450_Procedure(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
}
-static const value_string h450_BasicService_vals[] = {
+static const value_string h450_3_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 guint32 BasicService_value_map[40+0] = {0, 1, 2, 3, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75};
static int
-dissect_h450_BasicService(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_BasicService(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 40, NULL, FALSE, 0, BasicService_value_map);
+ 1, NULL, TRUE, 0, NULL);
+
+ return offset;
+}
+
+
+static const per_sequence_t h450_3_ExtensionSeq_sequence_of[1] = {
+ { &hf_h450_3_ExtensionSeq_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_Extension },
+};
+
+static int
+dissect_h450_3_ExtensionSeq(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_3_ExtensionSeq, h450_3_ExtensionSeq_sequence_of);
return offset;
}
-static const value_string h450_ActivateDiversionQArg_extension_vals[] = {
+static const value_string h450_3_ActivateDiversionQArg_extension_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t ActivateDiversionQArg_extension_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_ActivateDiversionQArg_extension_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_ActivateDiversionQArg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_ActivateDiversionQArg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_ActivateDiversionQArg_extension, ActivateDiversionQArg_extension_choice,
+ ett_h450_3_ActivateDiversionQArg_extension, h450_3_ActivateDiversionQArg_extension_choice,
NULL);
return offset;
}
-static const per_sequence_t ActivateDiversionQArg_sequence[] = {
- { &hf_h450_procedure , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_Procedure },
- { &hf_h450_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_BasicService },
- { &hf_h450_divertedToAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_activatingUserNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_activateDiversionQArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ActivateDiversionQArg_extension },
+static const per_sequence_t h450_3_ARG_activateDiversionQ_sequence[] = {
+ { &hf_h450_3_procedure , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_Procedure },
+ { &hf_h450_3_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_BasicService },
+ { &hf_h450_3_divertedToAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_activatingUserNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_activateDiversionQArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_ActivateDiversionQArg_extension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_ActivateDiversionQArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_ARG_activateDiversionQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_ActivateDiversionQArg, ActivateDiversionQArg_sequence);
+ ett_h450_3_ARG_activateDiversionQ, h450_3_ARG_activateDiversionQ_sequence);
return offset;
}
-static const value_string h450_ActivateDiversionQRes_vals[] = {
+static const value_string h450_3_RES_activateDiversionQ_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t ActivateDiversionQRes_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_RES_activateDiversionQ_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_ActivateDiversionQRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_RES_activateDiversionQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_ActivateDiversionQRes, ActivateDiversionQRes_choice,
+ ett_h450_3_RES_activateDiversionQ, h450_3_RES_activateDiversionQ_choice,
NULL);
return offset;
}
-static const value_string h450_DeactivateDiversionQArg_extension_vals[] = {
+static const value_string h450_3_DeactivateDiversionQArg_extension_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t DeactivateDiversionQArg_extension_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_DeactivateDiversionQArg_extension_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_DeactivateDiversionQArg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_DeactivateDiversionQArg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_DeactivateDiversionQArg_extension, DeactivateDiversionQArg_extension_choice,
+ ett_h450_3_DeactivateDiversionQArg_extension, h450_3_DeactivateDiversionQArg_extension_choice,
NULL);
return offset;
}
-static const per_sequence_t DeactivateDiversionQArg_sequence[] = {
- { &hf_h450_procedure , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_Procedure },
- { &hf_h450_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_BasicService },
- { &hf_h450_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_deactivatingUserNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_deactivateDiversionQArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_DeactivateDiversionQArg_extension },
+static const per_sequence_t h450_3_ARG_deactivateDiversionQ_sequence[] = {
+ { &hf_h450_3_procedure , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_Procedure },
+ { &hf_h450_3_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_BasicService },
+ { &hf_h450_3_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_deactivatingUserNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_deactivateDiversionQArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_DeactivateDiversionQArg_extension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_DeactivateDiversionQArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_ARG_deactivateDiversionQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_DeactivateDiversionQArg, DeactivateDiversionQArg_sequence);
+ ett_h450_3_ARG_deactivateDiversionQ, h450_3_ARG_deactivateDiversionQ_sequence);
return offset;
}
-static const value_string h450_DeactivateDiversionQRes_vals[] = {
+static const value_string h450_3_RES_deactivateDiversionQ_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t DeactivateDiversionQRes_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_RES_deactivateDiversionQ_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_DeactivateDiversionQRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_RES_deactivateDiversionQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_DeactivateDiversionQRes, DeactivateDiversionQRes_choice,
+ ett_h450_3_RES_deactivateDiversionQ, h450_3_RES_deactivateDiversionQ_choice,
NULL);
return offset;
}
-static const value_string h450_InterrogateDiversionQ_extension_vals[] = {
+static const value_string h450_3_InterrogateDiversionQ_extension_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t InterrogateDiversionQ_extension_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_InterrogateDiversionQ_extension_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_InterrogateDiversionQ_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_InterrogateDiversionQ_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_InterrogateDiversionQ_extension, InterrogateDiversionQ_extension_choice,
+ ett_h450_3_InterrogateDiversionQ_extension, h450_3_InterrogateDiversionQ_extension_choice,
NULL);
return offset;
}
-static const per_sequence_t InterrogateDiversionQ_sequence[] = {
- { &hf_h450_procedure , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_Procedure },
- { &hf_h450_basicService , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BasicService },
- { &hf_h450_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_interrogatingUserNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_interrogateDiversionQ_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_InterrogateDiversionQ_extension },
+static const per_sequence_t h450_3_ARG_interrogateDiversionQ_sequence[] = {
+ { &hf_h450_3_procedure , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_Procedure },
+ { &hf_h450_3_basicService , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_BasicService },
+ { &hf_h450_3_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_interrogatingUserNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_interrogateDiversionQ_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_InterrogateDiversionQ_extension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_InterrogateDiversionQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_ARG_interrogateDiversionQ(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_InterrogateDiversionQ, InterrogateDiversionQ_sequence);
+ ett_h450_3_ARG_interrogateDiversionQ, h450_3_ARG_interrogateDiversionQ_sequence);
return offset;
}
-static const value_string h450_IntResult_extension_vals[] = {
+static const value_string h450_3_CheckRestrictionArg_extension_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t IntResult_extension_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_CheckRestrictionArg_extension_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_IntResult_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_CheckRestrictionArg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_IntResult_extension, IntResult_extension_choice,
+ ett_h450_3_CheckRestrictionArg_extension, h450_3_CheckRestrictionArg_extension_choice,
NULL);
return offset;
}
-static const per_sequence_t IntResult_sequence[] = {
- { &hf_h450_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_BasicService },
- { &hf_h450_procedure , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_Procedure },
- { &hf_h450_divertedToAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_remoteEnabled , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BOOLEAN },
- { &hf_h450_intResult_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_IntResult_extension },
+static const per_sequence_t h450_3_ARG_checkRestriction_sequence[] = {
+ { &hf_h450_3_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_BasicService },
+ { &hf_h450_3_divertedToNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_checkRestrictionArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_CheckRestrictionArg_extension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_IntResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_ARG_checkRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_IntResult, IntResult_sequence);
+ ett_h450_3_ARG_checkRestriction, h450_3_ARG_checkRestriction_sequence);
return offset;
}
-static const per_sequence_t IntResultList_set_of[1] = {
- { &hf_h450_IntResultList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_IntResult },
+static const value_string h450_3_RES_checkRestriction_vals[] = {
+ { 0, "extensionSeq" },
+ { 1, "nonStandardData" },
+ { 0, NULL }
+};
+
+static const per_choice_t h450_3_RES_checkRestriction_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_h450_IntResultList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
- ett_h450_IntResultList, IntResultList_set_of,
- 0, 29);
+dissect_h450_3_RES_checkRestriction(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_h450_3_RES_checkRestriction, h450_3_RES_checkRestriction_choice,
+ NULL);
return offset;
}
+static const value_string h450_3_DiversionReason_vals[] = {
+ { 0, "unknown" },
+ { 1, "cfu" },
+ { 2, "cfb" },
+ { 3, "cfnr" },
+ { 0, NULL }
+};
+
static int
-dissect_h450_InterrogateDiversionQRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_h450_IntResultList(tvb, offset, actx, tree, hf_index);
+dissect_h450_3_DiversionReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, TRUE, 0, NULL);
return offset;
}
-static const value_string h450_CheckRestrictionArg_extension_vals[] = {
- { 0, "extensionSeq" },
- { 1, "nonStandardData" },
+
+static int
+dissect_h450_3_INTEGER_1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 15U, NULL, FALSE);
+
+ return offset;
+}
+
+
+static const value_string h450_3_SubscriptionOption_vals[] = {
+ { 0, "noNotification" },
+ { 1, "notificationWithoutDivertedToNr" },
+ { 2, "notificationWithDivertedToNr" },
{ 0, NULL }
};
-static const per_choice_t CheckRestrictionArg_extension_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_h450_CheckRestrictionArg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_CheckRestrictionArg_extension, CheckRestrictionArg_extension_choice,
- NULL);
+dissect_h450_3_SubscriptionOption(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 3, NULL, TRUE, 0, NULL);
return offset;
}
-static const per_sequence_t CheckRestrictionArg_sequence[] = {
- { &hf_h450_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_BasicService },
- { &hf_h450_divertedToNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_checkRestrictionArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_CheckRestrictionArg_extension },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_h450_CheckRestrictionArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CheckRestrictionArg, CheckRestrictionArg_sequence);
+dissect_h450_3_BMPString_SIZE_1_128(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
+ 1, 128);
return offset;
}
-static const value_string h450_CheckRestrictionRes_vals[] = {
+static const value_string h450_3_CallReroutingArg_extension_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t CheckRestrictionRes_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_CallReroutingArg_extension_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_CheckRestrictionRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_CallReroutingArg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_CheckRestrictionRes, CheckRestrictionRes_choice,
+ ett_h450_3_CallReroutingArg_extension, h450_3_CallReroutingArg_extension_choice,
NULL);
return offset;
}
-static const value_string h450_DiversionReason_vals[] = {
- { 0, "unknown" },
- { 1, "cfu" },
- { 2, "cfb" },
- { 3, "cfnr" },
- { 0, NULL }
+static const per_sequence_t h450_3_ARG_callRerouting_sequence[] = {
+ { &hf_h450_3_reroutingReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_DiversionReason },
+ { &hf_h450_3_originalReroutingReason, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_DiversionReason },
+ { &hf_h450_3_calledAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_diversionCounter, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_INTEGER_1_15 },
+ { &hf_h450_3_h225InfoElement, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_H225InformationElement },
+ { &hf_h450_3_lastReroutingNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_subscriptionOption, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_SubscriptionOption },
+ { &hf_h450_3_callingPartySubaddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_PartySubaddress },
+ { &hf_h450_3_callingNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_callingInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_BMPString_SIZE_1_128 },
+ { &hf_h450_3_originalCalledNr, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_3_redirectingInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_BMPString_SIZE_1_128 },
+ { &hf_h450_3_originalCalledInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_BMPString_SIZE_1_128 },
+ { &hf_h450_3_callReroutingArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_CallReroutingArg_extension },
+ { NULL, 0, 0, NULL }
};
-
-static int
-dissect_h450_DiversionReason(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, TRUE, 0, NULL);
-
- return offset;
-}
-
-
-
static int
-dissect_h450_INTEGER_1_15(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 15U, NULL, FALSE);
+dissect_h450_3_ARG_callRerouting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_3_ARG_callRerouting, h450_3_ARG_callRerouting_sequence);
return offset;
}
-static const value_string h450_SubscriptionOption_vals[] = {
- { 0, "noNotification" },
- { 1, "notificationWithoutDivertedToNr" },
- { 2, "notificationWithDivertedToNr" },
+static const value_string h450_3_RES_callRerouting_vals[] = {
+ { 0, "extensionSeq" },
+ { 1, "nonStandardData" },
{ 0, NULL }
};
+static const per_choice_t h450_3_RES_callRerouting_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+ { 0, NULL, 0, NULL }
+};
static int
-dissect_h450_SubscriptionOption(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 3, NULL, TRUE, 0, NULL);
+dissect_h450_3_RES_callRerouting(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_h450_3_RES_callRerouting, h450_3_RES_callRerouting_choice,
+ NULL);
return offset;
}
-static const value_string h450_CallReroutingArg_extension_vals[] = {
+static const value_string h450_3_DivertingLegInformation1Arg_extension_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t CallReroutingArg_extension_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_DivertingLegInformation1Arg_extension_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_CallReroutingArg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_DivertingLegInformation1Arg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_CallReroutingArg_extension, CallReroutingArg_extension_choice,
+ ett_h450_3_DivertingLegInformation1Arg_extension, h450_3_DivertingLegInformation1Arg_extension_choice,
NULL);
return offset;
}
-static const per_sequence_t CallReroutingArg_sequence[] = {
- { &hf_h450_reroutingReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_DiversionReason },
- { &hf_h450_originalReroutingReason, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_DiversionReason },
- { &hf_h450_calledAddress , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_diversionCounter, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_INTEGER_1_15 },
- { &hf_h450_h225InfoElement, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_H225InformationElement },
- { &hf_h450_lastReroutingNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_subscriptionOption, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_SubscriptionOption },
- { &hf_h450_callingPartySubaddress, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_PartySubaddress },
- { &hf_h450_callingNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_callingInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_originalCalledNr, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_redirectingInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_originalCalledInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_callReroutingArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_CallReroutingArg_extension },
+static const per_sequence_t h450_3_ARG_divertingLegInformation1_sequence[] = {
+ { &hf_h450_3_diversionReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_DiversionReason },
+ { &hf_h450_3_subscriptionOption, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_SubscriptionOption },
+ { &hf_h450_3_nominatedNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_nominatedInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_BMPString_SIZE_1_128 },
+ { &hf_h450_3_redirectingNr, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_3_redirectingInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_BMPString_SIZE_1_128 },
+ { &hf_h450_3_divertingLegInformation1Arg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_DivertingLegInformation1Arg_extension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CallReroutingArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_ARG_divertingLegInformation1(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CallReroutingArg, CallReroutingArg_sequence);
+ ett_h450_3_ARG_divertingLegInformation1, h450_3_ARG_divertingLegInformation1_sequence);
return offset;
}
-static const value_string h450_CallReroutingRes_vals[] = {
+static const value_string h450_3_DivertingLegInformation2Arg_extension_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t CallReroutingRes_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_DivertingLegInformation2Arg_extension_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_CallReroutingRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_DivertingLegInformation2Arg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_CallReroutingRes, CallReroutingRes_choice,
+ ett_h450_3_DivertingLegInformation2Arg_extension, h450_3_DivertingLegInformation2Arg_extension_choice,
NULL);
return offset;
}
-static const value_string h450_DivertingLegInformation1Arg_extension_vals[] = {
+static const per_sequence_t h450_3_ARG_divertingLegInformation2_sequence[] = {
+ { &hf_h450_3_diversionCounter, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_INTEGER_1_15 },
+ { &hf_h450_3_diversionReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_DiversionReason },
+ { &hf_h450_3_originalDiversionReason, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_DiversionReason },
+ { &hf_h450_3_divertingNr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_3_originalCalledNr, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_3_redirectingInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_BMPString_SIZE_1_128 },
+ { &hf_h450_3_originalCalledInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_BMPString_SIZE_1_128 },
+ { &hf_h450_3_divertingLegInformation2Arg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_DivertingLegInformation2Arg_extension },
+ { NULL, 0, 0, NULL }
+};
+
+static int
+dissect_h450_3_ARG_divertingLegInformation2(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_3_ARG_divertingLegInformation2, h450_3_ARG_divertingLegInformation2_sequence);
+
+ return offset;
+}
+
+
+static const value_string h450_3_DivertingLegInformation3Arg_extension_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t DivertingLegInformation1Arg_extension_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_DivertingLegInformation3Arg_extension_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_DivertingLegInformation1Arg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_DivertingLegInformation3Arg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_DivertingLegInformation1Arg_extension, DivertingLegInformation1Arg_extension_choice,
+ ett_h450_3_DivertingLegInformation3Arg_extension, h450_3_DivertingLegInformation3Arg_extension_choice,
NULL);
return offset;
}
-static const per_sequence_t DivertingLegInformation1Arg_sequence[] = {
- { &hf_h450_diversionReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_DiversionReason },
- { &hf_h450_subscriptionOption, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_SubscriptionOption },
- { &hf_h450_nominatedNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_nominatedInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_redirectingNr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_redirectingInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_divertingLegInformation1Arg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_DivertingLegInformation1Arg_extension },
+static const per_sequence_t h450_3_ARG_divertingLegInformation3_sequence[] = {
+ { &hf_h450_3_presentationAllowedIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_PresentationAllowedIndicator },
+ { &hf_h450_3_redirectionNr, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_3_redirectionInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_BMPString_SIZE_1_128 },
+ { &hf_h450_3_divertingLegInformation3Arg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_DivertingLegInformation3Arg_extension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_DivertingLegInformation1Arg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_ARG_divertingLegInformation3(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_DivertingLegInformation1Arg, DivertingLegInformation1Arg_sequence);
+ ett_h450_3_ARG_divertingLegInformation3, h450_3_ARG_divertingLegInformation3_sequence);
return offset;
}
-static const value_string h450_DivertingLegInformation2Arg_extension_vals[] = {
+static const value_string h450_3_DivertingLegInformation4Arg_extension_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t DivertingLegInformation2Arg_extension_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_DivertingLegInformation4Arg_extension_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_DivertingLegInformation2Arg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_DivertingLegInformation4Arg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_DivertingLegInformation2Arg_extension, DivertingLegInformation2Arg_extension_choice,
+ ett_h450_3_DivertingLegInformation4Arg_extension, h450_3_DivertingLegInformation4Arg_extension_choice,
NULL);
return offset;
}
-static const per_sequence_t DivertingLegInformation2Arg_sequence[] = {
- { &hf_h450_diversionCounter, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_INTEGER_1_15 },
- { &hf_h450_diversionReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_DiversionReason },
- { &hf_h450_originalDiversionReason, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_DiversionReason },
- { &hf_h450_divertingNr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_originalCalledNr, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_redirectingInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_originalCalledInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_extension , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_DivertingLegInformation2Arg_extension },
+static const per_sequence_t h450_3_ARG_divertingLegInformation4_sequence[] = {
+ { &hf_h450_3_diversionReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_DiversionReason },
+ { &hf_h450_3_subscriptionOption, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_SubscriptionOption },
+ { &hf_h450_3_callingNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_callingInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_BMPString_SIZE_1_128 },
+ { &hf_h450_3_nominatedNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_nominatedInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_BMPString_SIZE_1_128 },
+ { &hf_h450_3_divertingLegInformation4Arg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_DivertingLegInformation4Arg_extension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_DivertingLegInformation2Arg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_ARG_divertingLegInformation4(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_DivertingLegInformation2Arg, DivertingLegInformation2Arg_sequence);
+ ett_h450_3_ARG_divertingLegInformation4, h450_3_ARG_divertingLegInformation4_sequence);
return offset;
}
-static const value_string h450_DivertingLegInformation3Arg_extension_vals[] = {
+static const value_string h450_3_ARG_cfnrDivertedLegFailed_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t DivertingLegInformation3Arg_extension_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_ARG_cfnrDivertedLegFailed_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_DivertingLegInformation3Arg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_ARG_cfnrDivertedLegFailed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_DivertingLegInformation3Arg_extension, DivertingLegInformation3Arg_extension_choice,
+ ett_h450_3_ARG_cfnrDivertedLegFailed, h450_3_ARG_cfnrDivertedLegFailed_choice,
NULL);
return offset;
}
-static const per_sequence_t DivertingLegInformation3Arg_sequence[] = {
- { &hf_h450_presentationAllowedIndicator, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_PresentationAllowedIndicator },
- { &hf_h450_redirectionNr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_redirectionInfo, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_divertingLegInformation3Arg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_DivertingLegInformation3Arg_extension },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_h450_DivertingLegInformation3Arg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_DivertingLegInformation3Arg, DivertingLegInformation3Arg_sequence);
+dissect_h450_3_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
return offset;
}
-static const value_string h450_DivertingLegInformation4Arg_extension_vals[] = {
+static const value_string h450_3_IntResult_extension_vals[] = {
{ 0, "extensionSeq" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t DivertingLegInformation4Arg_extension_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_IntResult_extension_choice[] = {
+ { 0, &hf_h450_3_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_3_ExtensionSeq },
+ { 1, &hf_h450_3_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_DivertingLegInformation4Arg_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_IntResult_extension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_DivertingLegInformation4Arg_extension, DivertingLegInformation4Arg_extension_choice,
+ ett_h450_3_IntResult_extension, h450_3_IntResult_extension_choice,
NULL);
return offset;
}
-static const per_sequence_t DivertingLegInformation4Arg_sequence[] = {
- { &hf_h450_diversionReason, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_DiversionReason },
- { &hf_h450_subscriptionOption, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_SubscriptionOption },
- { &hf_h450_callingNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_callingInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_nominatedNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_nominatedInfo , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BMPString_SIZE_1_128 },
- { &hf_h450_divertingLegInformation4Arg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_DivertingLegInformation4Arg_extension },
+static const per_sequence_t h450_3_IntResult_sequence[] = {
+ { &hf_h450_3_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_BasicService },
+ { &hf_h450_3_procedure , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_3_Procedure },
+ { &hf_h450_3_divertedToAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_3_remoteEnabled, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_BOOLEAN },
+ { &hf_h450_3_intResult_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_3_IntResult_extension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_DivertingLegInformation4Arg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_IntResult(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_DivertingLegInformation4Arg, DivertingLegInformation4Arg_sequence);
+ ett_h450_3_IntResult, h450_3_IntResult_sequence);
return offset;
}
-static const value_string h450_CfnrDivertedLegFailedArg_vals[] = {
- { 0, "extensionSeq" },
- { 1, "nonStandardData" },
+static const per_sequence_t h450_3_IntResultList_set_of[1] = {
+ { &hf_h450_3_IntResultList_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_3_IntResult },
+};
+
+static int
+dissect_h450_3_IntResultList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_set_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_3_IntResultList, h450_3_IntResultList_set_of,
+ 0, 29);
+
+ return offset;
+}
+
+
+static const value_string h450_3_PAR_unspecified_vals[] = {
+ { 0, "extension" },
+ { 1, "nonStandard" },
{ 0, NULL }
};
-static const per_choice_t CfnrDivertedLegFailedArg_choice[] = {
- { 0, &hf_h450_extensionSeq , ASN1_NO_EXTENSIONS , dissect_h450_ExtensionSeq },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_3_PAR_unspecified_choice[] = {
+ { 0, &hf_h450_3_unspecified_extension, ASN1_NO_EXTENSIONS , dissect_h450_Extension },
+ { 1, &hf_h450_3_nonStandard , ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_CfnrDivertedLegFailedArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_3_PAR_unspecified(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_CfnrDivertedLegFailedArg, CfnrDivertedLegFailedArg_choice,
+ ett_h450_3_PAR_unspecified, h450_3_PAR_unspecified_choice,
NULL);
return offset;
}
+/*--- PDUs ---*/
+
+static int dissect_h450_3_ARG_activateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_ARG_activateDiversionQ(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_activateDiversionQ_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_RES_activateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_RES_activateDiversionQ(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_RES_activateDiversionQ_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_ARG_deactivateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_ARG_deactivateDiversionQ(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_deactivateDiversionQ_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_RES_deactivateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_RES_deactivateDiversionQ(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_RES_deactivateDiversionQ_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_ARG_interrogateDiversionQ_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_ARG_interrogateDiversionQ(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_interrogateDiversionQ_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_IntResultList_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_IntResultList(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_IntResultList_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_ARG_checkRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_ARG_checkRestriction(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_checkRestriction_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_RES_checkRestriction_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_RES_checkRestriction(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_RES_checkRestriction_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_ARG_callRerouting_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_ARG_callRerouting(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_callRerouting_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_RES_callRerouting_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_RES_callRerouting(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_RES_callRerouting_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_ARG_divertingLegInformation1_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_ARG_divertingLegInformation1(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_divertingLegInformation1_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_ARG_divertingLegInformation2_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_ARG_divertingLegInformation2(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_divertingLegInformation2_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_ARG_divertingLegInformation3_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_ARG_divertingLegInformation3(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_divertingLegInformation3_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_ARG_divertingLegInformation4_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_ARG_divertingLegInformation4(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_divertingLegInformation4_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_ARG_cfnrDivertedLegFailed_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_ARG_cfnrDivertedLegFailed(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_ARG_cfnrDivertedLegFailed_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_3_PAR_unspecified_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_3_PAR_unspecified(tvb, offset, &asn1_ctx, tree, hf_h450_3_h450_3_PAR_unspecified_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+
+/* --- Module Call-Hold-Operations --- --- --- */
-static const value_string h450_MixedExtension_vals[] = {
+
+static const value_string h450_4_MixedExtension_vals[] = {
{ 0, "extension" },
{ 1, "nonStandardData" },
{ 0, NULL }
};
-static const per_choice_t MixedExtension_choice[] = {
- { 0, &hf_h450_mixedExtension_extension, ASN1_NO_EXTENSIONS , dissect_h450_Extension },
- { 1, &hf_h450_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
+static const per_choice_t h450_4_MixedExtension_choice[] = {
+ { 0, &hf_h450_4_mixedExtension_extension, ASN1_NO_EXTENSIONS , dissect_h450_Extension },
+ { 1, &hf_h450_4_nonStandardData, ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_MixedExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_4_MixedExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_MixedExtension, MixedExtension_choice,
+ ett_h450_4_MixedExtension, h450_4_MixedExtension_choice,
NULL);
return offset;
}
-static const per_sequence_t SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
- { &hf_h450_holdNotificArg_extensionArg_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_MixedExtension },
+static const per_sequence_t h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
+ { &hf_h450_4_holdNotificArg_extensionArg_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
};
static int
-dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension, SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
+ ett_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
0, 255);
return offset;
}
-static const per_sequence_t HoldNotificArg_sequence[] = {
- { &hf_h450_holdNotificArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_4_HoldNotificArg_sequence[] = {
+ { &hf_h450_4_holdNotificArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_HoldNotificArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_4_HoldNotificArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_HoldNotificArg, HoldNotificArg_sequence);
+ ett_h450_4_HoldNotificArg, h450_4_HoldNotificArg_sequence);
return offset;
}
-static const per_sequence_t RetrieveNotificArg_sequence[] = {
- { &hf_h450_retrieveNotificArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_4_RetrieveNotificArg_sequence[] = {
+ { &hf_h450_4_retrieveNotificArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_RetrieveNotificArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_4_RetrieveNotificArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_RetrieveNotificArg, RetrieveNotificArg_sequence);
+ ett_h450_4_RetrieveNotificArg, h450_4_RetrieveNotificArg_sequence);
return offset;
}
-static const per_sequence_t RemoteHoldArg_sequence[] = {
- { &hf_h450_remoteHoldArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_4_RemoteHoldArg_sequence[] = {
+ { &hf_h450_4_remoteHoldArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_RemoteHoldArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_4_RemoteHoldArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_RemoteHoldArg, RemoteHoldArg_sequence);
+ ett_h450_4_RemoteHoldArg, h450_4_RemoteHoldArg_sequence);
return offset;
}
-static const per_sequence_t RemoteHoldRes_sequence[] = {
- { &hf_h450_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_4_RemoteHoldRes_sequence[] = {
+ { &hf_h450_4_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_RemoteHoldRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_4_RemoteHoldRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_RemoteHoldRes, RemoteHoldRes_sequence);
+ ett_h450_4_RemoteHoldRes, h450_4_RemoteHoldRes_sequence);
return offset;
}
-static const per_sequence_t RemoteRetrieveArg_sequence[] = {
- { &hf_h450_remoteRetrieveArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_4_RemoteRetrieveArg_sequence[] = {
+ { &hf_h450_4_remoteRetrieveArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_RemoteRetrieveArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_4_RemoteRetrieveArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_RemoteRetrieveArg, RemoteRetrieveArg_sequence);
+ ett_h450_4_RemoteRetrieveArg, h450_4_RemoteRetrieveArg_sequence);
return offset;
}
-static const per_sequence_t RemoteRetrieveRes_sequence[] = {
- { &hf_h450_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_4_RemoteRetrieveRes_sequence[] = {
+ { &hf_h450_4_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_RemoteRetrieveRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_4_RemoteRetrieveRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_RemoteRetrieveRes, RemoteRetrieveRes_sequence);
+ ett_h450_4_RemoteRetrieveRes, h450_4_RemoteRetrieveRes_sequence);
return offset;
}
+static const per_sequence_t h450_4_PAR_undefined_sequence_of[1] = {
+ { &hf_h450_4_PAR_undefined_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
+};
static int
-dissect_h450_ParkedToPosition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_4_PAR_undefined(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_4_PAR_undefined, h450_4_PAR_undefined_sequence_of,
+ 0, 255);
+
+ return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_h450_4_HoldNotificArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_4_HoldNotificArg(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_HoldNotificArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_4_RetrieveNotificArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_4_RetrieveNotificArg(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_RetrieveNotificArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_4_RemoteHoldArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_4_RemoteHoldArg(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_RemoteHoldArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_4_RemoteHoldRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_4_RemoteHoldRes(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_RemoteHoldRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_4_RemoteRetrieveArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_4_RemoteRetrieveArg(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_RemoteRetrieveArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_4_RemoteRetrieveRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_4_RemoteRetrieveRes(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_RemoteRetrieveRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_4_PAR_undefined_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_4_PAR_undefined(tvb, offset, &asn1_ctx, tree, hf_h450_4_h450_4_PAR_undefined_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+
+/* --- Module Call-Park-Pickup-Operations --- --- --- */
+
+
+
+static int
+dissect_h450_5_ParkedToPosition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, NULL, FALSE);
@@ -2300,25 +2827,39 @@ dissect_h450_ParkedToPosition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *act
}
-static const per_sequence_t CpRequestArg_sequence[] = {
- { &hf_h450_parkingNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_parkedNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_parkedToNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_parkedToPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ParkedToPosition },
- { &hf_h450_cpRequestArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
+ { &hf_h450_5_cpRequestArg_extensionArg_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
+};
+
+static int
+dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
+ 0, 255);
+
+ return offset;
+}
+
+
+static const per_sequence_t h450_5_CpRequestArg_sequence[] = {
+ { &hf_h450_5_parkingNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_parkedNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_parkedToNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_parkedToPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_ParkedToPosition },
+ { &hf_h450_5_cpRequestArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CpRequestArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_CpRequestArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CpRequestArg, CpRequestArg_sequence);
+ ett_h450_5_CpRequestArg, h450_5_CpRequestArg_sequence);
return offset;
}
-static const value_string h450_ParkCondition_vals[] = {
+static const value_string h450_5_ParkCondition_vals[] = {
{ 0, "unspecified" },
{ 1, "parkedToUserIdle" },
{ 2, "parkedToUserBusy" },
@@ -2328,7 +2869,7 @@ static const value_string h450_ParkCondition_vals[] = {
static int
-dissect_h450_ParkCondition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_ParkCondition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
4, NULL, TRUE, 0, NULL);
@@ -2336,59 +2877,59 @@ dissect_h450_ParkCondition(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
-static const per_sequence_t CpRequestRes_sequence[] = {
- { &hf_h450_parkedToNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_parkedToPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ParkedToPosition },
- { &hf_h450_parkCondition , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_ParkCondition },
- { &hf_h450_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_CpRequestRes_sequence[] = {
+ { &hf_h450_5_parkedToNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_parkedToPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_ParkedToPosition },
+ { &hf_h450_5_parkCondition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_5_ParkCondition },
+ { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CpRequestRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_CpRequestRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CpRequestRes, CpRequestRes_sequence);
+ ett_h450_5_CpRequestRes, h450_5_CpRequestRes_sequence);
return offset;
}
-static const per_sequence_t CpSetupArg_sequence[] = {
- { &hf_h450_parkingNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_parkedNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_parkedToNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_parkedToPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ParkedToPosition },
- { &hf_h450_cpSetupArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_CpSetupArg_sequence[] = {
+ { &hf_h450_5_parkingNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_parkedNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_parkedToNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_parkedToPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_ParkedToPosition },
+ { &hf_h450_5_cpSetupArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CpSetupArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_CpSetupArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CpSetupArg, CpSetupArg_sequence);
+ ett_h450_5_CpSetupArg, h450_5_CpSetupArg_sequence);
return offset;
}
-static const per_sequence_t CpSetupRes_sequence[] = {
- { &hf_h450_parkedToNumber , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_parkedToPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ParkedToPosition },
- { &hf_h450_parkCondition , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_ParkCondition },
- { &hf_h450_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_CpSetupRes_sequence[] = {
+ { &hf_h450_5_parkedToNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_parkedToPosition, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_ParkedToPosition },
+ { &hf_h450_5_parkCondition, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_5_ParkCondition },
+ { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CpSetupRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_CpSetupRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CpSetupRes, CpSetupRes_sequence);
+ ett_h450_5_CpSetupRes, h450_5_CpSetupRes_sequence);
return offset;
}
-static const value_string h450_CallType_vals[] = {
+static const value_string h450_5_CallType_vals[] = {
{ 0, "parkedCall" },
{ 1, "alertingCall" },
{ 0, NULL }
@@ -2396,7 +2937,7 @@ static const value_string h450_CallType_vals[] = {
static int
-dissect_h450_CallType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_CallType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
2, NULL, TRUE, 0, NULL);
@@ -2404,198 +2945,354 @@ dissect_h450_CallType(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, p
}
-static const per_sequence_t GroupIndicationOnArg_sequence[] = {
- { &hf_h450_callPickupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
- { &hf_h450_groupMemberUserNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_retrieveCallType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_CallType },
- { &hf_h450_partyToRetrieve, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_retrieveAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_parkPosition , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ParkedToPosition },
- { &hf_h450_groupIndicationOnArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_GroupIndicationOnArg_sequence[] = {
+ { &hf_h450_5_callPickupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
+ { &hf_h450_5_groupMemberUserNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_retrieveCallType, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_5_CallType },
+ { &hf_h450_5_partyToRetrieve, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_retrieveAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_parkPosition , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_ParkedToPosition },
+ { &hf_h450_5_groupIndicationOnArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_GroupIndicationOnArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_GroupIndicationOnArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_GroupIndicationOnArg, GroupIndicationOnArg_sequence);
+ ett_h450_5_GroupIndicationOnArg, h450_5_GroupIndicationOnArg_sequence);
return offset;
}
-static const per_sequence_t GroupIndicationOnRes_sequence[] = {
- { &hf_h450_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_GroupIndicationOnRes_sequence[] = {
+ { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_GroupIndicationOnRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_GroupIndicationOnRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_GroupIndicationOnRes, GroupIndicationOnRes_sequence);
+ ett_h450_5_GroupIndicationOnRes, h450_5_GroupIndicationOnRes_sequence);
return offset;
}
-static const per_sequence_t GroupIndicationOffArg_sequence[] = {
- { &hf_h450_callPickupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
- { &hf_h450_groupMemberUserNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_groupIndicationOffArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_GroupIndicationOffArg_sequence[] = {
+ { &hf_h450_5_callPickupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
+ { &hf_h450_5_groupMemberUserNr, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_groupIndicationOffArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_GroupIndicationOffArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_GroupIndicationOffArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_GroupIndicationOffArg, GroupIndicationOffArg_sequence);
+ ett_h450_5_GroupIndicationOffArg, h450_5_GroupIndicationOffArg_sequence);
return offset;
}
-static const per_sequence_t GroupIndicationOffRes_sequence[] = {
- { &hf_h450_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_GroupIndicationOffRes_sequence[] = {
+ { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_GroupIndicationOffRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_GroupIndicationOffRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_GroupIndicationOffRes, GroupIndicationOffRes_sequence);
+ ett_h450_5_GroupIndicationOffRes, h450_5_GroupIndicationOffRes_sequence);
return offset;
}
-static const per_sequence_t PickrequArg_sequence[] = {
- { &hf_h450_picking_upNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_callPickupId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallIdentifier },
- { &hf_h450_partyToRetrieve, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_retrieveAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_parkPosition , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ParkedToPosition },
- { &hf_h450_pickrequArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_PickrequArg_sequence[] = {
+ { &hf_h450_5_picking_upNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_callPickupId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallIdentifier },
+ { &hf_h450_5_partyToRetrieve, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_5_retrieveAddress, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_parkPosition , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_ParkedToPosition },
+ { &hf_h450_5_pickrequArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_PickrequArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_PickrequArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_PickrequArg, PickrequArg_sequence);
+ ett_h450_5_PickrequArg, h450_5_PickrequArg_sequence);
return offset;
}
-static const per_sequence_t PickrequRes_sequence[] = {
- { &hf_h450_callPickupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
- { &hf_h450_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_PickrequRes_sequence[] = {
+ { &hf_h450_5_callPickupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
+ { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_PickrequRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_PickrequRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_PickrequRes, PickrequRes_sequence);
+ ett_h450_5_PickrequRes, h450_5_PickrequRes_sequence);
return offset;
}
-static const per_sequence_t PickupArg_sequence[] = {
- { &hf_h450_callPickupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
- { &hf_h450_picking_upNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_pickupArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_PickupArg_sequence[] = {
+ { &hf_h450_5_callPickupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
+ { &hf_h450_5_picking_upNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_pickupArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_PickupArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_PickupArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_PickupArg, PickupArg_sequence);
+ ett_h450_5_PickupArg, h450_5_PickupArg_sequence);
return offset;
}
-static const per_sequence_t PickupRes_sequence[] = {
- { &hf_h450_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_PickupRes_sequence[] = {
+ { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_PickupRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_PickupRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_PickupRes, PickupRes_sequence);
+ ett_h450_5_PickupRes, h450_5_PickupRes_sequence);
return offset;
}
-static const per_sequence_t PickExeArg_sequence[] = {
- { &hf_h450_callPickupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
- { &hf_h450_picking_upNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_partyToRetrieve, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_pickExeArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_PickExeArg_sequence[] = {
+ { &hf_h450_5_callPickupId , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h225_CallIdentifier },
+ { &hf_h450_5_picking_upNumber, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_partyToRetrieve, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_5_pickExeArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_PickExeArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_PickExeArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_PickExeArg, PickExeArg_sequence);
+ ett_h450_5_PickExeArg, h450_5_PickExeArg_sequence);
return offset;
}
-static const per_sequence_t PickExeRes_sequence[] = {
- { &hf_h450_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_PickExeRes_sequence[] = {
+ { &hf_h450_5_extensionRes , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_PickExeRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_PickExeRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_PickExeRes, PickExeRes_sequence);
+ ett_h450_5_PickExeRes, h450_5_PickExeRes_sequence);
return offset;
}
-static const per_sequence_t CpNotifyArg_sequence[] = {
- { &hf_h450_parkingNumber , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_cpNotifyArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_CpNotifyArg_sequence[] = {
+ { &hf_h450_5_parkingNumber, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_5_cpNotifyArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CpNotifyArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_CpNotifyArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CpNotifyArg, CpNotifyArg_sequence);
+ ett_h450_5_CpNotifyArg, h450_5_CpNotifyArg_sequence);
return offset;
}
-static const per_sequence_t CpickupNotifyArg_sequence[] = {
- { &hf_h450_picking_upNumber, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_cpickupNotifyArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_5_CpickupNotifyArg_sequence[] = {
+ { &hf_h450_5_picking_upNumber, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_5_cpickupNotifyArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CpickupNotifyArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_CpickupNotifyArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CpickupNotifyArg, CpickupNotifyArg_sequence);
+ ett_h450_5_CpickupNotifyArg, h450_5_CpickupNotifyArg_sequence);
return offset;
}
+static const per_sequence_t h450_5_PAR_undefined_sequence_of[1] = {
+ { &hf_h450_5_PAR_undefined_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
+};
static int
-dissect_h450_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_5_PAR_undefined(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_5_PAR_undefined, h450_5_PAR_undefined_sequence_of,
+ 0, 255);
+
+ return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_h450_5_CpRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_CpRequestArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_CpRequestArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_CpRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_CpRequestRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_CpRequestRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_CpSetupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_CpSetupArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_CpSetupArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_CpSetupRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_CpSetupRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_CpSetupRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_GroupIndicationOnArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_GroupIndicationOnArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_GroupIndicationOnArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_GroupIndicationOnRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_GroupIndicationOnRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_GroupIndicationOnRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_GroupIndicationOffArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_GroupIndicationOffArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_GroupIndicationOffArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_GroupIndicationOffRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_GroupIndicationOffRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_GroupIndicationOffRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_PickrequArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_PickrequArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PickrequArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_PickrequRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_PickrequRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PickrequRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_PickupArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_PickupArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PickupArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_PickupRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_PickupRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PickupRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_PickExeArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_PickExeArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PickExeArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_PickExeRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_PickExeRes(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PickExeRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_CpNotifyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_CpNotifyArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_CpNotifyArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_CpickupNotifyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_CpickupNotifyArg(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_CpickupNotifyArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_5_PAR_undefined_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_5_PAR_undefined(tvb, offset, &asn1_ctx, tree, hf_h450_5_h450_5_PAR_undefined_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+
+/* --- Module Call-Waiting-Operations --- --- --- */
+
+
+
+static int
+dissect_h450_6_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 255U, NULL, FALSE);
@@ -2603,16 +3300,99 @@ dissect_h450_INTEGER_0_255(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _
}
-static const per_sequence_t CallWaitingArg_sequence[] = {
- { &hf_h450_nbOfAddWaitingCalls, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_INTEGER_0_255 },
- { &hf_h450_callWaitingArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
+ { &hf_h450_6_callWaitingArg_extensionArg_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
+};
+
+static int
+dissect_h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
+ 0, 255);
+
+ return offset;
+}
+
+
+static const per_sequence_t h450_6_CallWaitingArg_sequence[] = {
+ { &hf_h450_6_nbOfAddWaitingCalls, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_6_INTEGER_0_255 },
+ { &hf_h450_6_callWaitingArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CallWaitingArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_6_CallWaitingArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CallWaitingArg, CallWaitingArg_sequence);
+ ett_h450_6_CallWaitingArg, h450_6_CallWaitingArg_sequence);
+
+ return offset;
+}
+
+/*--- PDUs ---*/
+
+static int dissect_h450_6_CallWaitingArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_6_CallWaitingArg(tvb, offset, &asn1_ctx, tree, hf_h450_6_h450_6_CallWaitingArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+
+/* --- Module Message-Waiting-Indication-Operations --- --- --- */
+
+
+static const value_string h450_7_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 guint32 h450_7_BasicService_value_map[40+0] = {0, 1, 2, 3, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75};
+
+static int
+dissect_h450_7_BasicService(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 40, NULL, FALSE, 0, h450_7_BasicService_value_map);
return offset;
}
@@ -2620,7 +3400,7 @@ dissect_h450_CallWaitingArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_h450_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_7_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, NULL, FALSE);
@@ -2630,7 +3410,7 @@ dissect_h450_INTEGER_0_65535(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx
static int
-dissect_h450_NumericString_SIZE_1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_7_NumericString_SIZE_1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_NumericString(tvb, offset, actx, tree, hf_index,
1, 10);
@@ -2638,24 +3418,24 @@ dissect_h450_NumericString_SIZE_1_10(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx
}
-static const value_string h450_MsgCentreId_vals[] = {
+static const value_string h450_7_MsgCentreId_vals[] = {
{ 0, "integer" },
- { 1, "mwipartyNumber" },
+ { 1, "partyNumber" },
{ 2, "numericString" },
{ 0, NULL }
};
-static const per_choice_t MsgCentreId_choice[] = {
- { 0, &hf_h450_integer , ASN1_NO_EXTENSIONS , dissect_h450_INTEGER_0_65535 },
- { 1, &hf_h450_mwipartyNumber , ASN1_NO_EXTENSIONS , dissect_h450_EndpointAddress },
- { 2, &hf_h450_numericString , ASN1_NO_EXTENSIONS , dissect_h450_NumericString_SIZE_1_10 },
+static const per_choice_t h450_7_MsgCentreId_choice[] = {
+ { 0, &hf_h450_7_integer , ASN1_NO_EXTENSIONS , dissect_h450_7_INTEGER_0_65535 },
+ { 1, &hf_h450_7_partyNumber , ASN1_NO_EXTENSIONS , dissect_h450_EndpointAddress },
+ { 2, &hf_h450_7_numericString, ASN1_NO_EXTENSIONS , dissect_h450_7_NumericString_SIZE_1_10 },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_MsgCentreId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_7_MsgCentreId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_MsgCentreId, MsgCentreId_choice,
+ ett_h450_7_MsgCentreId, h450_7_MsgCentreId_choice,
NULL);
return offset;
@@ -2664,7 +3444,7 @@ dissect_h450_MsgCentreId(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
static int
-dissect_h450_NbOfMessages(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_7_NbOfMessages(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 65535U, NULL, FALSE);
@@ -2674,7 +3454,7 @@ dissect_h450_NbOfMessages(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
static int
-dissect_h450_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_7_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_VisibleString(tvb, offset, actx, tree, hf_index,
12, 19);
@@ -2684,7 +3464,7 @@ dissect_h450_TimeStamp(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
-dissect_h450_INTEGER_0_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_7_INTEGER_0_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
0U, 9U, NULL, FALSE);
@@ -2692,155 +3472,205 @@ dissect_h450_INTEGER_0_9(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_
}
-static const per_sequence_t ExtensionArg_sequence_of[1] = {
- { &hf_h450_ExtensionArg_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_MixedExtension },
+static const per_sequence_t h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
+ { &hf_h450_7_mWIActivateArg_extensionArg_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
};
static int
-dissect_h450_ExtensionArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_h450_ExtensionArg, ExtensionArg_sequence_of,
+ ett_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
0, 255);
return offset;
}
-static const per_sequence_t MWIActivateArg_sequence[] = {
- { &hf_h450_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_BasicService },
- { &hf_h450_msgCentreId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_MsgCentreId },
- { &hf_h450_nbOfMessages , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NbOfMessages },
- { &hf_h450_originatingNr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_timestamp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_TimeStamp },
- { &hf_h450_priority , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_INTEGER_0_9 },
- { &hf_h450_mWIActivateArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ExtensionArg },
+static const per_sequence_t h450_7_MWIActivateArg_sequence[] = {
+ { &hf_h450_7_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_7_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_7_BasicService },
+ { &hf_h450_7_msgCentreId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_MsgCentreId },
+ { &hf_h450_7_nbOfMessages , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_NbOfMessages },
+ { &hf_h450_7_originatingNr, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_7_timestamp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_TimeStamp },
+ { &hf_h450_7_priority , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_INTEGER_0_9 },
+ { &hf_h450_7_mWIActivateArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_MWIActivateArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_7_MWIActivateArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_MWIActivateArg, MWIActivateArg_sequence);
+ ett_h450_7_MWIActivateArg, h450_7_MWIActivateArg_sequence);
return offset;
}
+static const per_sequence_t h450_7_DummyRes_sequence_of[1] = {
+ { &hf_h450_7_DummyRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
+};
static int
-dissect_h450_MwiActivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_h450_MWIActivateArg(tvb, offset, actx, tree, hf_index);
+dissect_h450_7_DummyRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_7_DummyRes, h450_7_DummyRes_sequence_of,
+ 0, 255);
return offset;
}
-static const per_sequence_t MWIDeactivateArg_sequence[] = {
- { &hf_h450_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_BasicService },
- { &hf_h450_msgCentreId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_MsgCentreId },
- { &hf_h450_callbackReq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BOOLEAN },
- { &hf_h450_mWIDeactivateArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ExtensionArg },
- { NULL, 0, 0, NULL }
-};
static int
-dissect_h450_MWIDeactivateArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_MWIDeactivateArg, MWIDeactivateArg_sequence);
+dissect_h450_7_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
return offset;
}
+static const per_sequence_t h450_7_MWIDeactivateArg_sequence[] = {
+ { &hf_h450_7_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_7_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_7_BasicService },
+ { &hf_h450_7_msgCentreId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_MsgCentreId },
+ { &hf_h450_7_callbackReq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_BOOLEAN },
+ { &hf_h450_7_mWIDeactivateArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_h450_MwiDeactivate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_h450_MWIDeactivateArg(tvb, offset, actx, tree, hf_index);
+dissect_h450_7_MWIDeactivateArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_7_MWIDeactivateArg, h450_7_MWIDeactivateArg_sequence);
return offset;
}
-static const per_sequence_t MWIInterrogateArg_sequence[] = {
- { &hf_h450_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_BasicService },
- { &hf_h450_msgCentreId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_MsgCentreId },
- { &hf_h450_callbackReq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BOOLEAN },
- { &hf_h450_mWIInterrogateArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ExtensionArg },
+static const per_sequence_t h450_7_MWIInterrogateArg_sequence[] = {
+ { &hf_h450_7_servedUserNr , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_7_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_7_BasicService },
+ { &hf_h450_7_msgCentreId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_MsgCentreId },
+ { &hf_h450_7_callbackReq , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_BOOLEAN },
+ { &hf_h450_7_mWIInterrogateArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_MWIInterrogateArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_7_MWIInterrogateArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_MWIInterrogateArg, MWIInterrogateArg_sequence);
+ ett_h450_7_MWIInterrogateArg, h450_7_MWIInterrogateArg_sequence);
return offset;
}
+static const per_sequence_t h450_7_MWIInterrogateResElt_sequence[] = {
+ { &hf_h450_7_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_7_BasicService },
+ { &hf_h450_7_msgCentreId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_MsgCentreId },
+ { &hf_h450_7_nbOfMessages , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_NbOfMessages },
+ { &hf_h450_7_originatingNr, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_7_timestamp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_TimeStamp },
+ { &hf_h450_7_priority , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_INTEGER_0_9 },
+ { &hf_h450_7_mWIInterrogateResElt_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_h450_MwiInterrogate(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_h450_MWIInterrogateArg(tvb, offset, actx, tree, hf_index);
+dissect_h450_7_MWIInterrogateResElt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_7_MWIInterrogateResElt, h450_7_MWIInterrogateResElt_sequence);
return offset;
}
-static const per_sequence_t MwiDummyRes_sequence_of[1] = {
- { &hf_h450_MwiDummyRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_MixedExtension },
+static const per_sequence_t h450_7_MWIInterrogateRes_sequence_of[1] = {
+ { &hf_h450_7_MWIInterrogateRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_7_MWIInterrogateResElt },
};
static int
-dissect_h450_MwiDummyRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_7_MWIInterrogateRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_h450_MwiDummyRes, MwiDummyRes_sequence_of,
- 0, 255);
+ ett_h450_7_MWIInterrogateRes, h450_7_MWIInterrogateRes_sequence_of,
+ 1, 64);
return offset;
}
-static const per_sequence_t MWIInterrogateResElt_sequence[] = {
- { &hf_h450_basicService , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_BasicService },
- { &hf_h450_msgCentreId , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_MsgCentreId },
- { &hf_h450_nbOfMessages , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NbOfMessages },
- { &hf_h450_originatingNr , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_timestamp , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_TimeStamp },
- { &hf_h450_priority , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_INTEGER_0_9 },
- { &hf_h450_mWIInterrogateResElt_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_ExtensionArg },
- { NULL, 0, 0, NULL }
+static const per_sequence_t h450_7_PAR_undefined_sequence_of[1] = {
+ { &hf_h450_7_PAR_undefined_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
};
static int
-dissect_h450_MWIInterrogateResElt(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_MWIInterrogateResElt, MWIInterrogateResElt_sequence);
+dissect_h450_7_PAR_undefined(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_7_PAR_undefined, h450_7_PAR_undefined_sequence_of,
+ 0, 255);
return offset;
}
+/*--- PDUs ---*/
-static const per_sequence_t MWIInterrogateRes_sequence_of[1] = {
- { &hf_h450_MWIInterrogateRes_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_MWIInterrogateResElt },
-};
-
-static int
-dissect_h450_MWIInterrogateRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
- ett_h450_MWIInterrogateRes, MWIInterrogateRes_sequence_of,
- 1, 64);
-
+static int dissect_h450_7_MWIActivateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_7_MWIActivateArg(tvb, offset, &asn1_ctx, tree, hf_h450_7_h450_7_MWIActivateArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_7_DummyRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_7_DummyRes(tvb, offset, &asn1_ctx, tree, hf_h450_7_h450_7_DummyRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_7_MWIDeactivateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_7_MWIDeactivateArg(tvb, offset, &asn1_ctx, tree, hf_h450_7_h450_7_MWIDeactivateArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_7_MWIInterrogateArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_7_MWIInterrogateArg(tvb, offset, &asn1_ctx, tree, hf_h450_7_h450_7_MWIInterrogateArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_7_MWIInterrogateRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_7_MWIInterrogateRes(tvb, offset, &asn1_ctx, tree, hf_h450_7_h450_7_MWIInterrogateRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_7_PAR_undefined_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_7_PAR_undefined(tvb, offset, &asn1_ctx, tree, hf_h450_7_h450_7_PAR_undefined_PDU);
+ offset += 7; offset >>= 3;
return offset;
}
+/* --- Module Name-Operations --- --- --- */
+
+
static int
-dissect_h450_SimpleName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_8_SimpleName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_index,
1, 50, NULL);
@@ -2850,7 +3680,7 @@ dissect_h450_SimpleName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_,
static int
-dissect_h450_ExtendedName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_8_ExtendedName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_BMPString(tvb, offset, actx, tree, hf_index,
1, 256);
@@ -2858,1481 +3688,1347 @@ dissect_h450_ExtendedName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U
}
-static const value_string h450_NamePresentationAllowed_vals[] = {
+static const value_string h450_8_NamePresentationAllowed_vals[] = {
{ 0, "simpleName" },
{ 1, "extendedName" },
{ 0, NULL }
};
-static const per_choice_t NamePresentationAllowed_choice[] = {
- { 0, &hf_h450_simpleName , ASN1_EXTENSION_ROOT , dissect_h450_SimpleName },
- { 1, &hf_h450_extendedName , ASN1_EXTENSION_ROOT , dissect_h450_ExtendedName },
+static const per_choice_t h450_8_NamePresentationAllowed_choice[] = {
+ { 0, &hf_h450_8_simpleName , ASN1_EXTENSION_ROOT , dissect_h450_8_SimpleName },
+ { 1, &hf_h450_8_extendedName , ASN1_EXTENSION_ROOT , dissect_h450_8_ExtendedName },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_NamePresentationAllowed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_8_NamePresentationAllowed(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_NamePresentationAllowed, NamePresentationAllowed_choice,
+ ett_h450_8_NamePresentationAllowed, h450_8_NamePresentationAllowed_choice,
NULL);
return offset;
}
-static const value_string h450_NamePresentationRestricted_vals[] = {
+
+static int
+dissect_h450_8_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+static const value_string h450_8_NamePresentationRestricted_vals[] = {
{ 0, "simpleName" },
{ 1, "extendedName" },
{ 2, "restrictedNull" },
{ 0, NULL }
};
-static const per_choice_t NamePresentationRestricted_choice[] = {
- { 0, &hf_h450_simpleName , ASN1_EXTENSION_ROOT , dissect_h450_SimpleName },
- { 1, &hf_h450_extendedName , ASN1_EXTENSION_ROOT , dissect_h450_ExtendedName },
- { 2, &hf_h450_restrictedNull , ASN1_EXTENSION_ROOT , dissect_h450_NULL },
+static const per_choice_t h450_8_NamePresentationRestricted_choice[] = {
+ { 0, &hf_h450_8_simpleName , ASN1_EXTENSION_ROOT , dissect_h450_8_SimpleName },
+ { 1, &hf_h450_8_extendedName , ASN1_EXTENSION_ROOT , dissect_h450_8_ExtendedName },
+ { 2, &hf_h450_8_restrictedNull, ASN1_EXTENSION_ROOT , dissect_h450_8_NULL },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_NamePresentationRestricted(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_8_NamePresentationRestricted(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_NamePresentationRestricted, NamePresentationRestricted_choice,
+ ett_h450_8_NamePresentationRestricted, h450_8_NamePresentationRestricted_choice,
NULL);
return offset;
}
-static const value_string h450_Name_vals[] = {
+static const value_string h450_8_Name_vals[] = {
{ 0, "namePresentationAllowed" },
{ 1, "namePresentationRestricted" },
{ 2, "nameNotAvailable" },
{ 0, NULL }
};
-static const per_choice_t Name_choice[] = {
- { 0, &hf_h450_namePresentationAllowed, ASN1_EXTENSION_ROOT , dissect_h450_NamePresentationAllowed },
- { 1, &hf_h450_namePresentationRestricted, ASN1_EXTENSION_ROOT , dissect_h450_NamePresentationRestricted },
- { 2, &hf_h450_nameNotAvailable, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
+static const per_choice_t h450_8_Name_choice[] = {
+ { 0, &hf_h450_8_namePresentationAllowed, ASN1_EXTENSION_ROOT , dissect_h450_8_NamePresentationAllowed },
+ { 1, &hf_h450_8_namePresentationRestricted, ASN1_EXTENSION_ROOT , dissect_h450_8_NamePresentationRestricted },
+ { 2, &hf_h450_8_nameNotAvailable, ASN1_EXTENSION_ROOT , dissect_h450_8_NULL },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_8_Name(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_Name, Name_choice,
+ ett_h450_8_Name, h450_8_Name_choice,
NULL);
return offset;
}
-static const per_sequence_t NameArg_sequence[] = {
- { &hf_h450_name , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_Name },
- { &hf_h450_nameArg_extensionArg, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
- { NULL, 0, 0, NULL }
+static const per_sequence_t h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
+ { &hf_h450_8_extensionArg_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
};
static int
-dissect_h450_NameArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_NameArg, NameArg_sequence);
+dissect_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
+ 0, 255);
return offset;
}
-static const per_sequence_t CcRequestArg_sequence[] = {
- { &hf_h450_numberA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_numberB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
- { &hf_h450_ccIdentifier , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallIdentifier },
- { &hf_h450_service , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_BasicService },
- { &hf_h450_can_retain_service, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_BOOLEAN },
- { &hf_h450_retain_sig_connection, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BOOLEAN },
- { &hf_h450_ccRequestArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_8_ARG_callingName_sequence[] = {
+ { &hf_h450_8_name , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_8_Name },
+ { &hf_h450_8_extensionArg , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CcRequestArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_8_ARG_callingName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CcRequestArg, CcRequestArg_sequence);
+ ett_h450_8_ARG_callingName, h450_8_ARG_callingName_sequence);
return offset;
}
-static const per_sequence_t CcRequestRes_sequence[] = {
- { &hf_h450_retain_service , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_BOOLEAN },
- { &hf_h450_ccRequestRes_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_8_ARG_alertingName_sequence[] = {
+ { &hf_h450_8_name , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_8_Name },
+ { &hf_h450_8_extensionArg , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CcRequestRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_8_ARG_alertingName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CcRequestRes, CcRequestRes_sequence);
+ ett_h450_8_ARG_alertingName, h450_8_ARG_alertingName_sequence);
return offset;
}
-static const per_sequence_t CcShortArg_sequence[] = {
- { &hf_h450_ccIdentifier , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallIdentifier },
- { &hf_h450_ccShortArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_8_ARG_connectedName_sequence[] = {
+ { &hf_h450_8_name , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_8_Name },
+ { &hf_h450_8_extensionArg , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CcShortArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_8_ARG_connectedName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CcShortArg, CcShortArg_sequence);
+ ett_h450_8_ARG_connectedName, h450_8_ARG_connectedName_sequence);
return offset;
}
-static const per_sequence_t CcLongArg_sequence[] = {
- { &hf_h450_numberA , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_numberB , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
- { &hf_h450_ccIdentifier , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallIdentifier },
- { &hf_h450_service , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_BasicService },
- { &hf_h450_ccLongArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_8_ARG_busyName_sequence[] = {
+ { &hf_h450_8_name , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_8_Name },
+ { &hf_h450_8_extensionArg , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CcLongArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_8_ARG_busyName(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CcLongArg, CcLongArg_sequence);
+ ett_h450_8_ARG_busyName, h450_8_ARG_busyName_sequence);
return offset;
}
+/*--- PDUs ---*/
+
+static int dissect_h450_8_ARG_callingName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_8_ARG_callingName(tvb, offset, &asn1_ctx, tree, hf_h450_8_h450_8_ARG_callingName_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_8_ARG_alertingName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_8_ARG_alertingName(tvb, offset, &asn1_ctx, tree, hf_h450_8_h450_8_ARG_alertingName_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_8_ARG_connectedName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_8_ARG_connectedName(tvb, offset, &asn1_ctx, tree, hf_h450_8_h450_8_ARG_connectedName_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_8_ARG_busyName_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_8_ARG_busyName(tvb, offset, &asn1_ctx, tree, hf_h450_8_h450_8_ARG_busyName_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+
+/* --- Module Call-Completion-Operations --- --- --- */
-static const value_string h450_CcArg_vals[] = {
- { 0, "shortArg" },
- { 1, "longArg" },
- { 0, NULL }
-};
-static const per_choice_t CcArg_choice[] = {
- { 0, &hf_h450_shortArg , ASN1_EXTENSION_ROOT , dissect_h450_CcShortArg },
- { 1, &hf_h450_longArg , ASN1_EXTENSION_ROOT , dissect_h450_CcLongArg },
- { 0, NULL, 0, NULL }
-};
static int
-dissect_h450_CcArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_CcArg, CcArg_choice,
- NULL);
+dissect_h450_9_BOOLEAN(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_boolean(tvb, offset, actx, tree, hf_index, NULL);
return offset;
}
-static const per_sequence_t CoReqOptArg_sequence[] = {
- { &hf_h450_coReqOptArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
- { NULL, 0, 0, NULL }
+static const per_sequence_t h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
+ { &hf_h450_9_ccRequestArg_extension_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
};
static int
-dissect_h450_CoReqOptArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CoReqOptArg, CoReqOptArg_sequence);
+dissect_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
+ 0, 255);
return offset;
}
-static const per_sequence_t RUAlertOptArg_sequence[] = {
- { &hf_h450_rUAlertOptArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_9_CcRequestArg_sequence[] = {
+ { &hf_h450_9_numberA , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_9_numberB , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_EndpointAddress },
+ { &hf_h450_9_ccIdentifier , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallIdentifier },
+ { &hf_h450_9_service , ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_7_BasicService },
+ { &hf_h450_9_can_retain_service, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_9_BOOLEAN },
+ { &hf_h450_9_retain_sig_connection, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_9_BOOLEAN },
+ { &hf_h450_9_ccRequestArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_RUAlertOptArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_9_CcRequestArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_RUAlertOptArg, RUAlertOptArg_sequence);
+ ett_h450_9_CcRequestArg, h450_9_CcRequestArg_sequence);
return offset;
}
-static const per_sequence_t CfbOvrOptArg_sequence[] = {
- { &hf_h450_cfbOvrOptArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_9_CcRequestRes_sequence[] = {
+ { &hf_h450_9_retain_service, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_9_BOOLEAN },
+ { &hf_h450_9_ccRequestRes_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CfbOvrOptArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_9_CcRequestRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CfbOvrOptArg, CfbOvrOptArg_sequence);
+ ett_h450_9_CcRequestRes, h450_9_CcRequestRes_sequence);
return offset;
}
-static const value_string h450_CICapabilityLevel_vals[] = {
- { 1, "intrusionLowCap" },
- { 2, "intrusionMediumCap" },
- { 3, "intrusionHighCap" },
- { 0, NULL }
+static const per_sequence_t h450_9_CcShortArg_sequence[] = {
+ { &hf_h450_9_ccIdentifier , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallIdentifier },
+ { &hf_h450_9_ccShortArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_h450_CICapabilityLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 1U, 3U, NULL, FALSE);
+dissect_h450_9_CcShortArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_9_CcShortArg, h450_9_CcShortArg_sequence);
return offset;
}
-static const per_sequence_t CIRequestArg_sequence[] = {
- { &hf_h450_ciCapabilityLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_CICapabilityLevel },
- { &hf_h450_cIRequestArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_9_CcLongArg_sequence[] = {
+ { &hf_h450_9_numberA , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_9_numberB , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_EndpointAddress },
+ { &hf_h450_9_ccIdentifier , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallIdentifier },
+ { &hf_h450_9_service , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_7_BasicService },
+ { &hf_h450_9_ccLongArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CIRequestArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_9_CcLongArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CIRequestArg, CIRequestArg_sequence);
+ ett_h450_9_CcLongArg, h450_9_CcLongArg_sequence);
return offset;
}
-static const value_string h450_CIStatusInformation_vals[] = {
- { 0, "callIntrusionImpending" },
- { 1, "callIntruded" },
- { 2, "callIsolated" },
- { 3, "callForceReleased" },
- { 4, "callIntrusionComplete" },
- { 5, "callIntrusionEnd" },
+static const value_string h450_9_CcArg_vals[] = {
+ { 0, "shortArg" },
+ { 1, "longArg" },
{ 0, NULL }
};
-static const per_choice_t CIStatusInformation_choice[] = {
- { 0, &hf_h450_callIntrusionImpending, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
- { 1, &hf_h450_callIntruded , ASN1_EXTENSION_ROOT , dissect_h450_NULL },
- { 2, &hf_h450_callIsolated , ASN1_EXTENSION_ROOT , dissect_h450_NULL },
- { 3, &hf_h450_callForceReleased, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
- { 4, &hf_h450_callIntrusionComplete, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
- { 5, &hf_h450_callIntrusionEnd, ASN1_EXTENSION_ROOT , dissect_h450_NULL },
+static const per_choice_t h450_9_CcArg_choice[] = {
+ { 0, &hf_h450_9_shortArg , ASN1_EXTENSION_ROOT , dissect_h450_9_CcShortArg },
+ { 1, &hf_h450_9_longArg , ASN1_EXTENSION_ROOT , dissect_h450_9_CcLongArg },
{ 0, NULL, 0, NULL }
};
static int
-dissect_h450_CIStatusInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_9_CcArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_CIStatusInformation, CIStatusInformation_choice,
+ ett_h450_9_CcArg, h450_9_CcArg_choice,
NULL);
return offset;
}
+/*--- PDUs ---*/
-static const per_sequence_t CIRequestRes_sequence[] = {
- { &hf_h450_ciStatusInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_CIStatusInformation },
- { &hf_h450_cIRequestRes_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
- { NULL, 0, 0, NULL }
+static int dissect_h450_9_CcRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_9_CcRequestArg(tvb, offset, &asn1_ctx, tree, hf_h450_9_h450_9_CcRequestArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_9_CcRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_9_CcRequestRes(tvb, offset, &asn1_ctx, tree, hf_h450_9_h450_9_CcRequestRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_9_CcArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_9_CcArg(tvb, offset, &asn1_ctx, tree, hf_h450_9_h450_9_CcArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_9_CcShortArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_9_CcShortArg(tvb, offset, &asn1_ctx, tree, hf_h450_9_h450_9_CcShortArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+
+/* --- Module Call-Offer-Operations --- --- --- */
+
+
+static const per_sequence_t h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
+ { &hf_h450_10_coReqOptArg_extension_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
};
static int
-dissect_h450_CIRequestRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CIRequestRes, CIRequestRes_sequence);
+dissect_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
+ 0, 255);
return offset;
}
-static const per_sequence_t CIGetCIPLOptArg_sequence[] = {
- { &hf_h450_cIGetCIPLOptArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_10_CoReqOptArg_sequence[] = {
+ { &hf_h450_10_coReqOptArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CIGetCIPLOptArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_10_CoReqOptArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CIGetCIPLOptArg, CIGetCIPLOptArg_sequence);
+ ett_h450_10_CoReqOptArg, h450_10_CoReqOptArg_sequence);
return offset;
}
-static const value_string h450_CIProtectionLevel_vals[] = {
- { 0, "lowProtection" },
- { 1, "mediumProtection" },
- { 2, "highProtection" },
- { 3, "fullProtection" },
- { 0, NULL }
+static const per_sequence_t h450_10_RUAlertOptArg_sequence[] = {
+ { &hf_h450_10_rUAlertOptArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_h450_CIProtectionLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 3U, NULL, FALSE);
+dissect_h450_10_RUAlertOptArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_10_RUAlertOptArg, h450_10_RUAlertOptArg_sequence);
return offset;
}
-static const per_sequence_t CIGetCIPLRes_sequence[] = {
- { &hf_h450_ciProtectionLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_CIProtectionLevel },
- { &hf_h450_silentMonitoringPermitted, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_cIGetCIPLRes_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_10_CfbOvrOptArg_sequence[] = {
+ { &hf_h450_10_cfbOvrOptArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CIGetCIPLRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_10_CfbOvrOptArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CIGetCIPLRes, CIGetCIPLRes_sequence);
+ ett_h450_10_CfbOvrOptArg, h450_10_CfbOvrOptArg_sequence);
return offset;
}
+/*--- PDUs ---*/
-static const per_sequence_t CIIsOptArg_sequence[] = {
- { &hf_h450_cIIsOptArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
- { NULL, 0, 0, NULL }
+static int dissect_h450_10_CoReqOptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_10_CoReqOptArg(tvb, offset, &asn1_ctx, tree, hf_h450_10_h450_10_CoReqOptArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_10_RUAlertOptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_10_RUAlertOptArg(tvb, offset, &asn1_ctx, tree, hf_h450_10_h450_10_RUAlertOptArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_10_CfbOvrOptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_10_CfbOvrOptArg(tvb, offset, &asn1_ctx, tree, hf_h450_10_h450_10_CfbOvrOptArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+
+
+/* --- Module Call-Intrusion-Operations --- --- --- */
+
+
+static const value_string h450_11_CICapabilityLevel_vals[] = {
+ { 1, "intrusionLowCap" },
+ { 2, "intrusionMediumCap" },
+ { 3, "intrusionHighCap" },
+ { 0, NULL }
};
+
static int
-dissect_h450_CIIsOptArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CIIsOptArg, CIIsOptArg_sequence);
+dissect_h450_11_CICapabilityLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 1U, 3U, NULL, FALSE);
return offset;
}
-static const per_sequence_t CIIsOptRes_sequence[] = {
- { &hf_h450_cIIsOptRes_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
- { NULL, 0, 0, NULL }
+static const per_sequence_t h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
+ { &hf_h450_11_cIRequestArg_argumentExtension_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
};
static int
-dissect_h450_CIIsOptRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CIIsOptRes, CIIsOptRes_sequence);
+dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
+ 0, 255);
return offset;
}
-static const per_sequence_t CIFrcRelArg_sequence[] = {
- { &hf_h450_ciCapabilityLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_CICapabilityLevel },
- { &hf_h450_cIFrcRelArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_11_CIRequestArg_sequence[] = {
+ { &hf_h450_11_ciCapabilityLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_11_CICapabilityLevel },
+ { &hf_h450_11_cIRequestArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CIFrcRelArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_11_CIRequestArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CIFrcRelArg, CIFrcRelArg_sequence);
+ ett_h450_11_CIRequestArg, h450_11_CIRequestArg_sequence);
return offset;
}
-static const per_sequence_t CIFrcRelOptRes_sequence[] = {
- { &hf_h450_cIFrcRelOptRes_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
- { NULL, 0, 0, NULL }
+
+static int
+dissect_h450_11_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
+
+ return offset;
+}
+
+
+static const value_string h450_11_CIStatusInformation_vals[] = {
+ { 0, "callIntrusionImpending" },
+ { 1, "callIntruded" },
+ { 2, "callIsolated" },
+ { 3, "callForceReleased" },
+ { 4, "callIntrusionComplete" },
+ { 5, "callIntrusionEnd" },
+ { 0, NULL }
+};
+
+static const per_choice_t h450_11_CIStatusInformation_choice[] = {
+ { 0, &hf_h450_11_callIntrusionImpending, ASN1_EXTENSION_ROOT , dissect_h450_11_NULL },
+ { 1, &hf_h450_11_callIntruded, ASN1_EXTENSION_ROOT , dissect_h450_11_NULL },
+ { 2, &hf_h450_11_callIsolated, ASN1_EXTENSION_ROOT , dissect_h450_11_NULL },
+ { 3, &hf_h450_11_callForceReleased, ASN1_EXTENSION_ROOT , dissect_h450_11_NULL },
+ { 4, &hf_h450_11_callIntrusionComplete, ASN1_EXTENSION_ROOT , dissect_h450_11_NULL },
+ { 5, &hf_h450_11_callIntrusionEnd, ASN1_EXTENSION_ROOT , dissect_h450_11_NULL },
+ { 0, NULL, 0, NULL }
};
static int
-dissect_h450_CIFrcRelOptRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CIFrcRelOptRes, CIFrcRelOptRes_sequence);
+dissect_h450_11_CIStatusInformation(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
+ ett_h450_11_CIStatusInformation, h450_11_CIStatusInformation_choice,
+ NULL);
return offset;
}
-static const per_sequence_t CIWobOptArg_sequence[] = {
- { &hf_h450_cIWobOptArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_11_CIRequestRes_sequence[] = {
+ { &hf_h450_11_ciStatusInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_11_CIStatusInformation },
+ { &hf_h450_11_cIRequestRes_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CIWobOptArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_11_CIRequestRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CIWobOptArg, CIWobOptArg_sequence);
+ ett_h450_11_CIRequestRes, h450_11_CIRequestRes_sequence);
return offset;
}
-static const per_sequence_t CIWobOptRes_sequence[] = {
- { &hf_h450_cIWobOptRes_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_11_CIGetCIPLOptArg_sequence[] = {
+ { &hf_h450_11_cIGetCIPLOptArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CIWobOptRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_11_CIGetCIPLOptArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CIWobOptRes, CIWobOptRes_sequence);
+ ett_h450_11_CIGetCIPLOptArg, h450_11_CIGetCIPLOptArg_sequence);
return offset;
}
-static const per_sequence_t CISilentArg_sequence[] = {
- { &hf_h450_ciCapabilityLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_CICapabilityLevel },
- { &hf_h450_specificCall , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallIdentifier },
- { &hf_h450_cISilentArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
- { NULL, 0, 0, NULL }
+static const value_string h450_11_CIProtectionLevel_vals[] = {
+ { 0, "lowProtection" },
+ { 1, "mediumProtection" },
+ { 2, "highProtection" },
+ { 3, "fullProtection" },
+ { 0, NULL }
};
+
static int
-dissect_h450_CISilentArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CISilentArg, CISilentArg_sequence);
+dissect_h450_11_CIProtectionLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 3U, NULL, FALSE);
return offset;
}
-static const per_sequence_t CISilentOptRes_sequence[] = {
- { &hf_h450_cISilentOptRes_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_11_CIGetCIPLRes_sequence[] = {
+ { &hf_h450_11_ciProtectionLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_11_CIProtectionLevel },
+ { &hf_h450_11_silentMonitoringPermitted, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_NULL },
+ { &hf_h450_11_cIGetCIPLRes_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CISilentOptRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_11_CIGetCIPLRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CISilentOptRes, CISilentOptRes_sequence);
+ ett_h450_11_CIGetCIPLRes, h450_11_CIGetCIPLRes_sequence);
return offset;
}
-static const per_sequence_t CINotificationArg_sequence[] = {
- { &hf_h450_ciStatusInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_CIStatusInformation },
- { &hf_h450_cINotificationArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_11_CIIsOptArg_sequence[] = {
+ { &hf_h450_11_cIIsOptArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CINotificationArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_11_CIIsOptArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CINotificationArg, CINotificationArg_sequence);
+ ett_h450_11_CIIsOptArg, h450_11_CIIsOptArg_sequence);
return offset;
}
-static const per_sequence_t FeatureList_sequence[] = {
- { &hf_h450_ssCFreRoutingSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCTreRoutingSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCCBSPossible , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCCNRPossible , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCOSupported , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCIForcedReleaseSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCIIsolationSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCIWaitOnBusySupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCISilentMonitoringSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCIConferenceSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCHFarHoldSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssMWICallbackSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCPCallParkSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
+static const per_sequence_t h450_11_CIIsOptRes_sequence[] = {
+ { &hf_h450_11_cIIsOptRes_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_FeatureList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_11_CIIsOptRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_FeatureList, FeatureList_sequence);
+ ett_h450_11_CIIsOptRes, h450_11_CIIsOptRes_sequence);
return offset;
}
-static const value_string h450_PartyCategory_vals[] = {
- { 0, "unknown" },
- { 1, "extension" },
- { 2, "attendant" },
- { 3, "emergExt" },
- { 0, NULL }
+static const per_sequence_t h450_11_CIFrcRelArg_sequence[] = {
+ { &hf_h450_11_ciCapabilityLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_11_CICapabilityLevel },
+ { &hf_h450_11_cIFrcRelArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+ { NULL, 0, 0, NULL }
};
-
static int
-dissect_h450_PartyCategory(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
- 4, NULL, TRUE, 0, NULL);
+dissect_h450_11_CIFrcRelArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_11_CIFrcRelArg, h450_11_CIFrcRelArg_sequence);
return offset;
}
+static const per_sequence_t h450_11_CIFrcRelOptRes_sequence[] = {
+ { &hf_h450_11_cIFrcRelOptRes_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+ { NULL, 0, 0, NULL }
+};
static int
-dissect_h450_SSCIProtectionLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
- 0U, 3U, NULL, FALSE);
+dissect_h450_11_CIFrcRelOptRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_11_CIFrcRelOptRes, h450_11_CIFrcRelOptRes_sequence);
return offset;
}
-static const per_sequence_t FeatureValues_sequence[] = {
- { &hf_h450_partyCategory , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_PartyCategory },
- { &hf_h450_ssCIprotectionLevel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SSCIProtectionLevel },
+static const per_sequence_t h450_11_CIWobOptArg_sequence[] = {
+ { &hf_h450_11_cIWobOptArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_FeatureValues(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_11_CIWobOptArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_FeatureValues, FeatureValues_sequence);
+ ett_h450_11_CIWobOptArg, h450_11_CIWobOptArg_sequence);
return offset;
}
-static const per_sequence_t FeatureControl_sequence[] = {
- { &hf_h450_ssCHDoNotHold , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCTDoNotTransfer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssMWICallbackCall, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
- { &hf_h450_ssCISilentMonitorPermitted, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_NULL },
+static const per_sequence_t h450_11_CIWobOptRes_sequence[] = {
+ { &hf_h450_11_cIWobOptRes_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_FeatureControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_11_CIWobOptRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_FeatureControl, FeatureControl_sequence);
+ ett_h450_11_CIWobOptRes, h450_11_CIWobOptRes_sequence);
return offset;
}
-static const per_sequence_t CmnArg_sequence[] = {
- { &hf_h450_featureList , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_FeatureList },
- { &hf_h450_featureValues , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_FeatureValues },
- { &hf_h450_featureControl , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_FeatureControl },
- { &hf_h450_cmnArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_11_CISilentArg_sequence[] = {
+ { &hf_h450_11_ciCapabilityLevel, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_11_CICapabilityLevel },
+ { &hf_h450_11_specificCall, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h225_CallIdentifier },
+ { &hf_h450_11_cISilentArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CmnArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_11_CISilentArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CmnArg, CmnArg_sequence);
+ ett_h450_11_CISilentArg, h450_11_CISilentArg_sequence);
return offset;
}
-static const per_sequence_t CmnRequestArg_sequence[] = {
- { &hf_h450_cmnRequestArg_extensionArg, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_h450_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+static const per_sequence_t h450_11_CISilentOptRes_sequence[] = {
+ { &hf_h450_11_cISilentOptRes_resultExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
{ NULL, 0, 0, NULL }
};
static int
-dissect_h450_CmnRequestArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+dissect_h450_11_CISilentOptRes(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
- ett_h450_CmnRequestArg, CmnRequestArg_sequence);
+ ett_h450_11_CISilentOptRes, h450_11_CISilentOptRes_sequence);
return offset;
}
-static const value_string h450_Unspecified_vals[] = {
- { 0, "extension" },
- { 1, "nonStandard" },
- { 0, NULL }
-};
-
-static const per_choice_t Unspecified_choice[] = {
- { 0, &hf_h450_unspecified_extension, ASN1_NO_EXTENSIONS , dissect_h450_Extension },
- { 1, &hf_h450_nonStandard , ASN1_NO_EXTENSIONS , dissect_h225_NonStandardParameter },
- { 0, NULL, 0, NULL }
+static const per_sequence_t h450_11_CINotificationArg_sequence[] = {
+ { &hf_h450_11_ciStatusInformation, ASN1_EXTENSION_ROOT , ASN1_NOT_OPTIONAL, dissect_h450_11_CIStatusInformation },
+ { &hf_h450_11_cINotificationArg_argumentExtension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+ { NULL, 0, 0, NULL }
};
static int
-dissect_h450_Unspecified(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
- offset = dissect_per_choice(tvb, offset, actx, tree, hf_index,
- ett_h450_Unspecified, Unspecified_choice,
- NULL);
+dissect_h450_11_CINotificationArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_11_CINotificationArg, h450_11_CINotificationArg_sequence);
return offset;
}
/*--- PDUs ---*/
-static void dissect_CallTransferIdentify_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
- asn1_ctx_t asn1_ctx;
- asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_CallTransferIdentify(tvb, 0, &asn1_ctx, tree, hf_h450_CallTransferIdentify_PDU);
-}
-static void dissect_CallTransferAbandon_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CIRequestArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_CallTransferAbandon(tvb, 0, &asn1_ctx, tree, hf_h450_CallTransferAbandon_PDU);
+ offset = dissect_h450_11_CIRequestArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIRequestArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static void dissect_CallTransferInitiate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CIRequestRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_CallTransferInitiate(tvb, 0, &asn1_ctx, tree, hf_h450_CallTransferInitiate_PDU);
+ offset = dissect_h450_11_CIRequestRes(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIRequestRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static void dissect_CallTransferSetup_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CIGetCIPLOptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_CallTransferSetup(tvb, 0, &asn1_ctx, tree, hf_h450_CallTransferSetup_PDU);
+ offset = dissect_h450_11_CIGetCIPLOptArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIGetCIPLOptArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static void dissect_CallTransferUpdate_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CIGetCIPLRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_CallTransferUpdate(tvb, 0, &asn1_ctx, tree, hf_h450_CallTransferUpdate_PDU);
+ offset = dissect_h450_11_CIGetCIPLRes(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIGetCIPLRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static void dissect_SubaddressTransfer_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CIIsOptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_SubaddressTransfer(tvb, 0, &asn1_ctx, tree, hf_h450_SubaddressTransfer_PDU);
+ offset = dissect_h450_11_CIIsOptArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIIsOptArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static void dissect_CallTransferComplete_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CIIsOptRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_CallTransferComplete(tvb, 0, &asn1_ctx, tree, hf_h450_CallTransferComplete_PDU);
+ offset = dissect_h450_11_CIIsOptRes(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIIsOptRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static void dissect_CallTransferActive_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CIFrcRelArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_CallTransferActive(tvb, 0, &asn1_ctx, tree, hf_h450_CallTransferActive_PDU);
+ offset = dissect_h450_11_CIFrcRelArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIFrcRelArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static void dissect_ActivateDiversionQArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CIFrcRelOptRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_ActivateDiversionQArg(tvb, 0, &asn1_ctx, tree, hf_h450_ActivateDiversionQArg_PDU);
+ offset = dissect_h450_11_CIFrcRelOptRes(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIFrcRelOptRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static void dissect_ActivateDiversionQRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CIWobOptArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_ActivateDiversionQRes(tvb, 0, &asn1_ctx, tree, hf_h450_ActivateDiversionQRes_PDU);
+ offset = dissect_h450_11_CIWobOptArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIWobOptArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static void dissect_DeactivateDiversionQRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CIWobOptRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_DeactivateDiversionQRes(tvb, 0, &asn1_ctx, tree, hf_h450_DeactivateDiversionQRes_PDU);
+ offset = dissect_h450_11_CIWobOptRes(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CIWobOptRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static void dissect_InterrogateDiversionQRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CISilentArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_InterrogateDiversionQRes(tvb, 0, &asn1_ctx, tree, hf_h450_InterrogateDiversionQRes_PDU);
+ offset = dissect_h450_11_CISilentArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CISilentArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static void dissect_CheckRestrictionRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CISilentOptRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_CheckRestrictionRes(tvb, 0, &asn1_ctx, tree, hf_h450_CheckRestrictionRes_PDU);
+ offset = dissect_h450_11_CISilentOptRes(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CISilentOptRes_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static void dissect_CallReroutingRes_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+static int dissect_h450_11_CINotificationArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_CallReroutingRes(tvb, 0, &asn1_ctx, tree, hf_h450_CallReroutingRes_PDU);
+ offset = dissect_h450_11_CINotificationArg(tvb, offset, &asn1_ctx, tree, hf_h450_11_h450_11_CINotificationArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-/*--- End of included file: packet-h450-fn.c ---*/
-#line 309 "packet-h450-template.c"
+/* --- Module Common-Information-Operations --- --- --- */
-static const value_string InvokeProblem_vals[] = {
- { 0, "duplicateInvocation"},
- { 1, "unrecognizedOperation"},
- { 2, "mistypedArgument"},
- { 3, "resourceLimitation"},
- { 4, "releaseInProgress"},
- { 5, "unrecognizedLinkedId"},
- { 6, "linkedResponseUnexpected"},
- { 7, "unexpectedLinkedOperation"},
- { 0, NULL }
-};
-static int
-dissect_h4501_InvokeProblem(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0, 7, NULL, FALSE);
- return offset;
-}
-static const value_string ReturnResultProblem_vals[] = {
- { 0, "unrecognizedInvocation"},
- { 1, "resultResponseUnexpected"},
- { 2, "mistypedResult"},
- { 0, NULL }
-};
static int
-dissect_h4501_ReturnResultProblem(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0, 2, NULL, FALSE);
- return offset;
+dissect_h450_12_NULL(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_null(tvb, offset, actx, tree, hf_index);
+
+ return offset;
}
-static const value_string ReturnErrorProblem_vals[] = {
- { 0, "unrecognizedInvocation"},
- { 1, "errorResponseUnexpected"},
- { 2, "unrecognizedError"},
- { 3, "unexpectedError"},
- { 4, "mistypedParameter"},
- { 0, NULL }
+static const per_sequence_t h450_12_FeatureList_sequence[] = {
+ { &hf_h450_12_ssCFreRoutingSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCTreRoutingSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCCBSPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCCNRPossible, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCOSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCIForcedReleaseSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCIIsolationSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCIWaitOnBusySupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCISilentMonitoringSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCIConferenceSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCHFarHoldSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssMWICallbackSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCPCallParkSupported, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { NULL, 0, 0, NULL }
};
+
static int
-dissect_h4501_ReturnErrorProblem(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0, 4, NULL, FALSE);
- return offset;
+dissect_h450_12_FeatureList(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_12_FeatureList, h450_12_FeatureList_sequence);
+
+ return offset;
}
-static const value_string GeneralProblem_vals[] = {
- { 0, "unrecognizedCompenent"},
- { 1, "mistypedCompenent"},
- { 2, "badlyStructuredCompenent"},
- { 0, NULL }
+
+static const value_string h450_12_PartyCategory_vals[] = {
+ { 0, "unknown" },
+ { 1, "extension" },
+ { 2, "attendant" },
+ { 3, "emergExt" },
+ { 0, NULL }
};
+
+
static int
-dissect_h4501_GeneralProblem(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0, 2, NULL, FALSE);
- return offset;
-}
-static int
-dissect_h4501_ReturnResult_result(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- tvbuff_t *result_tvb = NULL;
-
- offset=dissect_per_octet_string(tvb, offset, actx, tree, -1, NO_BOUND, NO_BOUND, &result_tvb);
-
- if(tvb_length(result_tvb)){
- switch (localOpcode) {
- case CallTransferIdentify:
- dissect_h450_CTIdentifyRes(result_tvb, 0, actx, tree, hf_h4502_CTIdentifyRes);
- break;
-
- case CallTransferInitiate:
- case CallTransferSetup:
- dissect_h450_DummyRes(result_tvb, 0, actx , tree, hf_h4502_DummyRes);
- break;
-
- case ActivateDiversionQ:
- dissect_ActivateDiversionQRes_PDU(result_tvb, actx->pinfo, tree);
- break;
- case DeactivateDiversionQ:
- dissect_DeactivateDiversionQRes_PDU(result_tvb, actx->pinfo, tree);
- break;
- case InterrogateDiversionQ:
- dissect_InterrogateDiversionQRes_PDU(result_tvb, actx->pinfo, tree);
- break;
- case CheckRestriction:
- dissect_CheckRestrictionRes_PDU(result_tvb, actx->pinfo, tree);
- break;
- case CallRerouting:
- dissect_CallReroutingRes_PDU(result_tvb, actx->pinfo, tree);
- break;
-
- case RemoteRetrieve:
- dissect_h450_RemoteRetrieveRes(result_tvb, 0, actx , tree, hf_h4504_RemoteRetrieveRes);
- break;
- case MWIActivate:
- dissect_h450_MwiDummyRes(result_tvb, 0, actx , tree, hf_h4507_MwiDummyRes);
- break;
- case MWIDeactivate:
- dissect_h450_MwiDummyRes(result_tvb, 0, actx , tree, hf_h4507_MwiDummyRes);
- break;
- case MWIInterrogate:
- dissect_h450_MWIInterrogateRes(result_tvb, 0, actx , tree, hf_h4507_MWIInterrogateRes);
- break;
-
- default:
-PER_NOT_DECODED_YET("Unrecognized H.450.x return result");
- break;
- }
- }
-
- return offset;
-}
-
-static int
-dissect_h4501_LocalOpcode(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_integer(tvb, offset, actx, tree, hf_index, &localOpcode);
- is_globalcode = FALSE;
- return offset;
+dissect_h450_12_PartyCategory(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_enumerated(tvb, offset, actx, tree, hf_index,
+ 4, NULL, TRUE, 0, NULL);
+
+ return offset;
}
+
static int
-dissect_h4501_GlobalCode(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_object_identifier_str(tvb, offset, actx, tree, hf_index, &globalcode_oid_str);
- is_globalcode = TRUE;
- return offset;
+dissect_h450_12_SSCIProtectionLevel(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index,
+ 0U, 3U, NULL, FALSE);
+
+ return offset;
}
-static const value_string opcode_vals[] = {
- { 0, "local" },
- { 1, "global" },
- { 0, NULL}
-};
-static const per_choice_t opcode_choice[] = {
- { 0, &hf_h4501_localOpcode, ASN1_NO_EXTENSIONS,
- dissect_h4501_LocalOpcode },
- { 1, &hf_h4501_globalCode, ASN1_NO_EXTENSIONS,
- dissect_h4501_GlobalCode },
- { 0, NULL, 0, NULL }
+static const per_sequence_t h450_12_FeatureValues_sequence[] = {
+ { &hf_h450_12_partyCategory, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_PartyCategory },
+ { &hf_h450_12_ssCIprotectionLevel, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_SSCIProtectionLevel },
+ { NULL, 0, 0, NULL }
};
+
static int
-dissect_h4501_Opcode(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h4501_opcode, opcode_choice, NULL);
- return offset;
+dissect_h450_12_FeatureValues(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_12_FeatureValues, h450_12_FeatureValues_sequence);
+
+ return offset;
}
-static const per_sequence_t result_sequence[] = {
- { &hf_h4501_opcode, ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
- dissect_h4501_Opcode },
- { &hf_h4501_dummy, ASN1_EXTENSION_ROOT, ASN1_NOT_OPTIONAL,
- dissect_h4501_ReturnResult_result },
- { NULL, 0, 0, NULL }
+
+static const per_sequence_t h450_12_FeatureControl_sequence[] = {
+ { &hf_h450_12_ssCHDoNotHold, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCTDoNotTransfer, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssMWICallbackCall, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { &hf_h450_12_ssCISilentMonitorPermitted, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_NULL },
+ { NULL, 0, 0, NULL }
};
-static int
-dissect_h4501_Result(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h4501_result, result_sequence);
- return offset;
-}
static int
-dissect_h4501_Parameter(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- /* TODO - decode return error parameter based on localErrorCode */
- offset=dissect_per_octet_string(tvb, offset, actx, tree, hf_index, NO_BOUND, NO_BOUND, NULL);
- return offset;
-}
-static const value_string localErrorCode_vals[] = {
- /* H.450.1 general error list */
- { 0, "userNotSubscribed"},
- { 1, "RejectedByNetwork"},
- { 2, "RejectedByUser"},
- { 3, "NotAvailable"},
- { 5, "InsufficientInformation"},
- { 6, "InvalidServedUserNumber"},
- { 7, "InvalidCallState"},
- { 8, "BasicServiceNotProvided"},
- { 9, "NotIncomingCall"},
- { 10, "SupplementaryServiceInteractionNotAllowed"},
- { 11, "ResourceUnavailable"},
- { 25, "CallFailure"},
- { 43, "ProceduralError"},
-
- /* H.450.2 Call Transfer return errors */
- { 1004, "invalidReroutingNumber"},
- { 1005, "unrecognizedCallIdentity"},
- { 1006, "establishmentFailure"},
- { 1008, "unspecified"},
-
- /* H.450.4 Call Hold return errors */
- { 2002, "undefined"},
-
- /* H.450.5 Call Park and Pickup return errors */
- { 2000, "callPickupIdInvalid"},
- { 2001, "callAlreadyPickedUp"},
-
- /* H.450.7 Message Waiting Indication return errors */
- { 1018, "invalidMsgCentreId"},
- { 31, "notActivated"},
-
- /* H.450.9 Call Completion return errors */
- { 1010, "shortTermRejection"},
- { 1011, "longTermRejection"},
- { 1012, "remoteUserBusyAgain"},
- { 1013, "failureToMatch"},
-
- /* H.450.11 Call Intrusion return errors */
- { 1009, "notBusy"},
- { 1000, "temporarilyUnavailable"},
- { 1007, "notAuthorized"},
-
- /* TODO - add other H.450.x error codes here */
-
- { 0, NULL }
-};
-static int
-dissect_h4501_LocalErrorCode(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_integer(tvb, offset, actx, tree, hf_index, &localErrorCode);
- return offset;
+dissect_h450_12_FeatureControl(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_12_FeatureControl, h450_12_FeatureControl_sequence);
+
+ return offset;
}
-static const value_string errorCode_vals[] = {
- { 0, "local" },
- { 1, "global" },
- { 0, NULL}
-};
-static const per_choice_t errorCode_choice[] = {
- { 0, &hf_h4501_localErrorCode, ASN1_NO_EXTENSIONS,
- dissect_h4501_LocalErrorCode },
- { 1, &hf_h4501_globalCode, ASN1_NO_EXTENSIONS,
- dissect_h4501_GlobalCode },
- { 0, NULL, 0, NULL }
+static const per_sequence_t h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of[1] = {
+ { &hf_h450_12_cmnArg_extension_item, ASN1_NO_EXTENSIONS , ASN1_NOT_OPTIONAL, dissect_h450_4_MixedExtension },
};
+
static int
-dissect_h4501_ErrorCode(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h4501_errorCode, errorCode_choice, NULL);
- return offset;
-}
-
-static const value_string problem_vals[] = {
- { 0, "general" },
- { 1, "invoke" },
- { 2, "returnResult" },
- { 3, "returnError" },
- { 0, NULL}
-};
-static const per_choice_t problem_choice[] = {
- { 0, &hf_h4501_GeneralProblem, ASN1_NO_EXTENSIONS,
- dissect_h4501_GeneralProblem },
- { 1, &hf_h4501_InvokeProblem, ASN1_NO_EXTENSIONS,
- dissect_h4501_InvokeProblem },
- { 2, &hf_h4501_ReturnResultProblem, ASN1_NO_EXTENSIONS,
- dissect_h4501_ReturnResultProblem },
- { 3, &hf_h4501_ReturnErrorProblem, ASN1_NO_EXTENSIONS,
- dissect_h4501_ReturnErrorProblem },
- { 0, NULL, 0, NULL }
-};
-static int
-dissect_h4501_Problem(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_choice(tvb, offset, actx, tree, hf_index, ett_h4501_problem, problem_choice, NULL);
- return offset;
-}
-static int
-dissect_h4501_Constrained_invokeId(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_constrained_integer(tvb, offset, actx, tree, hf_index, 0, 65535, NULL, FALSE);
- return offset;
+dissect_h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_constrained_sequence_of(tvb, offset, actx, tree, hf_index,
+ ett_h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension, h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension_sequence_of,
+ 0, 255);
+
+ return offset;
}
+static const per_sequence_t h450_12_CmnArg_sequence[] = {
+ { &hf_h450_12_featureList , ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_FeatureList },
+ { &hf_h450_12_featureValues, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_FeatureValues },
+ { &hf_h450_12_featureControl, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_FeatureControl },
+ { &hf_h450_12_cmnArg_extension, ASN1_EXTENSION_ROOT , ASN1_OPTIONAL , dissect_h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+ { NULL, 0, 0, NULL }
+};
+
static int
-dissect_h4501_InvokeId(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_integer(tvb, offset, actx, tree, hf_index, NULL);
- return offset;
+dissect_h450_12_CmnArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_12_CmnArg, h450_12_CmnArg_sequence);
+
+ return offset;
}
-static const per_sequence_t Reject_sequence[] = {
- { &hf_h4501_invokeId, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_InvokeId },
- { &hf_h4501_problem, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_Problem },
- { NULL, 0, 0, NULL }
+
+static const per_sequence_t h450_12_DummyArg_sequence[] = {
+ { &hf_h450_12_extensionArg, ASN1_NO_EXTENSIONS , ASN1_OPTIONAL , dissect_h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension },
+ { NULL, 0, 0, NULL }
};
+
static int
-dissect_h4501_Reject(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h4501_Reject, Reject_sequence);
- return offset;
+dissect_h450_12_DummyArg(tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
+ offset = dissect_per_sequence(tvb, offset, actx, tree, hf_index,
+ ett_h450_12_DummyArg, h450_12_DummyArg_sequence);
+
+ return offset;
}
-static const per_sequence_t ReturnError_sequence[] = {
- { &hf_h4501_invokeId, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_InvokeId },
- { &hf_h4501_errorCode, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_ErrorCode },
- { &hf_h4501_parameter, ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
- dissect_h4501_Parameter },
- { NULL, 0, 0, NULL }
-};
-static int
-dissect_h4501_ReturnError(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h4501_ReturnError, ReturnError_sequence);
- return offset;
+/*--- PDUs ---*/
+
+static int dissect_h450_12_DummyArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_12_DummyArg(tvb, offset, &asn1_ctx, tree, hf_h450_12_h450_12_DummyArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
+}
+static int dissect_h450_12_CmnArg_PDU(tvbuff_t *tvb _U_, packet_info *pinfo _U_, proto_tree *tree _U_) {
+ int offset = 0;
+ asn1_ctx_t asn1_ctx;
+ asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
+ offset = dissect_h450_12_CmnArg(tvb, offset, &asn1_ctx, tree, hf_h450_12_h450_12_CmnArg_PDU);
+ offset += 7; offset >>= 3;
+ return offset;
}
-static const per_sequence_t ReturnResult_sequence[] = {
- { &hf_h4501_invokeId, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_InvokeId },
- { &hf_h4501_result, ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
- dissect_h4501_Result },
- { NULL, 0, 0, NULL }
-};
-static int
-dissect_h4501_ReturnResult(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h4501_ReturnResult, ReturnResult_sequence);
- return offset;
+
+/*--- End of included file: packet-h450-fn.c ---*/
+#line 80 "packet-h450-template.c"
+
+typedef struct _h450_op_t {
+ gint32 opcode;
+ new_dissector_t arg_pdu;
+ new_dissector_t res_pdu;
+} h450_op_t;
+
+static const h450_op_t h450_op_tab[] = {
+
+/*--- Included file: packet-h450-table11.c ---*/
+#line 1 "packet-h450-table11.c"
+
+/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
+
+/* Unknown or empty loop list OPERATION */
+
+/* --- Module Call-Transfer-Operations --- --- --- */
+
+ /* callTransferIdentify */ { 7, dissect_h450_2_DummyArg_PDU, dissect_h450_2_CTIdentifyRes_PDU },
+ /* callTransferAbandon */ { 8, dissect_h450_2_DummyArg_PDU, NULL },
+ /* callTransferInitiate */ { 9, dissect_h450_2_CTInitiateArg_PDU, dissect_h450_2_DummyRes_PDU },
+ /* callTransferSetup */ { 10, dissect_h450_2_CTSetupArg_PDU, dissect_h450_2_DummyRes_PDU },
+ /* callTransferUpdate */ { 13, dissect_h450_2_CTUpdateArg_PDU, NULL },
+ /* subaddressTransfer */ { 14, dissect_h450_2_SubaddressTransferArg_PDU, NULL },
+ /* callTransferComplete */ { 12, dissect_h450_2_CTCompleteArg_PDU, NULL },
+ /* callTransferActive */ { 11, dissect_h450_2_CTActiveArg_PDU, NULL },
+
+/* --- Module Call-Diversion-Operations --- --- --- */
+
+ /* activateDiversionQ */ { 15, dissect_h450_3_ARG_activateDiversionQ_PDU, dissect_h450_3_RES_activateDiversionQ_PDU },
+ /* deactivateDiversionQ */ { 16, dissect_h450_3_ARG_deactivateDiversionQ_PDU, dissect_h450_3_RES_deactivateDiversionQ_PDU },
+ /* interrogateDiversionQ */ { 17, dissect_h450_3_ARG_interrogateDiversionQ_PDU, dissect_h450_3_IntResultList_PDU },
+ /* checkRestriction */ { 18, dissect_h450_3_ARG_checkRestriction_PDU, dissect_h450_3_RES_checkRestriction_PDU },
+ /* callRerouting */ { 19, dissect_h450_3_ARG_callRerouting_PDU, dissect_h450_3_RES_callRerouting_PDU },
+ /* divertingLegInformation1 */ { 20, dissect_h450_3_ARG_divertingLegInformation1_PDU, NULL },
+ /* divertingLegInformation2 */ { 21, dissect_h450_3_ARG_divertingLegInformation2_PDU, NULL },
+ /* divertingLegInformation3 */ { 22, dissect_h450_3_ARG_divertingLegInformation3_PDU, NULL },
+ /* divertingLegInformation4 */ { 100, dissect_h450_3_ARG_divertingLegInformation4_PDU, NULL },
+ /* cfnrDivertedLegFailed */ { 23, dissect_h450_3_ARG_cfnrDivertedLegFailed_PDU, NULL },
+
+/* --- Module Call-Hold-Operations --- --- --- */
+
+ /* holdNotific */ { 101, dissect_h450_4_HoldNotificArg_PDU, NULL },
+ /* retrieveNotific */ { 102, dissect_h450_4_RetrieveNotificArg_PDU, NULL },
+ /* remoteHold */ { 103, dissect_h450_4_RemoteHoldArg_PDU, dissect_h450_4_RemoteHoldRes_PDU },
+ /* remoteRetrieve */ { 104, dissect_h450_4_RemoteRetrieveArg_PDU, dissect_h450_4_RemoteRetrieveRes_PDU },
+
+/* --- Module Call-Park-Pickup-Operations --- --- --- */
+
+ /* cpRequest */ { 106, dissect_h450_5_CpRequestArg_PDU, dissect_h450_5_CpRequestRes_PDU },
+ /* cpSetup */ { 107, dissect_h450_5_CpSetupArg_PDU, dissect_h450_5_CpSetupRes_PDU },
+ /* groupIndicationOn */ { 108, dissect_h450_5_GroupIndicationOnArg_PDU, dissect_h450_5_GroupIndicationOnRes_PDU },
+ /* groupIndicationOff */ { 109, dissect_h450_5_GroupIndicationOffArg_PDU, dissect_h450_5_GroupIndicationOffRes_PDU },
+ /* pickrequ */ { 110, dissect_h450_5_PickrequArg_PDU, dissect_h450_5_PickrequRes_PDU },
+ /* pickup */ { 111, dissect_h450_5_PickupArg_PDU, dissect_h450_5_PickupRes_PDU },
+ /* pickExe */ { 112, dissect_h450_5_PickExeArg_PDU, dissect_h450_5_PickExeRes_PDU },
+ /* cpNotify */ { 113, dissect_h450_5_CpNotifyArg_PDU, NULL },
+ /* cpickupNotify */ { 114, dissect_h450_5_CpickupNotifyArg_PDU, NULL },
+
+/* --- Module Call-Waiting-Operations --- --- --- */
+
+ /* callWaiting */ { 105, dissect_h450_6_CallWaitingArg_PDU, NULL },
+
+/* --- Module Message-Waiting-Indication-Operations --- --- --- */
+
+ /* mwiActivate */ { 80, dissect_h450_7_MWIActivateArg_PDU, dissect_h450_7_DummyRes_PDU },
+ /* mwiDeactivate */ { 81, dissect_h450_7_MWIDeactivateArg_PDU, dissect_h450_7_DummyRes_PDU },
+ /* mwiInterrogate */ { 82, dissect_h450_7_MWIInterrogateArg_PDU, dissect_h450_7_MWIInterrogateRes_PDU },
+
+/* --- Module Name-Operations --- --- --- */
+
+ /* callingName */ { 0, dissect_h450_8_ARG_callingName_PDU, NULL },
+ /* alertingName */ { 1, dissect_h450_8_ARG_alertingName_PDU, NULL },
+ /* connectedName */ { 2, dissect_h450_8_ARG_connectedName_PDU, NULL },
+ /* busyName */ { 3, dissect_h450_8_ARG_busyName_PDU, NULL },
+
+/* --- Module Call-Completion-Operations --- --- --- */
+
+ /* ccbsRequest */ { 40, dissect_h450_9_CcRequestArg_PDU, dissect_h450_9_CcRequestRes_PDU },
+ /* ccnrRequest */ { 27, dissect_h450_9_CcRequestArg_PDU, dissect_h450_9_CcRequestRes_PDU },
+ /* ccCancel */ { 28, dissect_h450_9_CcArg_PDU, NULL },
+ /* ccExecPossible */ { 29, dissect_h450_9_CcArg_PDU, NULL },
+ /* ccRingout */ { 31, dissect_h450_9_CcShortArg_PDU, NULL },
+ /* ccSuspend */ { 32, dissect_h450_9_CcShortArg_PDU, NULL },
+ /* ccResume */ { 33, dissect_h450_9_CcArg_PDU, NULL },
+
+/* --- Module Call-Offer-Operations --- --- --- */
+
+ /* callOfferRequest */ { 34, dissect_h450_10_CoReqOptArg_PDU, NULL },
+ /* remoteUserAlerting */ { 115, dissect_h450_10_RUAlertOptArg_PDU, NULL },
+ /* cfbOverride */ { 49, dissect_h450_10_CfbOvrOptArg_PDU, NULL },
+
+/* --- Module Call-Intrusion-Operations --- --- --- */
+
+ /* callIntrusionRequest */ { 43, dissect_h450_11_CIRequestArg_PDU, dissect_h450_11_CIRequestRes_PDU },
+ /* callIntrusionGetCIPL */ { 44, dissect_h450_11_CIGetCIPLOptArg_PDU, dissect_h450_11_CIGetCIPLRes_PDU },
+ /* callIntrusionIsolate */ { 45, dissect_h450_11_CIIsOptArg_PDU, dissect_h450_11_CIIsOptRes_PDU },
+ /* callIntrusionForcedRelease */ { 46, dissect_h450_11_CIFrcRelArg_PDU, dissect_h450_11_CIFrcRelOptRes_PDU },
+ /* callIntrusionWOBRequest */ { 47, dissect_h450_11_CIWobOptArg_PDU, dissect_h450_11_CIWobOptRes_PDU },
+ /* callIntrusionSilentMonitor */ { 116, dissect_h450_11_CISilentArg_PDU, dissect_h450_11_CISilentOptRes_PDU },
+ /* callIntrusionNotification */ { 117, dissect_h450_11_CINotificationArg_PDU, NULL },
+
+/* --- Module Common-Information-Operations --- --- --- */
+
+ /* cmnRequest */ { 84, dissect_h450_12_DummyArg_PDU, dissect_h450_12_CmnArg_PDU },
+ /* cmnInform */ { 85, dissect_h450_12_CmnArg_PDU, NULL },
+
+/*--- End of included file: packet-h450-table11.c ---*/
+#line 89 "packet-h450-template.c"
+};
+
+typedef struct _h450_err_t {
+ gint32 errcode;
+ new_dissector_t err_pdu;
+} h450_err_t;
+
+static const h450_err_t h450_err_tab[] = {
+
+/*--- Included file: packet-h450-table21.c ---*/
+#line 1 "packet-h450-table21.c"
+
+/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
+
+ /* userNotSubscribed */ { 0, NULL },
+ /* rejectedByNetwork */ { 1, NULL },
+ /* rejectedByUser */ { 2, NULL },
+ /* notAvailable */ { 3, NULL },
+ /* insufficientInformation */ { 5, NULL },
+ /* invalidServedUserNumber */ { 6, NULL },
+ /* invalidCallState */ { 7, NULL },
+ /* basicServiceNotProvided */ { 8, NULL },
+ /* notIncomingCall */ { 9, NULL },
+ /* supplementaryServiceInteractionNotAllowed */ { 10, NULL },
+ /* resourceUnavailable */ { 11, NULL },
+ /* callFailure */ { 25, NULL },
+ /* proceduralError */ { 43, NULL },
+
+/* --- Module Call-Transfer-Operations --- --- --- */
+
+ /* unspecified */ { 1008, dissect_h450_2_PAR_unspecified_PDU },
+ /* invalidReroutingNumber */ { 1004, NULL },
+ /* unrecognizedCallIdentity */ { 1005, NULL },
+ /* establishmentFailure */ { 1006, NULL },
+
+/* --- Module Call-Diversion-Operations --- --- --- */
+
+ /* invalidDivertedNumber */ { 12, NULL },
+ /* specialServiceNumber */ { 14, NULL },
+ /* diversionToServedUserNumber */ { 15, NULL },
+ /* numberOfDiversionsExceeded */ { 24, NULL },
+ /* temporarilyUnavailable */ { 1000, NULL },
+ /* notAuthorized */ { 1007, NULL },
+ /* unspecified */ { 1008, dissect_h450_3_PAR_unspecified_PDU },
+
+/* --- Module Call-Hold-Operations --- --- --- */
+
+ /* undefined */ { 2002, dissect_h450_4_PAR_undefined_PDU },
+
+/* --- Module Call-Park-Pickup-Operations --- --- --- */
+
+ /* callPickupIdInvalid */ { 2000, NULL },
+ /* callAlreadyPickedUp */ { 2001, NULL },
+ /* undefined */ { 2002, dissect_h450_5_PAR_undefined_PDU },
+
+/* --- Module Call-Waiting-Operations --- --- --- */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module Message-Waiting-Indication-Operations --- --- --- */
+
+ /* undefined */ { 2002, dissect_h450_7_PAR_undefined_PDU },
+ /* invalidMsgCentreId */ { 1018, NULL },
+ /* notActivated */ { 31, NULL },
+
+/* --- Module Name-Operations --- --- --- */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module Call-Completion-Operations --- --- --- */
+
+ /* shortTermRejection */ { 1010, NULL },
+ /* longTermRejection */ { 1011, NULL },
+ /* remoteUserBusyAgain */ { 1012, NULL },
+ /* failureToMatch */ { 1013, NULL },
+
+/* --- Module Call-Offer-Operations --- --- --- */
+
+/* Unknown or empty loop list ERROR */
+
+/* --- Module Call-Intrusion-Operations --- --- --- */
+
+ /* notBusy */ { 1009, NULL },
+ /* temporarilyUnavailable */ { 1000, NULL },
+ /* notAuthorized */ { 1007, NULL },
+
+/* --- Module Common-Information-Operations --- --- --- */
+
+/* Unknown or empty loop list ERROR */
+
+/*--- End of included file: packet-h450-table21.c ---*/
+#line 98 "packet-h450-template.c"
+};
+
+static const h450_op_t *get_op(gint32 opcode) {
+ int i;
+
+ /* search from the end to get the last occurence if the operation is redefined in some newer specification */
+ for (i = array_length(h450_op_tab) - 1; i >= 0; i--)
+ if (h450_op_tab[i].opcode == opcode)
+ return &h450_op_tab[i];
+ return NULL;
}
-static const per_sequence_t Invoke_sequence[] = {
- { &hf_h4501_constrained_invokeId, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_Constrained_invokeId },
- { &hf_h4501_invokeId, ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
- dissect_h4501_InvokeId },
- { &hf_h4501_opcode, ASN1_NO_EXTENSIONS, ASN1_NOT_OPTIONAL,
- dissect_h4501_Opcode },
- { &hf_h4501_dummy, ASN1_NO_EXTENSIONS, ASN1_OPTIONAL,
- dissect_h4501_Argument },
- { NULL, 0, 0, NULL }
-};
-static int
-dissect_h4501_Invoke(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- offset=dissect_per_sequence(tvb, offset, actx, tree, hf_index, ett_h4501_Invoke, Invoke_sequence);
- return offset;
-}
-
-static const value_string ROS_vals[] = {
- { 1, "invoke" },
- { 2, "returnResult" },
- { 3, "returnError" },
- { 4, "reject" },
- { 0, NULL}
-};
-static const per_choice_t ROS_choice[] = {
- { 1, &hf_h4501_Invoke, ASN1_NO_EXTENSIONS,
- dissect_h4501_Invoke },
- { 2, &hf_h4501_ReturnResult, ASN1_NO_EXTENSIONS,
- dissect_h4501_ReturnResult },
- { 3, &hf_h4501_ReturnError, ASN1_NO_EXTENSIONS,
- dissect_h4501_ReturnError },
- { 4, &hf_h4501_Reject, ASN1_NO_EXTENSIONS,
- dissect_h4501_Reject },
- { 0, NULL, 0, NULL }
-};
-static int
-dissect_h4501_ROS(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree)
-{
- offset=dissect_per_choice(tvb, offset, actx, tree, hf_h4501_ROS, ett_h4501_ROS, ROS_choice, NULL);
- return offset;
+static const h450_err_t *get_err(gint32 errcode) {
+ int i;
+
+ /* search from the end to get the last occurence if the operation is redefined in some newer specification */
+ for (i = array_length(h450_err_tab) - 1; i >= 0; i--)
+ if (h450_err_tab[i].errcode == errcode)
+ return &h450_err_tab[i];
+ return NULL;
}
-static int
-dissect_h4501_Argument(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index)
-{
- tvbuff_t *argument_tvb = NULL;
+/*--- dissect_h450_arg ------------------------------------------------------*/
+static int
+dissect_h450_arg(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ int offset;
+ rose_ctx_t *rctx;
+ gint32 opcode;
+ const h450_op_t *op_ptr;
+ const gchar *p;
- if ( is_globalcode ){
- /* TODO call oid dissector
- * call_ber_oid_callback isn't realy apropriate ?
- */
- offset = dissect_per_octet_string(tvb, offset, actx, tree, hf_h4501_globalargument, NO_BOUND, NO_BOUND, NULL);
- is_globalcode = FALSE;
- return offset;
+ offset = 0;
+ rctx = get_rose_ctx(pinfo->private_data);
+ DISSECTOR_ASSERT(rctx);
+ if (rctx->d.pdu != 1) /* invoke */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ opcode = rctx->d.code_local;
+ op_ptr = get_op(opcode);
+ if (!op_ptr)
+ return offset;
+ proto_tree_add_uint_hidden(tree, hf_h450_operation, tvb, 0, 0, opcode);
+ p = match_strval(opcode, VALS(h450_str_operation));
+ if (p) {
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
}
- offset=dissect_per_octet_string(tvb, offset, actx, tree, -1, NO_BOUND, NO_BOUND, &argument_tvb);
-
- if(tvb_length(argument_tvb)){
- switch (localOpcode) {
- /* h450.2 */
- case CallTransferIdentify: /* Localvalue 7 */
- dissect_CallTransferIdentify_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case CallTransferAbandon: /* Localvalue 8 */
- dissect_CallTransferAbandon_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case CallTransferInitiate: /* Localvalue 9 */
- dissect_CallTransferInitiate_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case CallTransferSetup: /* Localvalue 10 */
- dissect_CallTransferSetup_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case CallTransferUpdate: /* Localvalue 13 */
- dissect_CallTransferUpdate_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case SubaddressTransfer: /* Localvalue 14 */
- dissect_SubaddressTransfer_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case CallTransferComplete: /* Localvalue 12 */
- dissect_CallTransferComplete_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case CallTransferActive: /* Localvalue 11 */
- dissect_CallTransferActive_PDU(argument_tvb, actx->pinfo, tree);
- break;
- /* h450.3*/
- case ActivateDiversionQ: /* Localvalue 15 */
- dissect_ActivateDiversionQArg_PDU(argument_tvb, actx->pinfo, tree);
- break;
- case DeactivateDiversionQ: /* Localvalue 16 */
- dissect_h450_DeactivateDiversionQArg(argument_tvb, 0, actx , tree, hf_h4503DeactivateDiversionQArg);
- break;
- case InterrogateDiversionQ: /* Localvalue 17 */
- dissect_h450_InterrogateDiversionQ(argument_tvb, 0, actx , tree, hf_h4503InterrogateDiversionQ);
- break;
- case CheckRestriction: /* Localvalue 18 */
- dissect_h450_CheckRestrictionArg(argument_tvb, 0, actx , tree, hf_h4503CheckRestrictionArg);
- break;
- case CallRerouting: /* Localvalue 19 */
- dissect_h450_CallReroutingArg(argument_tvb, 0, actx , tree, hf_h4503CallReroutingArg);
- break;
- case DivertingLegInformation1: /* Localvalue 20 */
- dissect_h450_DivertingLegInformation1Arg(argument_tvb, 0, actx , tree, hf_h4503DivertingLegInformation1Arg);
- break;
- case DivertingLegInformation2: /* Localvalue 21 */
- dissect_h450_DivertingLegInformation2Arg(argument_tvb, 0, actx , tree, hf_h4503DivertingLegInformation2Arg);
- break;
- case DivertingLegInformation3: /* Localvalue 22 */
- dissect_h450_DivertingLegInformation3Arg(argument_tvb, 0, actx , tree, hf_h4503DivertingLegInformation3Arg);
- break;
- case DivertingLegInformation4: /* Localvalue 100 */
- dissect_h450_DivertingLegInformation4Arg(argument_tvb, 0, actx , tree, hf_h4503DivertingLegInformation4Arg);
- break;
- case CfnrDivertedLegFailed: /* Localvalue 23 */
- dissect_h450_CfnrDivertedLegFailedArg(argument_tvb, 0, actx , tree, hf_h4503CfnrDivertedLegFailedArg);
- break;
- /* H.450.4 Call Hold */
- case HoldNotific: /* Localvalue 101 */
- dissect_h450_HoldNotificArg(argument_tvb, 0, actx , tree, hf_h4504_HoldNotificArg);
- break;
- case RetrieveNotific: /* Localvalue 102 */
- dissect_h450_RetrieveNotificArg(argument_tvb, 0, actx , tree, hf_h4504_RetrieveNotificArg);
- break;
- case RemoteHold: /* Localvalue 103 */
- dissect_h450_RemoteHoldArg(argument_tvb, 0, actx , tree, hf_h4504_RemoteHoldArg);
- break;
- case RemoteRetrieve: /* Localvalue 104 */
- dissect_h450_RemoteRetrieveArg(argument_tvb, 0, actx , 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, actx , tree, hf_h4507_MWIActivateArg);
- break;
- case MWIDeactivate: /* Localvalue 81 */
- dissect_h450_MWIDeactivateArg(argument_tvb, 0, actx , tree, hf_h4507_MWIDeactivateArg);
- break;
- case MWIInterrogate: /* Localvalue 82 */
- dissect_h450_MWIInterrogateArg(argument_tvb, 0, actx , tree, hf_h4507_MWIInterrogateArg);
- break;
-
- /* H.450.8 Name Identification */
- case NIcallingName: /* Localvalue 0 */
- dissect_h450_NameArg(argument_tvb, 0, actx , tree, hf_h4508_CallingNameArg);
- break;
- case NIalertingName: /* Localvalue 1 */
- dissect_h450_NameArg(argument_tvb, 0, actx , tree, hf_h4508_AlertingNameArg);
- break;
- case NIconnectedName: /* Localvalue 2 */
- dissect_h450_NameArg(argument_tvb, 0, actx , tree, hf_h4508_ConnectedNameArg);
- break;
- case NIbusyName: /* Localvalue 3 */
- dissect_h450_NameArg(argument_tvb, 0, actx , 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 */
-PER_NOT_DECODED_YET("Unrecognized H.450.x operation");
-break;
-/* H.450.12 Common Information Operations constants */
- case CmnRequest: /* Localvalue 84 */
- dissect_h450_CmnRequestArg(argument_tvb, 0, actx , tree, hf_h45012_CmnRequest);
- break;
- case CmnInform: /* Localvalue 85 */
- dissect_h450_CmnArg(argument_tvb, 0, actx , tree, hf_h45012_CmnInform);
- break;
-
- /* TODO - decode other H.450.x invoke arguments here */
- default:
-PER_NOT_DECODED_YET("Unrecognized H.450.x operation");
- break;
- }
+ if (op_ptr->arg_pdu && (tvb_length_remaining(tvb, offset) > 0))
+ offset = op_ptr->arg_pdu(tvb, pinfo, tree);
+ else
+ if (tvb_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_text(tree, tvb, offset, -1, "UNSUPPORTED ARGUMENT TYPE (H.450)");
+ offset += tvb_length_remaining(tvb, offset);
+ }
+
+ return offset;
+}
+
+/*--- dissect_h450_res ------------------------------------------------------*/
+static int
+dissect_h450_res(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ int offset;
+ rose_ctx_t *rctx;
+ gint32 opcode;
+ const h450_op_t *op_ptr;
+ const gchar *p;
+
+ offset = 0;
+ rctx = get_rose_ctx(pinfo->private_data);
+ DISSECTOR_ASSERT(rctx);
+ if (rctx->d.pdu != 2) /* returnResult */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ opcode = rctx->d.code_local;
+ op_ptr = get_op(opcode);
+ if (!op_ptr)
+ return offset;
+
+ proto_tree_add_uint_hidden(tree, hf_h450_operation, tvb, 0, 0, opcode);
+ p = match_strval(opcode, VALS(h450_str_operation));
+ if (p) {
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
}
- return offset;
-}
-static int
-dissect_ros_ROS(tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_ind _U_){
-
- offset = dissect_h4501_ROS(tvb, offset, actx, tree);
- return offset;
-}
-static void
-dissect_h4501(tvbuff_t *tvb, packet_info *pinfo, proto_tree* tree)
-{
- proto_item *it;
- proto_tree *tr;
- guint32 offset=0;
- asn1_ctx_t asn1_ctx;
+ if (op_ptr->res_pdu && (tvb_length_remaining(tvb, offset) > 0))
+ offset = op_ptr->res_pdu(tvb, pinfo, tree);
+ else
+ if (tvb_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_text(tree, tvb, offset, -1, "UNSUPPORTED RESULT TYPE (H.450)");
+ offset += tvb_length_remaining(tvb, offset);
+ }
+
+ return offset;
+}
+
+/*--- dissect_h450_err ------------------------------------------------------*/
+static int
+dissect_h450_err(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree) {
+ int offset;
+ rose_ctx_t *rctx;
+ gint32 errcode;
+ const h450_err_t *err_ptr;
+ const gchar *p;
+
+ offset = 0;
+ rctx = get_rose_ctx(pinfo->private_data);
+ DISSECTOR_ASSERT(rctx);
+ if (rctx->d.pdu != 3) /* returnError */
+ return offset;
+ if (rctx->d.code != 0) /* local */
+ return offset;
+ errcode = rctx->d.code_local;
+ err_ptr = get_err(errcode);
+ if (!err_ptr)
+ return offset;
+
+ proto_tree_add_uint_hidden(tree, hf_h450_error, tvb, 0, 0, errcode);
+ p = match_strval(errcode, VALS(h450_str_error));
+ if (p) {
+ proto_item_append_text(rctx->d.code_item, " - %s", p);
+ if (rctx->apdu_depth >= 0)
+ proto_item_append_text(proto_item_get_parent_nth(proto_tree_get_parent(tree), rctx->apdu_depth), " %s", p);
+ }
- it=proto_tree_add_protocol_format(tree, proto_h4501, tvb, 0, -1, "H.450.1");
- tr=proto_item_add_subtree(it, ett_h4501);
+ if (err_ptr->err_pdu && (tvb_length_remaining(tvb, offset) > 0))
+ offset = err_ptr->err_pdu(tvb, pinfo, tree);
+ else
+ if (tvb_length_remaining(tvb, offset) > 0) {
+ proto_tree_add_text(tree, tvb, offset, -1, "UNSUPPORTED ERROR TYPE (H.450)");
+ offset += tvb_length_remaining(tvb, offset);
+ }
- asn1_ctx_init(&asn1_ctx, ASN1_ENC_PER, TRUE, pinfo);
- dissect_h450_H4501SupplementaryService(tvb, offset, &asn1_ctx, tr, hf_h4501);
+ return offset;
}
/*--- proto_register_h450 -------------------------------------------*/
void proto_register_h450(void) {
/* List of fields */
- static hf_register_info hf[] = {
- { &hf_h4501,
- { "SupplementaryService", "h4501.SupplementaryService", FT_NONE, BASE_NONE,
- NULL, 0, "SupplementaryService sequence", HFILL }},
- { &hf_h4501_dummy,
- { "dummy", "h4501.dummy", FT_NONE, BASE_NONE,
- NULL, 0, "Dummy", HFILL }},
- { &hf_h4501_constrained_invokeId,
- { "invokeId", "h4501.invokeId", FT_UINT32, BASE_DEC,
- NULL, 0, "constrained_invokeId", HFILL }},
- { &hf_h4501_invokeId,
- { "invokeId", "h4501.invokeId", FT_INT32, BASE_DEC,
- NULL, 0, "invokeId", HFILL }},
- { &hf_h4501_localOpcode,
- { "localOpcode", "h4501.localOpcode", FT_INT32, BASE_DEC,
- VALS(localOpcode_vals), 0, "local", HFILL }},
- { &hf_h4501_globalCode,
- { "globalCode", "h4501.globalCode", FT_STRING, BASE_HEX,
- NULL, 0, "global", HFILL }},
- { &hf_h4501_globalargument,
- { "argumentArgument", "h4501.globalArgument", FT_BYTES, BASE_HEX,
- NULL, 0, "argument", HFILL }},
- { &hf_h4501_opcode,
- { "opcode", "h4501.opcode", FT_UINT32, BASE_DEC,
- VALS(opcode_vals), 0, "opcode choice", HFILL }},
- { &hf_h4501_ReturnResult_result,
- { "ReturnResult_result", "h4501.ReturnResult.result", FT_BYTES, BASE_HEX,
- NULL, 0, "result", HFILL }},
- { &hf_h4501_result,
- { "result", "h4501.result", FT_NONE, BASE_NONE,
- NULL, 0, "result sequence of", HFILL }},
- { &hf_h4501_ReturnResult,
- { "ReturnResult", "h4501.ReturnResult", FT_NONE, BASE_NONE,
- NULL, 0, "ReturnResult sequence of", HFILL }},
- { &hf_h4501_localErrorCode,
- { "localErrorCode", "h4501.localErrorCode", FT_INT32, BASE_DEC,
- VALS(localErrorCode_vals), 0, "local", HFILL }},
- { &hf_h4501_errorCode,
- { "errorCode", "h4501.errorCode", FT_UINT32, BASE_DEC,
- VALS(errorCode_vals), 0, "errorCode", HFILL }},
- { &hf_h4501_parameter,
- { "parameter", "h4501.parameter", FT_BYTES, BASE_HEX,
- NULL, 0, "parameter", HFILL }},
- { &hf_h4501_ReturnError,
- { "ReturnError", "h4501.ReturnError", FT_NONE, BASE_NONE,
- NULL, 0, "ReturnError sequence of", HFILL }},
- { &hf_h4501_GeneralProblem,
- { "GeneralProblem", "h4501.GeneralProblem", FT_UINT32, BASE_DEC,
- VALS(GeneralProblem_vals), 0, "GeneralProblem", HFILL }},
- { &hf_h4501_InvokeProblem,
- { "InvokeProblem", "h4501.InvokeProblem", FT_UINT32, BASE_DEC,
- VALS(InvokeProblem_vals), 0, "InvokeProblem", HFILL }},
- { &hf_h4501_ReturnResultProblem,
- { "ReturnResultProblem", "h4501.ReturnResultProblem", FT_UINT32, BASE_DEC,
- VALS(ReturnResultProblem_vals), 0, "ReturnResultProblem", HFILL }},
- { &hf_h4501_ReturnErrorProblem,
- { "ReturnErrorProblem", "h4501.ReturnErrorProblem", FT_UINT32, BASE_DEC,
- VALS(ReturnErrorProblem_vals), 0, "ReturnErrorProblem", HFILL }},
- { &hf_h4501_problem,
- { "problem", "h4501.problem", FT_UINT32, BASE_DEC,
- VALS(problem_vals), 0, "problem choice", HFILL }},
- { &hf_h4501_Reject,
- { "Reject", "h4501.Reject", FT_NONE, BASE_NONE,
- NULL, 0, "Reject sequence of", HFILL }},
- { &hf_h4501_ROS,
- { "ROS", "h4501.ROS", FT_UINT32, BASE_DEC,
- VALS(ROS_vals), 0, "ROS choice", HFILL }},
- { &hf_h4501_Invoke,
- { "Invoke", "h4501.Invoke", FT_NONE, BASE_NONE,
- NULL, 0, "Invoke sequence of", HFILL }},
- { &hf_h4502_CTIdentifyRes,
- { "CTIdentifyRes", "h4502.CTIdentifyRes", FT_NONE, BASE_NONE,
- NULL, 0, "CTIdentifyRes sequence of", HFILL }},
- { &hf_h4502_DummyRes,
- { "DummyRes", "h4502.DummyRes", FT_UINT32, BASE_DEC,
- VALS(h450_DummyRes_vals), 0, "DummyRes Choice", HFILL }},
- { &hf_h4502_DummyArg,
- { "DummyArg", "h4502.DummyArg", FT_UINT32, BASE_DEC,
- VALS(h450_DummyArg_vals), 0, "DummyArg choice", 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 }},
- { &hf_h4504_RetrieveNotificArg,
- { "RetrieveNotificArg", "h4504.RetrieveNotificArg", FT_NONE, BASE_NONE,
- NULL, 0, "RetrieveNotificArg sequence of", HFILL }},
- { &hf_h4504_RemoteHoldArg,
- { "RemoteHoldArg", "h4504.RemoteHoldArg", FT_NONE, BASE_NONE,
- NULL, 0, "RemoteHoldArg sequence of", HFILL }},
- { &hf_h4504_RemoteRetrieveArg,
- { "RemoteRetrieveArg", "h4504.RemoteRetrieveArg", FT_NONE, BASE_NONE,
- NULL, 0, "RemoteRetrieveArg sequence of", HFILL }},
- { &hf_h4504_RemoteRetrieveRes,
- { "RemoteRetrieveRes", "h4504.RemoteRetrieveRes", FT_NONE, BASE_NONE,
- NULL, 0, "RemoteRetrieveRes sequence of", HFILL }},
-
- { &hf_h4507_MWIActivateArg,
- { "MWIActivateArg", "h4507.MWIActivateArg", FT_NONE, BASE_NONE,
- NULL, 0, "MWIActivateArg sequence of", HFILL }},
- { &hf_h4507_MwiDummyRes,
- { "MwiDummyRes", "h4507.MwiDummyRes", FT_NONE, BASE_NONE,
- NULL, 0, "MwiDummyRes sequence of", HFILL }},
- { &hf_h4507_MWIDeactivateArg,
- { "MWIDeactivateArg", "h4507.MWIDeactivateArg", FT_NONE, BASE_NONE,
- NULL, 0, "MWIDeactivateArg sequence of", HFILL }},
- { &hf_h4507_MWIInterrogateArg,
- { "MWIInterrogateArg", "h4507.MWIInterrogateArg", FT_NONE, BASE_NONE,
- NULL, 0, "MWIInterrogateArg sequence of", HFILL }},
- { &hf_h4507_MWIInterrogateRes,
- { "MWIInterrogateRes", "h4507.MWIInterrogateRes", FT_NONE, BASE_NONE,
- NULL, 0, "MWIInterrogateRes sequence of", HFILL }},
-
- { &hf_h4508_CallingNameArg,
- { "CallingNameArg", "h4508.CallingNameArg", FT_NONE, BASE_NONE,
- NULL, 0, "CallingNameArg sequence of", HFILL }},
- { &hf_h4508_AlertingNameArg,
- { "AlertingNameArg", "h4508.AlertingNameArg", FT_NONE, BASE_NONE,
- NULL, 0, "AlertingNameArg sequence of", HFILL }},
- { &hf_h4508_ConnectedNameArg,
- { "ConnectedNameArg", "h4508.ConnectedNameArg", FT_NONE, BASE_NONE,
- NULL, 0, "ConnectedNameArg sequence of", HFILL }},
- { &hf_h4508_BusyNameArg,
- { "BusyNameArg", "h4508.BusyNameArg", FT_NONE, BASE_NONE,
- NULL, 0, "BusyNameArg sequence of", HFILL }},
- { &hf_h45012_CmnRequest,
- { "CmnRequest", "h4508.CmnRequest", FT_NONE, BASE_NONE,
- NULL, 0, "CmnRequest sequence of", HFILL }},
- { &hf_h45012_CmnInform,
- { "CmnRequest", "h4508.CmnRequest", FT_NONE, BASE_NONE,
- NULL, 0, "CmnRequest sequence of", HFILL }},
-
+ static hf_register_info hf[] = {
+ { &hf_h450_operation, { "Operation", "h450.operation",
+ FT_UINT8, BASE_DEC, VALS(h450_str_operation), 0x0,
+ "Operation", HFILL }},
+ { &hf_h450_error, { "Error", "h450.error",
+ FT_UINT8, BASE_DEC, VALS(h450_str_error), 0x0,
+ "Error", HFILL }},
/*--- Included file: packet-h450-hfarr.c ---*/
#line 1 "packet-h450-hfarr.c"
- { &hf_h450_CallTransferIdentify_PDU,
- { "CallTransferIdentify", "h450.CallTransferIdentify",
- FT_UINT32, BASE_DEC, VALS(h450_DummyArg_vals), 0,
- "h450.CallTransferIdentify", HFILL }},
- { &hf_h450_CallTransferAbandon_PDU,
- { "CallTransferAbandon", "h450.CallTransferAbandon",
- FT_UINT32, BASE_DEC, VALS(h450_DummyArg_vals), 0,
- "h450.CallTransferAbandon", HFILL }},
- { &hf_h450_CallTransferInitiate_PDU,
- { "CallTransferInitiate", "h450.CallTransferInitiate",
- FT_NONE, BASE_NONE, NULL, 0,
- "h450.CallTransferInitiate", HFILL }},
- { &hf_h450_CallTransferSetup_PDU,
- { "CallTransferSetup", "h450.CallTransferSetup",
- FT_NONE, BASE_NONE, NULL, 0,
- "h450.CallTransferSetup", HFILL }},
- { &hf_h450_CallTransferUpdate_PDU,
- { "CallTransferUpdate", "h450.CallTransferUpdate",
- FT_NONE, BASE_NONE, NULL, 0,
- "h450.CallTransferUpdate", HFILL }},
- { &hf_h450_SubaddressTransfer_PDU,
- { "SubaddressTransfer", "h450.SubaddressTransfer",
- FT_NONE, BASE_NONE, NULL, 0,
- "h450.SubaddressTransfer", HFILL }},
- { &hf_h450_CallTransferComplete_PDU,
- { "CallTransferComplete", "h450.CallTransferComplete",
- FT_NONE, BASE_NONE, NULL, 0,
- "h450.CallTransferComplete", HFILL }},
- { &hf_h450_CallTransferActive_PDU,
- { "CallTransferActive", "h450.CallTransferActive",
- FT_NONE, BASE_NONE, NULL, 0,
- "h450.CallTransferActive", HFILL }},
- { &hf_h450_ActivateDiversionQArg_PDU,
- { "ActivateDiversionQArg", "h450.ActivateDiversionQArg",
- FT_NONE, BASE_NONE, NULL, 0,
- "h450.ActivateDiversionQArg", HFILL }},
- { &hf_h450_ActivateDiversionQRes_PDU,
- { "ActivateDiversionQRes", "h450.ActivateDiversionQRes",
- FT_UINT32, BASE_DEC, VALS(h450_ActivateDiversionQRes_vals), 0,
- "h450.ActivateDiversionQRes", HFILL }},
- { &hf_h450_DeactivateDiversionQRes_PDU,
- { "DeactivateDiversionQRes", "h450.DeactivateDiversionQRes",
- FT_UINT32, BASE_DEC, VALS(h450_DeactivateDiversionQRes_vals), 0,
- "h450.DeactivateDiversionQRes", HFILL }},
- { &hf_h450_InterrogateDiversionQRes_PDU,
- { "InterrogateDiversionQRes", "h450.InterrogateDiversionQRes",
- FT_UINT32, BASE_DEC, NULL, 0,
- "h450.InterrogateDiversionQRes", HFILL }},
- { &hf_h450_CheckRestrictionRes_PDU,
- { "CheckRestrictionRes", "h450.CheckRestrictionRes",
- FT_UINT32, BASE_DEC, VALS(h450_CheckRestrictionRes_vals), 0,
- "h450.CheckRestrictionRes", HFILL }},
- { &hf_h450_CallReroutingRes_PDU,
- { "CallReroutingRes", "h450.CallReroutingRes",
- FT_UINT32, BASE_DEC, VALS(h450_CallReroutingRes_vals), 0,
- "h450.CallReroutingRes", HFILL }},
+
+/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
+
+ { &hf_h450_h450_H4501SupplementaryService_PDU,
+ { "H4501SupplementaryService", "h450.H4501SupplementaryService",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450.H4501SupplementaryService", HFILL }},
{ &hf_h450_networkFacilityExtension,
{ "networkFacilityExtension", "h450.networkFacilityExtension",
FT_NONE, BASE_NONE, NULL, 0,
@@ -4384,11 +5080,11 @@ void proto_register_h450(void) {
{ &hf_h450_rosApdus,
{ "rosApdus", "h450.rosApdus",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_OF_ROS", HFILL }},
+ "h450.SEQUENCE_SIZE_1_MAX_OF_ROS", HFILL }},
{ &hf_h450_rosApdus_item,
{ "Item", "h450.rosApdus_item",
- FT_NONE, BASE_NONE, NULL, 0,
- "ros.ROS", HFILL }},
+ FT_UINT32, BASE_DEC, VALS(h450_ros_ROS_vals), 0,
+ "h450.T_rosApdus_item", HFILL }},
{ &hf_h450_addressScreened_presentationAllowedAddress,
{ "presentationAllowedAddress", "h450.presentationAllowedAddress",
FT_NONE, BASE_NONE, NULL, 0,
@@ -4485,921 +5181,1346 @@ void proto_register_h450(void) {
{ "oddCountIndicator", "h450.oddCountIndicator",
FT_BOOLEAN, 8, NULL, 0,
"h450.BOOLEAN", HFILL }},
- { &hf_h450_extensionSeq,
- { "extensionSeq", "h450.extensionSeq",
+ { &hf_h450_extensionId,
+ { "extensionId", "h450.extensionId",
+ FT_OID, BASE_NONE, NULL, 0,
+ "h450.OBJECT_IDENTIFIER", HFILL }},
+ { &hf_h450_extensionArgument,
+ { "extensionArgument", "h450.extensionArgument",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450.T_extensionArgument", HFILL }},
+
+/* --- Module Call-Transfer-Operations --- --- --- */
+
+ { &hf_h450_2_h450_2_DummyArg_PDU,
+ { "DummyArg", "h450.2.DummyArg",
+ FT_UINT32, BASE_DEC, VALS(h450_2_DummyArg_vals), 0,
+ "h450_2.DummyArg", HFILL }},
+ { &hf_h450_2_h450_2_CTIdentifyRes_PDU,
+ { "CTIdentifyRes", "h450.2.CTIdentifyRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_2.CTIdentifyRes", HFILL }},
+ { &hf_h450_2_h450_2_CTInitiateArg_PDU,
+ { "CTInitiateArg", "h450.2.CTInitiateArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_2.CTInitiateArg", HFILL }},
+ { &hf_h450_2_h450_2_DummyRes_PDU,
+ { "DummyRes", "h450.2.DummyRes",
+ FT_UINT32, BASE_DEC, VALS(h450_2_DummyRes_vals), 0,
+ "h450_2.DummyRes", HFILL }},
+ { &hf_h450_2_h450_2_CTSetupArg_PDU,
+ { "CTSetupArg", "h450.2.CTSetupArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_2.CTSetupArg", HFILL }},
+ { &hf_h450_2_h450_2_CTUpdateArg_PDU,
+ { "CTUpdateArg", "h450.2.CTUpdateArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_2.CTUpdateArg", HFILL }},
+ { &hf_h450_2_h450_2_SubaddressTransferArg_PDU,
+ { "SubaddressTransferArg", "h450.2.SubaddressTransferArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_2.SubaddressTransferArg", HFILL }},
+ { &hf_h450_2_h450_2_CTCompleteArg_PDU,
+ { "CTCompleteArg", "h450.2.CTCompleteArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_2.CTCompleteArg", HFILL }},
+ { &hf_h450_2_h450_2_CTActiveArg_PDU,
+ { "CTActiveArg", "h450.2.CTActiveArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_2.CTActiveArg", HFILL }},
+ { &hf_h450_2_h450_2_PAR_unspecified_PDU,
+ { "PAR-unspecified", "h450.2.PAR_unspecified",
+ FT_UINT32, BASE_DEC, VALS(h450_2_PAR_unspecified_vals), 0,
+ "h450_2.PAR_unspecified", HFILL }},
+ { &hf_h450_2_extensionSeq,
+ { "extensionSeq", "h450.2.extensionSeq",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.ExtensionSeq", HFILL }},
- { &hf_h450_nonStandardData,
- { "nonStandardData", "h450.nonStandardData",
+ "h450_2.ExtensionSeq", HFILL }},
+ { &hf_h450_2_nonStandardData,
+ { "nonStandardData", "h450.2.nonStandardData",
FT_NONE, BASE_NONE, NULL, 0,
"h225.NonStandardParameter", HFILL }},
- { &hf_h450_callIdentity,
- { "callIdentity", "h450.callIdentity",
+ { &hf_h450_2_callIdentity,
+ { "callIdentity", "h450.2.callIdentity",
FT_STRING, BASE_NONE, NULL, 0,
- "h450.CallIdentity", HFILL }},
- { &hf_h450_reroutingNumber,
- { "reroutingNumber", "h450.reroutingNumber",
+ "h450_2.CallIdentity", HFILL }},
+ { &hf_h450_2_reroutingNumber,
+ { "reroutingNumber", "h450.2.reroutingNumber",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_cTInitiateArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
- FT_UINT32, BASE_DEC, VALS(h450_ArgumentExtension_vals), 0,
- "h450.ArgumentExtension", HFILL }},
- { &hf_h450_transferringNumber,
- { "transferringNumber", "h450.transferringNumber",
+ { &hf_h450_2_cTInitiateArg_argumentExtension,
+ { "argumentExtension", "h450.2.argumentExtension",
+ FT_UINT32, BASE_DEC, VALS(h450_2_T_cTInitiateArg_argumentExtension_vals), 0,
+ "h450_2.T_cTInitiateArg_argumentExtension", HFILL }},
+ { &hf_h450_2_transferringNumber,
+ { "transferringNumber", "h450.2.transferringNumber",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_cTSetupArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
- FT_UINT32, BASE_DEC, VALS(h450_ArgumentExtension_vals), 0,
- "h450.ArgumentExtension", HFILL }},
- { &hf_h450_resultExtension,
- { "resultExtension", "h450.resultExtension",
- FT_UINT32, BASE_DEC, VALS(h450_T_resultExtension_vals), 0,
- "h450.T_resultExtension", HFILL }},
- { &hf_h450_redirectionNumber,
- { "redirectionNumber", "h450.redirectionNumber",
+ { &hf_h450_2_cTSetupArg_argumentExtension,
+ { "argumentExtension", "h450.2.argumentExtension",
+ FT_UINT32, BASE_DEC, VALS(h450_2_T_cTSetupArg_argumentExtension_vals), 0,
+ "h450_2.T_cTSetupArg_argumentExtension", HFILL }},
+ { &hf_h450_2_resultExtension,
+ { "resultExtension", "h450.2.resultExtension",
+ FT_UINT32, BASE_DEC, VALS(h450_2_T_resultExtension_vals), 0,
+ "h450_2.T_resultExtension", HFILL }},
+ { &hf_h450_2_redirectionNumber,
+ { "redirectionNumber", "h450.2.redirectionNumber",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_redirectionInfo,
- { "redirectionInfo", "h450.redirectionInfo",
+ { &hf_h450_2_redirectionInfo,
+ { "redirectionInfo", "h450.2.redirectionInfo",
FT_STRING, BASE_NONE, NULL, 0,
- "h450.BMPString_SIZE_1_128", HFILL }},
- { &hf_h450_basicCallInfoElements,
- { "basicCallInfoElements", "h450.basicCallInfoElements",
+ "h450_2.BMPString_SIZE_1_128", HFILL }},
+ { &hf_h450_2_basicCallInfoElements,
+ { "basicCallInfoElements", "h450.2.basicCallInfoElements",
FT_BYTES, BASE_HEX, NULL, 0,
"h450.H225InformationElement", HFILL }},
- { &hf_h450_cTUpdateArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
- FT_UINT32, BASE_DEC, VALS(h450_ArgumentExtension_vals), 0,
- "h450.ArgumentExtension", HFILL }},
- { &hf_h450_redirectionSubaddress,
- { "redirectionSubaddress", "h450.redirectionSubaddress",
+ { &hf_h450_2_cTUpdateArg_argumentExtension,
+ { "argumentExtension", "h450.2.argumentExtension",
+ FT_UINT32, BASE_DEC, VALS(h450_2_T_cTUpdateArg_argumentExtension_vals), 0,
+ "h450_2.T_cTUpdateArg_argumentExtension", HFILL }},
+ { &hf_h450_2_redirectionSubaddress,
+ { "redirectionSubaddress", "h450.2.redirectionSubaddress",
FT_UINT32, BASE_DEC, VALS(h450_PartySubaddress_vals), 0,
"h450.PartySubaddress", HFILL }},
- { &hf_h450_subaddressTransferArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
- FT_UINT32, BASE_DEC, VALS(h450_ArgumentExtension_vals), 0,
- "h450.ArgumentExtension", HFILL }},
- { &hf_h450_endDesignation,
- { "endDesignation", "h450.endDesignation",
- FT_UINT32, BASE_DEC, VALS(h450_EndDesignation_vals), 0,
- "h450.EndDesignation", HFILL }},
- { &hf_h450_callStatus,
- { "callStatus", "h450.callStatus",
- FT_UINT32, BASE_DEC, VALS(h450_CallStatus_vals), 0,
- "h450.CallStatus", HFILL }},
- { &hf_h450_cTCompleteArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
- FT_UINT32, BASE_DEC, VALS(h450_ArgumentExtension_vals), 0,
- "h450.ArgumentExtension", HFILL }},
- { &hf_h450_connectedAddress,
- { "connectedAddress", "h450.connectedAddress",
+ { &hf_h450_2_subaddressTransferArg_argumentExtension,
+ { "argumentExtension", "h450.2.argumentExtension",
+ FT_UINT32, BASE_DEC, VALS(h450_2_T_subaddressTransferArg_argumentExtension_vals), 0,
+ "h450_2.T_subaddressTransferArg_argumentExtension", HFILL }},
+ { &hf_h450_2_endDesignation,
+ { "endDesignation", "h450.2.endDesignation",
+ FT_UINT32, BASE_DEC, VALS(h450_2_EndDesignation_vals), 0,
+ "h450_2.EndDesignation", HFILL }},
+ { &hf_h450_2_callStatus,
+ { "callStatus", "h450.2.callStatus",
+ FT_UINT32, BASE_DEC, VALS(h450_2_CallStatus_vals), 0,
+ "h450_2.CallStatus", HFILL }},
+ { &hf_h450_2_cTCompleteArg_argumentExtension,
+ { "argumentExtension", "h450.2.argumentExtension",
+ FT_UINT32, BASE_DEC, VALS(h450_2_T_cTCompleteArg_argumentExtension_vals), 0,
+ "h450_2.T_cTCompleteArg_argumentExtension", HFILL }},
+ { &hf_h450_2_connectedAddress,
+ { "connectedAddress", "h450.2.connectedAddress",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_connectedInfo,
- { "connectedInfo", "h450.connectedInfo",
+ { &hf_h450_2_connectedInfo,
+ { "connectedInfo", "h450.2.connectedInfo",
FT_STRING, BASE_NONE, NULL, 0,
- "h450.BMPString_SIZE_1_128", HFILL }},
- { &hf_h450_cTActiveArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
- FT_UINT32, BASE_DEC, VALS(h450_ArgumentExtension_vals), 0,
- "h450.ArgumentExtension", HFILL }},
- { &hf_h450_ExtensionSeq_item,
- { "Item", "h450.ExtensionSeq_item",
+ "h450_2.BMPString_SIZE_1_128", HFILL }},
+ { &hf_h450_2_cTActiveArg_argumentExtension,
+ { "argumentExtension", "h450.2.argumentExtension",
+ FT_UINT32, BASE_DEC, VALS(h450_2_T_cTActiveArg_argumentExtension_vals), 0,
+ "h450_2.T_cTActiveArg_argumentExtension", HFILL }},
+ { &hf_h450_2_ExtensionSeq_item,
+ { "Item", "h450.2.ExtensionSeq_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450.Extension", HFILL }},
+ { &hf_h450_2_unspecified_extension,
+ { "extension", "h450.2.extension",
FT_NONE, BASE_NONE, NULL, 0,
"h450.Extension", HFILL }},
- { &hf_h450_procedure,
- { "procedure", "h450.procedure",
- FT_UINT32, BASE_DEC, VALS(h450_Procedure_vals), 0,
- "h450.Procedure", HFILL }},
- { &hf_h450_basicService,
- { "basicService", "h450.basicService",
- FT_UINT32, BASE_DEC, VALS(h450_BasicService_vals), 0,
- "h450.BasicService", HFILL }},
- { &hf_h450_divertedToAddress,
- { "divertedToAddress", "h450.divertedToAddress",
+ { &hf_h450_2_nonStandard,
+ { "nonStandard", "h450.2.nonStandard",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h225.NonStandardParameter", HFILL }},
+
+/* --- Module Call-Diversion-Operations --- --- --- */
+
+ { &hf_h450_3_h450_3_ARG_activateDiversionQ_PDU,
+ { "ARG-activateDiversionQ", "h450.3.ARG_activateDiversionQ",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_3.ARG_activateDiversionQ", HFILL }},
+ { &hf_h450_3_h450_3_RES_activateDiversionQ_PDU,
+ { "RES-activateDiversionQ", "h450.3.RES_activateDiversionQ",
+ FT_UINT32, BASE_DEC, VALS(h450_3_RES_activateDiversionQ_vals), 0,
+ "h450_3.RES_activateDiversionQ", HFILL }},
+ { &hf_h450_3_h450_3_ARG_deactivateDiversionQ_PDU,
+ { "ARG-deactivateDiversionQ", "h450.3.ARG_deactivateDiversionQ",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_3.ARG_deactivateDiversionQ", HFILL }},
+ { &hf_h450_3_h450_3_RES_deactivateDiversionQ_PDU,
+ { "RES-deactivateDiversionQ", "h450.3.RES_deactivateDiversionQ",
+ FT_UINT32, BASE_DEC, VALS(h450_3_RES_deactivateDiversionQ_vals), 0,
+ "h450_3.RES_deactivateDiversionQ", HFILL }},
+ { &hf_h450_3_h450_3_ARG_interrogateDiversionQ_PDU,
+ { "ARG-interrogateDiversionQ", "h450.3.ARG_interrogateDiversionQ",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_3.ARG_interrogateDiversionQ", HFILL }},
+ { &hf_h450_3_h450_3_IntResultList_PDU,
+ { "IntResultList", "h450.3.IntResultList",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "h450_3.IntResultList", HFILL }},
+ { &hf_h450_3_h450_3_ARG_checkRestriction_PDU,
+ { "ARG-checkRestriction", "h450.3.ARG_checkRestriction",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_3.ARG_checkRestriction", HFILL }},
+ { &hf_h450_3_h450_3_RES_checkRestriction_PDU,
+ { "RES-checkRestriction", "h450.3.RES_checkRestriction",
+ FT_UINT32, BASE_DEC, VALS(h450_3_RES_checkRestriction_vals), 0,
+ "h450_3.RES_checkRestriction", HFILL }},
+ { &hf_h450_3_h450_3_ARG_callRerouting_PDU,
+ { "ARG-callRerouting", "h450.3.ARG_callRerouting",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_3.ARG_callRerouting", HFILL }},
+ { &hf_h450_3_h450_3_RES_callRerouting_PDU,
+ { "RES-callRerouting", "h450.3.RES_callRerouting",
+ FT_UINT32, BASE_DEC, VALS(h450_3_RES_callRerouting_vals), 0,
+ "h450_3.RES_callRerouting", HFILL }},
+ { &hf_h450_3_h450_3_ARG_divertingLegInformation1_PDU,
+ { "ARG-divertingLegInformation1", "h450.3.ARG_divertingLegInformation1",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_3.ARG_divertingLegInformation1", HFILL }},
+ { &hf_h450_3_h450_3_ARG_divertingLegInformation2_PDU,
+ { "ARG-divertingLegInformation2", "h450.3.ARG_divertingLegInformation2",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_3.ARG_divertingLegInformation2", HFILL }},
+ { &hf_h450_3_h450_3_ARG_divertingLegInformation3_PDU,
+ { "ARG-divertingLegInformation3", "h450.3.ARG_divertingLegInformation3",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_3.ARG_divertingLegInformation3", HFILL }},
+ { &hf_h450_3_h450_3_ARG_divertingLegInformation4_PDU,
+ { "ARG-divertingLegInformation4", "h450.3.ARG_divertingLegInformation4",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_3.ARG_divertingLegInformation4", HFILL }},
+ { &hf_h450_3_h450_3_ARG_cfnrDivertedLegFailed_PDU,
+ { "ARG-cfnrDivertedLegFailed", "h450.3.ARG_cfnrDivertedLegFailed",
+ FT_UINT32, BASE_DEC, VALS(h450_3_ARG_cfnrDivertedLegFailed_vals), 0,
+ "h450_3.ARG_cfnrDivertedLegFailed", HFILL }},
+ { &hf_h450_3_h450_3_PAR_unspecified_PDU,
+ { "PAR-unspecified", "h450.3.PAR_unspecified",
+ FT_UINT32, BASE_DEC, VALS(h450_3_PAR_unspecified_vals), 0,
+ "h450_3.PAR_unspecified", HFILL }},
+ { &hf_h450_3_procedure,
+ { "procedure", "h450.3.procedure",
+ FT_UINT32, BASE_DEC, VALS(h450_3_Procedure_vals), 0,
+ "h450_3.Procedure", HFILL }},
+ { &hf_h450_3_basicService,
+ { "basicService", "h450.3.basicService",
+ FT_UINT32, BASE_DEC, VALS(h450_3_BasicService_vals), 0,
+ "h450_3.BasicService", HFILL }},
+ { &hf_h450_3_divertedToAddress,
+ { "divertedToAddress", "h450.3.divertedToAddress",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_servedUserNr,
- { "servedUserNr", "h450.servedUserNr",
+ { &hf_h450_3_servedUserNr,
+ { "servedUserNr", "h450.3.servedUserNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_activatingUserNr,
- { "activatingUserNr", "h450.activatingUserNr",
+ { &hf_h450_3_activatingUserNr,
+ { "activatingUserNr", "h450.3.activatingUserNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_activateDiversionQArg_extension,
- { "extension", "h450.extension",
- FT_UINT32, BASE_DEC, VALS(h450_ActivateDiversionQArg_extension_vals), 0,
- "h450.ActivateDiversionQArg_extension", HFILL }},
- { &hf_h450_deactivatingUserNr,
- { "deactivatingUserNr", "h450.deactivatingUserNr",
+ { &hf_h450_3_activateDiversionQArg_extension,
+ { "extension", "h450.3.extension",
+ FT_UINT32, BASE_DEC, VALS(h450_3_ActivateDiversionQArg_extension_vals), 0,
+ "h450_3.ActivateDiversionQArg_extension", HFILL }},
+ { &hf_h450_3_extensionSeq,
+ { "extensionSeq", "h450.3.extensionSeq",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "h450_3.ExtensionSeq", HFILL }},
+ { &hf_h450_3_nonStandardData,
+ { "nonStandardData", "h450.3.nonStandardData",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h225.NonStandardParameter", HFILL }},
+ { &hf_h450_3_deactivatingUserNr,
+ { "deactivatingUserNr", "h450.3.deactivatingUserNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_deactivateDiversionQArg_extension,
- { "extension", "h450.extension",
- FT_UINT32, BASE_DEC, VALS(h450_DeactivateDiversionQArg_extension_vals), 0,
- "h450.DeactivateDiversionQArg_extension", HFILL }},
- { &hf_h450_interrogatingUserNr,
- { "interrogatingUserNr", "h450.interrogatingUserNr",
+ { &hf_h450_3_deactivateDiversionQArg_extension,
+ { "extension", "h450.3.extension",
+ FT_UINT32, BASE_DEC, VALS(h450_3_DeactivateDiversionQArg_extension_vals), 0,
+ "h450_3.DeactivateDiversionQArg_extension", HFILL }},
+ { &hf_h450_3_interrogatingUserNr,
+ { "interrogatingUserNr", "h450.3.interrogatingUserNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_interrogateDiversionQ_extension,
- { "extension", "h450.extension",
- FT_UINT32, BASE_DEC, VALS(h450_InterrogateDiversionQ_extension_vals), 0,
- "h450.InterrogateDiversionQ_extension", HFILL }},
- { &hf_h450_divertedToNr,
- { "divertedToNr", "h450.divertedToNr",
+ { &hf_h450_3_interrogateDiversionQ_extension,
+ { "extension", "h450.3.extension",
+ FT_UINT32, BASE_DEC, VALS(h450_3_InterrogateDiversionQ_extension_vals), 0,
+ "h450_3.InterrogateDiversionQ_extension", HFILL }},
+ { &hf_h450_3_divertedToNr,
+ { "divertedToNr", "h450.3.divertedToNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_checkRestrictionArg_extension,
- { "extension", "h450.extension",
- FT_UINT32, BASE_DEC, VALS(h450_CheckRestrictionArg_extension_vals), 0,
- "h450.CheckRestrictionArg_extension", HFILL }},
- { &hf_h450_reroutingReason,
- { "reroutingReason", "h450.reroutingReason",
- FT_UINT32, BASE_DEC, VALS(h450_DiversionReason_vals), 0,
- "h450.DiversionReason", HFILL }},
- { &hf_h450_originalReroutingReason,
- { "originalReroutingReason", "h450.originalReroutingReason",
- FT_UINT32, BASE_DEC, VALS(h450_DiversionReason_vals), 0,
- "h450.DiversionReason", HFILL }},
- { &hf_h450_calledAddress,
- { "calledAddress", "h450.calledAddress",
+ { &hf_h450_3_checkRestrictionArg_extension,
+ { "extension", "h450.3.extension",
+ FT_UINT32, BASE_DEC, VALS(h450_3_CheckRestrictionArg_extension_vals), 0,
+ "h450_3.CheckRestrictionArg_extension", HFILL }},
+ { &hf_h450_3_reroutingReason,
+ { "reroutingReason", "h450.3.reroutingReason",
+ FT_UINT32, BASE_DEC, VALS(h450_3_DiversionReason_vals), 0,
+ "h450_3.DiversionReason", HFILL }},
+ { &hf_h450_3_originalReroutingReason,
+ { "originalReroutingReason", "h450.3.originalReroutingReason",
+ FT_UINT32, BASE_DEC, VALS(h450_3_DiversionReason_vals), 0,
+ "h450_3.DiversionReason", HFILL }},
+ { &hf_h450_3_calledAddress,
+ { "calledAddress", "h450.3.calledAddress",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_diversionCounter,
- { "diversionCounter", "h450.diversionCounter",
+ { &hf_h450_3_diversionCounter,
+ { "diversionCounter", "h450.3.diversionCounter",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.INTEGER_1_15", HFILL }},
- { &hf_h450_h225InfoElement,
- { "h225InfoElement", "h450.h225InfoElement",
+ "h450_3.INTEGER_1_15", HFILL }},
+ { &hf_h450_3_h225InfoElement,
+ { "h225InfoElement", "h450.3.h225InfoElement",
FT_BYTES, BASE_HEX, NULL, 0,
"h450.H225InformationElement", HFILL }},
- { &hf_h450_lastReroutingNr,
- { "lastReroutingNr", "h450.lastReroutingNr",
+ { &hf_h450_3_lastReroutingNr,
+ { "lastReroutingNr", "h450.3.lastReroutingNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_subscriptionOption,
- { "subscriptionOption", "h450.subscriptionOption",
- FT_UINT32, BASE_DEC, VALS(h450_SubscriptionOption_vals), 0,
- "h450.SubscriptionOption", HFILL }},
- { &hf_h450_callingPartySubaddress,
- { "callingPartySubaddress", "h450.callingPartySubaddress",
+ { &hf_h450_3_subscriptionOption,
+ { "subscriptionOption", "h450.3.subscriptionOption",
+ FT_UINT32, BASE_DEC, VALS(h450_3_SubscriptionOption_vals), 0,
+ "h450_3.SubscriptionOption", HFILL }},
+ { &hf_h450_3_callingPartySubaddress,
+ { "callingPartySubaddress", "h450.3.callingPartySubaddress",
FT_UINT32, BASE_DEC, VALS(h450_PartySubaddress_vals), 0,
"h450.PartySubaddress", HFILL }},
- { &hf_h450_callingNumber,
- { "callingNumber", "h450.callingNumber",
+ { &hf_h450_3_callingNumber,
+ { "callingNumber", "h450.3.callingNumber",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_callingInfo,
- { "callingInfo", "h450.callingInfo",
+ { &hf_h450_3_callingInfo,
+ { "callingInfo", "h450.3.callingInfo",
FT_STRING, BASE_NONE, NULL, 0,
- "h450.BMPString_SIZE_1_128", HFILL }},
- { &hf_h450_originalCalledNr,
- { "originalCalledNr", "h450.originalCalledNr",
+ "h450_3.BMPString_SIZE_1_128", HFILL }},
+ { &hf_h450_3_originalCalledNr,
+ { "originalCalledNr", "h450.3.originalCalledNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_redirectingInfo,
- { "redirectingInfo", "h450.redirectingInfo",
+ { &hf_h450_3_redirectingInfo,
+ { "redirectingInfo", "h450.3.redirectingInfo",
FT_STRING, BASE_NONE, NULL, 0,
- "h450.BMPString_SIZE_1_128", HFILL }},
- { &hf_h450_originalCalledInfo,
- { "originalCalledInfo", "h450.originalCalledInfo",
+ "h450_3.BMPString_SIZE_1_128", HFILL }},
+ { &hf_h450_3_originalCalledInfo,
+ { "originalCalledInfo", "h450.3.originalCalledInfo",
FT_STRING, BASE_NONE, NULL, 0,
- "h450.BMPString_SIZE_1_128", HFILL }},
- { &hf_h450_callReroutingArg_extension,
- { "extension", "h450.extension",
- FT_UINT32, BASE_DEC, VALS(h450_CallReroutingArg_extension_vals), 0,
- "h450.CallReroutingArg_extension", HFILL }},
- { &hf_h450_diversionReason,
- { "diversionReason", "h450.diversionReason",
- FT_UINT32, BASE_DEC, VALS(h450_DiversionReason_vals), 0,
- "h450.DiversionReason", HFILL }},
- { &hf_h450_nominatedNr,
- { "nominatedNr", "h450.nominatedNr",
+ "h450_3.BMPString_SIZE_1_128", HFILL }},
+ { &hf_h450_3_callReroutingArg_extension,
+ { "extension", "h450.3.extension",
+ FT_UINT32, BASE_DEC, VALS(h450_3_CallReroutingArg_extension_vals), 0,
+ "h450_3.CallReroutingArg_extension", HFILL }},
+ { &hf_h450_3_diversionReason,
+ { "diversionReason", "h450.3.diversionReason",
+ FT_UINT32, BASE_DEC, VALS(h450_3_DiversionReason_vals), 0,
+ "h450_3.DiversionReason", HFILL }},
+ { &hf_h450_3_nominatedNr,
+ { "nominatedNr", "h450.3.nominatedNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_nominatedInfo,
- { "nominatedInfo", "h450.nominatedInfo",
+ { &hf_h450_3_nominatedInfo,
+ { "nominatedInfo", "h450.3.nominatedInfo",
FT_STRING, BASE_NONE, NULL, 0,
- "h450.BMPString_SIZE_1_128", HFILL }},
- { &hf_h450_redirectingNr,
- { "redirectingNr", "h450.redirectingNr",
+ "h450_3.BMPString_SIZE_1_128", HFILL }},
+ { &hf_h450_3_redirectingNr,
+ { "redirectingNr", "h450.3.redirectingNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_divertingLegInformation1Arg_extension,
- { "extension", "h450.extension",
- FT_UINT32, BASE_DEC, VALS(h450_DivertingLegInformation1Arg_extension_vals), 0,
- "h450.DivertingLegInformation1Arg_extension", HFILL }},
- { &hf_h450_originalDiversionReason,
- { "originalDiversionReason", "h450.originalDiversionReason",
- FT_UINT32, BASE_DEC, VALS(h450_DiversionReason_vals), 0,
- "h450.DiversionReason", HFILL }},
- { &hf_h450_divertingNr,
- { "divertingNr", "h450.divertingNr",
+ { &hf_h450_3_divertingLegInformation1Arg_extension,
+ { "extension", "h450.3.extension",
+ FT_UINT32, BASE_DEC, VALS(h450_3_DivertingLegInformation1Arg_extension_vals), 0,
+ "h450_3.DivertingLegInformation1Arg_extension", HFILL }},
+ { &hf_h450_3_originalDiversionReason,
+ { "originalDiversionReason", "h450.3.originalDiversionReason",
+ FT_UINT32, BASE_DEC, VALS(h450_3_DiversionReason_vals), 0,
+ "h450_3.DiversionReason", HFILL }},
+ { &hf_h450_3_divertingNr,
+ { "divertingNr", "h450.3.divertingNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_extension,
- { "extension", "h450.extension",
- FT_UINT32, BASE_DEC, VALS(h450_DivertingLegInformation2Arg_extension_vals), 0,
- "h450.DivertingLegInformation2Arg_extension", HFILL }},
- { &hf_h450_presentationAllowedIndicator,
- { "presentationAllowedIndicator", "h450.presentationAllowedIndicator",
+ { &hf_h450_3_divertingLegInformation2Arg_extension,
+ { "extension", "h450.3.extension",
+ FT_UINT32, BASE_DEC, VALS(h450_3_DivertingLegInformation2Arg_extension_vals), 0,
+ "h450_3.DivertingLegInformation2Arg_extension", HFILL }},
+ { &hf_h450_3_presentationAllowedIndicator,
+ { "presentationAllowedIndicator", "h450.3.presentationAllowedIndicator",
FT_BOOLEAN, 8, NULL, 0,
"h450.PresentationAllowedIndicator", HFILL }},
- { &hf_h450_redirectionNr,
- { "redirectionNr", "h450.redirectionNr",
+ { &hf_h450_3_redirectionNr,
+ { "redirectionNr", "h450.3.redirectionNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_divertingLegInformation3Arg_extension,
- { "extension", "h450.extension",
- FT_UINT32, BASE_DEC, VALS(h450_DivertingLegInformation3Arg_extension_vals), 0,
- "h450.DivertingLegInformation3Arg_extension", HFILL }},
- { &hf_h450_callingNr,
- { "callingNr", "h450.callingNr",
+ { &hf_h450_3_redirectionInfo,
+ { "redirectionInfo", "h450.3.redirectionInfo",
+ FT_STRING, BASE_NONE, NULL, 0,
+ "h450_3.BMPString_SIZE_1_128", HFILL }},
+ { &hf_h450_3_divertingLegInformation3Arg_extension,
+ { "extension", "h450.3.extension",
+ FT_UINT32, BASE_DEC, VALS(h450_3_DivertingLegInformation3Arg_extension_vals), 0,
+ "h450_3.DivertingLegInformation3Arg_extension", HFILL }},
+ { &hf_h450_3_callingNr,
+ { "callingNr", "h450.3.callingNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_divertingLegInformation4Arg_extension,
- { "extension", "h450.extension",
- FT_UINT32, BASE_DEC, VALS(h450_DivertingLegInformation4Arg_extension_vals), 0,
- "h450.DivertingLegInformation4Arg_extension", HFILL }},
- { &hf_h450_IntResultList_item,
- { "Item", "h450.IntResultList_item",
- FT_NONE, BASE_NONE, NULL, 0,
- "h450.IntResult", HFILL }},
- { &hf_h450_remoteEnabled,
- { "remoteEnabled", "h450.remoteEnabled",
+ { &hf_h450_3_divertingLegInformation4Arg_extension,
+ { "extension", "h450.3.extension",
+ FT_UINT32, BASE_DEC, VALS(h450_3_DivertingLegInformation4Arg_extension_vals), 0,
+ "h450_3.DivertingLegInformation4Arg_extension", HFILL }},
+ { &hf_h450_3_IntResultList_item,
+ { "Item", "h450.3.IntResultList_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_3.IntResult", HFILL }},
+ { &hf_h450_3_remoteEnabled,
+ { "remoteEnabled", "h450.3.remoteEnabled",
FT_BOOLEAN, 8, NULL, 0,
- "h450.BOOLEAN", HFILL }},
- { &hf_h450_intResult_extension,
- { "extension", "h450.extension",
- FT_UINT32, BASE_DEC, VALS(h450_IntResult_extension_vals), 0,
- "h450.IntResult_extension", HFILL }},
- { &hf_h450_holdNotificArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_3.BOOLEAN", HFILL }},
+ { &hf_h450_3_intResult_extension,
+ { "extension", "h450.3.extension",
+ FT_UINT32, BASE_DEC, VALS(h450_3_IntResult_extension_vals), 0,
+ "h450_3.IntResult_extension", HFILL }},
+ { &hf_h450_3_unspecified_extension,
+ { "extension", "h450.3.extension",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450.Extension", HFILL }},
+ { &hf_h450_3_nonStandard,
+ { "nonStandard", "h450.3.nonStandard",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h225.NonStandardParameter", HFILL }},
+ { &hf_h450_3_ExtensionSeq_item,
+ { "Item", "h450.3.ExtensionSeq_item",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450.Extension", HFILL }},
+
+/* --- Module Call-Hold-Operations --- --- --- */
+
+ { &hf_h450_4_h450_4_HoldNotificArg_PDU,
+ { "HoldNotificArg", "h450.4.HoldNotificArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_4.HoldNotificArg", HFILL }},
+ { &hf_h450_4_h450_4_RetrieveNotificArg_PDU,
+ { "RetrieveNotificArg", "h450.4.RetrieveNotificArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_4.RetrieveNotificArg", HFILL }},
+ { &hf_h450_4_h450_4_RemoteHoldArg_PDU,
+ { "RemoteHoldArg", "h450.4.RemoteHoldArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_4.RemoteHoldArg", HFILL }},
+ { &hf_h450_4_h450_4_RemoteHoldRes_PDU,
+ { "RemoteHoldRes", "h450.4.RemoteHoldRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_4.RemoteHoldRes", HFILL }},
+ { &hf_h450_4_h450_4_RemoteRetrieveArg_PDU,
+ { "RemoteRetrieveArg", "h450.4.RemoteRetrieveArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_4.RemoteRetrieveArg", HFILL }},
+ { &hf_h450_4_h450_4_RemoteRetrieveRes_PDU,
+ { "RemoteRetrieveRes", "h450.4.RemoteRetrieveRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_4.RemoteRetrieveRes", HFILL }},
+ { &hf_h450_4_h450_4_PAR_undefined_PDU,
+ { "PAR-undefined", "h450.4.PAR_undefined",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_holdNotificArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_retrieveNotificArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_4.PAR_undefined", HFILL }},
+ { &hf_h450_4_holdNotificArg_extensionArg,
+ { "extensionArg", "h450.4.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_retrieveNotificArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_remoteHoldArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_4.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_4_holdNotificArg_extensionArg_item,
+ { "Item", "h450.4.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_4_retrieveNotificArg_extensionArg,
+ { "extensionArg", "h450.4.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_remoteHoldArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_extensionRes,
- { "extensionRes", "h450.extensionRes",
+ "h450_4.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_4_retrieveNotificArg_extensionArg_item,
+ { "Item", "h450.4.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_4_remoteHoldArg_extensionArg,
+ { "extensionArg", "h450.4.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_extensionRes_item,
- { "Item", "h450.extensionRes_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_remoteRetrieveArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_4.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_4_remoteHoldArg_extensionArg_item,
+ { "Item", "h450.4.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_4_extensionRes,
+ { "extensionRes", "h450.4.extensionRes",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_remoteRetrieveArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_mixedExtension_extension,
- { "extension", "h450.extension",
+ "h450_4.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_4_extensionRes_item,
+ { "Item", "h450.4.extensionRes_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_4_remoteRetrieveArg_extensionArg,
+ { "extensionArg", "h450.4.extensionArg",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "h450_4.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_4_remoteRetrieveArg_extensionArg_item,
+ { "Item", "h450.4.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_4_mixedExtension_extension,
+ { "extension", "h450.4.extension",
FT_NONE, BASE_NONE, NULL, 0,
"h450.Extension", HFILL }},
- { &hf_h450_parkingNumber,
- { "parkingNumber", "h450.parkingNumber",
+ { &hf_h450_4_nonStandardData,
+ { "nonStandardData", "h450.4.nonStandardData",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h225.NonStandardParameter", HFILL }},
+ { &hf_h450_4_PAR_undefined_item,
+ { "Item", "h450.4.PAR_undefined_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+
+/* --- Module Call-Park-Pickup-Operations --- --- --- */
+
+ { &hf_h450_5_h450_5_CpRequestArg_PDU,
+ { "CpRequestArg", "h450.5.CpRequestArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.CpRequestArg", HFILL }},
+ { &hf_h450_5_h450_5_CpRequestRes_PDU,
+ { "CpRequestRes", "h450.5.CpRequestRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.CpRequestRes", HFILL }},
+ { &hf_h450_5_h450_5_CpSetupArg_PDU,
+ { "CpSetupArg", "h450.5.CpSetupArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.CpSetupArg", HFILL }},
+ { &hf_h450_5_h450_5_CpSetupRes_PDU,
+ { "CpSetupRes", "h450.5.CpSetupRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.CpSetupRes", HFILL }},
+ { &hf_h450_5_h450_5_GroupIndicationOnArg_PDU,
+ { "GroupIndicationOnArg", "h450.5.GroupIndicationOnArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.GroupIndicationOnArg", HFILL }},
+ { &hf_h450_5_h450_5_GroupIndicationOnRes_PDU,
+ { "GroupIndicationOnRes", "h450.5.GroupIndicationOnRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.GroupIndicationOnRes", HFILL }},
+ { &hf_h450_5_h450_5_GroupIndicationOffArg_PDU,
+ { "GroupIndicationOffArg", "h450.5.GroupIndicationOffArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.GroupIndicationOffArg", HFILL }},
+ { &hf_h450_5_h450_5_GroupIndicationOffRes_PDU,
+ { "GroupIndicationOffRes", "h450.5.GroupIndicationOffRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.GroupIndicationOffRes", HFILL }},
+ { &hf_h450_5_h450_5_PickrequArg_PDU,
+ { "PickrequArg", "h450.5.PickrequArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.PickrequArg", HFILL }},
+ { &hf_h450_5_h450_5_PickrequRes_PDU,
+ { "PickrequRes", "h450.5.PickrequRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.PickrequRes", HFILL }},
+ { &hf_h450_5_h450_5_PickupArg_PDU,
+ { "PickupArg", "h450.5.PickupArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.PickupArg", HFILL }},
+ { &hf_h450_5_h450_5_PickupRes_PDU,
+ { "PickupRes", "h450.5.PickupRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.PickupRes", HFILL }},
+ { &hf_h450_5_h450_5_PickExeArg_PDU,
+ { "PickExeArg", "h450.5.PickExeArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.PickExeArg", HFILL }},
+ { &hf_h450_5_h450_5_PickExeRes_PDU,
+ { "PickExeRes", "h450.5.PickExeRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.PickExeRes", HFILL }},
+ { &hf_h450_5_h450_5_CpNotifyArg_PDU,
+ { "CpNotifyArg", "h450.5.CpNotifyArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.CpNotifyArg", HFILL }},
+ { &hf_h450_5_h450_5_CpickupNotifyArg_PDU,
+ { "CpickupNotifyArg", "h450.5.CpickupNotifyArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_5.CpickupNotifyArg", HFILL }},
+ { &hf_h450_5_h450_5_PAR_undefined_PDU,
+ { "PAR-undefined", "h450.5.PAR_undefined",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "h450_5.PAR_undefined", HFILL }},
+ { &hf_h450_5_parkingNumber,
+ { "parkingNumber", "h450.5.parkingNumber",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_parkedNumber,
- { "parkedNumber", "h450.parkedNumber",
+ { &hf_h450_5_parkedNumber,
+ { "parkedNumber", "h450.5.parkedNumber",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_parkedToNumber,
- { "parkedToNumber", "h450.parkedToNumber",
+ { &hf_h450_5_parkedToNumber,
+ { "parkedToNumber", "h450.5.parkedToNumber",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_parkedToPosition,
- { "parkedToPosition", "h450.parkedToPosition",
+ { &hf_h450_5_parkedToPosition,
+ { "parkedToPosition", "h450.5.parkedToPosition",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "h450_5.ParkedToPosition", HFILL }},
+ { &hf_h450_5_cpRequestArg_extensionArg,
+ { "extensionArg", "h450.5.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.ParkedToPosition", HFILL }},
- { &hf_h450_cpRequestArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_5.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_5_cpRequestArg_extensionArg_item,
+ { "Item", "h450.5.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_5_parkCondition,
+ { "parkCondition", "h450.5.parkCondition",
+ FT_UINT32, BASE_DEC, VALS(h450_5_ParkCondition_vals), 0,
+ "h450_5.ParkCondition", HFILL }},
+ { &hf_h450_5_extensionRes,
+ { "extensionRes", "h450.5.extensionRes",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cpRequestArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_parkCondition,
- { "parkCondition", "h450.parkCondition",
- FT_UINT32, BASE_DEC, VALS(h450_ParkCondition_vals), 0,
- "h450.ParkCondition", HFILL }},
- { &hf_h450_cpSetupArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_5.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_5_extensionRes_item,
+ { "Item", "h450.5.extensionRes_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_5_cpSetupArg_extensionArg,
+ { "extensionArg", "h450.5.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cpSetupArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_callPickupId,
- { "callPickupId", "h450.callPickupId",
+ "h450_5.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_5_cpSetupArg_extensionArg_item,
+ { "Item", "h450.5.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_5_callPickupId,
+ { "callPickupId", "h450.5.callPickupId",
FT_NONE, BASE_NONE, NULL, 0,
"h225.CallIdentifier", HFILL }},
- { &hf_h450_groupMemberUserNr,
- { "groupMemberUserNr", "h450.groupMemberUserNr",
+ { &hf_h450_5_groupMemberUserNr,
+ { "groupMemberUserNr", "h450.5.groupMemberUserNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_retrieveCallType,
- { "retrieveCallType", "h450.retrieveCallType",
- FT_UINT32, BASE_DEC, VALS(h450_CallType_vals), 0,
- "h450.CallType", HFILL }},
- { &hf_h450_partyToRetrieve,
- { "partyToRetrieve", "h450.partyToRetrieve",
+ { &hf_h450_5_retrieveCallType,
+ { "retrieveCallType", "h450.5.retrieveCallType",
+ FT_UINT32, BASE_DEC, VALS(h450_5_CallType_vals), 0,
+ "h450_5.CallType", HFILL }},
+ { &hf_h450_5_partyToRetrieve,
+ { "partyToRetrieve", "h450.5.partyToRetrieve",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_retrieveAddress,
- { "retrieveAddress", "h450.retrieveAddress",
+ { &hf_h450_5_retrieveAddress,
+ { "retrieveAddress", "h450.5.retrieveAddress",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_parkPosition,
- { "parkPosition", "h450.parkPosition",
+ { &hf_h450_5_parkPosition,
+ { "parkPosition", "h450.5.parkPosition",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.ParkedToPosition", HFILL }},
- { &hf_h450_groupIndicationOnArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_5.ParkedToPosition", HFILL }},
+ { &hf_h450_5_groupIndicationOnArg_extensionArg,
+ { "extensionArg", "h450.5.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_groupIndicationOnArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_groupIndicationOffArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_5.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_5_groupIndicationOnArg_extensionArg_item,
+ { "Item", "h450.5.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_5_groupIndicationOffArg_extensionArg,
+ { "extensionArg", "h450.5.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_groupIndicationOffArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_picking_upNumber,
- { "picking-upNumber", "h450.picking_upNumber",
+ "h450_5.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_5_groupIndicationOffArg_extensionArg_item,
+ { "Item", "h450.5.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_5_picking_upNumber,
+ { "picking-upNumber", "h450.5.picking_upNumber",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_pickrequArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ { &hf_h450_5_pickrequArg_extensionArg,
+ { "extensionArg", "h450.5.extensionArg",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "h450_5.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_5_pickrequArg_extensionArg_item,
+ { "Item", "h450.5.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_5_pickupArg_extensionArg,
+ { "extensionArg", "h450.5.extensionArg",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "h450_5.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_5_pickupArg_extensionArg_item,
+ { "Item", "h450.5.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_5_pickExeArg_extensionArg,
+ { "extensionArg", "h450.5.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_pickrequArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_pickupArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_5.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_5_pickExeArg_extensionArg_item,
+ { "Item", "h450.5.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_5_cpNotifyArg_extensionArg,
+ { "extensionArg", "h450.5.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_pickupArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_pickExeArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_5.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_5_cpNotifyArg_extensionArg_item,
+ { "Item", "h450.5.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_5_cpickupNotifyArg_extensionArg,
+ { "extensionArg", "h450.5.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_pickExeArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cpNotifyArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_5.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_5_cpickupNotifyArg_extensionArg_item,
+ { "Item", "h450.5.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_5_PAR_undefined_item,
+ { "Item", "h450.5.PAR_undefined_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+
+/* --- Module Call-Waiting-Operations --- --- --- */
+
+ { &hf_h450_6_h450_6_CallWaitingArg_PDU,
+ { "CallWaitingArg", "h450.6.CallWaitingArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_6.CallWaitingArg", HFILL }},
+ { &hf_h450_6_nbOfAddWaitingCalls,
+ { "nbOfAddWaitingCalls", "h450.6.nbOfAddWaitingCalls",
+ FT_UINT32, BASE_DEC, NULL, 0,
+ "h450_6.INTEGER_0_255", HFILL }},
+ { &hf_h450_6_callWaitingArg_extensionArg,
+ { "extensionArg", "h450.6.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cpNotifyArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cpickupNotifyArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_6.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_6_callWaitingArg_extensionArg_item,
+ { "Item", "h450.6.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+
+/* --- Module Message-Waiting-Indication-Operations --- --- --- */
+
+ { &hf_h450_7_h450_7_MWIActivateArg_PDU,
+ { "MWIActivateArg", "h450.7.MWIActivateArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_7.MWIActivateArg", HFILL }},
+ { &hf_h450_7_h450_7_DummyRes_PDU,
+ { "DummyRes", "h450.7.DummyRes",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cpickupNotifyArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_nbOfAddWaitingCalls,
- { "nbOfAddWaitingCalls", "h450.nbOfAddWaitingCalls",
+ "h450_7.DummyRes", HFILL }},
+ { &hf_h450_7_h450_7_MWIDeactivateArg_PDU,
+ { "MWIDeactivateArg", "h450.7.MWIDeactivateArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_7.MWIDeactivateArg", HFILL }},
+ { &hf_h450_7_h450_7_MWIInterrogateArg_PDU,
+ { "MWIInterrogateArg", "h450.7.MWIInterrogateArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_7.MWIInterrogateArg", HFILL }},
+ { &hf_h450_7_h450_7_MWIInterrogateRes_PDU,
+ { "MWIInterrogateRes", "h450.7.MWIInterrogateRes",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.INTEGER_0_255", HFILL }},
- { &hf_h450_callWaitingArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_7.MWIInterrogateRes", HFILL }},
+ { &hf_h450_7_h450_7_PAR_undefined_PDU,
+ { "PAR-undefined", "h450.7.PAR_undefined",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_callWaitingArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_msgCentreId,
- { "msgCentreId", "h450.msgCentreId",
- FT_UINT32, BASE_DEC, VALS(h450_MsgCentreId_vals), 0,
- "h450.MsgCentreId", HFILL }},
- { &hf_h450_nbOfMessages,
- { "nbOfMessages", "h450.nbOfMessages",
+ "h450_7.PAR_undefined", HFILL }},
+ { &hf_h450_7_servedUserNr,
+ { "servedUserNr", "h450.7.servedUserNr",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450.EndpointAddress", HFILL }},
+ { &hf_h450_7_basicService,
+ { "basicService", "h450.7.basicService",
+ FT_UINT32, BASE_DEC, VALS(h450_7_BasicService_vals), 0,
+ "h450_7.BasicService", HFILL }},
+ { &hf_h450_7_msgCentreId,
+ { "msgCentreId", "h450.7.msgCentreId",
+ FT_UINT32, BASE_DEC, VALS(h450_7_MsgCentreId_vals), 0,
+ "h450_7.MsgCentreId", HFILL }},
+ { &hf_h450_7_nbOfMessages,
+ { "nbOfMessages", "h450.7.nbOfMessages",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.NbOfMessages", HFILL }},
- { &hf_h450_originatingNr,
- { "originatingNr", "h450.originatingNr",
+ "h450_7.NbOfMessages", HFILL }},
+ { &hf_h450_7_originatingNr,
+ { "originatingNr", "h450.7.originatingNr",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_timestamp,
- { "timestamp", "h450.timestamp",
+ { &hf_h450_7_timestamp,
+ { "timestamp", "h450.7.timestamp",
FT_STRING, BASE_NONE, NULL, 0,
- "h450.TimeStamp", HFILL }},
- { &hf_h450_priority,
- { "priority", "h450.priority",
+ "h450_7.TimeStamp", HFILL }},
+ { &hf_h450_7_priority,
+ { "priority", "h450.7.priority",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.INTEGER_0_9", HFILL }},
- { &hf_h450_mWIActivateArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_7.INTEGER_0_9", HFILL }},
+ { &hf_h450_7_mWIActivateArg_extensionArg,
+ { "extensionArg", "h450.7.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.ExtensionArg", HFILL }},
- { &hf_h450_MwiDummyRes_item,
- { "Item", "h450.MwiDummyRes_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_callbackReq,
- { "callbackReq", "h450.callbackReq",
+ "h450_7.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_7_mWIActivateArg_extensionArg_item,
+ { "Item", "h450.7.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_7_DummyRes_item,
+ { "Item", "h450.7.DummyRes_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_7_callbackReq,
+ { "callbackReq", "h450.7.callbackReq",
FT_BOOLEAN, 8, NULL, 0,
- "h450.BOOLEAN", HFILL }},
- { &hf_h450_mWIDeactivateArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_7.BOOLEAN", HFILL }},
+ { &hf_h450_7_mWIDeactivateArg_extensionArg,
+ { "extensionArg", "h450.7.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.ExtensionArg", HFILL }},
- { &hf_h450_mWIInterrogateArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_7.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_7_mWIDeactivateArg_extensionArg_item,
+ { "Item", "h450.7.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_7_mWIInterrogateArg_extensionArg,
+ { "extensionArg", "h450.7.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.ExtensionArg", HFILL }},
- { &hf_h450_MWIInterrogateRes_item,
- { "Item", "h450.MWIInterrogateRes_item",
+ "h450_7.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_7_mWIInterrogateArg_extensionArg_item,
+ { "Item", "h450.7.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_7_MWIInterrogateRes_item,
+ { "Item", "h450.7.MWIInterrogateRes_item",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.MWIInterrogateResElt", HFILL }},
- { &hf_h450_mWIInterrogateResElt_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_7.MWIInterrogateResElt", HFILL }},
+ { &hf_h450_7_mWIInterrogateResElt_extensionArg,
+ { "extensionArg", "h450.7.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.ExtensionArg", HFILL }},
- { &hf_h450_integer,
- { "integer", "h450.integer",
+ "h450_7.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_7_mWIInterrogateResElt_extensionArg_item,
+ { "Item", "h450.7.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_7_integer,
+ { "integer", "h450.7.integer",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.INTEGER_0_65535", HFILL }},
- { &hf_h450_mwipartyNumber,
- { "mwipartyNumber", "h450.mwipartyNumber",
+ "h450_7.INTEGER_0_65535", HFILL }},
+ { &hf_h450_7_partyNumber,
+ { "partyNumber", "h450.7.partyNumber",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_numericString,
- { "numericString", "h450.numericString",
+ { &hf_h450_7_numericString,
+ { "numericString", "h450.7.numericString",
FT_STRING, BASE_NONE, NULL, 0,
- "h450.NumericString_SIZE_1_10", HFILL }},
- { &hf_h450_ExtensionArg_item,
- { "Item", "h450.ExtensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_name,
- { "name", "h450.name",
- FT_UINT32, BASE_DEC, VALS(h450_Name_vals), 0,
- "h450.Name", HFILL }},
- { &hf_h450_nameArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_7.NumericString_SIZE_1_10", HFILL }},
+ { &hf_h450_7_PAR_undefined_item,
+ { "Item", "h450.7.PAR_undefined_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+
+/* --- Module Name-Operations --- --- --- */
+
+ { &hf_h450_8_h450_8_ARG_callingName_PDU,
+ { "ARG-callingName", "h450.8.ARG_callingName",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_8.ARG_callingName", HFILL }},
+ { &hf_h450_8_h450_8_ARG_alertingName_PDU,
+ { "ARG-alertingName", "h450.8.ARG_alertingName",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_8.ARG_alertingName", HFILL }},
+ { &hf_h450_8_h450_8_ARG_connectedName_PDU,
+ { "ARG-connectedName", "h450.8.ARG_connectedName",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_8.ARG_connectedName", HFILL }},
+ { &hf_h450_8_h450_8_ARG_busyName_PDU,
+ { "ARG-busyName", "h450.8.ARG_busyName",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_8.ARG_busyName", HFILL }},
+ { &hf_h450_8_name,
+ { "name", "h450.8.name",
+ FT_UINT32, BASE_DEC, VALS(h450_8_Name_vals), 0,
+ "h450_8.Name", HFILL }},
+ { &hf_h450_8_extensionArg,
+ { "extensionArg", "h450.8.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_nameArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_namePresentationAllowed,
- { "namePresentationAllowed", "h450.namePresentationAllowed",
- FT_UINT32, BASE_DEC, VALS(h450_NamePresentationAllowed_vals), 0,
- "h450.NamePresentationAllowed", HFILL }},
- { &hf_h450_namePresentationRestricted,
- { "namePresentationRestricted", "h450.namePresentationRestricted",
- FT_UINT32, BASE_DEC, VALS(h450_NamePresentationRestricted_vals), 0,
- "h450.NamePresentationRestricted", HFILL }},
- { &hf_h450_nameNotAvailable,
- { "nameNotAvailable", "h450.nameNotAvailable",
+ "h450_8.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_8_extensionArg_item,
+ { "Item", "h450.8.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_8_namePresentationAllowed,
+ { "namePresentationAllowed", "h450.8.namePresentationAllowed",
+ FT_UINT32, BASE_DEC, VALS(h450_8_NamePresentationAllowed_vals), 0,
+ "h450_8.NamePresentationAllowed", HFILL }},
+ { &hf_h450_8_namePresentationRestricted,
+ { "namePresentationRestricted", "h450.8.namePresentationRestricted",
+ FT_UINT32, BASE_DEC, VALS(h450_8_NamePresentationRestricted_vals), 0,
+ "h450_8.NamePresentationRestricted", HFILL }},
+ { &hf_h450_8_nameNotAvailable,
+ { "nameNotAvailable", "h450.8.nameNotAvailable",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_simpleName,
- { "simpleName", "h450.simpleName",
+ "h450_8.NULL", HFILL }},
+ { &hf_h450_8_simpleName,
+ { "simpleName", "h450.8.simpleName",
FT_BYTES, BASE_HEX, NULL, 0,
- "h450.SimpleName", HFILL }},
- { &hf_h450_extendedName,
- { "extendedName", "h450.extendedName",
+ "h450_8.SimpleName", HFILL }},
+ { &hf_h450_8_extendedName,
+ { "extendedName", "h450.8.extendedName",
FT_STRING, BASE_NONE, NULL, 0,
- "h450.ExtendedName", HFILL }},
- { &hf_h450_restrictedNull,
- { "restrictedNull", "h450.restrictedNull",
+ "h450_8.ExtendedName", HFILL }},
+ { &hf_h450_8_restrictedNull,
+ { "restrictedNull", "h450.8.restrictedNull",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_numberA,
- { "numberA", "h450.numberA",
+ "h450_8.NULL", HFILL }},
+
+/* --- Module Call-Completion-Operations --- --- --- */
+
+ { &hf_h450_9_h450_9_CcRequestArg_PDU,
+ { "CcRequestArg", "h450.9.CcRequestArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_9.CcRequestArg", HFILL }},
+ { &hf_h450_9_h450_9_CcRequestRes_PDU,
+ { "CcRequestRes", "h450.9.CcRequestRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_9.CcRequestRes", HFILL }},
+ { &hf_h450_9_h450_9_CcArg_PDU,
+ { "CcArg", "h450.9.CcArg",
+ FT_UINT32, BASE_DEC, VALS(h450_9_CcArg_vals), 0,
+ "h450_9.CcArg", HFILL }},
+ { &hf_h450_9_h450_9_CcShortArg_PDU,
+ { "CcShortArg", "h450.9.CcShortArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_9.CcShortArg", HFILL }},
+ { &hf_h450_9_numberA,
+ { "numberA", "h450.9.numberA",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_numberB,
- { "numberB", "h450.numberB",
+ { &hf_h450_9_numberB,
+ { "numberB", "h450.9.numberB",
FT_NONE, BASE_NONE, NULL, 0,
"h450.EndpointAddress", HFILL }},
- { &hf_h450_ccIdentifier,
- { "ccIdentifier", "h450.ccIdentifier",
+ { &hf_h450_9_ccIdentifier,
+ { "ccIdentifier", "h450.9.ccIdentifier",
FT_NONE, BASE_NONE, NULL, 0,
"h225.CallIdentifier", HFILL }},
- { &hf_h450_service,
- { "service", "h450.service",
- FT_UINT32, BASE_DEC, VALS(h450_BasicService_vals), 0,
- "h450.BasicService", HFILL }},
- { &hf_h450_can_retain_service,
- { "can-retain-service", "h450.can_retain_service",
+ { &hf_h450_9_service,
+ { "service", "h450.9.service",
+ FT_UINT32, BASE_DEC, VALS(h450_7_BasicService_vals), 0,
+ "h450_7.BasicService", HFILL }},
+ { &hf_h450_9_can_retain_service,
+ { "can-retain-service", "h450.9.can_retain_service",
FT_BOOLEAN, 8, NULL, 0,
- "h450.BOOLEAN", HFILL }},
- { &hf_h450_retain_sig_connection,
- { "retain-sig-connection", "h450.retain_sig_connection",
+ "h450_9.BOOLEAN", HFILL }},
+ { &hf_h450_9_retain_sig_connection,
+ { "retain-sig-connection", "h450.9.retain_sig_connection",
FT_BOOLEAN, 8, NULL, 0,
- "h450.BOOLEAN", HFILL }},
- { &hf_h450_ccRequestArg_extension,
- { "extension", "h450.extension",
+ "h450_9.BOOLEAN", HFILL }},
+ { &hf_h450_9_ccRequestArg_extension,
+ { "extension", "h450.9.extension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_ccRequestArg_extension_item,
- { "Item", "h450.extension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_retain_service,
- { "retain-service", "h450.retain_service",
+ "h450_9.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_9_ccRequestArg_extension_item,
+ { "Item", "h450.9.extension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_9_retain_service,
+ { "retain-service", "h450.9.retain_service",
FT_BOOLEAN, 8, NULL, 0,
- "h450.BOOLEAN", HFILL }},
- { &hf_h450_ccRequestRes_extension,
- { "extension", "h450.extension",
+ "h450_9.BOOLEAN", HFILL }},
+ { &hf_h450_9_ccRequestRes_extension,
+ { "extension", "h450.9.extension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_ccRequestRes_extension_item,
- { "Item", "h450.extension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_shortArg,
- { "shortArg", "h450.shortArg",
- FT_NONE, BASE_NONE, NULL, 0,
- "h450.CcShortArg", HFILL }},
- { &hf_h450_longArg,
- { "longArg", "h450.longArg",
- FT_NONE, BASE_NONE, NULL, 0,
- "h450.CcLongArg", HFILL }},
- { &hf_h450_ccShortArg_extension,
- { "extension", "h450.extension",
+ "h450_9.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_9_ccRequestRes_extension_item,
+ { "Item", "h450.9.extension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_9_shortArg,
+ { "shortArg", "h450.9.shortArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_9.CcShortArg", HFILL }},
+ { &hf_h450_9_longArg,
+ { "longArg", "h450.9.longArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_9.CcLongArg", HFILL }},
+ { &hf_h450_9_ccShortArg_extension,
+ { "extension", "h450.9.extension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_ccShortArg_extension_item,
- { "Item", "h450.extension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_ccLongArg_extension,
- { "extension", "h450.extension",
+ "h450_9.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_9_ccShortArg_extension_item,
+ { "Item", "h450.9.extension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_9_ccLongArg_extension,
+ { "extension", "h450.9.extension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_ccLongArg_extension_item,
- { "Item", "h450.extension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_coReqOptArg_extension,
- { "extension", "h450.extension",
+ "h450_9.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_9_ccLongArg_extension_item,
+ { "Item", "h450.9.extension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+
+/* --- Module Call-Offer-Operations --- --- --- */
+
+ { &hf_h450_10_h450_10_CoReqOptArg_PDU,
+ { "CoReqOptArg", "h450.10.CoReqOptArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_10.CoReqOptArg", HFILL }},
+ { &hf_h450_10_h450_10_RUAlertOptArg_PDU,
+ { "RUAlertOptArg", "h450.10.RUAlertOptArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_10.RUAlertOptArg", HFILL }},
+ { &hf_h450_10_h450_10_CfbOvrOptArg_PDU,
+ { "CfbOvrOptArg", "h450.10.CfbOvrOptArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_10.CfbOvrOptArg", HFILL }},
+ { &hf_h450_10_coReqOptArg_extension,
+ { "extension", "h450.10.extension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_coReqOptArg_extension_item,
- { "Item", "h450.extension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_rUAlertOptArg_extension,
- { "extension", "h450.extension",
+ "h450_10.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_10_coReqOptArg_extension_item,
+ { "Item", "h450.10.extension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_10_rUAlertOptArg_extension,
+ { "extension", "h450.10.extension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_rUAlertOptArg_extension_item,
- { "Item", "h450.extension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cfbOvrOptArg_extension,
- { "extension", "h450.extension",
+ "h450_10.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_10_rUAlertOptArg_extension_item,
+ { "Item", "h450.10.extension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_10_cfbOvrOptArg_extension,
+ { "extension", "h450.10.extension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cfbOvrOptArg_extension_item,
- { "Item", "h450.extension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_ciCapabilityLevel,
- { "ciCapabilityLevel", "h450.ciCapabilityLevel",
- FT_UINT32, BASE_DEC, VALS(h450_CICapabilityLevel_vals), 0,
- "h450.CICapabilityLevel", HFILL }},
- { &hf_h450_cIRequestArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
+ "h450_10.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_10_cfbOvrOptArg_extension_item,
+ { "Item", "h450.10.extension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+
+/* --- Module Call-Intrusion-Operations --- --- --- */
+
+ { &hf_h450_11_h450_11_CIRequestArg_PDU,
+ { "CIRequestArg", "h450.11.CIRequestArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CIRequestArg", HFILL }},
+ { &hf_h450_11_h450_11_CIRequestRes_PDU,
+ { "CIRequestRes", "h450.11.CIRequestRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CIRequestRes", HFILL }},
+ { &hf_h450_11_h450_11_CIGetCIPLOptArg_PDU,
+ { "CIGetCIPLOptArg", "h450.11.CIGetCIPLOptArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CIGetCIPLOptArg", HFILL }},
+ { &hf_h450_11_h450_11_CIGetCIPLRes_PDU,
+ { "CIGetCIPLRes", "h450.11.CIGetCIPLRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CIGetCIPLRes", HFILL }},
+ { &hf_h450_11_h450_11_CIIsOptArg_PDU,
+ { "CIIsOptArg", "h450.11.CIIsOptArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CIIsOptArg", HFILL }},
+ { &hf_h450_11_h450_11_CIIsOptRes_PDU,
+ { "CIIsOptRes", "h450.11.CIIsOptRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CIIsOptRes", HFILL }},
+ { &hf_h450_11_h450_11_CIFrcRelArg_PDU,
+ { "CIFrcRelArg", "h450.11.CIFrcRelArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CIFrcRelArg", HFILL }},
+ { &hf_h450_11_h450_11_CIFrcRelOptRes_PDU,
+ { "CIFrcRelOptRes", "h450.11.CIFrcRelOptRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CIFrcRelOptRes", HFILL }},
+ { &hf_h450_11_h450_11_CIWobOptArg_PDU,
+ { "CIWobOptArg", "h450.11.CIWobOptArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CIWobOptArg", HFILL }},
+ { &hf_h450_11_h450_11_CIWobOptRes_PDU,
+ { "CIWobOptRes", "h450.11.CIWobOptRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CIWobOptRes", HFILL }},
+ { &hf_h450_11_h450_11_CISilentArg_PDU,
+ { "CISilentArg", "h450.11.CISilentArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CISilentArg", HFILL }},
+ { &hf_h450_11_h450_11_CISilentOptRes_PDU,
+ { "CISilentOptRes", "h450.11.CISilentOptRes",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CISilentOptRes", HFILL }},
+ { &hf_h450_11_h450_11_CINotificationArg_PDU,
+ { "CINotificationArg", "h450.11.CINotificationArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_11.CINotificationArg", HFILL }},
+ { &hf_h450_11_ciCapabilityLevel,
+ { "ciCapabilityLevel", "h450.11.ciCapabilityLevel",
+ FT_UINT32, BASE_DEC, VALS(h450_11_CICapabilityLevel_vals), 0,
+ "h450_11.CICapabilityLevel", HFILL }},
+ { &hf_h450_11_cIRequestArg_argumentExtension,
+ { "argumentExtension", "h450.11.argumentExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cIRequestArg_argumentExtension_item,
- { "Item", "h450.argumentExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_ciStatusInformation,
- { "ciStatusInformation", "h450.ciStatusInformation",
- FT_UINT32, BASE_DEC, VALS(h450_CIStatusInformation_vals), 0,
- "h450.CIStatusInformation", HFILL }},
- { &hf_h450_cIRequestRes_resultExtension,
- { "resultExtension", "h450.resultExtension",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cIRequestArg_argumentExtension_item,
+ { "Item", "h450.11.argumentExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_ciStatusInformation,
+ { "ciStatusInformation", "h450.11.ciStatusInformation",
+ FT_UINT32, BASE_DEC, VALS(h450_11_CIStatusInformation_vals), 0,
+ "h450_11.CIStatusInformation", HFILL }},
+ { &hf_h450_11_cIRequestRes_resultExtension,
+ { "resultExtension", "h450.11.resultExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cIRequestRes_resultExtension_item,
- { "Item", "h450.resultExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cIGetCIPLOptArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cIRequestRes_resultExtension_item,
+ { "Item", "h450.11.resultExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_cIGetCIPLOptArg_argumentExtension,
+ { "argumentExtension", "h450.11.argumentExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cIGetCIPLOptArg_argumentExtension_item,
- { "Item", "h450.argumentExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_ciProtectionLevel,
- { "ciProtectionLevel", "h450.ciProtectionLevel",
- FT_UINT32, BASE_DEC, VALS(h450_CIProtectionLevel_vals), 0,
- "h450.CIProtectionLevel", HFILL }},
- { &hf_h450_silentMonitoringPermitted,
- { "silentMonitoringPermitted", "h450.silentMonitoringPermitted",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cIGetCIPLOptArg_argumentExtension_item,
+ { "Item", "h450.11.argumentExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_ciProtectionLevel,
+ { "ciProtectionLevel", "h450.11.ciProtectionLevel",
+ FT_UINT32, BASE_DEC, VALS(h450_11_CIProtectionLevel_vals), 0,
+ "h450_11.CIProtectionLevel", HFILL }},
+ { &hf_h450_11_silentMonitoringPermitted,
+ { "silentMonitoringPermitted", "h450.11.silentMonitoringPermitted",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_cIGetCIPLRes_resultExtension,
- { "resultExtension", "h450.resultExtension",
+ "h450_11.NULL", HFILL }},
+ { &hf_h450_11_cIGetCIPLRes_resultExtension,
+ { "resultExtension", "h450.11.resultExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cIGetCIPLRes_resultExtension_item,
- { "Item", "h450.resultExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cIIsOptArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cIGetCIPLRes_resultExtension_item,
+ { "Item", "h450.11.resultExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_cIIsOptArg_argumentExtension,
+ { "argumentExtension", "h450.11.argumentExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cIIsOptArg_argumentExtension_item,
- { "Item", "h450.argumentExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cIIsOptRes_resultExtension,
- { "resultExtension", "h450.resultExtension",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cIIsOptArg_argumentExtension_item,
+ { "Item", "h450.11.argumentExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_cIIsOptRes_resultExtension,
+ { "resultExtension", "h450.11.resultExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cIIsOptRes_resultExtension_item,
- { "Item", "h450.resultExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cIFrcRelArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cIIsOptRes_resultExtension_item,
+ { "Item", "h450.11.resultExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_cIFrcRelArg_argumentExtension,
+ { "argumentExtension", "h450.11.argumentExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cIFrcRelArg_argumentExtension_item,
- { "Item", "h450.argumentExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cIFrcRelOptRes_resultExtension,
- { "resultExtension", "h450.resultExtension",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cIFrcRelArg_argumentExtension_item,
+ { "Item", "h450.11.argumentExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_cIFrcRelOptRes_resultExtension,
+ { "resultExtension", "h450.11.resultExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cIFrcRelOptRes_resultExtension_item,
- { "Item", "h450.resultExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cIWobOptArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cIFrcRelOptRes_resultExtension_item,
+ { "Item", "h450.11.resultExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_cIWobOptArg_argumentExtension,
+ { "argumentExtension", "h450.11.argumentExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cIWobOptArg_argumentExtension_item,
- { "Item", "h450.argumentExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cIWobOptRes_resultExtension,
- { "resultExtension", "h450.resultExtension",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cIWobOptArg_argumentExtension_item,
+ { "Item", "h450.11.argumentExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_cIWobOptRes_resultExtension,
+ { "resultExtension", "h450.11.resultExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cIWobOptRes_resultExtension_item,
- { "Item", "h450.resultExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_specificCall,
- { "specificCall", "h450.specificCall",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cIWobOptRes_resultExtension_item,
+ { "Item", "h450.11.resultExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_specificCall,
+ { "specificCall", "h450.11.specificCall",
FT_NONE, BASE_NONE, NULL, 0,
"h225.CallIdentifier", HFILL }},
- { &hf_h450_cISilentArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
+ { &hf_h450_11_cISilentArg_argumentExtension,
+ { "argumentExtension", "h450.11.argumentExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cISilentArg_argumentExtension_item,
- { "Item", "h450.argumentExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cISilentOptRes_resultExtension,
- { "resultExtension", "h450.resultExtension",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cISilentArg_argumentExtension_item,
+ { "Item", "h450.11.argumentExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_cISilentOptRes_resultExtension,
+ { "resultExtension", "h450.11.resultExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cISilentOptRes_resultExtension_item,
- { "Item", "h450.resultExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cINotificationArg_argumentExtension,
- { "argumentExtension", "h450.argumentExtension",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cISilentOptRes_resultExtension_item,
+ { "Item", "h450.11.resultExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_cINotificationArg_argumentExtension,
+ { "argumentExtension", "h450.11.argumentExtension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cINotificationArg_argumentExtension_item,
- { "Item", "h450.argumentExtension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_callIntrusionImpending,
- { "callIntrusionImpending", "h450.callIntrusionImpending",
+ "h450_11.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_11_cINotificationArg_argumentExtension_item,
+ { "Item", "h450.11.argumentExtension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_11_callIntrusionImpending,
+ { "callIntrusionImpending", "h450.11.callIntrusionImpending",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_callIntruded,
- { "callIntruded", "h450.callIntruded",
+ "h450_11.NULL", HFILL }},
+ { &hf_h450_11_callIntruded,
+ { "callIntruded", "h450.11.callIntruded",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_callIsolated,
- { "callIsolated", "h450.callIsolated",
+ "h450_11.NULL", HFILL }},
+ { &hf_h450_11_callIsolated,
+ { "callIsolated", "h450.11.callIsolated",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_callForceReleased,
- { "callForceReleased", "h450.callForceReleased",
+ "h450_11.NULL", HFILL }},
+ { &hf_h450_11_callForceReleased,
+ { "callForceReleased", "h450.11.callForceReleased",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_callIntrusionComplete,
- { "callIntrusionComplete", "h450.callIntrusionComplete",
+ "h450_11.NULL", HFILL }},
+ { &hf_h450_11_callIntrusionComplete,
+ { "callIntrusionComplete", "h450.11.callIntrusionComplete",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_callIntrusionEnd,
- { "callIntrusionEnd", "h450.callIntrusionEnd",
+ "h450_11.NULL", HFILL }},
+ { &hf_h450_11_callIntrusionEnd,
+ { "callIntrusionEnd", "h450.11.callIntrusionEnd",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_featureList,
- { "featureList", "h450.featureList",
+ "h450_11.NULL", HFILL }},
+
+/* --- Module Common-Information-Operations --- --- --- */
+
+ { &hf_h450_12_h450_12_DummyArg_PDU,
+ { "DummyArg", "h450.12.DummyArg",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_12.DummyArg", HFILL }},
+ { &hf_h450_12_h450_12_CmnArg_PDU,
+ { "CmnArg", "h450.12.CmnArg",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.FeatureList", HFILL }},
- { &hf_h450_featureValues,
- { "featureValues", "h450.featureValues",
+ "h450_12.CmnArg", HFILL }},
+ { &hf_h450_12_featureList,
+ { "featureList", "h450.12.featureList",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.FeatureValues", HFILL }},
- { &hf_h450_featureControl,
- { "featureControl", "h450.featureControl",
+ "h450_12.FeatureList", HFILL }},
+ { &hf_h450_12_featureValues,
+ { "featureValues", "h450.12.featureValues",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.FeatureControl", HFILL }},
- { &hf_h450_cmnArg_extension,
- { "extension", "h450.extension",
+ "h450_12.FeatureValues", HFILL }},
+ { &hf_h450_12_featureControl,
+ { "featureControl", "h450.12.featureControl",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "h450_12.FeatureControl", HFILL }},
+ { &hf_h450_12_cmnArg_extension,
+ { "extension", "h450.12.extension",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cmnArg_extension_item,
- { "Item", "h450.extension_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_cmnRequestArg_extensionArg,
- { "extensionArg", "h450.extensionArg",
+ "h450_12.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_12_cmnArg_extension_item,
+ { "Item", "h450.12.extension_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_12_extensionArg,
+ { "extensionArg", "h450.12.extensionArg",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
- { &hf_h450_cmnRequestArg_extensionArg_item,
- { "Item", "h450.extensionArg_item",
- FT_UINT32, BASE_DEC, VALS(h450_MixedExtension_vals), 0,
- "h450.MixedExtension", HFILL }},
- { &hf_h450_ssCFreRoutingSupported,
- { "ssCFreRoutingSupported", "h450.ssCFreRoutingSupported",
+ "h450_12.SEQUENCE_SIZE_0_255_OF_MixedExtension", HFILL }},
+ { &hf_h450_12_extensionArg_item,
+ { "Item", "h450.12.extensionArg_item",
+ FT_UINT32, BASE_DEC, VALS(h450_4_MixedExtension_vals), 0,
+ "h450_4.MixedExtension", HFILL }},
+ { &hf_h450_12_ssCFreRoutingSupported,
+ { "ssCFreRoutingSupported", "h450.12.ssCFreRoutingSupported",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCTreRoutingSupported,
- { "ssCTreRoutingSupported", "h450.ssCTreRoutingSupported",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCTreRoutingSupported,
+ { "ssCTreRoutingSupported", "h450.12.ssCTreRoutingSupported",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCCBSPossible,
- { "ssCCBSPossible", "h450.ssCCBSPossible",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCCBSPossible,
+ { "ssCCBSPossible", "h450.12.ssCCBSPossible",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCCNRPossible,
- { "ssCCNRPossible", "h450.ssCCNRPossible",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCCNRPossible,
+ { "ssCCNRPossible", "h450.12.ssCCNRPossible",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCOSupported,
- { "ssCOSupported", "h450.ssCOSupported",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCOSupported,
+ { "ssCOSupported", "h450.12.ssCOSupported",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCIForcedReleaseSupported,
- { "ssCIForcedReleaseSupported", "h450.ssCIForcedReleaseSupported",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCIForcedReleaseSupported,
+ { "ssCIForcedReleaseSupported", "h450.12.ssCIForcedReleaseSupported",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCIIsolationSupported,
- { "ssCIIsolationSupported", "h450.ssCIIsolationSupported",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCIIsolationSupported,
+ { "ssCIIsolationSupported", "h450.12.ssCIIsolationSupported",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCIWaitOnBusySupported,
- { "ssCIWaitOnBusySupported", "h450.ssCIWaitOnBusySupported",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCIWaitOnBusySupported,
+ { "ssCIWaitOnBusySupported", "h450.12.ssCIWaitOnBusySupported",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCISilentMonitoringSupported,
- { "ssCISilentMonitoringSupported", "h450.ssCISilentMonitoringSupported",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCISilentMonitoringSupported,
+ { "ssCISilentMonitoringSupported", "h450.12.ssCISilentMonitoringSupported",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCIConferenceSupported,
- { "ssCIConferenceSupported", "h450.ssCIConferenceSupported",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCIConferenceSupported,
+ { "ssCIConferenceSupported", "h450.12.ssCIConferenceSupported",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCHFarHoldSupported,
- { "ssCHFarHoldSupported", "h450.ssCHFarHoldSupported",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCHFarHoldSupported,
+ { "ssCHFarHoldSupported", "h450.12.ssCHFarHoldSupported",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssMWICallbackSupported,
- { "ssMWICallbackSupported", "h450.ssMWICallbackSupported",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssMWICallbackSupported,
+ { "ssMWICallbackSupported", "h450.12.ssMWICallbackSupported",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCPCallParkSupported,
- { "ssCPCallParkSupported", "h450.ssCPCallParkSupported",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCPCallParkSupported,
+ { "ssCPCallParkSupported", "h450.12.ssCPCallParkSupported",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_partyCategory,
- { "partyCategory", "h450.partyCategory",
- FT_UINT32, BASE_DEC, VALS(h450_PartyCategory_vals), 0,
- "h450.PartyCategory", HFILL }},
- { &hf_h450_ssCIprotectionLevel,
- { "ssCIprotectionLevel", "h450.ssCIprotectionLevel",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_partyCategory,
+ { "partyCategory", "h450.12.partyCategory",
+ FT_UINT32, BASE_DEC, VALS(h450_12_PartyCategory_vals), 0,
+ "h450_12.PartyCategory", HFILL }},
+ { &hf_h450_12_ssCIprotectionLevel,
+ { "ssCIprotectionLevel", "h450.12.ssCIprotectionLevel",
FT_UINT32, BASE_DEC, NULL, 0,
- "h450.SSCIProtectionLevel", HFILL }},
- { &hf_h450_ssCHDoNotHold,
- { "ssCHDoNotHold", "h450.ssCHDoNotHold",
+ "h450_12.SSCIProtectionLevel", HFILL }},
+ { &hf_h450_12_ssCHDoNotHold,
+ { "ssCHDoNotHold", "h450.12.ssCHDoNotHold",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCTDoNotTransfer,
- { "ssCTDoNotTransfer", "h450.ssCTDoNotTransfer",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCTDoNotTransfer,
+ { "ssCTDoNotTransfer", "h450.12.ssCTDoNotTransfer",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssMWICallbackCall,
- { "ssMWICallbackCall", "h450.ssMWICallbackCall",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssMWICallbackCall,
+ { "ssMWICallbackCall", "h450.12.ssMWICallbackCall",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_ssCISilentMonitorPermitted,
- { "ssCISilentMonitorPermitted", "h450.ssCISilentMonitorPermitted",
+ "h450_12.NULL", HFILL }},
+ { &hf_h450_12_ssCISilentMonitorPermitted,
+ { "ssCISilentMonitorPermitted", "h450.12.ssCISilentMonitorPermitted",
FT_NONE, BASE_NONE, NULL, 0,
- "h450.NULL", HFILL }},
- { &hf_h450_unspecified_extension,
- { "extension", "h450.extension",
- FT_NONE, BASE_NONE, NULL, 0,
- "h450.Extension", HFILL }},
- { &hf_h450_nonStandard,
- { "nonStandard", "h450.nonStandard",
- FT_NONE, BASE_NONE, NULL, 0,
- "h225.NonStandardParameter", HFILL }},
- { &hf_h450_extensionId,
- { "extensionId", "h450.extensionId",
- FT_OID, BASE_NONE, NULL, 0,
- "h450.OBJECT_IDENTIFIER", HFILL }},
- { &hf_h450_extensionArgument,
- { "extensionArgument", "h450.extensionArgument",
- FT_BYTES, BASE_HEX, NULL, 0,
- "h450.ExtensionArgument", HFILL }},
+ "h450_12.NULL", HFILL }},
/*--- End of included file: packet-h450-hfarr.c ---*/
-#line 1040 "packet-h450-template.c"
+#line 252 "packet-h450-template.c"
};
/* List of subtrees */
static gint *ett[] = {
- &ett_h4501,
- &ett_h4501_opcode,
- &ett_h4501_result,
- &ett_h4501_errorCode,
-
- &ett_h4501_problem,
- &ett_h4501_Reject,
- &ett_h4501_ReturnError,
- &ett_h4501_ReturnResult,
- &ett_h4501_Invoke,
- &ett_h4501_ROS,
/*--- Included file: packet-h450-ettarr.c ---*/
#line 1 "packet-h450-ettarr.c"
+
+/* --- Modules H4501-Supplementary-ServiceAPDU-Structure Addressing-Data-Elements H225-generic-parameters-definition Manufacturer-specific-service-extension-definition H4501-General-Error-List --- --- --- */
+
&ett_h450_H4501SupplementaryService,
&ett_h450_NetworkFacilityExtension,
&ett_h450_EntityType,
&ett_h450_InterpretationApdu,
&ett_h450_ServiceApdus,
- &ett_h450_SEQUENCE_OF_ROS,
+ &ett_h450_SEQUENCE_SIZE_1_MAX_OF_ROS,
&ett_h450_PresentedAddressScreened,
&ett_h450_PresentedAddressUnscreened,
&ett_h450_PresentedNumberScreened,
@@ -5411,134 +6532,209 @@ void proto_register_h450(void) {
&ett_h450_SEQUENCE_OF_AliasAddress,
&ett_h450_PartySubaddress,
&ett_h450_UserSpecifiedSubaddress,
- &ett_h450_DummyArg,
- &ett_h450_DummyRes,
- &ett_h450_CTInitiateArg,
- &ett_h450_ArgumentExtension,
- &ett_h450_CTSetupArg,
- &ett_h450_CTIdentifyRes,
- &ett_h450_T_resultExtension,
- &ett_h450_CTUpdateArg,
- &ett_h450_SubaddressTransferArg,
- &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_SEQUENCE_SIZE_0_255_OF_MixedExtension,
- &ett_h450_RetrieveNotificArg,
- &ett_h450_RemoteHoldArg,
- &ett_h450_RemoteHoldRes,
- &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,
- &ett_h450_MWIInterrogateArg,
- &ett_h450_MWIInterrogateRes,
- &ett_h450_MWIInterrogateResElt,
- &ett_h450_MsgCentreId,
- &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,
+/* --- Module Call-Transfer-Operations --- --- --- */
+
+ &ett_h450_2_DummyArg,
+ &ett_h450_2_DummyRes,
+ &ett_h450_2_CTInitiateArg,
+ &ett_h450_2_T_cTInitiateArg_argumentExtension,
+ &ett_h450_2_CTSetupArg,
+ &ett_h450_2_T_cTSetupArg_argumentExtension,
+ &ett_h450_2_CTIdentifyRes,
+ &ett_h450_2_T_resultExtension,
+ &ett_h450_2_CTUpdateArg,
+ &ett_h450_2_T_cTUpdateArg_argumentExtension,
+ &ett_h450_2_SubaddressTransferArg,
+ &ett_h450_2_T_subaddressTransferArg_argumentExtension,
+ &ett_h450_2_CTCompleteArg,
+ &ett_h450_2_T_cTCompleteArg_argumentExtension,
+ &ett_h450_2_CTActiveArg,
+ &ett_h450_2_T_cTActiveArg_argumentExtension,
+ &ett_h450_2_ExtensionSeq,
+ &ett_h450_2_PAR_unspecified,
+
+/* --- Module Call-Diversion-Operations --- --- --- */
+
+ &ett_h450_3_ARG_activateDiversionQ,
+ &ett_h450_3_ActivateDiversionQArg_extension,
+ &ett_h450_3_RES_activateDiversionQ,
+ &ett_h450_3_ARG_deactivateDiversionQ,
+ &ett_h450_3_DeactivateDiversionQArg_extension,
+ &ett_h450_3_RES_deactivateDiversionQ,
+ &ett_h450_3_ARG_interrogateDiversionQ,
+ &ett_h450_3_InterrogateDiversionQ_extension,
+ &ett_h450_3_ARG_checkRestriction,
+ &ett_h450_3_CheckRestrictionArg_extension,
+ &ett_h450_3_RES_checkRestriction,
+ &ett_h450_3_ARG_callRerouting,
+ &ett_h450_3_CallReroutingArg_extension,
+ &ett_h450_3_RES_callRerouting,
+ &ett_h450_3_ARG_divertingLegInformation1,
+ &ett_h450_3_DivertingLegInformation1Arg_extension,
+ &ett_h450_3_ARG_divertingLegInformation2,
+ &ett_h450_3_DivertingLegInformation2Arg_extension,
+ &ett_h450_3_ARG_divertingLegInformation3,
+ &ett_h450_3_DivertingLegInformation3Arg_extension,
+ &ett_h450_3_ARG_divertingLegInformation4,
+ &ett_h450_3_DivertingLegInformation4Arg_extension,
+ &ett_h450_3_ARG_cfnrDivertedLegFailed,
+ &ett_h450_3_IntResultList,
+ &ett_h450_3_IntResult,
+ &ett_h450_3_IntResult_extension,
+ &ett_h450_3_PAR_unspecified,
+ &ett_h450_3_ExtensionSeq,
+
+/* --- Module Call-Hold-Operations --- --- --- */
+
+ &ett_h450_4_HoldNotificArg,
+ &ett_h450_4_SEQUENCE_SIZE_0_255_OF_MixedExtension,
+ &ett_h450_4_RetrieveNotificArg,
+ &ett_h450_4_RemoteHoldArg,
+ &ett_h450_4_RemoteHoldRes,
+ &ett_h450_4_RemoteRetrieveArg,
+ &ett_h450_4_RemoteRetrieveRes,
+ &ett_h450_4_MixedExtension,
+ &ett_h450_4_PAR_undefined,
+
+/* --- Module Call-Park-Pickup-Operations --- --- --- */
+
+ &ett_h450_5_CpRequestArg,
+ &ett_h450_5_SEQUENCE_SIZE_0_255_OF_MixedExtension,
+ &ett_h450_5_CpRequestRes,
+ &ett_h450_5_CpSetupArg,
+ &ett_h450_5_CpSetupRes,
+ &ett_h450_5_GroupIndicationOnArg,
+ &ett_h450_5_GroupIndicationOnRes,
+ &ett_h450_5_GroupIndicationOffArg,
+ &ett_h450_5_GroupIndicationOffRes,
+ &ett_h450_5_PickrequArg,
+ &ett_h450_5_PickrequRes,
+ &ett_h450_5_PickupArg,
+ &ett_h450_5_PickupRes,
+ &ett_h450_5_PickExeArg,
+ &ett_h450_5_PickExeRes,
+ &ett_h450_5_CpNotifyArg,
+ &ett_h450_5_CpickupNotifyArg,
+ &ett_h450_5_PAR_undefined,
+
+/* --- Module Call-Waiting-Operations --- --- --- */
+
+ &ett_h450_6_CallWaitingArg,
+ &ett_h450_6_SEQUENCE_SIZE_0_255_OF_MixedExtension,
+
+/* --- Module Message-Waiting-Indication-Operations --- --- --- */
+
+ &ett_h450_7_MWIActivateArg,
+ &ett_h450_7_SEQUENCE_SIZE_0_255_OF_MixedExtension,
+ &ett_h450_7_DummyRes,
+ &ett_h450_7_MWIDeactivateArg,
+ &ett_h450_7_MWIInterrogateArg,
+ &ett_h450_7_MWIInterrogateRes,
+ &ett_h450_7_MWIInterrogateResElt,
+ &ett_h450_7_MsgCentreId,
+ &ett_h450_7_PAR_undefined,
+
+/* --- Module Name-Operations --- --- --- */
+
+ &ett_h450_8_ARG_callingName,
+ &ett_h450_8_SEQUENCE_SIZE_0_255_OF_MixedExtension,
+ &ett_h450_8_ARG_alertingName,
+ &ett_h450_8_ARG_connectedName,
+ &ett_h450_8_ARG_busyName,
+ &ett_h450_8_Name,
+ &ett_h450_8_NamePresentationAllowed,
+ &ett_h450_8_NamePresentationRestricted,
+
+/* --- Module Call-Completion-Operations --- --- --- */
+
+ &ett_h450_9_CcRequestArg,
+ &ett_h450_9_SEQUENCE_SIZE_0_255_OF_MixedExtension,
+ &ett_h450_9_CcRequestRes,
+ &ett_h450_9_CcArg,
+ &ett_h450_9_CcShortArg,
+ &ett_h450_9_CcLongArg,
+
+/* --- Module Call-Offer-Operations --- --- --- */
+
+ &ett_h450_10_CoReqOptArg,
+ &ett_h450_10_SEQUENCE_SIZE_0_255_OF_MixedExtension,
+ &ett_h450_10_RUAlertOptArg,
+ &ett_h450_10_CfbOvrOptArg,
+
+/* --- Module Call-Intrusion-Operations --- --- --- */
+
+ &ett_h450_11_CIRequestArg,
+ &ett_h450_11_SEQUENCE_SIZE_0_255_OF_MixedExtension,
+ &ett_h450_11_CIRequestRes,
+ &ett_h450_11_CIGetCIPLOptArg,
+ &ett_h450_11_CIGetCIPLRes,
+ &ett_h450_11_CIIsOptArg,
+ &ett_h450_11_CIIsOptRes,
+ &ett_h450_11_CIFrcRelArg,
+ &ett_h450_11_CIFrcRelOptRes,
+ &ett_h450_11_CIWobOptArg,
+ &ett_h450_11_CIWobOptRes,
+ &ett_h450_11_CISilentArg,
+ &ett_h450_11_CISilentOptRes,
+ &ett_h450_11_CINotificationArg,
+ &ett_h450_11_CIStatusInformation,
+
+/* --- Module Common-Information-Operations --- --- --- */
+
+ &ett_h450_12_CmnArg,
+ &ett_h450_12_SEQUENCE_SIZE_0_255_OF_MixedExtension,
+ &ett_h450_12_DummyArg,
+ &ett_h450_12_FeatureList,
+ &ett_h450_12_FeatureValues,
+ &ett_h450_12_FeatureControl,
+
/*--- End of included file: packet-h450-ettarr.c ---*/
-#line 1056 "packet-h450-template.c"
+#line 257 "packet-h450-template.c"
};
/* Register protocol */
- proto_h4501 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ proto_h450 = proto_register_protocol(PNAME, PSNAME, PFNAME);
+ new_register_dissector("h4501", dissect_h450_H4501SupplementaryService_PDU, proto_h450);
/* Register fields and subtrees */
- proto_register_field_array(proto_h4501, hf, array_length(hf));
+ proto_register_field_array(proto_h450, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
-
- register_dissector("h4501", dissect_h4501, proto_h4501);
+ rose_ctx_init(&h450_rose_ctx);
+ /* Register dissector tables */
+ h450_rose_ctx.arg_global_dissector_table = register_dissector_table("h450.ros.global.arg", "H.450 Operation Argument (global opcode)", FT_STRING, BASE_NONE);
+ h450_rose_ctx.res_global_dissector_table = register_dissector_table("h450.ros.global.res", "H.450 Operation Result (global opcode)", FT_STRING, BASE_NONE);
+ h450_rose_ctx.arg_local_dissector_table = register_dissector_table("h450.ros.local.arg", "H.450 Operation Argument (local opcode)", FT_UINT32, BASE_HEX);
+ h450_rose_ctx.res_local_dissector_table = register_dissector_table("h450.ros.local.res", "H.450 Operation Result (local opcode)", FT_UINT32, BASE_HEX);
+ h450_rose_ctx.err_global_dissector_table = register_dissector_table("h450.ros.global.err", "H.450 Error (global opcode)", FT_STRING, BASE_NONE);
+ h450_rose_ctx.err_local_dissector_table = register_dissector_table("h450.ros.local.err", "H.450 Error (local opcode)", FT_UINT32, BASE_HEX);
}
-/*--- proto_reg_handoff_h4501 ---------------------------------------*/
+/*--- proto_reg_handoff_h450 ---------------------------------------*/
void
-proto_reg_handoff_h4501(void)
+proto_reg_handoff_h450(void)
{
-
- h4501_handle = find_dissector("h4501");
+ int i;
+ dissector_handle_t h450_arg_handle;
+ dissector_handle_t h450_res_handle;
+ dissector_handle_t h450_err_handle;
+
+ data_handle = find_dissector("data");
+
+ h450_arg_handle = new_create_dissector_handle(dissect_h450_arg, proto_h450);
+ h450_res_handle = new_create_dissector_handle(dissect_h450_res, proto_h450);
+ for (i=0; i<(int)array_length(h450_op_tab); i++) {
+ dissector_add("h450.ros.local.arg", h450_op_tab[i].opcode, h450_arg_handle);
+ dissector_add("h450.ros.local.res", h450_op_tab[i].opcode, h450_res_handle);
+ }
+ h450_err_handle = new_create_dissector_handle(dissect_h450_err, proto_h450);
+ for (i=0; i<(int)array_length(h450_err_tab); i++) {
+ dissector_add("h450.ros.local.err", h450_err_tab[i].errcode, h450_err_handle);
+ }
}
diff --git a/epan/dissectors/packet-h450.h b/epan/dissectors/packet-h450.h
deleted file mode 100644
index b9dbc16701..0000000000
--- a/epan/dissectors/packet-h450.h
+++ /dev/null
@@ -1,43 +0,0 @@
-/* Do not modify this file. */
-/* It is created automatically by the ASN.1 to Wireshark dissector compiler */
-/* .\packet-h450.h */
-/* ../../tools/asn2wrs.py -e -p h450 -c h450.cnf -s packet-h450-template h4501.asn */
-
-/* Input file: packet-h450-template.h */
-
-#line 1 "packet-h450-template.h"
-/* packet-h450.h
- * Routines for h450 packet dissection
- * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
- *
- * $Id$
- *
- * Wireshark - Network traffic analyzer
- * By Gerald Combs <gerald@wireshark.org>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
-
-#ifndef PACKET_H450_H
-#define PACKET_H450_H
-
-
-
-/*#include "packet-H450-exp.h" */
-
-#endif /* PACKET_H450_H */
-
-
diff --git a/epan/dissectors/packet-per.c b/epan/dissectors/packet-per.c
index c8e22a7394..486a9d6d81 100644
--- a/epan/dissectors/packet-per.c
+++ b/epan/dissectors/packet-per.c
@@ -738,11 +738,9 @@ DEBUG_ENTRY("dissect_per_constrained_sequence_of");
}
/* 19.6 ub>=64k or unset */
- if(max_len>=65536){
- /* semi-constrained whole number for number of elements */
- /* each element encoded as 10.9 */
+ if ((max_len >= 65536) || (max_len == NO_BOUND)) {
+ /* no constraint, see 10.9.4.2 */
offset=dissect_per_length_determinant(tvb, offset, actx, parent_tree, hf_per_sequence_of_length, &length);
- length+=min_len;
goto call_sohelper;
}
diff --git a/tools/asn2wrs.py b/tools/asn2wrs.py
index e4757202d3..23505e6e52 100755
--- a/tools/asn2wrs.py
+++ b/tools/asn2wrs.py
@@ -1263,9 +1263,10 @@ class EthCtx:
if self.type[t]['import']:
continue
m = self.type[t]['module']
- if not self.all_tags.has_key(m):
- self.all_tags[m] = {}
- self.all_tags[m][t] = self.type[t]['val'].GetTTag(self)
+ if not self.Per():
+ if not self.all_tags.has_key(m):
+ self.all_tags[m] = {}
+ self.all_tags[m][t] = self.type[t]['val'].GetTTag(self)
if not self.all_type_attr.has_key(m):
self.all_type_attr[m] = {}
self.all_type_attr[m][t] = self.eth_get_type_attr(t).copy()
@@ -4176,20 +4177,31 @@ class ChoiceType (Type):
#print "Choice IndetermTag()=%s" % (str(not self.HasOwnTag()))
return not self.HasOwnTag()
- def get_vals(self, ectx):
+ def detect_tagval(self, ectx):
tagval = False
- if (ectx.Ber()):
- lst = self.elt_list[:]
- if hasattr(self, 'ext_list'):
- lst.extend(self.ext_list)
- if (len(lst) > 0):
- t = lst[0].GetTag(ectx)[0]
- tagval = True
- if (t == 'BER_CLASS_UNI'):
+ lst = self.elt_list[:]
+ if hasattr(self, 'ext_list'):
+ lst.extend(self.ext_list)
+ if (len(lst) > 0) and (not ectx.Per() or lst[0].HasOwnTag()):
+ t = lst[0].GetTag(ectx)[0]
+ tagval = True
+ else:
+ t = ''
+ tagval = False
+ if (t == 'BER_CLASS_UNI'):
+ tagval = False
+ for e in (lst):
+ if not ectx.Per() or e.HasOwnTag():
+ tt = e.GetTag(ectx)[0]
+ else:
+ tt = ''
+ tagval = False
+ if (tt != t):
tagval = False
- for e in (lst):
- if (e.GetTag(ectx)[0] != t):
- tagval = False
+ return tagval
+
+ def get_vals(self, ectx):
+ tagval = self.detect_tagval(ectx)
vals = []
cnt = 0
for e in (self.elt_list):
@@ -4260,19 +4272,7 @@ class ChoiceType (Type):
# end out_item()
#print "eth_type_default_table(tname='%s')" % (tname)
fname = ectx.eth_type[tname]['ref'][0]
- tagval = False
- if (ectx.Ber()):
- lst = self.elt_list[:]
- if hasattr(self, 'ext_list'):
- lst.extend(self.ext_list)
- if (len(lst) > 0):
- t = lst[0].GetTag(ectx)[0]
- tagval = True
- if (t == 'BER_CLASS_UNI'):
- tagval = False
- for e in (lst):
- if (e.GetTag(ectx)[0] != t):
- tagval = False
+ tagval = self.detect_tagval(ectx)
if (ectx.Ber()):
if (ectx.NewBer()):
table = "static const %(ER)s_choice_t %(TABLE)s[] = {\n"