--************************************************************************************
--                                                                          
--    Copyright 2014 Electroline Equipment Inc                              
--    All Rights Reserved                                                   
--                                                                          
--                                                                          
--************************************************************************************
--    Filename		:   ELECTROLINE-ALPHA-TECHNOLOGIES.mib
--    Author 		:   Anass El bahri
--    Creation Date :   2014.08.04
--
--************************************************************************************
--    Description:
--
--		This MIB contains all alpha technologies Inc tables
--
--************************************************************************************
--    Revision History:
--    2014.08.04	Anass El bahri   	First Draft	
--    2014.12.10	Anass El bahri   	add the rest of tables (except Cib Text Table)
--    2015.04.22    Emilian Bajenaru    Added the Discrete Alarm MIB
--************************************************************************************

ELECTROLINE-AMI-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY,
    OBJECT-TYPE,
    Integer32, Counter32
        FROM SNMPv2-SMI
    DisplayString
        FROM RFC1213-MIB
    IpAddress
        FROM SNMPv2-SMI
    RowStatus
        FROM SNMPv2-TC
    TruthValue
        FROM SNMPv2-TC
    dhtExtensionsMibObjects
        FROM ELECTROLINE-DHT-EXTENSIONS-MIB;
                    
amiIdentMIB MODULE-IDENTITY
    LAST-UPDATED "201408040000Z"
    ORGANIZATION "Electroline Equipment Inc"
    CONTACT-INFO
        "Electroline Equipment Inc.
         E-mail: support@electroline.com
         Telephone:
         	(514) 374-6335 
         	(800)-461-3344 (Toll-free - North America)
        "
    DESCRIPTION
        "This set of objects monitor and control Alpha power supply that may be present and connected to the DHT.
         This file includes a control objects, and status objects.
        "
    REVISION      "201412100000Z"
    DESCRIPTION
            "Initial version of this MIB module."
    ::= { dhtExtensionsMibObjects 17 } 

-------------------------------- 
-- Alpha technologies objects
--------------------------------

amiIdentObjects    OBJECT IDENTIFIER ::= { amiIdentMIB 1 } 

amiTables          OBJECT IDENTIFIER ::= { amiIdentObjects 1}

amiCibTables       OBJECT IDENTIFIER ::= { amiTables 1 }

-------------------------------- 
-- Alpha discrete table
--------------------------------

amiCibDiscTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF AmiCibDiscEntry 
    ACCESS     not-accessible
    STATUS     current
    DESCRIPTION "Table of Discrete Data Items"
    ::= { amiCibTables 1 }

amiCibDiscEntry OBJECT-TYPE
    SYNTAX     AmiCibDiscEntry 
    ACCESS     not-accessible
    STATUS     current
    DESCRIPTION "One item in this table"
    INDEX { amiCibDiscClass, amiCibDiscAddr, amiCibDiscIndex }
    ::= { amiCibDiscTable 1 }

AmiCibDiscEntry ::= SEQUENCE {
    amiCibDiscClass INTEGER,
    amiCibDiscAddr INTEGER,
    amiCibDiscIndex INTEGER,
    amiCibDiscName DisplayString,
    amiCibDiscValue INTEGER,
    amiCibDiscEnum DisplayString,
    amiCibDiscAccess INTEGER,
    amiCibDiscAlarm INTEGER
}

amiCibDiscClass OBJECT-TYPE
    SYNTAX     INTEGER { ipu(4), sag(6), apu(7), bss(8), doc(11), xm2(12), xm3(13), enc(14), app(16), btq(17), utl(18), ecm(19), ssc(20) }
    ACCESS      read-only 
    STATUS      current
    DESCRIPTION "Device Address"
    ::= { amiCibDiscEntry 1 }

amiCibDiscAddr OBJECT-TYPE
    SYNTAX      INTEGER 
    ACCESS      read-only 
    STATUS      current
    DESCRIPTION "Current Value for Discrete"
    ::= { amiCibDiscEntry 2 } 

amiCibDiscIndex OBJECT-TYPE
    SYNTAX     INTEGER 
    ACCESS 	   read-only 
    STATUS     current
    DESCRIPTION "Index for this table"
    ::= { amiCibDiscEntry 3 }

amiCibDiscName OBJECT-TYPE
    SYNTAX     DisplayString 
    ACCESS     read-only
    STATUS     current
    DESCRIPTION "Name of Discrete"
    ::= { amiCibDiscEntry 4 }

amiCibDiscValue OBJECT-TYPE
    SYNTAX     INTEGER 
    MAX-ACCESS read-write 
    STATUS     current
    DESCRIPTION "Current Value for Discrete"
    ::= { amiCibDiscEntry 5 }

amiCibDiscEnum OBJECT-TYPE
    SYNTAX     DisplayString 
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION "Enumerated name for the current value"
    ::= { amiCibDiscEntry 6 }

amiCibDiscAccess OBJECT-TYPE
    SYNTAX     INTEGER { readonly(1), readwrite(2), syswrite(37) }
    ACCESS     read-only 
    STATUS     current
    DESCRIPTION "Device Accessibility"
    ::= { amiCibDiscEntry 7 }

amiCibDiscAlarm OBJECT-TYPE
    SYNTAX     INTEGER { ok(1), alarmminor(2), alarmmajor(3), alarminfo(4), alarmwarn(5) }
    ACCESS     read-only 
    STATUS     current
    DESCRIPTION "If item is in alarm, alarm level per the device attributes table"
    ::= { amiCibDiscEntry 8 }

-------------------------------- 
-- Alpha analog table
--------------------------------

amiCibAnaTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF AmiCibAnaEntry 
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION "Table of Counter Data Items"
    ::= { amiCibTables 2 }

amiCibAnaEntry OBJECT-TYPE
    SYNTAX     AmiCibAnaEntry 
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION "One item in this table"
    INDEX { amiCibAnaClass, amiCibAnaAddr, amiCibAnaIndex }
    ::= { amiCibAnaTable 1 }

AmiCibAnaEntry ::= SEQUENCE {
    amiCibAnaClass INTEGER,
    amiCibAnaAddr INTEGER,
    amiCibAnaIndex INTEGER,
    amiCibAnaName DisplayString,
    amiCibAnaValue INTEGER,
    amiCibAnaUnits DisplayString,
    amiCibAnaAccess INTEGER
}                  

amiCibAnaClass OBJECT-TYPE
    SYNTAX     INTEGER { ipu(4), sag(6), apu(7), bss(8), doc(11), xm2(12), xm3(13), enc(14), app(16), btq(17), utl(18), ecm(19), ssc(20) }
    ACCESS read-only 
    STATUS     mandatory
    DESCRIPTION "Device Address"
    ::= { amiCibAnaEntry 1 }

amiCibAnaAddr OBJECT-TYPE
    SYNTAX     INTEGER 
    ACCESS read-only 
    STATUS     mandatory
    DESCRIPTION "Current Value for Discrete"
    ::= { amiCibAnaEntry 2 } 

amiCibAnaIndex OBJECT-TYPE
    SYNTAX     INTEGER 
    ACCESS read-only 
    STATUS     mandatory
    DESCRIPTION "Index for this table"
    ::= { amiCibAnaEntry 3 }

amiCibAnaName OBJECT-TYPE
    SYNTAX     DisplayString 
    ACCESS read-only
    STATUS     mandatory
    DESCRIPTION "Name of Discrete"
    ::= { amiCibAnaEntry 4 }

amiCibAnaValue OBJECT-TYPE
    SYNTAX     INTEGER 
    MAX-ACCESS read-write 
    STATUS     mandatory
    DESCRIPTION "Current Value for Discrete"
    ::= { amiCibAnaEntry 5 }

amiCibAnaUnits OBJECT-TYPE
    SYNTAX     DisplayString 
    MAX-ACCESS read-only
    STATUS     mandatory
    DESCRIPTION "Enumerated name for the current value"
    ::= { amiCibAnaEntry 6 }

amiCibAnaAccess OBJECT-TYPE
    SYNTAX     INTEGER { readonly(1), readwrite(2), syswrite(37) }
    ACCESS read-only 
    STATUS     mandatory
    DESCRIPTION "Device Accessability"
    ::= { amiCibAnaEntry 7 }

-------------------------------- 
-- Alpha counter table
--------------------------------

amiCibCountTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF AmiCibCountEntry 
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION "Table of Counter Data Items"
    ::= { amiCibTables 3 }

amiCibCountEntry OBJECT-TYPE
    SYNTAX     AmiCibCountEntry 
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION "One item in this table"
    INDEX { amiCibCountClass, amiCibCountAddr, amiCibCountIndex }
    ::= { amiCibCountTable 1 }

AmiCibCountEntry ::= SEQUENCE {
    amiCibCountClass INTEGER,
    amiCibCountAddr INTEGER,
    amiCibCountIndex INTEGER,
    amiCibCountName DisplayString,
    amiCibCountValue INTEGER,
    amiCibCountUnits DisplayString,
    amiCibCountAccess INTEGER
}

amiCibCountClass OBJECT-TYPE
    SYNTAX     INTEGER { ibm(6), bss(8), xm2(12), sys(14), ecm(19) }
    ACCESS read-only 
    STATUS     mandatory
    DESCRIPTION "Device Address"
    ::= { amiCibCountEntry 1 }

amiCibCountAddr OBJECT-TYPE
    SYNTAX     INTEGER 
    ACCESS read-only 
    STATUS     mandatory
    DESCRIPTION "Current Value for Discrete"
    ::= { amiCibCountEntry 2 } 

amiCibCountIndex OBJECT-TYPE
    SYNTAX     INTEGER 
    ACCESS read-only 
    STATUS     mandatory
    DESCRIPTION "Index for this table"
    ::= { amiCibCountEntry 3 }

amiCibCountName OBJECT-TYPE
    SYNTAX     DisplayString 
    ACCESS read-only
    STATUS     mandatory
    DESCRIPTION "Name of Discrete"
    ::= { amiCibCountEntry 4 }

amiCibCountValue OBJECT-TYPE
    SYNTAX     INTEGER 
    MAX-ACCESS read-write 
    STATUS     mandatory
    DESCRIPTION "Current Value for Discrete"
    ::= { amiCibCountEntry 5 }

amiCibCountUnits OBJECT-TYPE
    SYNTAX     DisplayString 
    MAX-ACCESS read-only
    STATUS     mandatory
    DESCRIPTION "Enumerated name for the current value"
    ::= { amiCibCountEntry 6 }

amiCibCountAccess OBJECT-TYPE
    SYNTAX     INTEGER { readonly(1), readwrite(2), syswrite(37) }
    ACCESS read-only 
    STATUS     mandatory
    DESCRIPTION "Device Accessability"
    ::= { amiCibCountEntry 7 }

-------------------------------- 
-- Alpha Text table
--------------------------------

amiCibTextTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF AmiCibTextEntry 
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION "Table of Text Data Items"
    ::= { amiCibTables 4 }

amiCibTextEntry OBJECT-TYPE
    SYNTAX     AmiCibTextEntry 
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION "One item in this table"
    INDEX { amiCibTextIndex }
    ::= { amiCibTextTable 1 }

AmiCibTextEntry ::= SEQUENCE {
    amiCibTextIndex INTEGER,
    amiCibTextName DisplayString,
    amiCibTextValue DisplayString,
    amiCibTextAccess INTEGER
}

amiCibTextIndex OBJECT-TYPE
    SYNTAX     INTEGER 
    ACCESS read-only 
    STATUS     mandatory
    DESCRIPTION "Index for this table"
    ::= { amiCibTextEntry 1 }

amiCibTextName OBJECT-TYPE
    SYNTAX     DisplayString 
    ACCESS read-only
    STATUS     mandatory
    DESCRIPTION "Name of Discrete"
    ::= { amiCibTextEntry 2 }

amiCibTextValue OBJECT-TYPE
    SYNTAX     DisplayString 
    MAX-ACCESS read-write 
    STATUS     mandatory
    DESCRIPTION "Current Value for Discrete"
    ::= { amiCibTextEntry 3 }

amiCibTextAccess OBJECT-TYPE
    SYNTAX     INTEGER { readonly(1), readwrite(2), syswrite(37) }
    ACCESS read-only 
    STATUS     mandatory
    DESCRIPTION "Device Accessability"
    ::= { amiCibTextEntry 4 }

-------------------------------- 
-- Alpha Version table
--------------------------------

amiCibVersionTable OBJECT-TYPE
    SYNTAX     SEQUENCE OF AmiCibVersionEntry 
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION "Table of Device Version strings"
    ::= { amiCibTables 5 }

amiCibVersionEntry OBJECT-TYPE
    SYNTAX     AmiCibVersionEntry
    ACCESS     not-accessible
    STATUS     mandatory
    DESCRIPTION "One item in this table"
    INDEX { amiCibVersionClass, amiCibVersionAddr, amiCibVersionIndex }
    ::= { amiCibVersionTable 1 }

AmiCibVersionEntry ::= SEQUENCE {
    amiCibVersionClass INTEGER,
    amiCibVersionAddr INTEGER,
    amiCibVersionIndex INTEGER,
    amiCibVersionText DisplayString
}

amiCibVersionClass OBJECT-TYPE
    SYNTAX     INTEGER { ipu(4), sag(6), apu(7), bss(8), doc(11), xm2(12), xm3(13), enc(14), app(16), btq(17), utl(18), ecm(19), ssc(20) }
    ACCESS read-only
    STATUS     mandatory
    DESCRIPTION "Class of the device"
    ::= { amiCibVersionEntry 1 }

amiCibVersionAddr OBJECT-TYPE
    SYNTAX     INTEGER (0..255)
    ACCESS read-only
    STATUS     mandatory
    DESCRIPTION "Address of Device within its class"
    ::= { amiCibVersionEntry 2 }

amiCibVersionIndex OBJECT-TYPE
    SYNTAX     INTEGER (0..255)
    ACCESS read-only 
    STATUS     mandatory
    DESCRIPTION "Index for this text line"
    ::= { amiCibVersionEntry 3 }

amiCibVersionText OBJECT-TYPE
    SYNTAX     DisplayString 
    ACCESS read-only
    STATUS     mandatory
    DESCRIPTION "Version Information"
    ::= { amiCibVersionEntry 4 }
                                        
END
  