aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/test/asn1_SUITE_data/TCAPMessages-simple.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/TCAPMessages-simple.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/TCAPMessages-simple.asn')
-rw-r--r--lib/asn1/test/asn1_SUITE_data/TCAPMessages-simple.asn206
1 files changed, 206 insertions, 0 deletions
diff --git a/lib/asn1/test/asn1_SUITE_data/TCAPMessages-simple.asn b/lib/asn1/test/asn1_SUITE_data/TCAPMessages-simple.asn
new file mode 100644
index 0000000000..a9ace659d5
--- /dev/null
+++ b/lib/asn1/test/asn1_SUITE_data/TCAPMessages-simple.asn
@@ -0,0 +1,206 @@
+TCAPMessages-simple { ccitt recommendation q 773 modules (2) messages (1) version2 (2) }
+
+DEFINITIONS ::=
+
+BEGIN
+
+EXPORTS OPERATION, ERROR, Component, InvokeIdType;
+
+-- Transaction Portion fields
+
+MessageType ::= CHOICE { unidirectional [APPLICATION 1] IMPLICIT Unidirectional,
+ begin [APPLICATION 2] IMPLICIT Begin,
+ end [APPLICATION 4] IMPLICIT End,
+ continue [APPLICATION 5] IMPLICIT Continue,
+ abort [APPLICATION 7] IMPLICIT Abort }
+
+Unidirectional ::= SEQUENCE {
+ dialoguePortion DialoguePortion OPTIONAL,
+ components ComponentPortion }
+
+Begin ::= SEQUENCE {
+ otid OrigTransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ components ComponentPortion OPTIONAL
+ }
+
+End ::= SEQUENCE {
+ dtid DestTransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ components ComponentPortion OPTIONAL
+ }
+
+Continue ::= SEQUENCE {
+ otid OrigTransactionID,
+ dtid DestTransactionID,
+ dialoguePortion DialoguePortion OPTIONAL,
+ components ComponentPortion OPTIONAL
+ }
+
+Abort ::= SEQUENCE {
+ dtid DestTransactionID,
+ reason CHOICE { p-abortCause P-AbortCause, u-abortCause DialoguePortion } OPTIONAL
+ }
+
+-- NOTE When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause must be
+-- present.The u-abortCause may be generated by the component sublayer in which case it is an ABRT
+-- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined
+-- abstract syntax.
+
+DialoguePortion ::= [APPLICATION 11] EXTERNAL
+
+-- The dialogue portion carries the dialogue control PDUs as value of the external data type.
+-- The direct reference should be set to { ccitt recommendation q 773 as (1) dialogue-as (1) version (1) }
+-- if structured dialogue is used and to { ccitt recommendation q 773 as (1) unidialogue-as (2) version (1) }
+-- if unstructured dialogue is used or any user defined abstract syntax name when only user information
+-- is carried (e.g. when user information is sent in a 1988 Abort message).
+
+OrigTransactionID ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE (1..4) )
+DestTransactionID ::= [APPLICATION 9] IMPLICIT OCTET STRING (SIZE (1..4) )
+
+P-AbortCause ::= [APPLICATION 10] IMPLICIT INTEGER {
+ unrecognizedMessageType (0),
+ unrecognizedTransactionID (1),
+ badlyFormattedTransactionPortion (2),
+ incorrectTransactionPortion (3),
+ resourceLimitation (4) }
+
+-- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the Component Portion.
+-- The Component Portion may be absent.
+
+ComponentPortion ::= [APPLICATION 12] IMPLICIT SEQUENCE SIZE (1..MAX) OF Component
+
+-- Component Portion fields
+-- COMPONENT TYPE. Recommendation X.229 defines four Application Protocol Data Units (APDUs).
+-- TCAP adds returnResultNotLast to allow for the segmentation of a result.
+
+Component ::= CHOICE {
+ invoke [1] IMPLICIT Invoke,
+ returnResultLast [2] IMPLICIT ReturnResult,
+ returnError [3] IMPLICIT ReturnError,
+ reject [4] IMPLICIT Reject,
+ returnResultNotLast [7] IMPLICIT ReturnResult }
+
+-- The Components are sequences of data elements.
+
+Invoke ::= SEQUENCE {
+ invokeID InvokeIdType,
+ linkedID [0] IMPLICIT InvokeIdType OPTIONAL,
+ operationCode OPERATION,
+ parameter ANY DEFINED BY operationCode OPTIONAL }
+
+-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER or the keyword ARGUMENT
+-- in the type definition of a particular operation.
+
+ReturnResult ::= SEQUENCE {
+ invokeID InvokeIdType,
+ result SEQUENCE {
+ operationCode OPERATION,
+ parameter ANY DEFINED BY operationCode
+ } OPTIONAL
+ }
+
+-- ANY is filled by the single ASN.1 data type following the keyword RESULT in the type definition
+-- of a particular operation.
+
+ReturnError ::= SEQUENCE {
+ invokeID InvokeIdType,
+ errorCode ERROR,
+ parameter ANY DEFINED BY errorCode OPTIONAL }
+
+-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition
+-- of a particular error.
+
+
+
+-- Recommendation Q.773 (06/97) 3
+
+Reject ::= SEQUENCE {
+ invokeID CHOICE {
+ derivable InvokeIdType,
+ not-derivable NULL },
+ problem CHOICE {
+ generalProblem [0] IMPLICIT GeneralProblem,
+ invokeProblem [1] IMPLICIT InvokeProblem,
+ returnResultProblem [2] IMPLICIT ReturnResultProblem,
+ returnErrorProblem [3] IMPLICIT ReturnErrorProblem
+ }
+ }
+
+InvokeIdType ::= INTEGER ( -128..127)
+
+-- OPERATIONS
+-- Operations are specified with the OPERATION MACRO.
+-- When an operation is specified, the valid parameter set, results, and errors for that operation are indicated.
+-- Default values and optional parameters are permitted.
+
+-- FAKE OPERATION
+OPERATION ::= INTEGER ( 0..65535 )
+ERROR ::= INTEGER ( 0..65535 )
+
+--OPERATION MACRO ::=
+--BEGIN
+-- TYPE NOTATION ::= Parameter Result Errors LinkedOperations
+-- VALUE NOTATION ::= value (VALUE CHOICE { localValue INTEGER, globalValue OBJECT IDENTIFIER } )
+-- Parameter ::= ArgKeyword NamedType | empty ArgKeyword ::= "ARGUMENT" | "PARAMETER"
+-- Result ::= "RESULT" ResultType | empty
+-- Errors ::= "ERRORS" "{"ErrorNames"}" | empty
+-- LinkedOperations ::= "LINKED" "{"LinkedOperationNames"}" | empty
+-- ResultType ::= NamedType | empty
+-- ErrorNames ::= ErrorList | empty
+-- ErrorList ::= Error | ErrorList "," Error
+-- Error ::= value (ERROR)
+--
+-- shall reference an error value
+--
+-- | type
+-- shall reference an error type
+--
+-- if no error value is specified
+-- LinkedOperationNames ::= OperationList | empty
+-- OperationList ::= Operation | OperationList "," Operation
+-- Operation ::= value (OPERATION)
+-- shall reference an operation value
+-- | type
+-- shall reference an operation type if
+--
+-- no operation value is specified
+-- NamedType ::= identifier type | type
+--END
+
+-- ERRORS
+-- Errors are specified with the ERROR MACRO.
+-- When an error is specified, the valid parameters for that error are indicated.
+-- Default values and optional parameters are permitted.
+
+--ERROR MACRO ::=
+--BEGIN
+-- TYPE NOTATION ::= Parameter
+-- VALUE NOTATION ::= value (VALUE CHOICE { localValue INTEGER, globalValue OBJECT IDENTIFIER } )
+-- Parameter ::= "PARAMETER" NamedType | empty
+-- NamedType ::= identifier type | type
+--END
+
+-- PROBLEMS
+
+GeneralProblem ::= INTEGER { unrecognizedComponent (0),
+ mistypedComponent (1),
+ badlyStructuredComponent (2) }
+InvokeProblem ::= INTEGER { duplicateInvokeID (0),
+ unrecognizedOperation (1),
+ mistypedParameter (2),
+ resourceLimitation (3),
+ initiatingRelease (4),
+ unrecognizedLinkedID (5),
+ linkedResponseUnexpected (6),
+ unexpectedLinkedOperation (7) }
+ReturnResultProblem ::= INTEGER { unrecognizedInvokeID (0),
+ returnResultUnexpected (1),
+ mistypedParameter (2) }
+ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0),
+ returnErrorUnexpected (1),
+ unrecognizedError (2),
+ unexpectedError (3),
+ mistypedParameter (4) }
+
+END -- TCAPMessages