TR {joint-iso-itu-t(2) country(16) ca(124) mti(113594) tcap(10) modules(0) itu-t(0) tr(0) version1(1)}
DEFINITIONS IMPLICIT TAGS ::=
BEGIN

IMPORTS
  Abort, DialoguePortion, OrigTransactionID, DestTransactionID
		FROM TCAPMessages {itu-t recommendation q 773 modules(2) messages(1) version3(3)};

-- The Transaction sub-layer ignores the content of the ComponentPortion
-- so we have redefined these Types without parameterization and defined
-- ComponentPortion as an OCTET STRING so that it can be passed to the
-- Component sub-layer for decoding there

TCMessage ::= CHOICE {
  unidirectional  [APPLICATION 1] Unidirectional,
  begin           [APPLICATION 2] Begin,
  end             [APPLICATION 4] End,
  continue        [APPLICATION 5] Continue,
  abort           [APPLICATION 7] 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
}

-- used to derive otid/dtid from unknown message type
Unknown ::= SEQUENCE {
  otid             OrigTransactionID OPTIONAL,
  dtid             DestTransactionID OPTIONAL,
  dialoguePortion  DialoguePortion OPTIONAL,
  components       ComponentPortion OPTIONAL
}

-- leave this portion undecoded
ComponentPortion ::= TYPE-IDENTIFIER.&Type

DialoguePortion ::= [APPLICATION 11] EXPLICIT EXTERNAL

END
