ELTEX-LICENSE-MIB DEFINITIONS ::= BEGIN

  IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Unsigned32
      FROM SNMPv2-SMI

    TEXTUAL-CONVENTION,
    DisplayString,
    TruthValue,
    MacAddress
      FROM SNMPv2-TC

    eltexLtd
      FROM ELTEX-SMI-ACTUAL;

  eltexLicenseMIB MODULE-IDENTITY
    LAST-UPDATED "201807310000Z"
    ORGANIZATION "Eltex Enterprise Co, Ltd."
    CONTACT-INFO 
        "www.eltex-co.ru"
    DESCRIPTION  
        "This MIB module provides object to manage and view license
         files that are installed in the system. It also provides
         information about features and services that are activated
         in the system by installed licenses."
    REVISION    "201807310000Z"
    DESCRIPTION
         "Initial version."

  ::= { eltexLtd 49 }


-------------------------------------------------------------------------------
-- Textual Conventions.

  EltexLicenseStatus ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "Status of installed license"
    SYNTAX      INTEGER {
                  active(1),
                  activeAfterReboot(2),
                  inactiveAfterReboot(3),
                  deviceMismatching(4)
                }

  EltexLicenseType ::= TEXTUAL-CONVENTION
    STATUS      current
    DESCRIPTION "Type of license"
    SYNTAX      INTEGER {
                  legacy(1),
                  elmNoLimit(2),
                  elmTrial(3)
                }

-------------------------------------------------------------------------------

  eltexLicenseMIBObjects    OBJECT IDENTIFIER ::= { eltexLicenseMIB 1 }

  eltexLicenseGeneral       OBJECT IDENTIFIER ::= { eltexLicenseMIBObjects 1 }

-------------------------------------------------------------------------------

  eltexLicenseInformation   OBJECT IDENTIFIER ::= { eltexLicenseMIBObjects 2 }

--
-- License Info Table
--
  eltexLicenseInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltexLicenseInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This table contains information about all the licenses
                 installed on the device."
    ::= { eltexLicenseInformation 1 }

  eltexLicenseInfoEntry OBJECT-TYPE
    SYNTAX      EltexLicenseInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Each entry contains information about a license that 
                 was successfully installed on the device."
    INDEX { eltexLicenseInfoId }
    ::= { eltexLicenseInfoTable 1 }

  EltexLicenseInfoEntry ::= SEQUENCE {
      eltexLicenseInfoId                  Unsigned32,
      eltexLicenseInfoFileName            DisplayString,
      eltexLicenseInfoVersion             Unsigned32,
      eltexLicenseInfoStatus              EltexLicenseStatus,
      eltexLicenseInfoSerialNumber        DisplayString,
      eltexLicenseInfoMacAddress          MacAddress,
      eltexLicenseInfoVendorName          DisplayString,
      eltexLicenseInfoDeviceName          DisplayString,
      eltexLicenseType                    EltexLicenseType,
      eltexLicenseTotalDuration           Unsigned32,
      eltexLicenseTimeToExpire            Unsigned32
    }

  eltexLicenseInfoId OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "A numeric value that uniquely identifies a license 
                installed in the system."
    ::= { eltexLicenseInfoEntry 1 }

  eltexLicenseInfoFileName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Name of the file that contains license information."
    ::= { eltexLicenseInfoEntry 2 }

  eltexLicenseInfoVersion OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "A version of the license. Two higher bytes are the major
                 version number and two lower bytes are the minor version.

                 Minimum and maximum supported license versions are shown 
                 in eltexLicenseMinVersionSupported
                 and eltexLicenseMaxVersionSupported objects."
    ::= { eltexLicenseInfoEntry 3 }

  eltexLicenseInfoStatus OBJECT-TYPE
    SYNTAX      EltexLicenseStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Current status of the license."
    ::= { eltexLicenseInfoEntry 4 }

  eltexLicenseInfoSerialNumber OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The serial number of a device which this license is valid for.
                 A serial number alongside with base MAC address identifies
                 a device this license should be installed on."
    ::= { eltexLicenseInfoEntry 5 }

  eltexLicenseInfoMacAddress OBJECT-TYPE
    SYNTAX      MacAddress
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The base MAC address of a device which this license is valid for.
                 A base MAC address alongside with serial number identifies
                 a device this license should be installed on."
    ::= { eltexLicenseInfoEntry 6 }

  eltexLicenseInfoVendorName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "A name of device vendor."
    ::= { eltexLicenseInfoEntry 7 }

  eltexLicenseInfoDeviceName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "A name of device model."
    ::= { eltexLicenseInfoEntry 8 }

  eltexLicenseType OBJECT-TYPE
    SYNTAX      EltexLicenseType
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Type of license."
    ::= { eltexLicenseInfoEntry 9 }

  eltexLicenseTotalDuration OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Total duration time of license in seconds."
    ::= { eltexLicenseInfoEntry 10 }

  eltexLicenseTimeToExpire OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Time in seconds after which license will expire."
    ::= { eltexLicenseInfoEntry 11 }

-------------------------------------------------------------------------------

  eltexLicenseFeature       OBJECT IDENTIFIER ::= { eltexLicenseMIBObjects 3 }

--
-- Feature Table
--
  eltexLicenseFeatureTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltexLicenseFeatureEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This table contains information about all the features
                 licensed for the device."
    ::= { eltexLicenseFeature 1 }

  eltexLicenseFeatureEntry OBJECT-TYPE
    SYNTAX      EltexLicenseFeatureEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Each entry contains information about a feature that 
                 is licensed for this device."
    INDEX { eltexLicenseFeatureName }
    ::= { eltexLicenseFeatureTable 1 }

  EltexLicenseFeatureEntry ::= SEQUENCE {
      eltexLicenseFeatureName                DisplayString,
      eltexLicenseFeatureActive              TruthValue,
      eltexLicenseFeatureCountable           TruthValue,
      eltexLicenseFeatureLicensesInstalled   Unsigned32,
      eltexLicenseFeatureLicensesUsed        Unsigned32
    }

  eltexLicenseFeatureName OBJECT-TYPE
    SYNTAX      DisplayString
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "The name of licensed feature."
    ::= { eltexLicenseFeatureEntry 1 }

  eltexLicenseFeatureActive OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates if the feature is now active in the system.

                 On some devices, the features can be activated only during
                 initialization. This field can be 'false' if a device wasn't 
                 rebooted after license installation or license credentials 
                 are not matching the current device."
    ::= { eltexLicenseFeatureEntry 2 }

  eltexLicenseFeatureCountable OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates if the number of utilized resources is licensed
                 for this feature.

                 The licensed feature can utilize the number of resources no
                 more than the sum of all countable licenses for this
                 feature. The maximum possible number of resources is 
                 shown in the field eltexLicenseFeatureLicensesInstalled.
                 The current utilization is shown in 
                 fieldeltexLicenseFeatureLicensesUsed."
    ::= { eltexLicenseFeatureEntry 3 }

  eltexLicenseFeatureLicensesInstalled OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of installed licenses for this feature.
                 If the feature uses countable licenses, this field shows
                 the maximum number of resources which the feature can
                 utilize."
    ::= { eltexLicenseFeatureEntry 4 }

  eltexLicenseFeatureLicensesUsed OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "The number of licenses that are used by feature at the moment.
                 If the feature uses countable licenses, this field shows
                 the current utilization of resources by this feature."
    ::= { eltexLicenseFeatureEntry 5 }

--
-- Feature List Table
--
  eltexLicenseFeatureListTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF EltexLicenseFeatureListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "This table contains the lists of features that contained
                 in each license file."
    ::= { eltexLicenseFeature 2 }

  eltexLicenseFeatureListEntry OBJECT-TYPE
    SYNTAX      EltexLicenseFeatureListEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION "Each entry contains a link between license ID and feature
                 name."
    INDEX { eltexLicenseInfoId,
            eltexLicenseFeatureName }
    ::= { eltexLicenseFeatureListTable 1 }

  EltexLicenseFeatureListEntry ::= SEQUENCE {
      eltexLicenseFeatureListCount           Unsigned32
    }

  eltexLicenseFeatureListCount OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION "Indicates the number of resources the licensed feature is
                 allowed to utilize."
    ::= { eltexLicenseFeatureListEntry 1 }

-------------------------------------------------------------------------------

  eltexLicenseMIBNotifications          OBJECT IDENTIFIER ::= { eltexLicenseMIB 2 }
  eltexLicenseMIBNotificationsPrefix    OBJECT IDENTIFIER ::= { eltexLicenseMIBNotifications 0 }

  eltexLicenseMIBConformance            OBJECT IDENTIFIER ::= { eltexLicenseMIB 3 }


END
