-- Module OMASE (Q.754:06/1997)
-- See also ITU-T Q.754 (06/1997)
-- See also the index of all ASN.1 assignments needed in this document
-- OMASE protocol
OMASE {itu-t(0) recommendation q 754 omase(0) version2(2)} DEFINITIONS EXPLICIT
TAGS ::=
BEGIN
-- the OPERATION and ERROR information objects defined here are equivalent to the respective MACROs in
-- TCAPMessages {ccitt recommendation q 773 modules(2) messages(1) version2(2) } of Rec. Q.773 (1993)
OPERATION ::= CLASS {
&ArgumentType OPTIONAL,
&ResultType OPTIONAL,
&Errors ERROR OPTIONAL,
&Linked OPERATION OPTIONAL,
&operationCode Code UNIQUE OPTIONAL
}
WITH SYNTAX {
[PARAMETER &ArgumentType]
[RESULT &ResultType]
[ERRORS &Errors]
[LINKED &Linked]
[CODE &operationCode]
}
ERROR ::= CLASS {
&ParameterType OPTIONAL,
&errorCode Code UNIQUE OPTIONAL
}WITH SYNTAX {[PARAMETER &ParameterType]
[CODE &errorCode]
}
Code ::= CHOICE {localValue INTEGER,
globalValue OBJECT IDENTIFIER
}
-- OMASE operators
eventReport OPERATION ::= {
PARAMETER EventReportArgument
CODE localValue:0
}
confirmedAction OPERATION ::= {
PARAMETER ActionArgument --ActionArgument
RESULT ActionResult --ActionResult
ERRORS
{accessDenied | invalidArgumentValue | noSuchAction | noSuchArgument |
noSuchObjectClass | noSuchObjectInstance | processingFailure}
CODE localValue:7
}
-- The om-service error definitions are as follows:
noSuchObjectClass ERROR ::= {PARAMETER ObjectClass
CODE localValue:0
}
noSuchObjectInstance ERROR ::= {
PARAMETER ObjectInstance
CODE localValue:1
}
accessDenied ERROR ::= {CODE localValue:2
}
noSuchAction ERROR ::= {PARAMETER NoSuchAction
CODE localValue:9
}
processingFailure ERROR ::= {
PARAMETER ProcessingFailure -- optional
CODE localValue:10
}
noSuchArgument ERROR ::= {PARAMETER NoSuchArgument
CODE localValue:14
}
invalidArgumentValue ERROR ::= {
PARAMETER InvalidArgumentValue
CODE localValue:15
}
-- The following gives the supporting type definitions:
ActionArgument ::= SEQUENCE {
COMPONENTS OF BaseManagedObjectId,
accessControl [5] AccessControl OPTIONAL,
actionInfo [12] IMPLICIT ActionInfo
}
ActionInfo ::= SEQUENCE {
actionType [3] IMPLICIT CNF-ACTION.&operationCode({ActionSet}),
actionInfoArg
[4] CNF-ACTION.&ActionArgType({ActionSet}{@actionType}) OPTIONAL
}
ActionSet CNF-ACTION ::=
{...} -- dynamically extensible
ActionResult ::= SEQUENCE {
managedObjectClass ObjectClass OPTIONAL,
managedObjectInstance ObjectInstance OPTIONAL,
currentTime [5] IMPLICIT GeneralizedTime OPTIONAL,
actionReply [6] IMPLICIT ActionReply OPTIONAL
}
ActionTypeId ::= CHOICE {
localForm [3] IMPLICIT CNF-ACTION.&operationCode,
...
}
BaseManagedObjectId ::= SEQUENCE {
baseManagedObjectClass ObjectClass,
baseManagedObjectInstance ObjectInstance
}
EventReportArgument ::= SEQUENCE {
managedObjectClass ObjectClass,
managedObjectInstance ObjectInstance,
eventTime [5] IMPLICIT GeneralizedTime OPTIONAL,
eventType [7] IMPLICIT EVENT.&operationCode({EventSet}),
eventInfo
[8] EVENT.&EventInfoType({EventSet}{@eventType}) OPTIONAL
}
EventSet EVENT ::=
{...}
EventTypeId ::= CHOICE {localForm [7] IMPLICIT EVENT.&operationCode,
...
}
ActionReply ::= SEQUENCE {
actionType [3] IMPLICIT CNF-ACTION.&operationCode({ActionSet}),
actionReplyInfo
[4] CNF-ACTION.&ActionResultType({ActionSet}{@actionType})
}
AccessControl ::= EXTERNAL
-- AccessControl syntax is to be compatible with that defined in CMIP coded X.209
InvalidArgumentValue ::= CHOICE {
actionValue [0] IMPLICIT ActionInfo,
eventValue
[1] IMPLICIT SEQUENCE {eventType
[7] IMPLICIT EVENT.&operationCode({EventSet}),
eventInfo
[8] EVENT.&EventInfoType
({EventSet}{@.eventType}) OPTIONAL
}
}
NoSuchAction ::= SEQUENCE {
managedObjectClass ObjectClass,
actionType ActionTypeId
}
NoSuchArgument ::= CHOICE {
actionId
[0] IMPLICIT SEQUENCE {managedObjectClass ObjectClass OPTIONAL,
actionType ActionTypeId},
eventId
[1] IMPLICIT SEQUENCE {managedObjectClass ObjectClass OPTIONAL,
eventTypeId EventTypeId}
}
ObjectClass ::= CHOICE {globalForm [0] IMPLICIT OBJECT IDENTIFIER,
...
}
ObjectInstance ::= CHOICE {
-- ...
nonSpecificForm [3] IMPLICIT OCTET STRING,
...
}
ProcessingFailure ::= SEQUENCE {
managedObjectClass ObjectClass OPTIONAL,
managedObjectInstance ObjectInstance OPTIONAL,
specificErrorInfo [5] IMPLICIT SpecificErrorInfo
}
SpecificError ::= INTEGER -- defined by object class
SpecificErrorInfo ::= SEQUENCE {
errorType [0] IMPLICIT SPECIFIC-ERROR.&errorCode({ErrorSet}),
errorParm
[1] SPECIFIC-ERROR.&ProcessingErrorParmType({ErrorSet}{@errorType})
OPTIONAL
}
ErrorSet SPECIFIC-ERROR ::=
{...}
Timer ::= INTEGER -- seconds -
-- Specific event reports are categorized by object class. The protocol uses may be described
-- by the EVENT MACRO below.
EVENT ::= CLASS {
&EventInfoType OPTIONAL,
&operationCode INTEGER UNIQUE OPTIONAL
}WITH SYNTAX {[EVENTINFO &EventInfoType]
[CODE &operationCode]
}
-- Specific Actions are categorized by object class. The protocol uses may be described
-- by the CNF-ACTION INFORMATION OBJECT below.
CNF-ACTION ::= CLASS {
&ActionArgType OPTIONAL,
&ActionResultType OPTIONAL,
&SpecificErrors SPECIFIC-ERROR OPTIONAL,
&operationCode INTEGER UNIQUE OPTIONAL
}
WITH SYNTAX {
[ACTIONARG &ActionArgType]
[ACTIONRESULT &ActionResultType]
[SPECIFICERRORS &SpecificErrors]
[CODE &operationCode]
}
-- Errors that are action or event specific are defined using the SPECIFIC-ERROR macro below.
SPECIFIC-ERROR ::= CLASS {
&ProcessingErrorParmType OPTIONAL,
&errorCode INTEGER UNIQUE OPTIONAL
}WITH SYNTAX {[PARAMETER &ProcessingErrorParmType]
[CODE &errorCode]
}
-- specific OMASE constructs follow
testRoute CNF-ACTION ::= {
ACTIONARG
SEQUENCE {initiatingSP [0] IMPLICIT PointCode,
traceRequested [1] IMPLICIT BOOLEAN,
threshold [2] IMPLICIT INTEGER,
pointCodesTraversed [3] IMPLICIT PointCodeList,
formIndicator [4] IMPLICIT FormIndicator OPTIONAL,
-- formIndicator is required in SRVT, but not used in MRVT
mtpBackwardRoutingRequested [5] IMPLICIT BOOLEAN OPTIONAL,
-- mtpBackwardRoutingRequested is required in SRVT, but not in MRTV
testInitiatorGT [6] IMPLICIT GlobalTitle OPTIONAL,
destinationPC [7] IMPLICIT PointCode OPTIONAL,
destinationSSN
[8] IMPLICIT SubsystemNumber OPTIONAL,
backupDPC [9] IMPLICIT PointCode OPTIONAL,
backupSSN
[10] IMPLICIT SubsystemNumber OPTIONAL,
originalGT [11] IMPLICIT GlobalTitle OPTIONAL,
inputGT [16] IMPLICIT GlobalTitle OPTIONAL,
-- parameters with tags 4 through 12 can only be used in SRVT, not MRVT
routePriorityList
[12] IMPLICIT RoutePriorityList OPTIONAL,
-- routePriorityList can only be used in MRVT
-- and only if the infoRequest parameter is present.
infoRequest
[13] IMPLICIT BIT STRING {pointCode(0), pointCodeList(1),
routePriorityList(2),
currentRouteIndicatorList(3)}
(SIZE (32))
OPTIONAL,
-- infoRequest is used to indicate that the test initiator node can accept a route TraceNew
-- RVR message, and also asks for particular parameters to be returned in it, if it is sent. This
-- parameter can only be inserted at the initiator node, but it can be copied into regenerated MRVTs.
returnUnknownParams
[14] IMPLICIT BIT STRING {tag15(0), tag16(1), tag17(2)}
(SIZE (32))
OPTIONAL,
-- returnUnknownParams is used to indicate which parameters that a node does not understand
-- should be returned in an RVR if one is sent (or in an RVA message in the copyData field
-- if the test initiator is unknown). Bit 0 represents an RVT parameter with tag value 15, bit 1
-- an RVT parameter with tag value 16, etc. To avoid confusion in the copyData field, when
-- defining a new parameter in the RVR message, the tag should have the same value as it has
-- in the RVT message. This parameter can only be present if infoRequest is present. -
directRouteCheck [15] IMPLICIT BOOLEAN OPTIONAL,
-- directRouteCheck can only be used in MRVT.
currentRouteIndicatorList [17] IMPLICIT BOOLEAN OPTIONAL,
-- currentRouteIndicatorList can only be used in MRVT.
...}
SPECIFICERRORS {failure | partialSuccess}
CODE 1
}
-- TC timer = T1 for MRVT, = T2 for SRVT, Class = 1
CurrentRouteIndicatorList ::= SEQUENCE OF CurrentRouteIndicator
CurrentRouteIndicator ::= INTEGER {
unknown(0), currentRoute(1), possibleRouteNoFurtherAnalysisPerformed(2),
possibleRouteSignRouteSetLocked(3), possibleRouteLinkSetUnavailable(4),
possibleRouteTfpReceived(5), possibleRouteHigherpriorityRouteAvailable(6)
}(0..255)
PointCode ::= OCTET STRING
PointCodeList ::= SEQUENCE OF PointCode
RoutePriorityList ::= SEQUENCE OF Priority
Priority ::= INTEGER {
unknown(0), firstChoice(1), secondChoice(2), thirdChoice(3)}(0..255)
FormIndicator ::= INTEGER {compare(0), noCompare(1)}(0..1)
GlobalTitle ::= OCTET STRING
-- the GlobalTitle here consists of the SCCP GTI + GT, the GTI should be encoded exactly as in
-- 3.4.1/Q.713, and the GT as in 3.4.2.1 to 3.4.2.4/Q.713 as appropriate.
SubsystemNumber ::= OCTET STRING
failure SPECIFIC-ERROR ::= {
PARAMETER
SEQUENCE {failureType [0] IMPLICIT FailureString,
traceSent [1] IMPLICIT BOOLEAN,
copyData [2] IMPLICIT CopyData OPTIONAL,
-- copyData might be present if failureType is unknownInitiatingSp, traceSent is FALSE,
-- and the prompting RVT message contained a requestInfo parameter, or returnUnknownParams
-- was in the RVT message.
...}
CODE 1
}
FailureString ::= BIT STRING {
detectedLoop(0), excessiveLengthRoute(1), unknownDestination(2),
routeInaccessible(3), processingFailure(4), unknownInitiatingSP(5),
timerExpired(6),
sPNotAnSTP(7),
-- wrongSp is a synonym, used in SRVT, of sPNotAnSTP.
incorrectTranslation-Primary(8), incorrectTranslation-Secondary(9),
incorrectTranslation-Intermediate(10), notPrimaryDestination(11),
notSecondaryDestination(12), notRecognizedPrimary(13),
notRecognizedSecondary(14),
routingProblem(15),
-- bits 8 through 15 might only be set in SRVT, not MRVT.
maxNrMRVTestsAlready(16),
-- maxNrSRVTestsAlready is a synonym, used in SRVT, of maxNrMRVTestsAlready.
indirectRoute(17),
-- indirectRoute might only be set in MRVT, not SRVT.
unknownParameter(18)}(SIZE (32))
CopyData ::= OCTET STRING
partialSuccess SPECIFIC-ERROR ::= {
PARAMETER
SEQUENCE {failureType [0] IMPLICIT FailureString,
traceSent [1] IMPLICIT BOOLEAN,
copyData [4] IMPLICIT CopyData OPTIONAL,
-- copyData might be present if failureType is unknownInitiatingSP, traceSent is FALSE,
-- and the prompting RVT message contained a requestInfo parameter,
-- or returnUnknownParams was in the RVT message.
...}
CODE 2
}
routeTrace EVENT ::= {
EVENTINFO
CHOICE {success [0] IMPLICIT PointCodeList,
detectedLoop [1] IMPLICIT PointCodeList,
excessiveLengthRoute [2] IMPLICIT PointCodeList,
unknownDestination [3] IMPLICIT NULL,
routeInaccessible [4] IMPLICIT PointCode,
processingFailure [5] IMPLICIT NULL,
unknownInitiatingSP [6] IMPLICIT PointCode,
timerExpired [7] IMPLICIT PointCodeList,
sPNotAnSTP [8] IMPLICIT PointCodeList,
-- wrongSP is a synonym, used in SRVT, for sPNotAnSTP.
incorrectTranslation-Primary [9] IMPLICIT PointCodeList,
incorrectTranslation-Secondary [10] IMPLICIT PointCodeList,
incorrectTranslation-Intermediate [11] IMPLICIT PointCodeList,
notPrimaryDestination [12] IMPLICIT PointCodeList,
notSecondaryDestination [13] IMPLICIT PointCodeList,
notRecognizedPrimary [14] IMPLICIT PointCodeList,
notRecognizedSecondary [15] IMPLICIT PointCodeList,
routingProblem [16] IMPLICIT PointCodeList
-- the choices with tags 9 through 16 can only be used in SRVT.
}
CODE 2
}
-- TC Timer = 0, Class = 4
routeTraceNew EVENT ::= {
EVENTINFO
SEQUENCE {result [0] IMPLICIT ErrorTag,
pointCode [1] IMPLICIT PointCode OPTIONAL,
pointCodeList [2] IMPLICIT PointCodeList OPTIONAL,
routePriorityList
[3] IMPLICIT RoutePriorityList OPTIONAL,
copyData [4] IMPLICIT CopyData OPTIONAL,
-- copyData allows any parameters included in an RVA message, when the
-- test initiator is unknown, to be copied into the RVR, without enhancing it. It also
-- allows new OPTIONAL RVT parameters not understood by the node generating the
-- RVR from the RVA message to be returned, when requested by the test initiator.
-- Note that a new parameter defined in routeTraceNew should, if it is also defined in
-- testRoute, have the same tag value as in testRoute.
-- One RVR message should be sent for each error detected (no error diagnostics should be
-- "or'd" together). -
currentRouteIndicatorList
[5] IMPLICIT CurrentRouteIndicatorList OPTIONAL,
...}
CODE 4
}
-- TC Timer = 0, Class = 4
ErrorTag ::= INTEGER {
success(0), detectedLoop(1), excessiveLengthRoute(2), unknownDestination(3),
routeInaccessible(4), processingFailure(5), unknownInitiatingS(6),
timerExpired(7),
-- wrongSP is a synonym, used in SRVT, of sPNotAnSTP.
incorrectTranslation-Primary(9), incorrectTranslation-Secondary(10),
incorrectTranslation-Intermediate(11), notPrimaryDestination(12),
notSecondaryDestination(13), notRecognizedPrimary(14),
notRecognizedSecondary(15),
routingProblem(16),
-- values 9 through 16 are applicable only in SRVT, not in MRVT.
maxNrMRVTestsAlready(17),
-- maxNrSRVTestsAlready is a synonym, used in SRVT, of maxNrMRVTestsAlready.
indirectRoute(18),
-- value 18 is applicable only in MRVT, not SRVT.
unknownParameter(19)}(0..255)
END -- OMASE protocol
-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D