1 TCAPPackage {iso(1) memberbody(2) usa(840) t1-114(10013) modules(0) tcapPackage(0) version4(4)}
4 -- iso(1) memberbody(2)
5 -- usa(840) T1.114(10013)
8 -- defining a module called TCAPPackage which contains type
9 -- definitions for the contents of any generic TCAP message
13 IMPORTS OPERATION, ERROR FROM
14 TCAP-Remote-Operations-Information-Objects{iso(1) memberbody(2) usa(840) t1-114(10013) modules(0) information-objects(1) version4(4)};
16 PackageType ::= CHOICE { unidirectional [PRIVATE 1] IMPLICIT UniTransactionPDU,
17 queryWithPerm [PRIVATE 2] IMPLICIT TransactionPDU,
18 queryWithoutPerm [PRIVATE 3] IMPLICIT TransactionPDU,
19 response [PRIVATE 4] IMPLICIT TransactionPDU,
20 conversationWithPerm [PRIVATE 5] IMPLICIT TransactionPDU,
21 conversationWithoutPerm [PRIVATE 6] IMPLICIT TransactionPDU,
22 abort [PRIVATE 22] IMPLICIT Abort
25 UniTransactionPDU ::= SEQUENCE {
26 identifier TransactionID,
27 dialoguePortion DialoguePortion OPTIONAL,
28 componentPortion ComponentSequence
31 TransactionPDU ::= SEQUENCE {
32 identifier TransactionID,
33 dialoguePortion DialoguePortion OPTIONAL,
34 componentPortion ComponentSequence OPTIONAL
36 --TransactionPDU should include either a Dialogue Portion, a Component Sequence or both
38 TransactionID ::= [PRIVATE 7] IMPLICIT OCTET STRING
39 -- 0 octets for the Unidirectional, 4 octets for Query, Response & Abort
40 -- 8 octets for Conversation in the order Originating then Responding TID
43 identifier TransactionID,
44 dialogPortion DialoguePortion OPTIONAL,
45 causeInformation CHOICE {
46 abortCause P-Abort-cause,
47 userInformation UserAbortInformation --OPTIONAL
50 -- When the Abort package is generated by the Transaction sublayer,
51 -- the P-Abort-cause must be present
53 P-Abort-cause ::= [PRIVATE 23] IMPLICIT INTEGER{
54 unrecognizedPackageType (1),
55 incorrectTransactionPortion (2),
56 badlyStructuredTransactionPortion (3),
57 unassignedRespondingTransactionID (4),
58 permissionToReleaseProblem (5), -- for further study
59 resourceUnavailable (6),
60 unrecognizedDialoguePortionID (7),
61 badlyStructuredDialoguePortion (8),
62 missingDialoguePortion (9),
63 inconsistentDialoguePortion (10)
66 DialoguePortion ::= [PRIVATE 25] IMPLICIT SEQUENCE {
67 version ProtocolVersion OPTIONAL,
68 applicationContext CHOICE {
69 integerApplicationId IntegerApplicationContext,
70 objectApplicationId ObjectIDApplicationContext
72 userInformation UserInformation OPTIONAL,
73 securityContext CHOICE {
74 integerSecurityId [0] IMPLICIT INTEGER,
75 objectSecurityId [1] IMPLICIT OBJECT IDENTIFIER
78 confidentiality [2] IMPLICIT Confidentiality OPTIONAL
81 ProtocolVersion ::=[PRIVATE 26] IMPLICIT OCTET STRING (SIZE (1))
83 --0000 0001 T1.114-1996
84 --0000 0010 T1.114-2000
86 --These values can be combined using the bit-wise logical or operation
87 -- to indicate support for more than one version, e.g. the value 0000 0011
88 -- means that both 1996 and 2000 versions are supported
90 IntegerApplicationContext ::= [PRIVATE 27] IMPLICIT INTEGER
92 ObjectIDApplicationContext ::= [PRIVATE 28] IMPLICIT OBJECT IDENTIFIER
94 UserInformation ::= [PRIVATE 29] IMPLICIT SEQUENCE OF EXTERNAL
96 Confidentiality ::= SEQUENCE {
97 confidentialityId CHOICE {
98 integerConfidentialityId [0] IMPLICIT INTEGER,
99 objectConfidentialityId [1] IMPLICIT OBJECT IDENTIFIER
101 -- The extension marker indicates the possible presence of items
102 -- in the confidentiality set that are used by the confidentiality
106 UserAbortInformation ::= [PRIVATE 24] EXTERNAL
108 ComponentSequence ::= [PRIVATE 8] IMPLICIT SEQUENCE OF ComponentPDU
109 -- Component Portion specification starts below
111 ComponentPDU{ InvokeId: InvokeIdSet, OPERATION: Invocable, OPERATION: Returnable } ::=
113 invokeLast [PRIVATE 9] IMPLICIT Invoke {{InvokeIdSet}, {Invocable}}
114 (CONSTRAINED BY { --invocable.&invokeLast must be TRUE -- }
115 ! RejectProblem : general-incorrectComponentPortion),
116 returnResultLast [PRIVATE 10] IMPLICIT ReturnResult{{Returnable}},
117 returnError [PRIVATE 11] IMPLICIT ReturnError{{Errors{{Returnable}}}},
118 reject [PRIVATE 12] IMPLICIT Reject,
119 invokeNotLast [PRIVATE 13] IMPLICIT Invoke{{InvokeIdSet}, {Invocable}}
120 (CONSTRAINED BY { --invocable.&invokeLast must be FALSE -- }
121 ! RejectProblem : general-incorrectComponentPortion),
122 returnResultNotLast [PRIVATE 14] IMPLICIT ReturnResult {{Returnable}}
124 (CONSTRAINED BY { -- must conform to the above definition -- }
125 ! RejectProblem : general-unrecognisedComponentType)
127 Invoke{ InvokeID: InvokeIdSet, OPERATION: Operations } ::= SEQUENCE {
128 componentIDs [PRIVATE 15] IMPLICIT OCTET STRING (SIZE(0..2))
129 -- The invoke ID precedes the correlation id. There may be no
130 -- identifier,only an invoke ID, or both invoke and correlation
132 (CONSTRAINED BY { -- must be unambiguous -- }
133 ! RejectProblem : invoke-duplicateInvocation )
134 (CONSTRAINED BY { -- correlation ID must identify an
135 -- outstanding operation -- }
136 ! RejectProblem : invoke-unrecognisedCorrelationId )
138 operationCode OPERATION.&operationCode
140 ! RejectProblem : invoke-unrecognisedOperation),
142 OPERATION.&ParameterType
143 ({Operations}{@opcode}
144 ! RejectProblem : invoke-mistypedArgument ) OPTIONAL
146 (CONSTRAINED BY { -- must conform to the above definition -- }
147 ! RejectProblem : general-incorrectComponentPortion )
148 (CONSTRAINED BY { -- must have consistent encoding -- }
149 ! RejectProblem : general-badlyStructuredCompPortion )
150 (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules -- }
151 ! RejectProblem : general-incorrectComponentCoding )
153 ReturnResult{ OPERATION: Operations } ::= SEQUENCE {
154 componentID [PRIVATE 15] IMPLICIT OCTET STRING (SIZE(1))
155 (CONSTRAINED BY { --must be that of an outstanding operation--}
156 ! RejectProblem : returnResult-unrecognisedCorrelationId)
157 (CONSTRAINED BY { -- which returns a result -- }
158 ! RejectProblem : returnResult-unexpectedReturnResult),
159 parameter OPERATION.&ResultType
160 ({Operations}{@opcode}
161 ! RejectProblem : returnResult-incorrectParameter)
164 (CONSTRAINED BY { -- must conform to the above definition -- }
165 ! RejectProblem : general-incorrectComponentPortion )
166 (CONSTRAINED BY { -- must have consistent encoding -- }
167 ! RejectProblem : general-badlyStructuredCompPortion )
168 (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules -- }
169 ! RejectProblem : general-incorrectComponentCoding )
171 ReturnError{ ERROR: Errors } ::= SEQUENCE {
172 componentID [PRIVATE 15] IMPLICIT OCTET STRING (SIZE(1))
173 (CONSTRAINED BY { --must be that of an outstanding operation--}
174 ! RejectProblem : returnError-unrecognisedCorrelationId)
175 (CONSTRAINED BY { --which returns an error-- }
176 ! RejectProblem : returnError-unexpectedReturnError),
177 errorCode ERROR.&errorCode
179 ! RejectProblem : returnError-unrecognisedError)
180 (CONSTRAINED BY { -- must be in the &Errors field of the
181 --associated operation -- }
182 ! RejectProblem : returnError-unexpectedError),
185 ({Errors}{@errorcode}
186 ! RejectProblem : returnError-incorrectParameter) OPTIONAL
188 (CONSTRAINED BY { -- must conform to the above definition -- }
189 ! RejectProblem : general-incorrectComponentPortion )
190 (CONSTRAINED BY { -- must have consistent encoding -- }
191 ! RejectProblem : general-badlyStructuredCompPortion )
192 (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules -- }
193 ! RejectProblem : general-incorrectComponentCoding )
195 Reject ::= SEQUENCE {
196 componentID [PRIVATE 15] IMPLICIT OCTET STRING (SIZE(0..1)),
197 rejectProblem [PRIVATE 21] IMPLICIT Problem,
199 paramSequence [PRIVATE 16] IMPLICIT SEQUENCE { },
200 paramSet [PRIVATE 18] IMPLICIT SET { }
201 } --The choice between paramSequence and paramSet is implementation
202 --dependent, however paramSequence is preferred.
204 (CONSTRAINED BY { -- must conform to the above definition -- }
205 ! RejectProblem : general-incorrectComponentPortion )
206 (CONSTRAINED BY { -- must have consistent encoding -- }
207 ! RejectProblem : general-badlyStructuredCompPortion )
208 (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules -- }
209 ! RejectProblem : general-incorrectComponentCoding )
211 -- PROBLEMS, the specification of Problems follows
212 Problem ::= INTEGER {
213 general-unrecognisedComponentType (257),
214 general-incorrectComponentPortion (258),
215 general-badlyStructuredCompPortion (259),
216 general-incorrectComponentCoding (260),
217 invoke-duplicateInvocation (513),
218 invoke-unrecognisedOperation (514),
219 invoke-incorrectParameter (515),
220 invoke-unrecognisedCorrelationID (516),
221 returnResult-unrecognisedCorrelationID (769),
222 returnResult-unexpectedReturnResult (770),
223 returnResult-incorrectParameter (771),
224 returnError-unrecognisedCorrelationID (1025),
225 returnError-unexpectedReturnError (1026),
226 returnError-unrecognisedError (1027),
227 returnError-unexpectedError (1028),
228 returnError-incorrectParameter (1029),
229 -- Applications using T1.114-1988 report Transaction portion
230 -- problems using a Reject component with a problem code in
231 -- the range 1281-1286.
232 -- It is preferred that other applications report
233 -- these problems using the Abort package type
234 transaction-unrecognizedPackageType (1281),
235 transaction-incorrectTransPortion (1282),
236 transaction-badlyStructuredTransPortion (1283),
237 transaction-unassignedRespondingTransID (1284),
238 transaction-permissionToReleaseProblem (1285),
239 transaction-resourceUnavailable (1286)
242 END -- end of the TCAPPackage Module