-- Module UsageMeteringFunction (X.742:04/1995)
-- See also ITU-T X.742 (04/1995)
-- See also the index of all ASN.1 assignments needed in this document

UsageMeteringFunction {joint-iso-itu-t ms(9) function(2) part10(10)
  asn1Modules(2) 1} DEFINITIONS IMPLICIT TAGS ::=
BEGIN

-- EXPORTS everything
IMPORTS
  ObjectInstance
    FROM CMIP-1 {joint-iso-itu-t ms(9) cmip(1) modules(0) protocol(3)}
  DMI-TYPE-IDENTIFIER, ControlStatus, ProceduralStatus, SimpleNameType,
    ManagementExtension
    FROM Attribute-ASN1Module {joint-iso-itu-t ms(9) smi(3) part2(2)
      asn1Module(2) 1}
  TimePeriod
    FROM MetricModule {joint-iso-itu-t ms(9) function(2) part11(11)
      asn1Module(2) 0}
  UsageInfo
    FROM UsageMeteringDataInfo {joint-iso-itu-t ms(9) function(2) part10(10)
      asn1Modules(2) 2};

AccountableObjectReference ::= ObjectInstance

AccountableObjectsReferenceList ::= SET OF ObjectInstance

ActionArgument ::= CHOICE {
  selectedObjects  SET OF ObjectInstance,
  -- set of data objects, controlled by the control
  -- object for which the request is appropriate
  allObjects       NULL
  -- selects all data objects controlled by control
  -- object 
}

ActionResponse ::= SEQUENCE {
  -- at least one component shall be present
  success        [0]  SET OF ObjectInstance OPTIONAL,
  failed         [1]  SET OF ObjectInstance OPTIONAL,
  indeterminate  [2]  SET OF ObjectInstance OPTIONAL
}

UMF-AUDIT ::= DMI-TYPE-IDENTIFIER

AuditInfo ::= SEQUENCE {
  service       UMF-AUDIT.&id({AuditInfoSet}),
  auditDetails  UMF-AUDIT.&Value({AuditInfoSet}{@.service})
}

AuditInfoSet UMF-AUDIT ::=
  {...}

ControlInfo ::= SEQUENCE {
  actionResponse                   ActionResponse,
  reportingTriggers                [0]  ReportingTriggers OPTIONAL,
  accountableObjectsReferenceList
    [1]  AccountableObjectsReferenceList OPTIONAL,
  dataObjectsReferenceList         [2]  DataObjectsReferenceList OPTIONAL,
  additionalInformation            [3]  SET OF ManagementExtension
}

ControlStatusValue ::= ControlStatus(WITH COMPONENT (suspended))

DataErrors ::= CHOICE {
  possibleErrors  SET OF PossibleError,
  noProblem       NULL
}

DataObjectsReferenceList ::= SET OF ObjectInstance

DeniedMeteringAction ::= ENUMERATED {
  canNotStart(0), canNotSuspend(1), canNotResume(2)}

Induced ::= ENUMERATED {
  start(0), suspend(1), resume(2), delete(3), disabled(4), enabled(5)
}

NotificationCause ::= CHOICE {
  periodic  [1]  TimePeriod,
  induced   [2]  Induced,
  event     [3]  ReportingEvent,
  stimulus  [4]  OBJECT IDENTIFIER
}

PossibleError ::= OBJECT IDENTIFIER

ProceduralStatusValue ::= ProceduralStatus(WITH COMPONENT (terminating))

ProviderId ::= CHOICE {
  objectReference  [1]  ObjectInstance,
  textualName      [2]  GraphicString,
  serviceSpecific  [3]  ServiceSpecificId,
  unknown          [4]  NULL
}

ReportingTriggers ::=
  SET OF
    CHOICE {periodic  [1]  TimePeriod,
            induced   [2]  Induced,
            event     [3]  ReportingEvent,
            stimulus  [4]  OBJECT IDENTIFIER}

ReportingEvent ::= ENUMERATED {
  registration(0), request(1), accept(2), complete(3), corresponding(4),
  bulk(5), interruption(6)}

-- The applicability of each of these values must be specified by a specialization, together
-- with the exact semantics of the values used.
--	NOTE - All of events from 8.2.3 have been included in this enumerated type for the
-- sake of completeness. It does not imply that specializations need to assign semantics to all
-- of them. In particular the values "corresponding (4)" and "bulk (5)" may not be required in
-- certain specializations.
UMF-SERVICE ::=
  DMI-TYPE-IDENTIFIER

ServiceSpecificId ::= SEQUENCE {
  service            UMF-SERVICE.&id({ServiceSpecificSet}),
  serviceSpecificId  UMF-SERVICE.&Value({ServiceSpecificSet}{@.service})
}

ServiceSpecificSet UMF-SERVICE ::=
  {...}

UsageDataInfo ::= SEQUENCE {
  accountableObjectReference  [0]  ObjectInstance,
  notificationCause           [1]  NotificationCause,
  usageInfo                   [2]  UsageInfo,
  auditInfo                   [3]  AuditInfo OPTIONAL,
  dataErrors                  [4]  DataErrors,
  providerId                  [5]  ProviderId OPTIONAL,
  additionalInformation       [6]  SET OF ManagementExtension OPTIONAL
}

UsageMeteringControlObjectId ::= SimpleNameType

UsageMeteringDataObjectId ::= SimpleNameType

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