-- Module TC-TMP (Q.755.2:09/1997)
TC-TMP {itu-t recommendation q 755 modules(0) tmp(2) version1(1)} DEFINITIONS
IMPLICIT TAGS ::=
BEGIN

TMP-PDU ::= CHOICE {
  testInit      [0]  TestInit,
  testContinue  [1]  CommandSequence,
  testDataEcho  [2]  UserData
}

CommandSequence ::= SEQUENCE SIZE (0..maxNbOfCommands) OF TestCommand

maxNbOfCommands INTEGER ::= 30

TestInit ::= SEQUENCE {
  timeout   INTEGER(1..127) OPTIONAL, -- T-Test (unit is 30 sec)
  commands  CommandSequence,
  ...
}

UserData ::= CHOICE {
  simple   OCTET STRING(SIZE (0..maxUserDataLength)),
  complex  [0]  ABSTRACT-SYNTAX.&Type
}

maxUserDataLength INTEGER ::= 2048

TestCommand ::= CHOICE {wait    [0]  DialogueReference,
                        action  [1]  ActionInfo
}

DialogueReference ::= CHOICE {unspecified  NULL,
                              dialogue     INTEGER(0..255)
}

ActionInfo ::= SEQUENCE {
  service            ServiceType,
  dialogueReference  DialogueReference DEFAULT unspecified:NULL,
  to-be-echoed       UserData OPTIONAL,
  ...
}

ServiceType ::= ENUMERATED {
  v1988uniReq(10), v1993uniReq(11), v1988beginReq(12), v1993beginReq(13),
  continueReq(14), basicEndReq(15), localEndReq(16), uAbortReq(17),
  class1invokeReq(21), class2invokeReq(22), class3invokeReq(23),
  class4invokeReq(24), linkedInvokeReq(25), resultNlReq(26), resultLReq(27),
  uErrorReq(28), uCancelReq(29), uRejectReq(30), ...
  }

-- abstract syntax name for TMP-PDUs
tmp-pdus-as OBJECT IDENTIFIER ::=
  {itu-t recommendation q 755 as(4) tmp-pdus(1) version1(1)}

END
