H.450 regenerated from original ASN.1 sources
svn path=/trunk/; revision=22417
This commit is contained in:
parent
4142a2b90f
commit
5a46ea46b5
|
@ -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 \
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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)
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
||||
|
|
@ -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
|
|
@ -3,39 +3,61 @@
|
|||
# Copyright 2004 Anders Broman
|
||||
# $Id$
|
||||
|
||||
#.INCLUDE ../h225/h225-exp.cnf
|
||||
|
||||
#.MODULE
|
||||
Remote-Operations-Apdus ros
|
||||
#.OPT
|
||||
PER
|
||||
ALIGNED
|
||||
GROUP_BY_PROT
|
||||
-o h450
|
||||
#.END
|
||||
|
||||
#----------------------------------------------------------------------------------------
|
||||
#.PDU
|
||||
CallTransferIdentify
|
||||
CallTransferAbandon
|
||||
CallTransferInitiate
|
||||
CallTransferSetup
|
||||
CallTransferUpdate
|
||||
SubaddressTransfer
|
||||
CallTransferComplete
|
||||
CallTransferActive
|
||||
ActivateDiversionQArg
|
||||
ActivateDiversionQRes
|
||||
DeactivateDiversionQRes
|
||||
InterrogateDiversionQRes
|
||||
CheckRestrictionRes
|
||||
CallReroutingRes
|
||||
#.INCLUDE ../h225/h225-exp.cnf
|
||||
#.INCLUDE h450-ros-exp.cnf
|
||||
|
||||
#.MODULE
|
||||
|
||||
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
|
||||
|
||||
#.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
|
||||
|
|
1899
asn1/h450/h4501.asn
1899
asn1/h450/h4501.asn
File diff suppressed because it is too large
Load Diff
|
@ -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");
|
||||
}
|
||||
|
||||
/*---------------------------------------------------------------------------*/
|
|
@ -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 */
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -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 \
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -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 */
|
||||
|
||||
|
|
@ -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;
|
||||
}
|
||||
|
||||
|
|
|
@ -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
|
||||
for e in (lst):
|
||||
if (e.GetTag(ectx)[0] != t):
|
||||
tagval = False
|
||||
if (tt != 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"
|
||||
|
|
Loading…
Reference in New Issue