532 lines
16 KiB
Groff
532 lines
16 KiB
Groff
|
||
DialoguePDUs { ccitt recommendation q 773 modules (2) dialoguePDUs(2) version1 (1) }
|
||
|
||
DEFINITIONS ::=
|
||
|
||
BEGIN
|
||
|
||
EXPORTS dialogue-as-id, DialoguePDU;
|
||
|
||
-- abstract syntax name for structured dialogue APDUs
|
||
|
||
|
||
|
||
dialogue-as-id OBJECT IDENTIFIER ::= { ccitt recommendation q 773 as (1)
|
||
dialogue-as (1) version1 (1) }
|
||
|
||
DialoguePDU ::= CHOICE {
|
||
dialogueRequest AARQ-apdu,
|
||
dialogueResponse AARE-apdu,
|
||
dialogueAbort ABRT-apdu }
|
||
|
||
|
||
ExternalPDU ::= [UNIVERSAL 8] SEQUENCE
|
||
{
|
||
oid OBJECT IDENTIFIER,
|
||
dialog [0] IMPLICIT Dialog1
|
||
}
|
||
|
||
UserInformation ::= [UNIVERSAL 8] IMPLICIT SEQUENCE
|
||
{
|
||
useroid UserInfoOID,
|
||
externuserinfo [0] IMPLICIT ExternUserInfo
|
||
}
|
||
|
||
ExternUserInfo ::= OCTET STRING
|
||
|
||
Dialog1 ::= OCTET STRING
|
||
UserInfoOID ::= OBJECT IDENTIFIER
|
||
Applicationcontext ::= OBJECT IDENTIFIER
|
||
AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
|
||
protocol-versionrq [0] IMPLICIT BIT STRING { version1 (0) }
|
||
DEFAULT { version1 },
|
||
application-context-name [1] Applicationcontext,
|
||
user-information [30] IMPLICIT User-information
|
||
OPTIONAL }
|
||
|
||
AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE {
|
||
protocol-versionre [0] IMPLICIT BIT STRING { version1 (0) }
|
||
DEFAULT { version1 },
|
||
application-context-name [1] Applicationcontext,
|
||
result [2] Associate-result,
|
||
result-source-diagnostic [3] Associate-source-diagnostic,
|
||
user-information [30] IMPLICIT User-information
|
||
OPTIONAL }
|
||
|
||
-- RLRQ PDU is currently not used.
|
||
-- It is included for completeness only.
|
||
|
||
RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE {
|
||
reasonrq [0] IMPLICIT Release-request-reason OPTIONAL,
|
||
user-information [30] IMPLICIT User-information
|
||
OPTIONAL }
|
||
|
||
-- RLRE PDU is currently not used.
|
||
-- It is included for completeness only
|
||
|
||
RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE {
|
||
reasonre [0] IMPLICIT Release-response-reason OPTIONAL,
|
||
user-information [30] IMPLICIT User-information
|
||
OPTIONAL }
|
||
|
||
ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE {
|
||
abort-source [0] IMPLICIT ABRT-source,
|
||
user-information [30] IMPLICIT User-information
|
||
OPTIONAL }
|
||
|
||
User-information ::= OCTET STRING
|
||
|
||
ABRT-source ::= INTEGER { dialogue-service-user (0),
|
||
dialogue-service-provider (1) }
|
||
|
||
Associate-result ::= INTEGER { accepted (0),
|
||
reject-permanent (1) }
|
||
|
||
|
||
Associate-source-diagnostic ::= CHOICE {
|
||
dialogue-service-user [1] INTEGER {
|
||
null (0),
|
||
no-reason-given (1),
|
||
application-context-name-not-supported (2) },
|
||
dialogue-service-provider [2] INTEGER {
|
||
null (0),
|
||
no-reason-given (1),
|
||
no-common-dialogue-portion (2) }
|
||
}
|
||
|
||
-- Release-request-reason is currently not used.
|
||
-- It is included for completeness only.
|
||
|
||
Release-request-reason ::= INTEGER { normal (0),
|
||
urgent (1),
|
||
user-defined (30)
|
||
}
|
||
|
||
-- Release-response-reason is currently not used.
|
||
-- It is included for completeness only.
|
||
|
||
Release-response-reason ::= INTEGER { normal (0),
|
||
not-finished (1),
|
||
user-defined (30) }
|
||
--END
|
||
|
||
|
||
--UnidialoguePDUs { ccitt recommendation q 773 modules (2) unidialoguePDUs (3) version1 (1) }
|
||
|
||
--DEFINITIONS ::=
|
||
|
||
--BEGIN
|
||
|
||
--EXPORTS uniDialogue-as-id, UniDialoguePDU;
|
||
|
||
-- Abstract syntax name for unstructured dialogue APDUs
|
||
|
||
uniDialogue-as-id OBJECT IDENTIFIER ::= { ccitt recommendation q 773 as (1)
|
||
unidialogue-as (2) version1 (1) }
|
||
|
||
UniDialoguePDU ::= CHOICE { unidialoguePDU AUDT-apdu }
|
||
|
||
AUDT-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE {
|
||
protocol-version3 [0] IMPLICIT BIT STRING {version1 (0) }
|
||
DEFAULT { version1 },
|
||
application-context-name [1] Applicationcontext,
|
||
user-information [30] IMPLICIT User-information
|
||
OPTIONAL }
|
||
|
||
END
|
||
|
||
|
||
|
||
TCAPMessages { ccitt recommendation q 773 modules (2) messages (1) version2 (2) }
|
||
|
||
DEFINITIONS ::=
|
||
|
||
BEGIN
|
||
|
||
--EXPORTS OPERATION, ERROR, Component, InvokeId Type;
|
||
|
||
-- 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 ,
|
||
-- and we now get clever making this ansi and itu!
|
||
ansiunidirectional [ PRIVATE 1 ] IMPLICIT UniTransactionPDU ,
|
||
ansiqueryWithPerm [ PRIVATE 2 ] IMPLICIT TransactionPDU ,
|
||
ansiqueryWithoutPerm [ PRIVATE 3 ] IMPLICIT TransactionPDU ,
|
||
ansiresponse [ PRIVATE 4 ] IMPLICIT TransactionPDU ,
|
||
ansiconversationWithPerm [ PRIVATE 5 ] IMPLICIT TransactionPDU ,
|
||
ansiconversationWithoutPerm [ PRIVATE 6 ] IMPLICIT TransactionPDU ,
|
||
ansiabort [ PRIVATE 22 ] IMPLICIT AbortPDU
|
||
}
|
||
|
||
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 Reason OPTIONAL
|
||
}
|
||
Reason ::= CHOICE
|
||
{ p-abortCause P-AbortCause,
|
||
u-abortCause DialoguePortion }
|
||
-- NOTE <20> 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] IMPLICIT DialogueOC
|
||
--[UNIVERSAL 11] DialoguePDU
|
||
DialogueOC ::= OCTET STRING
|
||
|
||
-- 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
|
||
[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,
|
||
opCode OPERATION,
|
||
parameter Parameter OPTIONAL }
|
||
|
||
Parameter ::= ANY
|
||
|
||
-- 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,
|
||
resultretres SEQUENCE {
|
||
opCode OPERATION,
|
||
parameter Parameter OPTIONAL
|
||
} 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 ErrorCode,
|
||
parameter Parameter OPTIONAL }
|
||
|
||
-- ANY is filled by the single ASN.1 data type following the keyword PARAMETER in the type definition
|
||
-- of a particular error.
|
||
|
||
Reject ::= SEQUENCE {
|
||
invokeIDRej 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)
|
||
|
||
|
||
OPERATION ::= CHOICE {
|
||
localValue INTEGER,
|
||
globalValue OBJECT IDENTIFIER }
|
||
|
||
ERROR ::= CHOICE {
|
||
localValue INTEGER,
|
||
globalValue OBJECT IDENTIFIER }
|
||
|
||
-- 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.
|
||
|
||
--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) }
|
||
|
||
|
||
|
||
UniTransactionPDU ::= SEQUENCE
|
||
|
||
{
|
||
identifier TransactionID ,
|
||
dialoguePortionansi DialoguePortionANSI OPTIONAL ,
|
||
componentPortion ComponentSequence OPTIONAL
|
||
}
|
||
|
||
TransactionPDU ::= SEQUENCE
|
||
{
|
||
|
||
identifier TransactionID ,
|
||
dialoguePortionansi DialoguePortionANSI OPTIONAL ,
|
||
componentPortion ComponentSequence OPTIONAL
|
||
}
|
||
|
||
--TransactionPDU should include either a Dialogue Portion , a Component Sequence or both
|
||
|
||
TransactionID ::= [PRIVATE 7 ] IMPLICIT OCTET STRING
|
||
|
||
-- 0 (zero) Octet for Unidirectional,4 Octet for Query , Response And Abort
|
||
|
||
-- 8 Octet for Conversation in the order Originating then Responding TID
|
||
|
||
AbortPDU ::= SEQUENCE
|
||
{
|
||
identifier TransactionID ,
|
||
dialoguePortionansi DialoguePortionANSI OPTIONAL ,
|
||
causeInformation CHOICE {
|
||
abortCause P-Abort-cause ,
|
||
userInformation 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 ) ,
|
||
incorrestTransactionPortion ( 2 ) ,
|
||
badlyStructuredTransactionPortion ( 3 ) ,
|
||
unassignedRespondingTransactionID ( 4 ) ,
|
||
permissionToReleaseProblem ( 5 ) ,
|
||
resourceUnavilable ( 6 ) ,
|
||
unrecognizedDialoguePortionID ( 7 ) ,
|
||
badlyStructuredDialoguePortion ( 8 ) ,
|
||
missingDialoguePortion ( 9 ) ,
|
||
inconsistentDialoguePortion ( 10 ) }
|
||
|
||
DialoguePortionANSI ::= [ PRIVATE 25 ] IMPLICIT SEQUENCE {
|
||
version ProtocolVersion OPTIONAL ,
|
||
applicationContext [0] 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) )
|
||
|
||
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 ,
|
||
... }
|
||
|
||
--UserAbortInformation ::= [ PRIVATE 24 ] EXTERNAL
|
||
|
||
ComponentSequence ::= [ PRIVATE 8 ] IMPLICIT SEQUENCE OF ComponentPDU
|
||
|
||
ComponentPDU ::=
|
||
CHOICE {
|
||
invokeLastansi [ PRIVATE 9 ] IMPLICIT InvokePDU ,
|
||
returnResultLastansi [ PRIVATE 10 ] IMPLICIT ReturnResultPDU,
|
||
returnErroransi [ PRIVATE 11 ] IMPLICIT ReturnErrorPDU ,
|
||
rejectansi [ PRIVATE 12 ] IMPLICIT RejectPDU ,
|
||
invokeNotLastansi [ PRIVATE 13 ] IMPLICIT InvokePDU ,
|
||
returnResultNotLastansi [ PRIVATE 14 ] IMPLICIT ReturnResultPDU
|
||
}
|
||
|
||
InvokePDU ::= SEQUENCE {
|
||
componentIDs [ PRIVATE 15 ] IMPLICIT OCTET STRING (SIZE(0..2)) OPTIONAL ,
|
||
operationCode OperationCode OPTIONAL,
|
||
parameterinv ANSIparamch
|
||
}
|
||
ANSIParameters ::= ANY
|
||
|
||
ANSIparamch ::= SEQUENCE {
|
||
ansiparams ANSIParameters OPTIONAL,
|
||
ansiparams1 ANSIParameters OPTIONAL,
|
||
ansiparams2 ANSIParameters OPTIONAL,
|
||
ansiparams3 ANSIParameters OPTIONAL,
|
||
ansiparams4 ANSIParameters OPTIONAL,
|
||
ansiparams5 ANSIParameters OPTIONAL,
|
||
ansiparams6 ANSIParameters OPTIONAL,
|
||
ansiparams7 ANSIParameters OPTIONAL,
|
||
ansiparams8 ANSIParameters OPTIONAL,
|
||
ansiparams9 ANSIParameters OPTIONAL,
|
||
ansiparams10 ANSIParameters OPTIONAL,
|
||
ansiparams11 ANSIParameters OPTIONAL,
|
||
ansiparams12 ANSIParameters OPTIONAL,
|
||
ansiparams13 ANSIParameters OPTIONAL,
|
||
ansiparams14 ANSIParameters OPTIONAL,
|
||
ansiparams15 ANSIParameters OPTIONAL,
|
||
ansiparams16 ANSIParameters OPTIONAL,
|
||
ansiparams17 ANSIParameters OPTIONAL,
|
||
ansiparams18 ANSIParameters OPTIONAL,
|
||
ansiparams19 ANSIParameters OPTIONAL,
|
||
ansiparams20 ANSIParameters OPTIONAL,
|
||
ansiparams21 ANSIParameters OPTIONAL
|
||
}
|
||
|
||
ReturnResultPDU ::= SEQUENCE {
|
||
componentID ComponentID,
|
||
parameterrr ANSIparamch
|
||
}
|
||
|
||
|
||
ComponentID ::= [ PRIVATE 15 ] IMPLICIT OCTET STRING ( SIZE(1) )
|
||
|
||
ReturnErrorPDU ::= SEQUENCE {
|
||
componentID ComponentID ,
|
||
errorCode ErrorCode ,
|
||
parameterre ANSIparamch
|
||
}
|
||
|
||
RejectPDU ::= SEQUENCE {
|
||
componentID ComponentID ,
|
||
rejectProblem [PRIVATE 21 ] IMPLICIT ProblemPDU,
|
||
parameterrj ANSIparamch
|
||
}
|
||
|
||
|
||
ProblemPDU ::= INTEGER {
|
||
general-unrecognisedComponentType (257) ,
|
||
general-incorrectComponentPortion ( 258 ) ,
|
||
general-badlyStructuredCompPortion ( 259 )
|
||
|
||
}
|
||
|
||
|
||
OperationCode ::= CHOICE
|
||
{
|
||
national [PRIVATE 16] IMPLICIT INTEGER (-32768..32767),
|
||
private [PRIVATE 17] IMPLICIT INTEGER
|
||
}
|
||
|
||
ErrorCode ::= CHOICE
|
||
{
|
||
nationaler [PRIVATE 19] IMPLICIT INTEGER (-32768..32767),
|
||
privateer [PRIVATE 20] IMPLICIT INTEGER
|
||
}
|
||
|
||
END -- end of the TCAP Package Module
|