1 TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)}
7 --EXPORTS OPERATION, ERROR, Component, InvokeId Type;
9 ExternalPDU ::= [UNIVERSAL 8] IMPLICIT SEQUENCE
11 oid OBJECT IDENTIFIER,
12 dialog [0] IMPLICIT Dialog1
16 Dialog1 ::= OCTET STRING
18 -- Transaction Portion fields
20 TCMessage ::= CHOICE {
21 unidirectional [APPLICATION 1] IMPLICIT Unidirectional,
22 begin [APPLICATION 2] IMPLICIT Begin,
23 end [APPLICATION 4] IMPLICIT End,
24 continue [APPLICATION 5] IMPLICIT Continue,
25 abort [APPLICATION 7] IMPLICIT Abort
28 Unidirectional ::= SEQUENCE{
29 dialoguePortion DialoguePortion OPTIONAL,
30 components ComponentPortion
34 otid OrigTransactionID,
35 dialoguePortion DialoguePortion OPTIONAL,
36 components ComponentPortion OPTIONAL
40 dtid DestTransactionID,
41 dialoguePortion DialoguePortion OPTIONAL,
42 components ComponentPortion OPTIONAL
46 Continue ::= SEQUENCE {
47 otid OrigTransactionID,
48 dtid DestTransactionID,
49 dialoguePortion DialoguePortion OPTIONAL,
50 components ComponentPortion OPTIONAL
54 dtid DestTransactionID,
55 reason Reason OPTIONAL
59 p-abortCause P-AbortCause,
60 u-abortCause DialoguePortion
63 -- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may be
64 -- present. The u-abortCause may be generated by the component sublayer in which case it is an ABRT
65 -- APDU, or by the TC-User in which case it could be either an ABRT APDU or data in some user-defined
68 --DialoguePortion ::= [APPLICATION 11] EXPLICIT EXTERNAL
71 DialoguePortion ::= [APPLICATION 11] IMPLICIT DialogueOC
72 DialogueOC ::= OCTET STRING
74 -- The dialogue portion carries the dialogue control PDUs as value of the external data type.
75 -- The direct reference should be set to { ccitt recommendation q 773 as (1) dialogue-as (1) version (1) }
76 -- if structured dialogue is used and to { ccitt recommendation q 773 as (1) unidialogue-as (2) version (1) }
77 -- if unstructured dialogue is used or any user defined abstract syntax name when only user information
78 -- is carried (e.g. when user information is sent in a 1988 Abort message).
80 OrigTransactionID ::= [APPLICATION 8] IMPLICIT OCTET STRING (SIZE (1..4) )
82 DestTransactionID ::=[APPLICATION 9] IMPLICIT OCTET STRING (SIZE (1..4) )
84 P-AbortCause ::= [APPLICATION 10] IMPLICIT INTEGER {
85 unrecognizedMessageType (0),
86 unrecognizedTransactionID (1),
87 badlyFormattedTransactionPortion (2),
88 incorrectTransactionPortion (3),
89 resourceLimitation (4)}(0..127)
91 -- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the Component Portion.
92 -- The Component Portion may be absent.
94 ComponentPortion ::= [APPLICATION 12] IMPLICIT SEQUENCE SIZE (1..MAX) OF Component
96 -- Component Portion fields
97 -- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking
98 -- operations, returning results or error, and for the rejection of invalid PDUs.
99 -- TCAP adds returnResultNotLast to allow for the segmentation of a result.
101 Component ::= CHOICE {
102 invoke [1] IMPLICIT Invoke,
103 returnResultLast [2] IMPLICIT ReturnResult,
104 returnError [3] IMPLICIT ReturnError,
105 reject [4] IMPLICIT Reject,
106 returnResultNotLast [7] IMPLICIT ReturnResult
109 -- The Components are sequences of data elements.
111 Invoke ::= SEQUENCE {
112 invokeID InvokeIdType,
113 linkedID [0] IMPLICIT InvokeIdType OPTIONAL,
115 parameter Parameter OPTIONAL }
119 -- ANY is filled by the single ASN.1 data type following the keyword PARAMETER or the keyword ARGUMENT
120 -- in the type definition of a particular operation.
122 ReturnResult ::= SEQUENCE {
123 invokeID InvokeIdType,
124 resultretres SEQUENCE {
126 parameter Parameter OPTIONAL
130 -- ANY is filled by the single ASN.1 data type following the keyword RESULT in the type definition
131 -- of a particular operation.
133 ReturnError ::= SEQUENCE {
134 invokeID InvokeIdType,
136 parameter Parameter OPTIONAL }
138 -- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition
139 -- of a particular error.
141 Reject ::= SEQUENCE {
143 derivable InvokeIdType,
144 not-derivable NULL },
146 generalProblem [0] IMPLICIT GeneralProblem,
147 invokeProblem [1] IMPLICIT InvokeProblem,
148 returnResultProblem [2] IMPLICIT ReturnResultProblem,
149 returnErrorProblem [3] IMPLICIT ReturnErrorProblem } }
151 InvokeIdType ::= INTEGER (-128..127)
154 OPERATION ::= CHOICE {
156 globalValue OBJECT IDENTIFIER }
160 globalValue OBJECT IDENTIFIER }
164 -- Operations are specified with the OPERATION MACRO.
165 -- When an operation is specified, the valid parameter set, results, and errors for that operation are indicated.
166 -- Default values and optional parameters are permitted.
168 --OPERATION MACRO ::=
171 -- TYPE NOTATION ::= Parameter Result Errors LinkedOperations
172 -- VALUE NOTATION ::= value (VALUE CHOICE {
173 -- localValue INTEGER,
174 -- globalValue OBJECT IDENTIFIER } )
175 -- Parameter ::= ArgKeyword NamedType | empty
176 -- ArgKeyword ::= "ARGUMENT" | "PARAMETER"
177 -- Result ::= "RESULT" ResultType | empty
178 -- Errors ::= "ERRORS" "{"ErrorNames"}" | empty
179 -- LinkedOperations ::= "LINKED" "{"LinkedOperationNames"}" | empty
180 -- ResultType ::= NamedType | empty
181 -- ErrorNames ::= ErrorList | empty
182 -- ErrorList ::= Error | ErrorList "," Error
183 -- Error ::= value (ERROR)
184 -- shall reference an error value
185 --| type shall reference an error type
186 -- if no error value is specified
188 -- LinkedOperationNames ::= OperationList | empty
189 -- OperationList ::= Operation | OperationList "," Operation
190 -- Operation ::= value (OPERATION)
191 -- shall reference an operation value
192 -- | type shall reference an operation type if
193 -- no operation value is specified
194 -- NamedType ::= identifier type | type
199 -- Errors are specified with the ERROR MACRO.
200 -- When an error is specified, the valid parameters for that error are indicated.
201 -- Default values and optional parameters are permitted.
206 -- TYPE NOTATION ::= Parameter
207 -- VALUE NOTATION ::= value (VALUE CHOICE {
208 -- localValue INTEGER,
209 -- globalValue OBJECT IDENTIFIER } )
210 -- Parameter ::= "PARAMETER" NamedType | empty
211 -- NamedType ::= identifier type | type
216 GeneralProblem ::= INTEGER { unrecognizedComponent (0),
217 mistypedComponent (1),
218 badlyStructuredComponent (2) }
220 InvokeProblem ::= INTEGER { duplicateInvokeID (0),
221 unrecognizedOperation (1),
222 mistypedParameter (2),
223 resourceLimitation (3),
224 initiatingRelease (4),
225 unrecognizedLinkedID (5),
226 linkedResponseUnexpected (6),
227 unexpectedLinkedOperation (7) }
229 ReturnResultProblem ::= INTEGER { unrecognizedInvokeID (0),
230 returnResultUnexpected (1),
231 mistypedParameter (2) }
233 ReturnErrorProblem ::= INTEGER { unrecognizedInvokeID (0),
234 returnErrorUnexpected (1),
235 unrecognizedError (2),
237 mistypedParameter (4) }
242 nationaler [PRIVATE 19] IMPLICIT INTEGER (-32768..32767),
243 privateer [PRIVATE 20] IMPLICIT INTEGER
246 END -- end of the TCAP Package Module