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

IPMSAbstractService {joint-iso-itu-t mhs(6) ipms(1) modules(0)
  abstract-service(3) version-1994(0)} DEFINITIONS IMPLICIT TAGS ::=
BEGIN

-- Prologue
-- Exports everything.
IMPORTS
  -- IPMS Information Objects
  AutoForwardComment, Heading, InformationObject, IPM, NRN, ON, RN
    --==
    FROM IPMSInformationObjects {joint-iso-itu-t mhs(6) ipms(1) modules(0)
      information-objects(2) version-1999(1)}
  -- IPMS Object Identifiers
  id-pt-management, id-pt-origination, id-pt-reception
    --==
    FROM IPMSObjectIdentifiers {joint-iso-itu-t mhs(6) ipms(1) modules(0)
      object-identifiers(0) version-1999(1)}
  -- MTS Abstract Service
  ABSTRACT-ERROR, ABSTRACT-OPERATION, MessageDeliveryEnvelope,
    MessageSubmissionEnvelope, MessageSubmissionIdentifier,
    MessageSubmissionTime, ORName, PORT, ProbeSubmissionEnvelope,
    ProbeSubmissionIdentifier, ProbeSubmissionTime,
    recipient-improperly-specified, ReportDeliveryEnvelope,
    SupplementaryInformation
    --==
    FROM MTSAbstractService {joint-iso-itu-t mhs(6) mts(3) modules(0)
      mts-abstract-service(1) version-1999(1)};

-- Ports
origination PORT ::= {
  CONSUMER INVOKES
    {originate-probe | originate-ipm | originate-rn | originate-on}
  ID                id-pt-origination
}

reception PORT ::= {
  SUPPLIER INVOKES
    {receive-report | receive-ipm | receive-rn | receive-nrn | receive-on}
  ID                id-pt-reception
}

management PORT ::= {
  CONSUMER INVOKES
    {change-auto-discard | change-auto-acknowledgment | change-auto-forwarding}
  ID                id-pt-management
}

-- Origination abstract operations
originate-probe ABSTRACT-OPERATION ::= {
  ARGUMENT  SET {envelope  [0]  ProbeSubmissionEnvelope,
                 content   [1]  IPM}
  RESULT
    SET {submission-identifier  [0]  ProbeSubmissionIdentifier,
         submission-time        [1]  ProbeSubmissionTime}
  ERRORS    {subscription-error | recipient-improperly-specified}
}

originate-ipm ABSTRACT-OPERATION ::= {
  ARGUMENT  SET {envelope  [0]  MessageSubmissionEnvelope,
                 content   [1]  IPM}
  RESULT
    SET {submission-identifier  [0]  MessageSubmissionIdentifier,
         submission-time        [1]  MessageSubmissionTime}
  ERRORS    {subscription-error | recipient-improperly-specified}
}

originate-rn ABSTRACT-OPERATION ::= {
  ARGUMENT  SET {envelope  [0]  MessageSubmissionEnvelope,
                 content   [1]  RN}
  RESULT
    SET {submission-identifier  [0]  MessageSubmissionIdentifier,
         submission-time        [1]  MessageSubmissionTime}
  ERRORS    {subscription-error | recipient-improperly-specified}
}

originate-on ABSTRACT-OPERATION ::= {
  ARGUMENT  SET {envelope  [0]  MessageSubmissionEnvelope,
                 content   [1]  ON}
  RESULT
    SET {submission-identifier  [0]  MessageSubmissionIdentifier,
         submission-time        [1]  MessageSubmissionTime}
  ERRORS    {subscription-error | recipient-improperly-specified}
}

-- Reception abstract operations
receive-report ABSTRACT-OPERATION ::= {
  ARGUMENT
    SET {envelope            [0]  ReportDeliveryEnvelope,
         undelivered-object  [1]  InformationObject OPTIONAL}
}

receive-ipm ABSTRACT-OPERATION ::= {
  ARGUMENT  SET {envelope  [0]  MessageDeliveryEnvelope,
                 content   [1]  IPM}
}

receive-rn ABSTRACT-OPERATION ::= {
  ARGUMENT  SET {envelope  [0]  MessageDeliveryEnvelope,
                 content   [1]  RN}
}

receive-nrn ABSTRACT-OPERATION ::= {
  ARGUMENT  SET {envelope  [0]  MessageDeliveryEnvelope,
                 content   [1]  NRN}
}

receive-on ABSTRACT-OPERATION ::= {
  ARGUMENT  SET {envelope  [0]  MessageDeliveryEnvelope,
                 content   [1]  ON}
}

-- Management abstract operations
change-auto-discard ABSTRACT-OPERATION ::= {
  ARGUMENT
    SET {auto-discard-expired-IPMs   [0]  BOOLEAN,
         auto-discard-obsolete-IPMs  [1]  BOOLEAN}
}

change-auto-acknowledgment ABSTRACT-OPERATION ::= {
  ARGUMENT
    SET {auto-acknowledge-IPMs                [0]  BOOLEAN,
         auto-acknowledge-suppl-receipt-info
           [1]  SupplementaryInformation OPTIONAL}
  ERRORS    {subscription-error}
}

change-auto-forwarding ABSTRACT-OPERATION ::= {
  ARGUMENT
    SET {auto-forward-IPMs        [0]  BOOLEAN,
         auto-forward-recipients  [1]  SEQUENCE OF ORName OPTIONAL,
         auto-forward-heading     [2]  Heading OPTIONAL,
         auto-forward-comment     [3]  AutoForwardComment OPTIONAL}
  ERRORS    {subscription-error | recipient-improperly-specified}
}

-- Abstract errors
subscription-error ABSTRACT-ERROR ::= {
  PARAMETER  SET {problem  [0]  SubscriptionProblem}
}

SubscriptionProblem ::= ENUMERATED {
  ipms-eos-not-subscribed(0), mts-eos-not-subscribed(1)}

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