aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnders Broman <anders.broman@ericsson.com>2005-01-21 22:44:14 +0000
committerAnders Broman <anders.broman@ericsson.com>2005-01-21 22:44:14 +0000
commit38eda67ce57d094aa0843d2e697b5d3f9d292f27 (patch)
treeac3d60b1140934ae45b81c138b4f669549f8a3ba
parentdbad017913006053e64ba18a93b61bc6a6a5f067 (diff)
asn1 done for h450.1 - h450.12, remains to tie to Operations and Responses.
svn path=/trunk/; revision=13157
-rw-r--r--asn1/h450/h450.cnf81
-rw-r--r--asn1/h450/h4501.asn1426
-rw-r--r--asn1/h450/packet-h450-template.c147
3 files changed, 1595 insertions, 59 deletions
diff --git a/asn1/h450/h450.cnf b/asn1/h450/h450.cnf
index 6678b8e500..0c8fccdc46 100644
--- a/asn1/h450/h450.cnf
+++ b/asn1/h450/h450.cnf
@@ -1,5 +1,5 @@
-# h4501.cnf
-# H.4501 conformation file
+# h450.cnf
+# H.450 conformation file
# Copyright 2004 Anders Broman
# $Id$
@@ -10,6 +10,18 @@ Remote-Operations-Apdus ros
#.INCLUDE ../h225/h225-exp.cnf
#----------------------------------------------------------------------------------------
+#.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
+IntResult/extension IntResult_extension
+
#.FIELD_RENAME
PresentedAddressScreened/presentationAllowedAddress addressScreened_presentationAllowedAddress
@@ -20,4 +32,67 @@ PresentedAddressUnscreened/presentationAllowedAddress addressUnscreened_presenta
PresentedAddressScreened/presentationRestrictedAddress addressScreened_presentationRestrictedAddress
PresentedNumberScreened/presentationRestrictedAddress numberScreened_presentationRestrictedAddress
PresentedNumberUnscreened/presentationRestrictedAddress numberUnscreened_presentationRestrictedAddress
-PresentedAddressUnscreened/presentationRestrictedAddress addressUnscreened_presentationRestrictedAddress \ No newline at end of file
+PresentedAddressUnscreened/presentationRestrictedAddress addressUnscreened_presentationRestrictedAddress
+
+CTInitiateArg/argumentExtension cTInitiateArg_argumentExtension
+CTSetupArg/argumentExtension cTSetupArg_argumentExtension
+CTUpdateArg/argumentExtension cTUpdateArg_argumentExtension
+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
+CcRequestArg/extension ccRequestArg_extension
+CcRequestRes/extension ccRequestRes_extension
+CcShortArg/extension ccShortArg_extension
+CcLongArg/extension ccLongArg_extension
+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
+IntResult/extension intResult_extension
+
+MWIActivateArg/extensionArg mWIActivateArg_extensionArg
+MWIDeactivateArg/extensionArg mWIDeactivateArg_extensionArg
+MWIInterrogateArg/extensionArg mWIInterrogateArg_extensionArg
+MWIInterrogateResElt/extensionArg mWIInterrogateResElt_extensionArg
+
+HoldNotificArg/extensionArg holdNotificArg_extensionArg
+RetrieveNotificArg/extensionArg retrieveNotificArg_extensionArg
+
+RemoteHoldArg/extensionArg remoteHoldArg_extensionArg
+RemoteRetrieveArg/extensionArg remoteRetrieveArg_extensionArg
+CpRequestArg/extensionArg cpRequestArg_extensionArg
+CpSetupArg/extensionArg cpSetupArg_extensionArg
+GroupIndicationOnArg/extensionArg groupIndicationOnArg_extensionArg
+GroupIndicationOffArg/extensionArg groupIndicationOffArg_extensionArg
+PickrequArg/extensionArg pickrequArg_extensionArg
+PickupArg/extensionArg pickupArg_extensionArg
+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
+CIFrcRelArg/argumentExtension cIFrcRelArg_argumentExtension
+CIWobOptArg/argumentExtension cIWobOptArg_argumentExtension
+CISilentArg/argumentExtension cISilentArg_argumentExtension
+CINotificationArg/argumentExtension cINotificationArg_argumentExtension
+
+CIRequestRes/resultExtension cIRequestRes_resultExtension
+CIGetCIPLRes/resultExtension cIGetCIPLRes_resultExtension
+CIIsOptRes/resultExtension cIIsOptRes_resultExtension
+CIFrcRelOptRes/resultExtension cIFrcRelOptRes_resultExtension
+CIWobOptRes/resultExtension cIWobOptRes_resultExtension
+CISilentOptRes/resultExtension cISilentOptRes_resultExtension
diff --git a/asn1/h450/h4501.asn b/asn1/h450/h4501.asn
index 5b8698470d..2ffc287852 100644
--- a/asn1/h450/h4501.asn
+++ b/asn1/h450/h4501.asn
@@ -5,7 +5,7 @@ TAGS ::=
BEGIN
IMPORTS
- AliasAddress, PartyNumber, PresentationIndicator, ScreeningIndicator, NonStandardParameter
+ AliasAddress, PartyNumber, PresentationIndicator, ScreeningIndicator, NonStandardParameter, CallIdentifier
FROM H323-MESSAGES -- see H.225.0 V2
OPERATION, ROS{}, InvokeId
@@ -265,45 +265,424 @@ CTActiveArg ::= SEQUENCE {
CallIdentity ::= NumericString(SIZE (0..4))
-- size 0 means 'empty'
-ExtensionSeq ::= SEQUENCE OF Extension{{ExtensionSet}}
+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 ethereal 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 ethereal
+-- 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 ::=
-
---CallHoldOperations OPERATION ::=
--- {holdNotific | retrieveNotific | remoteHold | remoteRetrieve}
+-- call-hold-operations(0)} DEFINITIONS AUTOMATIC TAGS ::=
+-- BEGIN
-HoldNotific ::= HoldNotificArg
+-- 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 ExtensionArg OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
...
}
-ExtensionArg ::= SEQUENCE SIZE (0..255) OF MixedExtension
+-- retrieveNotific OPERATION ::=
+-- { sent from holding to held H.323 endpoint to invoke retrieval of near-end call hold feature
-RetrieveNotific ::= RetrieveNotificArg
+-- ARGUMENT RetrieveNotificArg
+-- OPTIONAL TRUE
+-- RETURN RESULT FALSE
+-- ALWAYS RESPONDS FALSE
+-- CODE local:102
+-- }
RetrieveNotificArg ::= SEQUENCE {
- extensionArg ExtensionArg OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
...
-}
-RemoteHold ::= RemoteHoldArg
+ }
+
+-- 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 ExtensionArg OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
...
}
+
RemoteHoldRes ::= SEQUENCE {
extensionRes SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
...
}
-RemoteRetrieve ::= RemoteRetrieveArg
+
+-- 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 ExtensionArg OPTIONAL,
+ extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
...
}
@@ -313,22 +692,360 @@ RemoteRetrieveRes ::= SEQUENCE {
}
MixedExtension ::= CHOICE {
- extension Extension{{ExtensionSet}},
+ extension Extension,
nonStandardData NonStandardParameter
}
---ExtensionSet EXTENSION ::=
--- {...}
+
+-- ExtensionSet EXTENSION ::=
+-- {...}
-- Actual values defined by individual manufacturers
---undefined ERROR ::= {
--- PARAMETER SEQUENCE SIZE (0..255) OF MixedExtension
--- OPTIONAL TRUE
--- CODE local:2002
+-- 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 ::=
@@ -398,6 +1115,8 @@ 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),
@@ -452,25 +1171,68 @@ BasicService ::= ENUMERATED {
-- Module Name-Operations (H.450.8:02/2000)
-- Name-Operations {itu-t recommendation h 450 8 version1(0) name-operations(0)}
---NameOperations OPERATION ::=
--- {callingName | alertingName | connectedName | busyName}
+-- DEFINITIONS AUTOMATIC TAGS ::=
+-- BEGIN
-CallingName ::= SEQUENCE {name Name,
- extensionArg ExtensionArg OPTIONAL,
- ...}
+-- 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 ::= SEQUENCE {name Name,
- extensionArg ExtensionArg OPTIONAL,
- ...}
+-- alertingName OPERATION ::= {
+-- ARGUMENT
+-- SEQUENCE {name Name,
+-- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+-- ...}
+-- RETURN RESULT FALSE
+-- ALWAYS RESPONDS FALSE
+-- CODE local:1
+-- }
-ConnectedName ::= SEQUENCE {name Name,
- extensionArg ExtensionArg OPTIONAL,
- ...}
+-- connectedName OPERATION ::= {
+-- ARGUMENT
+-- SEQUENCE {name Name,
+-- extensionArg SEQUENCE SIZE (0..255) OF MixedExtension OPTIONAL,
+-- ...}
+-- RETURN RESULT FALSE
+-- ALWAYS RESPONDS FALSE
+-- CODE local:2
+-- }
-BusyName ::= SEQUENCE {name Name,
- extensionArg ExtensionArg OPTIONAL,
- ...}
+-- 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,
@@ -499,9 +1261,564 @@ SimpleName ::= OCTET STRING(SIZE (1..50))
ExtendedName ::= BMPString(SIZE (1..256)) -- Basic ISO/IEC 10646-1 (Unicode)
-
---END
+--
+-- 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 ( Ethereal )
+-- 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
+
+
--
@@ -544,6 +1861,37 @@ 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})
+--}
+-- Ethereal 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
diff --git a/asn1/h450/packet-h450-template.c b/asn1/h450/packet-h450-template.c
index bffeecb308..a966504feb 100644
--- a/asn1/h450/packet-h450-template.c
+++ b/asn1/h450/packet-h450-template.c
@@ -124,6 +124,10 @@
#define CallIntrusionSilentMonitor 116
#define CallIntrusionNotification 117
+/* H.450.12 Common Information Operations constants */
+#define CmnRequest 84
+#define CmnInform 85
+
/* TODO - define other H.450.x constants here */
static dissector_handle_t h4501_handle=NULL;
@@ -161,6 +165,17 @@ static int hf_h4502_SubaddressTransferArg = -1;
static int hf_h4502_CTCompleteArg = -1;
static int hf_h4502_CTActiveArg = -1;
+static int hf_h4503ActivateDiversionQArg = -1;
+static int hf_h4503DeactivateDiversionQArg = -1;
+static int hf_h4503InterrogateDiversionQ = -1;
+static int hf_h4503CheckRestrictionArg = -1;
+static int hf_h4503CallReroutingArg = -1;
+static int hf_h4503DivertingLegInformation1Arg = -1;
+static int hf_h4503DivertingLegInformation2Arg = -1;
+static int hf_h4503DivertingLegInformation3Arg = -1;
+static int hf_h4503DivertingLegInformation4Arg = -1;
+static int hf_h4503CfnrDivertedLegFailedArg = -1;
+
static int hf_h4504_HoldNotificArg = -1;
static int hf_h4504_RetrieveNotificArg = -1;
static int hf_h4504_RemoteHoldArg = -1;
@@ -289,17 +304,6 @@ static const value_string localOpcode_vals[] = {
static int dissect_h4501_argument(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree);
static int dissect_ros_ROSxxx(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_ind _U_);
-static int
-dissect_xxx_Extensionxxx(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_id){
- PER_NOT_DECODED_YET("H.450.1 ExtensionSeq");
- return offset;
-}
-
-static int
-dissect_xxx_Extension(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_id){
- PER_NOT_DECODED_YET("H.450.1 ExtensionSeq");
- return offset;
-}
#include "packet-h450-fn.c"
@@ -690,6 +694,7 @@ dissect_h4501_argument(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
switch (localOpcode) {
+ /* h450.2 */
case CallTransferIdentify: /* Localvalue 7 */
case CallTransferAbandon: /* Localvalue 8 */
dissect_h450_DummyArg(argument_tvb, 0, pinfo , tree, hf_h4502_DummyArg);
@@ -718,7 +723,39 @@ dissect_h4501_argument(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
case CallTransferActive: /* Localvalue 11 */
dissect_h450_CTActiveArg(argument_tvb, 0, pinfo , tree, hf_h4502_CTActiveArg);
break;
- /* H.450.4 */
+ /* h450.3*/
+
+ case ActivateDiversionQ: /* Localvalue 15 */
+ dissect_h450_ActivateDiversionQArg(argument_tvb, 0, pinfo , tree, hf_h4503ActivateDiversionQArg);
+ break;
+ case DeactivateDiversionQ: /* Localvalue 16 */
+ dissect_h450_DeactivateDiversionQArg(argument_tvb, 0, pinfo , tree, hf_h4503DeactivateDiversionQArg);
+ break;
+ case InterrogateDiversionQ: /* Localvalue 17 */
+ dissect_h450_InterrogateDiversionQ(argument_tvb, 0, pinfo , tree, hf_h4503InterrogateDiversionQ);
+ break;
+ case CheckRestriction: /* Localvalue 18 */
+ dissect_h450_CheckRestrictionArg(argument_tvb, 0, pinfo , tree, hf_h4503CheckRestrictionArg);
+ break;
+ case CallRerouting: /* Localvalue 19 */
+ dissect_h450_CallReroutingArg(argument_tvb, 0, pinfo , tree, hf_h4503CallReroutingArg);
+ break;
+ case DivertingLegInformation1: /* Localvalue 20 */
+ dissect_h450_DivertingLegInformation1Arg(argument_tvb, 0, pinfo , tree, hf_h4503DivertingLegInformation1Arg);
+ break;
+ case DivertingLegInformation2: /* Localvalue 21 */
+ dissect_h450_DivertingLegInformation2Arg(argument_tvb, 0, pinfo , tree, hf_h4503DivertingLegInformation2Arg);
+ break;
+ case DivertingLegInformation3: /* Localvalue 22 */
+ dissect_h450_DivertingLegInformation3Arg(argument_tvb, 0, pinfo , tree, hf_h4503DivertingLegInformation3Arg);
+ break;
+ case DivertingLegInformation4: /* Localvalue 100 */
+ dissect_h450_DivertingLegInformation4Arg(argument_tvb, 0, pinfo , tree, hf_h4503DivertingLegInformation4Arg);
+ break;
+ case CfnrDivertedLegFailed: /* Localvalue 23 */
+ dissect_h450_CfnrDivertedLegFailedArg(argument_tvb, 0, pinfo , tree, hf_h4503CfnrDivertedLegFailedArg);
+ break;
+ /* H.450.4 Call Hold */
case HoldNotific: /* Localvalue 101 */
dissect_h450_HoldNotificArg(argument_tvb, 0, pinfo , tree, hf_h4504_HoldNotificArg);
break;
@@ -731,6 +768,23 @@ dissect_h4501_argument(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
case RemoteRetrieve: /* Localvalue 104 */
dissect_h450_RemoteRetrieveArg(argument_tvb, 0, pinfo , tree, hf_h4504_RemoteRetrieveArg);
break;
+
+/* H.450.5 Call Park and Pickup constants */
+ case CpRequest: /* Localvalue 106 */
+ case CpSetup: /* Localvalue 107 */
+ case GroupIndicationOn: /* Localvalue 108 */
+ case GroupIndicationOff: /* Localvalue 109 */
+ case Pickrequ: /* Localvalue 110 */
+ case Pickup: /* Localvalue 111 */
+ case PickExe: /* Localvalue 112 */
+ case CpNotify: /* Localvalue 113 */
+ case CpickupNotify: /* Localvalue 114 */
+
+/* H.450.6 Call Waiting constants */
+ case CallWaiting: /* Localvalue 105 */
+PER_NOT_DECODED_YET("Unrecognized H.450.x operation");
+ break;
+
/* H.450.7 Message Waiting Indication */
case MWIActivate: /* Localvalue 80 */
dissect_h450_MWIActivateArg(argument_tvb, 0, pinfo , tree, hf_h4507_MWIActivateArg);
@@ -742,19 +796,47 @@ dissect_h4501_argument(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree
dissect_h450_MWIInterrogateArg(argument_tvb, 0, pinfo , tree, hf_h4507_MWIInterrogateArg);
break;
- /* H.450.8 */
+ /* H.450.8 Name Identification */
case NIcallingName: /* Localvalue 0 */
- dissect_h450_CallingName(argument_tvb, 0, pinfo , tree, hf_h4508_CallingNameArg);
+ dissect_h450_NameArg(argument_tvb, 0, pinfo , tree, hf_h4508_CallingNameArg);
break;
case NIalertingName: /* Localvalue 1 */
- dissect_h450_AlertingName(argument_tvb, 0, pinfo , tree, hf_h4508_AlertingNameArg);
+ dissect_h450_NameArg(argument_tvb, 0, pinfo , tree, hf_h4508_AlertingNameArg);
break;
case NIconnectedName: /* Localvalue 2 */
- dissect_h450_ConnectedName(argument_tvb, 0, pinfo , tree, hf_h4508_ConnectedNameArg);
+ dissect_h450_NameArg(argument_tvb, 0, pinfo , tree, hf_h4508_ConnectedNameArg);
break;
case NIbusyName: /* Localvalue 3 */
- dissect_h450_BusyName(argument_tvb, 0, pinfo , tree, hf_h4508_BusyNameArg);
+ dissect_h450_NameArg(argument_tvb, 0, pinfo , tree, hf_h4508_BusyNameArg);
break;
+
+/* H.450.9 Call Completion constants */
+ case CCBSRequest: /* Localvalue 40 */
+ case CCNRRequest: /* Localvalue 27 */
+ case CCCancel: /* Localvalue 28 */
+ case CCExecPossible: /* Localvalue 29 */
+ case CCRingout: /* Localvalue 31 */
+ case CCSuspend: /* Localvalue 32 */
+ case CCResume: /* Localvalue 33 */
+
+/* H.450.10 Call Offer constants */
+ case CallOfferRequest: /* Localvalue 34 */
+ case RemoteUserAlerting: /* Localvalue 115 */
+ case CFBOverride: /* Localvalue 49 */
+
+/* H.450.11 Call Intrusion constants */
+ case CallIntrusionRequest: /* Localvalue 43 */
+ case CallIntrusionGetCIPL: /* Localvalue 44 */
+ case CallIntrusionIsolate: /* Localvalue 45 */
+ case CallIntrusionForcedRelease: /* Localvalue 46 */
+ case CallIntrusionWOBRequest: /* Localvalue 47 */
+ case CallIntrusionSilentMonitor: /* Localvalue 116 */
+ case CallIntrusionNotification: /* Localvalue 117 */
+
+/* H.450.12 Common Information Operations constants */
+ case CmnRequest: /* Localvalue 84 */
+ case CmnInform: /* Localvalue 85 */
+
/* TODO - decode other H.450.x invoke arguments here */
default:
PER_NOT_DECODED_YET("Unrecognized H.450.x operation");
@@ -883,6 +965,37 @@ void proto_register_h450(void) {
{ "SubaddressTransferArg", "h4502.SubaddressTransferArg", FT_NONE, BASE_NONE,
NULL, 0, "SubaddressTransferArg sequence of", HFILL }},
+ { &hf_h4503ActivateDiversionQArg,
+ { "ActivateDiversionQArg", "h4503.ActivateDiversionQArg", FT_NONE, BASE_NONE,
+ NULL, 0, "ActivateDiversionQArg sequence of", HFILL }},
+ { &hf_h4503DeactivateDiversionQArg,
+ { "DeactivateDiversionQArg", "h4503.DeactivateDiversionQArg", FT_NONE, BASE_NONE,
+ NULL, 0, "ActivateDiversionQArg sequence of", HFILL }},
+ { &hf_h4503InterrogateDiversionQ,
+ { "InterrogateDiversionQ", "h4503.InterrogateDiversionQ", FT_NONE, BASE_NONE,
+ NULL, 0, "InterrogateDiversionQ sequence of", HFILL }},
+ { &hf_h4503CheckRestrictionArg,
+ { "CheckRestrictionArg", "h4503.CheckRestrictionArg", FT_NONE, BASE_NONE,
+ NULL, 0, "CheckRestrictionArg sequence of", HFILL }},
+ { &hf_h4503CallReroutingArg,
+ { "CallReroutingArg", "h4503.CallReroutingArg", FT_NONE, BASE_NONE,
+ NULL, 0, "ActivateDiversionQArg sequence of", HFILL }},
+ { &hf_h4503DivertingLegInformation1Arg,
+ { "DivertingLegInformation1Arg", "h4503.DivertingLegInformation1Arg", FT_NONE, BASE_NONE,
+ NULL, 0, "DivertingLegInformation1Arg sequence of", HFILL }},
+ { &hf_h4503DivertingLegInformation2Arg,
+ { "DivertingLegInformation2Arg", "h4503.DivertingLegInformation2Arg", FT_NONE, BASE_NONE,
+ NULL, 0, "DivertingLegInformation1Arg sequence of", HFILL }},
+ { &hf_h4503DivertingLegInformation3Arg,
+ { "DivertingLegInformation3Arg", "h4503.DivertingLegInformation3Arg", FT_NONE, BASE_NONE,
+ NULL, 0, "DivertingLegInformation1Arg sequence of", HFILL }},
+ { &hf_h4503DivertingLegInformation4Arg,
+ { "DivertingLegInformation4Arg", "h4503.DivertingLegInformation4Arg", FT_NONE, BASE_NONE,
+ NULL, 0, "DivertingLegInformation4Arg sequence of", HFILL }},
+ { &hf_h4503CfnrDivertedLegFailedArg,
+ { "CfnrDivertedLegFailedArg", "h4503.CfnrDivertedLegFailedArg", FT_NONE, BASE_NONE,
+ NULL, 0, "ActivateDiversionQArg sequence of", HFILL }},
+
{ &hf_h4504_HoldNotificArg,
{ "HoldNotificArg", "h4504.HoldNotificArg", FT_NONE, BASE_NONE,
NULL, 0, "HoldNotificArg sequence of", HFILL }},