SIGUR-MIB DEFINITIONS ::= BEGIN

IMPORTS
    enterprises, OBJECT-TYPE FROM SNMPv2-SMI
    TimeStamp, DateAndTime FROM SNMPv2-TC;

sigurProduct OBJECT IDENTIFIER ::= { enterprises 56627 }

controllers OBJECT IDENTIFIER ::= { sigurProduct 1 }

informs OBJECT IDENTIFIER ::= { controllers 0 }

fireAlarmInform NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Fire"
    ::= { informs 1 }

voltageWrongInform NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Voltage"
    ::= { informs 2 }

tamperStateInform NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Tamper"
    ::= { informs 3 }

batteryStateInform NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Battery"
    ::= { informs 4 }

breakInInform NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "Break-in"
    ::= { informs 5 }

osdpReaderStateFail NOTIFICATION-TYPE
    STATUS current
    DESCRIPTION
        "OSDP readers"
    ::= { informs 6 }

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

serialNumber OBJECT-TYPE
    SYNTAX OCTET STRING (SIZE (0..128))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Serial number of controller"
    ::= { controllers 1 }

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

osdpReaderStateTable OBJECT-TYPE
    SYNTAX SEQUENCE OF OsdpReaderStateEntry
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "OSDP readers table"
    ::= { controllers 2 }

osdpReaderStateEntry OBJECT-TYPE
    SYNTAX OsdpReaderStateEntry
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Description."
    INDEX { osdpNumber }
    ::= { osdpReaderStateTable 1 }

OsdpReaderStateEntry ::=
    SEQUENCE {
        osdpNumber
            Counter,
        osdpState
            INTEGER,
        osdpAddress
            Counter
    }

osdpNumber OBJECT-TYPE
    SYNTAX Counter
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Number of readers"
    ::= { osdpReaderStateEntry 1 }

osdpState OBJECT-TYPE
    SYNTAX INTEGER {
        Unknown(0),
        NotConfigured(1),
        Misconfigured(2),
        Offline(3),
        Online(4),
        Unencrypted(5)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "States"
    ::= { osdpReaderStateEntry 2 }

osdpAddress OBJECT-TYPE
    SYNTAX Counter
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Reader address"
    ::= { osdpReaderStateEntry 3 }

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

voltage OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Power voltage"
    ::= { controllers 3 }

fireAlarmState OBJECT-TYPE
    SYNTAX INTEGER {
        Unknown(0),
        Fire(1),
        NotFire(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Fire alarm"
    ::= { controllers 4 }

localDateTime OBJECT-TYPE
    SYNTAX DateAndTime
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Local date time"
    ::= { controllers 5 }

batteryOperation OBJECT-TYPE
    SYNTAX INTEGER {
        Unknown(0),
        Charging(1),
        EmergencyPower(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Battery operation"
    ::= { controllers 6 }

tamperState OBJECT-TYPE
    SYNTAX INTEGER {
        Unknown(0),
        Normal(1),
        BreakIn(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Tamper state"
    ::= { controllers 7 }

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

ioPortStateTable OBJECT-TYPE
    SYNTAX SEQUENCE OF IoPortStateEntry
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "IO Ports"
    ::= { controllers 8 }

ioPortStateEntry OBJECT-TYPE
    SYNTAX IoPortStateEntry
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Description."
    INDEX { accessPoint }
    ::= { ioPortStateTable 1 }

IoPortStateEntry ::=
    SEQUENCE {
        accessPoint
            INTEGER,
        function
            INTEGER,
        physicalPin
            INTEGER,
        portState
            INTEGER,
        direction
            INTEGER
    }

accessPoint OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Access point"
    ::= { ioPortStateEntry 1 }

function OBJECT-TYPE
    SYNTAX INTEGER {
        Unknown(0),
        liTurnstilePanelA(1),
        liTurnstilePanelB(2),
        liTurnstilePanelL(3),
        loTurnstileIndA(4),
        loTurnstileIndB(5),
        loTurnstileIndL(6),
        liTurnstileDetA(7),
        liTurnstileDetB(8),
        loTurnstileCntlA(9),
        loTurnstileCntlB(10),
        loTurnstileCntlL(11),
        liDoorDet(12),
        liDoorRteA(13),
        liDoorRteB(14),
        liDoorRteX(15),
        liDoorLock(16),
        loDoorLock(17),
        loDoorUnlock(18),
        liGateDetA(19),
        liGateDetB(20),
        liGateDetC(21),
        liGatePanelM(22),
        liGatePanelS(23),
        loOprAllowed(24),
        loOprDeny(25),
        liFire(26),
        liOpd(27),
        loBreakAlarm(28),
        liRegDetA(29),
        liRegDetB(30),
        liTurnstileDetX(31),
        loImpAllowA(32),
        loImpAllowB(33),
        loImpDenyA(34),
        loImpDenyB(35),
        liReqmngstateNormal(36),
        liReqmngstateLock(37),
        liReqmngstateUnlock(38),
        loAlmNormal(39),
        loAlmAlarm(40),
        loDoorHoldAlarm(41),
        liDcin(42),
        loMngstateLock(43),
        loAcceptA(44),
        loAcceptB(45),
        loRejectA(46),
        loRejectB(47),
        loMngstateUnlock(48),
        loPowerMain(49),
        loPowerStandby(50),
        loTraflightA(51),
        loTraflightB(52),
        loCardinpocket(53),
        loLedc(54),
        loWaitingAlkoA(55),
        loWaitingAlkoB(56),
        liSurpressalko(57),
        liHallsensor(58),
        loWaitingEscortA(59),
        loWaitingEscortB(60),
        loGateOpen(61),
        loGateClose(62),
        loGateStop(63),
        loGateOpen2(64),
        loGateClose2(65),
        liGateDd(66),
        liGateDu(67),
        liResetPeopleCnt(68),

        liReaderOut(-1),
        liReaderIn(-2),
        liReaderUn(-3)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Function"
    ::= { ioPortStateEntry 2 }

physicalPin OBJECT-TYPE
    SYNTAX INTEGER{
        portDet1Pass1(0),
        portDet2Pass2(1),
        portDet3Rte1(2),
        portDet4Rte2(3),
        portDet5StopPass3(4),
        portDet6Pass4(5),
        portDet7Rte3(6),
        portDet8Rte4(7),
        portDet9Auxin1(8),
        portDet10Auxin2(9),
        portOpd(10),
        portFire(11),
        portDcd(12),
        portK1(13),
        portK2(14),
        portK3(15),
        portK4(16),
        portOut1Auxout1(17),
        portOut2Auxout2(18),
        portOut3(19),
        portOut4(20),
        portOut5(21),
        portL1ALed1(22),
        portL1B(23),
        portL2ALed2(24),
        portL2B(25),
        portL3A(26),
        portL3B(27),
        portL4A(28),
        portL4B(29),
        portCpi1(30),
        portCpi2(31),
        portCpi3(32),
        portLedrx(33),
        portLedtx(34),
        portLedpwr(35),
        portSnd(36),
        portRst(37),
        portBat(38),

        port1(-1),
        port2(-2),
        port3(-3),
        port4(-4)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "physicalPin"
    ::= { ioPortStateEntry 3 }

portState OBJECT-TYPE
    SYNTAX INTEGER {
        Unknown(0),
        Inactive(1),
        Active(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "States"
    ::= { ioPortStateEntry 4 }

direction OBJECT-TYPE
    SYNTAX INTEGER {
        Unknown(0),
        Input(1),
        Output(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Pin direction"
    ::= { ioPortStateEntry 5 }

activeState OBJECT-TYPE
    SYNTAX INTEGER {
        Normal(0),
        Inverted(1)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Active state"
    ::= { ioPortStateEntry 6 }

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

temperature OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Internal temperature"
    ::= { controllers 9 }

END
