diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-10 20:34:10 +0000 |
commit | e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc (patch) | |
tree | 68cb5ef9081156392f1dd62a00c6ccc1451b93df /epan/dissectors/asn1/ansi_tcap/TCAPPackage.asn | |
parent | Initial commit. (diff) | |
download | wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.tar.xz wireshark-e4ba6dbc3f1e76890b22773807ea37fe8fa2b1bc.zip |
Adding upstream version 4.2.2.upstream/4.2.2
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'epan/dissectors/asn1/ansi_tcap/TCAPPackage.asn')
-rw-r--r-- | epan/dissectors/asn1/ansi_tcap/TCAPPackage.asn | 242 |
1 files changed, 242 insertions, 0 deletions
diff --git a/epan/dissectors/asn1/ansi_tcap/TCAPPackage.asn b/epan/dissectors/asn1/ansi_tcap/TCAPPackage.asn new file mode 100644 index 00000000..7bd3361b --- /dev/null +++ b/epan/dissectors/asn1/ansi_tcap/TCAPPackage.asn @@ -0,0 +1,242 @@ +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 + TCAP-Remote-Operations-Information-Objects{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, + dialogPortion 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 +-- 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 : general-incorrectComponentPortion), + 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 : general-incorrectComponentPortion), + returnResultNotLast [PRIVATE 14] IMPLICIT ReturnResult {{Returnable}} + } + (CONSTRAINED BY { -- must conform to the above definition -- } + ! RejectProblem : general-unrecognisedComponentType) + +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's. + (CONSTRAINED BY { -- must be unambiguous -- } + ! RejectProblem : invoke-duplicateInvocation ) + (CONSTRAINED BY { -- correlation ID must identify an + -- outstanding operation -- } + ! RejectProblem : invoke-unrecognisedCorrelationId ) + OPTIONAL, + operationCode OPERATION.&operationCode + ((Operations) + ! RejectProblem : invoke-unrecognisedOperation), + parameter + OPERATION.&ParameterType + ({Operations}{@opcode} + ! RejectProblem : invoke-mistypedArgument ) OPTIONAL + } + (CONSTRAINED BY { -- must conform to the above definition -- } + ! RejectProblem : general-incorrectComponentPortion ) + (CONSTRAINED BY { -- must have consistent encoding -- } + ! RejectProblem : general-badlyStructuredCompPortion ) + (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules -- } + ! RejectProblem : general-incorrectComponentCoding ) + +ReturnResult{ OPERATION: Operations } ::= SEQUENCE { + componentID [PRIVATE 15] IMPLICIT OCTET STRING (SIZE(1)) + (CONSTRAINED BY { --must be that of an outstanding operation--} + ! RejectProblem : returnResult-unrecognisedCorrelationId) + (CONSTRAINED BY { -- which returns a result -- } + ! RejectProblem : returnResult-unexpectedReturnResult), + parameter OPERATION.&ResultType + ({Operations}{@opcode} + ! RejectProblem : returnResult-incorrectParameter) + OPTIONAL + } + (CONSTRAINED BY { -- must conform to the above definition -- } + ! RejectProblem : general-incorrectComponentPortion ) + (CONSTRAINED BY { -- must have consistent encoding -- } + ! RejectProblem : general-badlyStructuredCompPortion ) + (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules -- } + ! RejectProblem : general-incorrectComponentCoding ) + +ReturnError{ ERROR: Errors } ::= SEQUENCE { + componentID [PRIVATE 15] IMPLICIT OCTET STRING (SIZE(1)) + (CONSTRAINED BY { --must be that of an outstanding operation--} + ! RejectProblem : returnError-unrecognisedCorrelationId) + (CONSTRAINED BY { --which returns an error-- } + ! RejectProblem : returnError-unexpectedReturnError), + errorCode ERROR.&errorCode + ({Errors} + ! RejectProblem : returnError-unrecognisedError) + (CONSTRAINED BY { -- must be in the &Errors field of the + --associated operation -- } + ! RejectProblem : returnError-unexpectedError), + parameter + ERROR.&ParameterType + ({Errors}{@errorcode} + ! RejectProblem : returnError-incorrectParameter) OPTIONAL + } + (CONSTRAINED BY { -- must conform to the above definition -- } + ! RejectProblem : general-incorrectComponentPortion ) + (CONSTRAINED BY { -- must have consistent encoding -- } + ! RejectProblem : general-badlyStructuredCompPortion ) + (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules -- } + ! RejectProblem : general-incorrectComponentCoding ) + +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 : general-incorrectComponentPortion ) + (CONSTRAINED BY { -- must have consistent encoding -- } + ! RejectProblem : general-badlyStructuredCompPortion ) + (CONSTRAINED BY { -- must conform to T1.114.3 encoding rules -- } + ! RejectProblem : general-incorrectComponentCoding ) + +-- PROBLEMS, the specification of Problems follows +Problem ::= INTEGER { + general-unrecognisedComponentType (257), + general-incorrectComponentPortion (258), + general-badlyStructuredCompPortion (259), + general-incorrectComponentCoding (260), + invoke-duplicateInvocation (513), + invoke-unrecognisedOperation (514), + invoke-incorrectParameter (515), + invoke-unrecognisedCorrelationID (516), + returnResult-unrecognisedCorrelationID (769), + returnResult-unexpectedReturnResult (770), + returnResult-incorrectParameter (771), + returnError-unrecognisedCorrelationID (1025), + returnError-unexpectedReturnError (1026), + returnError-unrecognisedError (1027), + returnError-unexpectedError (1028), + returnError-incorrectParameter (1029), + -- Applications using T1.114-1988 report Transaction portion + -- problems using a Reject component with a problem code in + -- the range 1281-1286. + -- It is preferred that other applications report + -- these problems using the Abort package type + transaction-unrecognizedPackageType (1281), + transaction-incorrectTransPortion (1282), + transaction-badlyStructuredTransPortion (1283), + transaction-unassignedRespondingTransID (1284), + transaction-permissionToReleaseProblem (1285), + transaction-resourceUnavailable (1286) + } + +END -- end of the TCAPPackage Module |