-- Module MTSTransferProtocol (X.419:06/1999)
-- See also ITU-T X.419 (06/1999)
-- See also the index of all ASN.1 assignments needed in this document

MTSTransferProtocol {joint-iso-itu-t mhs(6) protocols(0) modules(0)
  transfer-protocol(3) version-1999(1)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN

--	Prologue
IMPORTS
  -- MTA Abstract Service
  Message, mta-transfer, Probe, Report
    --==
    FROM MTAAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
      mta-abstract-service(2) version-1999(1)}
  -- Remote Operations
  APPLICATION-CONTEXT
    --==
    FROM Remote-Operations-Information-Objects-extensions {joint-iso-itu-t
      remote-operations(4) informationObjects-extensions(8) version1(0)}
  Bind{}, Unbind{}
    --==
    FROM Remote-Operations-Generic-ROS-PDUs {joint-iso-itu-t
      remote-operations(4) generic-ROS-PDUs(6) version1(0)}
  association-by-RTSE, transfer-by-RTSE
    --==
    FROM Remote-Operations-Realizations {joint-iso-itu-t remote-operations(4)
      realizations(9) version1(0)}
  acse-abstract-syntax
    --==
    FROM Remote-Operations-Abstract-Syntaxes {joint-iso-itu-t
      remote-operations(4) remote-operations-abstract-syntaxes(12) version1(0)}
  -- Reliable Transfer
  RTORQapdu, RTOACapdu, RTORJapdu
    --==
    FROM Reliable-Transfer-APDU {joint-iso-itu-t reliable-transfer(3) 
      apdus(0)}
  -- Object Identifiers
  id-ac-mts-transfer, id-as-mta-rtse, id-as-mtse
    --==
    FROM MHSProtocolObjectIdentifiers {joint-iso-itu-t mhs(6) protocols(0)
      modules(0) object-identifiers(0) version-1994(0)};

RTSE-apdus ::= CHOICE {
  rtorq-apdu  [16] IMPLICIT RTORQapdu,
  rtoac-apdu  [17] IMPLICIT RTOACapdu,
  rtorj-apdu  [18] IMPLICIT RTORJapdu,
  rttp-apdu   RTTPapdu,
  rttr-apdu   RTTRapdu,
  rtab-apdu   [22] IMPLICIT RTABapdu
}

RTTPapdu ::= -- priority-- INTEGER

RTTRapdu ::= OCTET STRING

RTABapdu ::= SET {
  abortReason         [0] IMPLICIT AbortReason OPTIONAL,
  reflectedParameter  [1] IMPLICIT BIT STRING OPTIONAL,
  -- 8 bits maximum, only if abortReason is invalidParameter
  userdataAB
    [2]  TYPE-IDENTIFIER.&Type
      OPTIONAL -- only in normal mode and if abortReason--
  -- is userError 
}

AbortReason ::= INTEGER {
  localSystemProblem(0),
  invalidParameter(1), -- reflectedParameter supplied
  unrecognizedActivity(2),
  temporaryProblem(3),
  -- the RTSE cannot accept a session for a period of time
  protocolError(4), -- RTSE level protocol error
  permanentProblem(5), --provider-abort solely in normal mode 
  userError(6), -- user-abort solely in normal mode
  transferCompleted(7) -- activity can't be discarded--}

--	APPLICATION CONTEXTS
--	Application Context including RTSE in normal mode
mts-transfer APPLICATION-CONTEXT ::= {
  CONTRACT                  mta-transfer
  ESTABLISHED BY            association-by-RTSE
  INFORMATION TRANSFER BY   transfer-by-RTSE
  ABSTRACT SYNTAXES
    {acse-abstract-syntax | message-transfer-abstract-syntax |
      mta-bind-unbind-rtse-abstract-syntax}
  APPLICATION CONTEXT NAME  id-ac-mts-transfer
}

--	Application Context including RTSE in X.410-1984 mode
mts-transfer-protocol INTEGER ::=
  12

--	Application Context for Interworking with 1984 P1
mts-transfer-protocol-1984 INTEGER ::=
  1

--	ABSTRACT-SYNTAXES
--	Abstract Syntax for MTABind and MTAUnbind
mta-bind-unbind-rtse-abstract-syntax ABSTRACT-SYNTAX ::= {
  RTSE-apdus -- With MTA-bind and MTA-unbind --
  IDENTIFIED BY  id-as-mta-rtse
}

--	Abstract Syntax for Message Transfer Service Element
message-transfer-abstract-syntax ABSTRACT-SYNTAX ::= {
  MTS-APDU IDENTIFIED BY  id-as-mtse
}

--	MTS Application Protocol Data Units
MTS-APDU ::= CHOICE {
  message  [0]  Message,
  probe    [2]  Probe,
  report   [1]  Report
}

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