aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/asn1_SUITE_data/TCAPPackage.asn
diff options
context:
space:
mode:
authorKenneth Lundin <[email protected]>2010-02-19 14:01:57 +0000
committerErlang/OTP <[email protected]>2010-02-19 14:01:57 +0000
commit18bd1239bee04427340a44f57f993ea92c264e41 (patch)
treedbb3031dcd2e446eb457ff7ac5229949517d7557 /lib/asn1/test/asn1_SUITE_data/TCAPPackage.asn
parent729565dc3f8bcf8829508136498aef6a542840f4 (diff)
downloadotp-18bd1239bee04427340a44f57f993ea92c264e41.tar.gz
otp-18bd1239bee04427340a44f57f993ea92c264e41.tar.bz2
otp-18bd1239bee04427340a44f57f993ea92c264e41.zip
OTP-8463 Support for EXTENSIBILITY IMPLIED and SET/SEQ OF NamedType is
added.
Diffstat (limited to 'lib/asn1/test/asn1_SUITE_data/TCAPPackage.asn')
-rw-r--r--lib/asn1/test/asn1_SUITE_data/TCAPPackage.asn271
1 files changed, 271 insertions, 0 deletions
diff --git a/lib/asn1/test/asn1_SUITE_data/TCAPPackage.asn b/lib/asn1/test/asn1_SUITE_data/TCAPPackage.asn
new file mode 100644
index 0000000000..fcaeff3bfa
--- /dev/null
+++ b/lib/asn1/test/asn1_SUITE_data/TCAPPackage.asn
@@ -0,0 +1,271 @@
+TCAPPackage {iso(1) memberbody(2) usa(840) t1-114(10013) modules(0)
+ tcapPackage(0) version4(4)} DEFINITIONS ::=
+
+-- iso(1) memberbody(2)
+-- usa(840) T1.114(10013)
+BEGIN -- defining a module called TCAPPackage which contains type
+
+-- definitions for the contents of any generic TCAP message
+-- exports everything
+IMPORTS
+ OPERATION, ERROR
+ FROM Remote-Operations-Information-Objects {joint-iso-itu-t remote-operations(4) informationObjects(5) version1(0)};
+-- TCAPRemoteperationsInformationbjects {iso(1) memberbody(2) usa(840)
+-- t1-114(10013) modules(0) information-objects(1) version4(4)};
+
+PackageType ::= CHOICE {
+ unidirectional [PRIVATE 1] IMPLICIT UniTransactionPDU,
+ queryWithPerm [PRIVATE 2] IMPLICIT TransactionPDU,
+ queryWithoutPerm [PRIVATE 3] IMPLICIT TransactionPDU,
+ response [PRIVATE 4] IMPLICIT TransactionPDU,
+ conversationWithPerm [PRIVATE 5] IMPLICIT TransactionPDU,
+ conversationWithoutPerm [PRIVATE 6] IMPLICIT TransactionPDU,
+ abort [PRIVATE 22] IMPLICIT Abort}
+
+UniTransactionPDU ::= SEQUENCE {
+ identifier TransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ componentPortion ComponentSequence}
+
+TransactionPDU ::= SEQUENCE {
+ identifier TransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ componentPortion ComponentSequence OPTIONAL}
+
+-- TransactionPDU should include either a Dialogue Portion,
+-- a Component Sequence or both
+TransactionID ::= [PRIVATE 7] IMPLICIT OCTET STRING
+
+-- 0 octets for the Unidirectional, 4 octets for Query, Response & Abort
+-- 8 octets for Conversation in the order Originating then Responding TID
+Abort ::= SEQUENCE {
+ identifier TransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ causeInformation
+ CHOICE {abortCause P-Abort-cause,
+ userInformation UserAbortInformation} OPTIONAL}
+
+-- When the Abort package is generated by the Transaction sublayer,
+-- the P-Abort-cause must be present
+P-Abort-cause ::= [PRIVATE 23] IMPLICIT INTEGER {
+ unrecognizedPackageType(1), incorrectTransactionPortion(2),
+ badlyStructuredTransactionPortion(3), unassignedRespondingTransactionID(4),
+ permissionToReleaseProblem(5), -- for further study
+ resourceUnavailable(6), unrecognizedDialoguePortionID(7),
+ badlyStructuredDialoguePortion(8), missingDialoguePortion(9),
+ inconsistentDialoguePortion(10)}
+
+DialoguePortion ::= [PRIVATE 25] IMPLICIT SEQUENCE {
+ version ProtocolVersion OPTIONAL,
+ applicationContext
+ CHOICE {integerApplicationId IntegerApplicationContext,
+ objectApplicationId ObjectIDApplicationContext} OPTIONAL,
+ userInformation UserInformation OPTIONAL,
+ securityContext
+ CHOICE {integerSecurityId [0] IMPLICIT INTEGER,
+ objectSecurityId [1] IMPLICIT OBJECT IDENTIFIER} OPTIONAL,
+ confidentiality [2] IMPLICIT Confidentiality OPTIONAL}
+
+ProtocolVersion ::= [PRIVATE 26] IMPLICIT OCTET STRING(SIZE (1))
+
+-- 0000 0000 not used
+-- 0000 0001 T1.114-1996
+-- 0000 0010 T1.114-2000
+-- other reserved
+-- These values can be combined using the bit-wise logical or operation
+-- to indicate support for more than one version, e.g. the value 0000 0011
+-- means that both 1996 and 2000 versions are supported
+IntegerApplicationContext ::= [PRIVATE 27] IMPLICIT INTEGER
+
+ObjectIDApplicationContext ::= [PRIVATE 28] IMPLICIT OBJECT IDENTIFIER
+
+UserInformation ::= [PRIVATE 29] IMPLICIT SEQUENCE OF EXTERNAL
+
+Confidentiality ::= SEQUENCE {
+ confidentialityId
+ CHOICE {integerConfidentialityId [0] IMPLICIT INTEGER,
+ objectConfidentialityId [1] IMPLICIT OBJECT IDENTIFIER} OPTIONAL,
+ ...
+ -- The extension marker indicates the possible presence of items
+ -- in the confidentiality set that are used by the confidentiality
+ -- algorithm.--}
+
+UserAbortInformation ::= [PRIVATE 24] EXTERNAL
+
+--ComponentSequence ::= [PRIVATE 8] IMPLICIT SEQUENCE OF ComponentPDU
+ComponentSequence ::= [PRIVATE 8] IMPLICIT SEQUENCE OF ComponentPDU{NoInvokeId,ProbeAndAcknowledge,ProbeAndAcknowledge}
+-- Component Portion specification starts below
+ComponentPDU{InvokeId:InvokeIdSet, OPERATION:Invocable, OPERATION:Returnable}
+ ::= CHOICE {
+ invokeLast
+ [PRIVATE 9] IMPLICIT Invoke{{InvokeIdSet}, {Invocable}}
+ (CONSTRAINED BY {
+ --invocable.&invokeLast must be TRUE --} !
+ RejectProblem:generalincorrectComponentPortion),
+ returnResultLast [PRIVATE 10] IMPLICIT ReturnResult{{Returnable}},
+ returnError
+ [PRIVATE 11] IMPLICIT ReturnError{{Errors {{Returnable}}}},
+ reject [PRIVATE 12] IMPLICIT Reject,
+ invokeNotLast
+ [PRIVATE 13] IMPLICIT Invoke{{InvokeIdSet}, {Invocable}}
+ (CONSTRAINED BY {
+ --invocable.&invokeLast must be FALSE --} !
+ RejectProblem:generalincorrectComponentPortion),
+ returnResultNotLast [PRIVATE 14] IMPLICIT ReturnResult{{Returnable}}}
+ (CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:generalunrecognisedComponentType)
+
+Invoke{InvokeId:InvokeIdSet, OPERATION:Operations} ::= SEQUENCE {
+ componentIDs
+ [PRIVATE 15] IMPLICIT OCTET STRING(SIZE (0..2))
+ -- The invoke ID precedes the correlation id. There may be no
+ -- identifier,only an invoke ID, or both invoke and correlation
+ -- ID.
+ (CONSTRAINED BY {-- must be unambiguous --} !
+ RejectProblem:invokeduplicateInvocation)
+ (CONSTRAINED BY {-- correlation ID must identify an--
+ -- outstanding operation --} !
+ RejectProblem:invokeunrecognisedCorrelationId)
+ OPTIONAL,
+ -- operationCode
+ opcode
+ OPERATION.&operationCode
+ -- ((Operations) !RejectProblem:invokeunrecognisedOperation),
+ ({Operations} !RejectProblem:invokeunrecognisedOperation),
+ parameter
+ -- OPERATION.&ParameterType
+ OPERATION.&ResultType
+ ({Operations}{@opcode} !RejectProblem:invoke-mistypedArgument) OPTIONAL}
+ (CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:generalincorrectComponentPortion)
+ (CONSTRAINED BY { -- must have consistent encoding --} !
+ RejectProblem:generalbadlyStructuredCompPortion)
+ (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules --} !
+ RejectProblem:generalincorrectComponentCoding)
+
+ReturnResult{OPERATION:Operations} ::= SEQUENCE {
+ componentID
+ [PRIVATE 15] IMPLICIT OCTET STRING(SIZE (1))
+ (CONSTRAINED BY {
+ --must be that of an outstanding operation--} !
+ RejectProblem:
+ returnResultunrecognisedCorrelationId)
+ (CONSTRAINED BY {-- which returns a result --} !
+ RejectProblem:returnResultunexpectedReturnResult),
+ parameter
+ OPERATION.&ResultType
+ -- ({Operations}{@opcode} !RejectProblem:returnResultincorrectParameter)
+-- ({Operations}{@componentID} !RejectProblem:returnResultincorrectParameter)
+ OPTIONAL}
+ (CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:generalincorrectComponentPortion)
+ (CONSTRAINED BY { -- must have consistent encoding --} !
+ RejectProblem:generalbadlyStructuredCompPortion)
+ (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules --} !
+ RejectProblem:generalincorrectComponentCoding)
+
+ReturnError{ERROR:Errors} ::= SEQUENCE {
+ componentID
+ [PRIVATE 15] IMPLICIT OCTET STRING(SIZE (1))
+ (CONSTRAINED BY {
+ --must be that of an outstanding operation--} !
+ RejectProblem:returnErrorunrecognisedCorrelationId)
+ (CONSTRAINED BY {--which returns an error--} !
+ RejectProblem:returnErrorunexpectedReturnError),
+ errorCode
+ ERROR.&errorCode({Errors} !RejectProblem:returnErrorunrecognisedError)
+ (CONSTRAINED BY {-- must be in the &Errors field of the--
+ -- associated operation --} !RejectProblem:returnErrorunexpectedError),
+ parameter
+ -- Error.&ParameterType
+ ERROR.&ParameterType
+ -- ({Errors}{@errorcode} !RejectProblem:returnErrorincorrectParameter)
+ ({Errors}{@errorCode} !RejectProblem:returnErrorincorrectParameter)
+ OPTIONAL}
+ (CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:generalincorrectComponentPortion)
+ (CONSTRAINED BY { -- must have consistent encoding --} !
+ RejectProblem:generalbadlyStructuredCompPortion)
+ (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules --} !
+ RejectProblem:generalincorrectComponentCoding)
+
+Reject ::= SEQUENCE {
+ componentID [PRIVATE 15] IMPLICIT OCTET STRING(SIZE (0..1)),
+ rejectProblem [PRIVATE 21] IMPLICIT Problem,
+ parameter
+ CHOICE {paramSequence [PRIVATE 16] IMPLICIT SEQUENCE {},
+ paramSet [PRIVATE 18] IMPLICIT SET {}}}
+ -- The choice between paramSequence and paramSet is implementation
+ -- dependent, however paramSequence is preferred.
+ (CONSTRAINED BY { -- must conform to the above definition --} !
+ RejectProblem:generalincorrectComponentPortion)
+ (CONSTRAINED BY { -- must have consistent encoding --} !
+ RejectProblem:generalbadlyStructuredCompPortion)
+ (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules --} !
+ RejectProblem:generalincorrectComponentCoding)
+
+-- PROBLEMS, the specification of Problems follows
+Problem ::= INTEGER {
+ generalunrecognisedComponentType(257), generalincorrectComponentPortion(258),
+ generalbadlyStructuredCompPortion(259), generalincorrectComponentCoding(260),
+ invokeduplicateInvocation(513), invokeunrecognisedOperation(514),
+ invokeincorrectParameter(515), invokeunrecognisedCorrelationID(516),
+ returnResultunrecognisedCorrelationID(769),
+ returnResultunexpectedReturnResult(770), returnResultincorrectParameter(771),
+ returnErrorunrecognisedCorrelationID(1025),
+ returnErrorunexpectedReturnError(1026), returnErrorunrecognisedError(1027),
+ returnErrorunexpectedError(1028),
+ returnErrorincorrectParameter(1029),
+ -- Applications using T1.114-1988 report Transaction portion
+ -- problems using a Reject component with a problem code in
+ -- the range 1281e6
+ -- It is preferred that other applications report
+ -- these problems using the Abort package type
+ transactionunrecognizedPackageType(1281),
+ transactionincorrectTransPortion(1282),
+ transactionbadlyStructuredTransPortion(1283),
+ transactionunassignedRespondingTransID(1284),
+ transactionpermissionToReleaseProblem(1285),
+ transactionresourceUnavailable(1286)}
+
+ --added imaginary defs by Bertil
+
+ InvokeId ::= CHOICE
+{
+ present INTEGER,
+ absent NULL
+}
+
+noInvokeId InvokeId ::= absent:NULL
+
+NoInvokeId InvokeId ::= {noInvokeId}
+
+probe OPERATION ::=
+ {
+ ARGUMENT SEQUENCE
+ {
+ invokeId [0] InvokeId
+ }
+ RESULT ENUMERATED{running(0), finished(1), unknown(2), ...}
+ ERRORS ErrorSet
+ ALWAYS RESPONDS TRUE
+ CODE local:-2
+ }
+
+acknowledge OPERATION ::=
+ {
+ ARGUMENT InvokeId
+ RESULT ENUMERATED{acknowledged(0), unknown(1), ...}
+ ALWAYS RESPONDS TRUE
+ CODE local:-3
+ }
+
+ProbeAndAcknowledge OPERATION ::= {probe | acknowledge}
+
+error1 ERROR ::= {PARAMETER INTEGER PRIORITY 25 CODE local:22}
+error2 ERROR ::= {PARAMETER BOOLEAN PRIORITY 15 CODE local:21}
+ErrorSet ERROR ::= {error1|error2}
+--parameterized object set definition
+Errors{OPERATION:OperationSet} ERROR ::= {OperationSet.&Errors}
+
+END -- end of the TCAPPackage Module