-- Generated by Asnp, the pretty-printer of France Telecom R&D (http://asn1.elibel.tm.fr/asnp/)
TCAP-Tools {itu-t recommendation q 775 modules(2) tools(1) version1(1)}
DEFINITIONS ::=
BEGIN

EXPORTS 
	cancel, 
	cancelFailed, 
	cancelled
;

IMPORTS
  OPERATION, ERROR
    FROM Remote-Operations-Information-Objects {joint-iso-itu-t
      remote-operations(4) informationObjects(5) version1(0)}

  TCInvokeIdSet
    FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1)
      version3(3)}
;

cancel OPERATION ::= {
  ARGUMENT  present < TCInvokeIdSet
  -- a TC-user may redefine this type to include
  -- an empty result so that it becomes a Class 1 operation
  ERRORS    {cancelFailed}
}

-- timer = 15 s
cancelFailed ERROR ::= {
  PARAMETER
    SET {problem   [0]  CancelProblem,
         invokeId  [1]  present < TCInvokeIdSet}
}

CancelProblem ::= ENUMERATED {
  unknownInvocation(0), tooLate(1), notCancellable(2)}

-- a TC-user may redefine this type to include application-specific problems
cancelled ERROR ::=
  {}

-- an error of this type should be included in the error list of cancellable operations
END

-- Generated by Asnp, the ASN.1 pretty-printer of France Telecom R&D

