From 7a15fbd906edf9424080509e08734244ac4ea076 Mon Sep 17 00:00:00 2001 From: Harald Welte Date: Tue, 15 Jun 2010 11:41:09 +0200 Subject: move asn files to 'asn' directory --- asn/DialoguePDUs.asn | 80 +++++++++++++ asn/TC-Notation-Extensions.asn | 87 +++++++++++++++ asn/TCAPMessages.asn | 96 ++++++++++++++++ asn/UnidialoguePDUs.asn | 25 +++++ asn/tcap.asn | 247 +++++++++++++++++++++++++++++++++++++++++ src/DialoguePDUs.asn | 80 ------------- src/TC-Notation-Extensions.asn | 87 --------------- src/TCAPMessages.asn | 96 ---------------- src/UnidialoguePDUs.asn | 25 ----- src/rebuild-from-asn.sh | 5 + src/tcap.asn | 247 ----------------------------------------- 11 files changed, 540 insertions(+), 535 deletions(-) create mode 100644 asn/DialoguePDUs.asn create mode 100644 asn/TC-Notation-Extensions.asn create mode 100644 asn/TCAPMessages.asn create mode 100644 asn/UnidialoguePDUs.asn create mode 100644 asn/tcap.asn delete mode 100644 src/DialoguePDUs.asn delete mode 100644 src/TC-Notation-Extensions.asn delete mode 100644 src/TCAPMessages.asn delete mode 100644 src/UnidialoguePDUs.asn create mode 100755 src/rebuild-from-asn.sh delete mode 100644 src/tcap.asn diff --git a/asn/DialoguePDUs.asn b/asn/DialoguePDUs.asn new file mode 100644 index 0000000..532d81d --- /dev/null +++ b/asn/DialoguePDUs.asn @@ -0,0 +1,80 @@ +-- $Id: DialoguePDUs.asn 26186 2008-09-13 11:44:33Z etxrab $ +-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +DialoguePDUs {itu-t 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 ::= + {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)} + +DialoguePDU ::= CHOICE { + dialogueRequest AARQ-apdu, + dialogueResponse AARE-apdu, + dialogueAbort ABRT-apdu +} + +AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE { + protocol-version + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + application-context-name [1] OBJECT IDENTIFIER, + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} + +AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE { + protocol-version + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + application-context-name [1] OBJECT IDENTIFIER, + result [2] Associate-result, + result-source-diagnostic [3] Associate-source-diagnostic, + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} + +-- RLRQ PDU is currently not used. +-- It is included for completeness only. +RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE { + reason [0] IMPLICIT Release-request-reason OPTIONAL, + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} + +-- RLRE PDU is currently not used. +-- It is included for completeness only +RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE { + reason [0] IMPLICIT Release-response-reason OPTIONAL, + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} + +ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE { + abort-source [0] IMPLICIT ABRT-source, + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} + +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 -- DialoguePDUs + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn/TC-Notation-Extensions.asn b/asn/TC-Notation-Extensions.asn new file mode 100644 index 0000000..f389cae --- /dev/null +++ b/asn/TC-Notation-Extensions.asn @@ -0,0 +1,87 @@ +-- Module TC-Notation-Extensions (Q.775:06/1997) + +TC-Notation-Extensions {itu-t recommendation q 775 modules(2) + notation-extension(4) version1(1)} DEFINITIONS ::= +BEGIN + +IMPORTS + TCMessage{} + FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) + version3(3)} + Bind{}, Unbind{} + FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t + remote-operations(4) generic-ROS-PDUs(6) version1(0)} + AllOperations{}, ConsumerPerforms{}, SupplierPerforms{}, combine{} + FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t + remote-operations(4) useful-definitions(7) version1(0)} + CONTRACT, OPERATION-PACKAGE + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)} + UniDialoguePDU, uniDialogue-as-id + FROM UnidialoguePDUs {itu-t recommendation q 773 modules(2) + unidialoguePDUs(3) version1(1)} + DialoguePDU, dialogue-as-id + FROM DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2) + version1(1)}; + +APPLICATION-CONTEXT ::= CLASS { + &associationContract CONTRACT, + &dialogueMode DialogueMode, + &termination Termination OPTIONAL, + &componentGrouping BOOLEAN DEFAULT TRUE, + &dialogueAndComponentGrouping BOOLEAN DEFAULT TRUE, + &AdditionalASEs OBJECT IDENTIFIER OPTIONAL, + &AbstractSyntaxes ABSTRACT-SYNTAX, + &applicationContextName OBJECT IDENTIFIER UNIQUE +} +WITH SYNTAX { + CONTRACT &associationContract + DIALOGUE MODE &dialogueMode + [TERMINATION &termination] + [COMPONENT GROUPING ALLOWED &componentGrouping] + [DIALOGUE WITH COMPONENTS ALLOWED &dialogueAndComponentGrouping] + [ADDITIONAL ASES &AdditionalASEs] + ABSTRACT SYNTAXES &AbstractSyntaxes + APPLICATION CONTEXT NAME &applicationContextName +} + +DialogueMode ::= ENUMERATED {structured(1), unstructured(2)} + +Termination ::= ENUMERATED {basic(1), prearranged(2)} + +dialogue-abstract-syntax ABSTRACT-SYNTAX ::= { + DialoguePDU + IDENTIFIED BY dialogue-as-id +} + +uniDialogue-abstract-syntax ABSTRACT-SYNTAX ::= { + UniDialoguePDU + IDENTIFIED BY uniDialogue-as-id +} + +TCSingleAS{OPERATION-PACKAGE:package} ::= + TCMessage{{AllOperations {package}}, {AllOperations {package}}} + +TCConsumerAS{OPERATION-PACKAGE:package} ::= + TCMessage{{ConsumerPerforms {package}}, {ConsumerPerforms {package}}} + +TCSupplierAS{OPERATION-PACKAGE:package} ::= + TCMessage{{SupplierPerforms {package}}, {SupplierPerforms {package}}} + +AllPackagesAS{APPLICATION-CONTEXT:ac} ::= + TCSingleAS + {combine{{ac.&associationContract.&OperationsOf | + ac.&associationContract.&InitiatorConsumerOf | + ac.&associationContract.&InitiatorSupplierOf}, + {...}, --was illegaly empty, needs to be changed + { -- Information Object of class OPERATION-PACKAGE to be defined --}}} + +ConnectionAS{APPLICATION-CONTEXT:ac} ::= CHOICE { + bind Bind{ac.&associationContract.&connection.&bind}, + unbind Unbind{ac.&associationContract.&connection.&unbind} +} + +END + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn/TCAPMessages.asn b/asn/TCAPMessages.asn new file mode 100644 index 0000000..cccec04 --- /dev/null +++ b/asn/TCAPMessages.asn @@ -0,0 +1,96 @@ +-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)} +DEFINITIONS IMPLICIT TAGS ::= +BEGIN + +-- EXPORTS everything +-- Transaction Portion fields. +IMPORTS + ROS{}, InvokeId + FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t + remote-operations(4) generic-ROS-PDUs(6) version1(0)} + OPERATION + FROM Remote-Operations-Information-Objects {joint-iso-itu-t + remote-operations(4) informationObjects(5) version1(0)}; + +TCMessage{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE { + unidirectional [APPLICATION 1] Unidirectional{{Invokable}, {Returnable}}, + begin [APPLICATION 2] Begin{{Invokable}, {Returnable}}, + end [APPLICATION 4] End{{Invokable}, {Returnable}}, + continue [APPLICATION 5] Continue{{Invokable}, {Returnable}}, + abort [APPLICATION 7] Abort +} + +Unidirectional{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE { + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion{{Invokable}, {Returnable}} +} + +Begin{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE { + otid OrigTransactionID, + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL +} + +End{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE { + dtid DestTransactionID, + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL +} + +Continue{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE { + otid OrigTransactionID, + dtid DestTransactionID, + dialoguePortion DialoguePortion OPTIONAL, + components ComponentPortion{{Invokable}, {Returnable}} 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 may 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] EXPLICIT EXTERNAL + +-- The dialogue portion carries the dialogue control PDUs as value of the external data type. The direct +-- reference should be set to {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)} if structured +-- dialogue is used and to {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)} if unstructured +-- dialogue is used. +OrigTransactionID ::= [APPLICATION 8] OCTET STRING(SIZE (1..4)) + +DestTransactionID ::= [APPLICATION 9] OCTET STRING(SIZE (1..4)) + +P-AbortCause ::= [APPLICATION 10] INTEGER { + unrecognizedMessageType(0), unrecognizedTransactionID(1), + badlyFormattedTransactionPortion(2), incorrectTransactionPortion(3), + resourceLimitation(4)}(0..127) + +-- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the +-- component portion. The component portion may be absent. +ComponentPortion{OPERATION:Invokable, OPERATION:Returnable} ::= + [APPLICATION 12] + SEQUENCE SIZE (1..MAX) OF Component{{Invokable}, {Returnable}} + +-- Component Portion fields +-- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking +-- operations, returning results or error, and for the rejection of invalid PDUs. +-- TCAP adds returnResultNotLast to allow for the segmentation of a result. +Component{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE { + basicROS ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}}, + returnResultNotLast + [7] returnResult < ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}} +} + +TCInvokeIdSet ::= InvokeId(WITH COMPONENTS { + present (-128..127) + }) + +END -- TCAPMessages + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn/UnidialoguePDUs.asn b/asn/UnidialoguePDUs.asn new file mode 100644 index 0000000..4f7c6c3 --- /dev/null +++ b/asn/UnidialoguePDUs.asn @@ -0,0 +1,25 @@ +-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) +UnidialoguePDUs {itu-t 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 ::= + {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)} + +UniDialoguePDU ::= CHOICE {unidialoguePDU AUDT-apdu +} + +AUDT-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE { + protocol-version + [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, + application-context-name [1] OBJECT IDENTIFIER, + user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL +} + +END -- UNIDialoguePDU + +-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D + diff --git a/asn/tcap.asn b/asn/tcap.asn new file mode 100644 index 0000000..5b98942 --- /dev/null +++ b/asn/tcap.asn @@ -0,0 +1,247 @@ +-- $Id: tcap.asn 26192 2008-09-14 14:42:39Z etxrab $ +TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)} + +DEFINITIONS ::= + +BEGIN + +--EXPORTS OPERATION, ERROR, Component, InvokeId Type; +-- WS stuff +ExternalPDU ::= [UNIVERSAL 8] IMPLICIT SEQUENCE + { + oid OBJECT IDENTIFIER, + dialog [0] IMPLICIT Dialog1 + } + + +Dialog1 ::= OCTET STRING +-- End WS +-- Transaction Portion fields + +TCMessage ::= 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 Reason OPTIONAL + } + +Reason ::= CHOICE{ + p-abortCause P-AbortCause, + u-abortCause DialoguePortion + } + +-- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may 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] EXPLICIT EXTERNAL + +-- WS adaptation +DialoguePortion ::= [APPLICATION 11] IMPLICIT DialogueOC +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)}(0..127) + +-- 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 +-- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking +-- operations, returning results or error, and for the rejection of invalid PDUs. +-- 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) } + + +ErrorCode ::= CHOICE + { + nationaler [PRIVATE 19] IMPLICIT INTEGER (-32768..32767), + privateer [PRIVATE 20] IMPLICIT INTEGER + } + +END -- end of the TCAP Package Module diff --git a/src/DialoguePDUs.asn b/src/DialoguePDUs.asn deleted file mode 100644 index 532d81d..0000000 --- a/src/DialoguePDUs.asn +++ /dev/null @@ -1,80 +0,0 @@ --- $Id: DialoguePDUs.asn 26186 2008-09-13 11:44:33Z etxrab $ --- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) -DialoguePDUs {itu-t 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 ::= - {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)} - -DialoguePDU ::= CHOICE { - dialogueRequest AARQ-apdu, - dialogueResponse AARE-apdu, - dialogueAbort ABRT-apdu -} - -AARQ-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE { - protocol-version - [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, - application-context-name [1] OBJECT IDENTIFIER, - user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL -} - -AARE-apdu ::= [APPLICATION 1] IMPLICIT SEQUENCE { - protocol-version - [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, - application-context-name [1] OBJECT IDENTIFIER, - result [2] Associate-result, - result-source-diagnostic [3] Associate-source-diagnostic, - user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL -} - --- RLRQ PDU is currently not used. --- It is included for completeness only. -RLRQ-apdu ::= [APPLICATION 2] IMPLICIT SEQUENCE { - reason [0] IMPLICIT Release-request-reason OPTIONAL, - user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL -} - --- RLRE PDU is currently not used. --- It is included for completeness only -RLRE-apdu ::= [APPLICATION 3] IMPLICIT SEQUENCE { - reason [0] IMPLICIT Release-response-reason OPTIONAL, - user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL -} - -ABRT-apdu ::= [APPLICATION 4] IMPLICIT SEQUENCE { - abort-source [0] IMPLICIT ABRT-source, - user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL -} - -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 -- DialoguePDUs - --- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D - diff --git a/src/TC-Notation-Extensions.asn b/src/TC-Notation-Extensions.asn deleted file mode 100644 index f389cae..0000000 --- a/src/TC-Notation-Extensions.asn +++ /dev/null @@ -1,87 +0,0 @@ --- Module TC-Notation-Extensions (Q.775:06/1997) - -TC-Notation-Extensions {itu-t recommendation q 775 modules(2) - notation-extension(4) version1(1)} DEFINITIONS ::= -BEGIN - -IMPORTS - TCMessage{} - FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) - version3(3)} - Bind{}, Unbind{} - FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t - remote-operations(4) generic-ROS-PDUs(6) version1(0)} - AllOperations{}, ConsumerPerforms{}, SupplierPerforms{}, combine{} - FROM Remote-Operations-Useful-Definitions {joint-iso-itu-t - remote-operations(4) useful-definitions(7) version1(0)} - CONTRACT, OPERATION-PACKAGE - FROM Remote-Operations-Information-Objects {joint-iso-itu-t - remote-operations(4) informationObjects(5) version1(0)} - UniDialoguePDU, uniDialogue-as-id - FROM UnidialoguePDUs {itu-t recommendation q 773 modules(2) - unidialoguePDUs(3) version1(1)} - DialoguePDU, dialogue-as-id - FROM DialoguePDUs {itu-t recommendation q 773 modules(2) dialoguePDUs(2) - version1(1)}; - -APPLICATION-CONTEXT ::= CLASS { - &associationContract CONTRACT, - &dialogueMode DialogueMode, - &termination Termination OPTIONAL, - &componentGrouping BOOLEAN DEFAULT TRUE, - &dialogueAndComponentGrouping BOOLEAN DEFAULT TRUE, - &AdditionalASEs OBJECT IDENTIFIER OPTIONAL, - &AbstractSyntaxes ABSTRACT-SYNTAX, - &applicationContextName OBJECT IDENTIFIER UNIQUE -} -WITH SYNTAX { - CONTRACT &associationContract - DIALOGUE MODE &dialogueMode - [TERMINATION &termination] - [COMPONENT GROUPING ALLOWED &componentGrouping] - [DIALOGUE WITH COMPONENTS ALLOWED &dialogueAndComponentGrouping] - [ADDITIONAL ASES &AdditionalASEs] - ABSTRACT SYNTAXES &AbstractSyntaxes - APPLICATION CONTEXT NAME &applicationContextName -} - -DialogueMode ::= ENUMERATED {structured(1), unstructured(2)} - -Termination ::= ENUMERATED {basic(1), prearranged(2)} - -dialogue-abstract-syntax ABSTRACT-SYNTAX ::= { - DialoguePDU - IDENTIFIED BY dialogue-as-id -} - -uniDialogue-abstract-syntax ABSTRACT-SYNTAX ::= { - UniDialoguePDU - IDENTIFIED BY uniDialogue-as-id -} - -TCSingleAS{OPERATION-PACKAGE:package} ::= - TCMessage{{AllOperations {package}}, {AllOperations {package}}} - -TCConsumerAS{OPERATION-PACKAGE:package} ::= - TCMessage{{ConsumerPerforms {package}}, {ConsumerPerforms {package}}} - -TCSupplierAS{OPERATION-PACKAGE:package} ::= - TCMessage{{SupplierPerforms {package}}, {SupplierPerforms {package}}} - -AllPackagesAS{APPLICATION-CONTEXT:ac} ::= - TCSingleAS - {combine{{ac.&associationContract.&OperationsOf | - ac.&associationContract.&InitiatorConsumerOf | - ac.&associationContract.&InitiatorSupplierOf}, - {...}, --was illegaly empty, needs to be changed - { -- Information Object of class OPERATION-PACKAGE to be defined --}}} - -ConnectionAS{APPLICATION-CONTEXT:ac} ::= CHOICE { - bind Bind{ac.&associationContract.&connection.&bind}, - unbind Unbind{ac.&associationContract.&connection.&unbind} -} - -END - --- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D - diff --git a/src/TCAPMessages.asn b/src/TCAPMessages.asn deleted file mode 100644 index cccec04..0000000 --- a/src/TCAPMessages.asn +++ /dev/null @@ -1,96 +0,0 @@ --- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) -TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)} -DEFINITIONS IMPLICIT TAGS ::= -BEGIN - --- EXPORTS everything --- Transaction Portion fields. -IMPORTS - ROS{}, InvokeId - FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t - remote-operations(4) generic-ROS-PDUs(6) version1(0)} - OPERATION - FROM Remote-Operations-Information-Objects {joint-iso-itu-t - remote-operations(4) informationObjects(5) version1(0)}; - -TCMessage{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE { - unidirectional [APPLICATION 1] Unidirectional{{Invokable}, {Returnable}}, - begin [APPLICATION 2] Begin{{Invokable}, {Returnable}}, - end [APPLICATION 4] End{{Invokable}, {Returnable}}, - continue [APPLICATION 5] Continue{{Invokable}, {Returnable}}, - abort [APPLICATION 7] Abort -} - -Unidirectional{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE { - dialoguePortion DialoguePortion OPTIONAL, - components ComponentPortion{{Invokable}, {Returnable}} -} - -Begin{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE { - otid OrigTransactionID, - dialoguePortion DialoguePortion OPTIONAL, - components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL -} - -End{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE { - dtid DestTransactionID, - dialoguePortion DialoguePortion OPTIONAL, - components ComponentPortion{{Invokable}, {Returnable}} OPTIONAL -} - -Continue{OPERATION:Invokable, OPERATION:Returnable} ::= SEQUENCE { - otid OrigTransactionID, - dtid DestTransactionID, - dialoguePortion DialoguePortion OPTIONAL, - components ComponentPortion{{Invokable}, {Returnable}} 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 may 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] EXPLICIT EXTERNAL - --- The dialogue portion carries the dialogue control PDUs as value of the external data type. The direct --- reference should be set to {itu-t recommendation q 773 as(1) dialogue-as(1) version1(1)} if structured --- dialogue is used and to {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)} if unstructured --- dialogue is used. -OrigTransactionID ::= [APPLICATION 8] OCTET STRING(SIZE (1..4)) - -DestTransactionID ::= [APPLICATION 9] OCTET STRING(SIZE (1..4)) - -P-AbortCause ::= [APPLICATION 10] INTEGER { - unrecognizedMessageType(0), unrecognizedTransactionID(1), - badlyFormattedTransactionPortion(2), incorrectTransactionPortion(3), - resourceLimitation(4)}(0..127) - --- COMPONENT PORTION. The last field in the transaction portion of the TCAP message is the --- component portion. The component portion may be absent. -ComponentPortion{OPERATION:Invokable, OPERATION:Returnable} ::= - [APPLICATION 12] - SEQUENCE SIZE (1..MAX) OF Component{{Invokable}, {Returnable}} - --- Component Portion fields --- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking --- operations, returning results or error, and for the rejection of invalid PDUs. --- TCAP adds returnResultNotLast to allow for the segmentation of a result. -Component{OPERATION:Invokable, OPERATION:Returnable} ::= CHOICE { - basicROS ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}}, - returnResultNotLast - [7] returnResult < ROS{{TCInvokeIdSet}, {Invokable}, {Returnable}} -} - -TCInvokeIdSet ::= InvokeId(WITH COMPONENTS { - present (-128..127) - }) - -END -- TCAPMessages - --- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D - diff --git a/src/UnidialoguePDUs.asn b/src/UnidialoguePDUs.asn deleted file mode 100644 index 4f7c6c3..0000000 --- a/src/UnidialoguePDUs.asn +++ /dev/null @@ -1,25 +0,0 @@ --- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/) -UnidialoguePDUs {itu-t 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 ::= - {itu-t recommendation q 773 as(1) unidialogue-as(2) version1(1)} - -UniDialoguePDU ::= CHOICE {unidialoguePDU AUDT-apdu -} - -AUDT-apdu ::= [APPLICATION 0] IMPLICIT SEQUENCE { - protocol-version - [0] IMPLICIT BIT STRING {version1(0)} DEFAULT {version1}, - application-context-name [1] OBJECT IDENTIFIER, - user-information [30] IMPLICIT SEQUENCE OF EXTERNAL OPTIONAL -} - -END -- UNIDialoguePDU - --- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D - diff --git a/src/rebuild-from-asn.sh b/src/rebuild-from-asn.sh new file mode 100755 index 0000000..ac4f1f7 --- /dev/null +++ b/src/rebuild-from-asn.sh @@ -0,0 +1,5 @@ +#!/bin/bash +ASN=../asn +asn1c $ASN/DialoguePDUs.asn $ASN/tcap.asn $ASN/UnidialoguePDUs.asn +find . -type l -exec rm \{\} \; +mv *.h ../include/ diff --git a/src/tcap.asn b/src/tcap.asn deleted file mode 100644 index 5b98942..0000000 --- a/src/tcap.asn +++ /dev/null @@ -1,247 +0,0 @@ --- $Id: tcap.asn 26192 2008-09-14 14:42:39Z etxrab $ -TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)} - -DEFINITIONS ::= - -BEGIN - ---EXPORTS OPERATION, ERROR, Component, InvokeId Type; --- WS stuff -ExternalPDU ::= [UNIVERSAL 8] IMPLICIT SEQUENCE - { - oid OBJECT IDENTIFIER, - dialog [0] IMPLICIT Dialog1 - } - - -Dialog1 ::= OCTET STRING --- End WS --- Transaction Portion fields - -TCMessage ::= 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 Reason OPTIONAL - } - -Reason ::= CHOICE{ - p-abortCause P-AbortCause, - u-abortCause DialoguePortion - } - --- NOTE - When the Abort Message is generated by the Transaction sublayer, a p-Abort Cause may 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] EXPLICIT EXTERNAL - --- WS adaptation -DialoguePortion ::= [APPLICATION 11] IMPLICIT DialogueOC -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)}(0..127) - --- 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 --- Recommendation X.880 defines four Application Protocol Data Units (APDUs) for invoking --- operations, returning results or error, and for the rejection of invalid PDUs. --- 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) } - - -ErrorCode ::= CHOICE - { - nationaler [PRIVATE 19] IMPLICIT INTEGER (-32768..32767), - privateer [PRIVATE 20] IMPLICIT INTEGER - } - -END -- end of the TCAP Package Module -- cgit v1.2.3