AGFEO-PBX-MIB DEFINITIONS ::= BEGIN



IMPORTS
    MODULE-IDENTITY, OBJECT-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Integer32, enterprises FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP  FROM SNMPv2-CONF;



agfeoMib MODULE-IDENTITY
    LAST-UPDATED "202003270000Z"
    ORGANIZATION "AGFEO GmbH & Co.KG"
    CONTACT-INFO
        "Thomas Beckmann
        AGFEO GmbH & Co.KG
        33647 Bielefeld
        Germany
        Tel: +49 521 44709-721
        E-Mail: tbeckmann@agfeo.de"

    DESCRIPTION  "AGFEO PBX Support MIB"

    REVISION     "202003270000Z"
    DESCRIPTION  "New objects for licences and ipchannels"

    REVISION     "201810250000Z"
    DESCRIPTION  "Second Release"

    REVISION     "201810140000Z"
    DESCRIPTION  "First Release"
    ::= {enterprises 53023}

--
-- nodes common
--
agfeoMibObjects  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "agfeo mib objects"
    ::= { agfeoMib 1 }

agfeoCommon  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "agfeo common objects"
    ::= { agfeoMibObjects 1 }

agfeoCommonCfg  OBJECT-IDENTITY 
    STATUS current
    DESCRIPTION
        "agfeo common config"
    ::= { agfeoCommon 1 }

agfeoCommonStats  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "agfeo common stats"
    ::= { agfeoCommon 2 }

agfeoCommonLicence  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "agfeo common stats"
    ::= { agfeoCommon 3 }

--
-- nodes config
--
agfeoCCfgSip  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "agfeo sip config"
    ::= { agfeoCommonCfg 1 }

--
-- nodes stats
--
agfeoCStaGeneral  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "agfeo sip stats"
    ::= { agfeoCommonStats 1 }

agfeoCStaSip  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "agfeo sip stats"
    ::= { agfeoCommonStats 2 }

agfeoCStaIpChannel  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "agfeo ipchannel stats"
    ::= { agfeoCommonStats 3 }

agfeoCStaCalls  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "agfeo ipchannel stats"
    ::= { agfeoCommonStats 4 }


--
-- General
--
agfeoCStaPbxProduct OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Product identifier of the PBX-system."
        ::= { agfeoCStaGeneral 1 }

agfeoCStaPbxProductId OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Product-Id of the PBX-system."
        ::= { agfeoCStaGeneral 2 }

agfeoCStaPbxFirmware OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Current Firmware of the PBX-system."
        ::= { agfeoCStaGeneral 3 }

agfeoCStaPbxAppUpTime OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Uptime of the PBX-application. Time since last restart."
        ::= { agfeoCStaGeneral 4 }


--
-- Example scalars
--
agfeoCStaSipTest  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "agfeo sip stats"
    ::= { agfeoCStaSip 1 }

agfeoCStaSipTestInteger OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Global SIP-setting."
        ::= { agfeoCStaSipTest 1 }


--
-- SIP Account Cfg
--
agfeoCCfgSipAccountTable OBJECT-TYPE                       -- table object
    SYNTAX     SEQUENCE OF AgfeoCCfgSipAccountEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table contains the status of sip accounts."
    ::= { agfeoCCfgSip 1 }

agfeoCCfgSipAccountEntry OBJECT-TYPE                       -- entry object
    SYNTAX     AgfeoCCfgSipAccountEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Each row represents a SIP account."
     INDEX      { agfeoCCfgSipAccountIndex }
    ::= { agfeoCCfgSipAccountTable 1 }    

AgfeoCCfgSipAccountEntry ::= SEQUENCE {                    -- sequence statement
    agfeoCCfgSipAccountIndex   Integer32,
    agfeoCCfgSipAccountName    OCTET STRING,
    agfeoCCfgSipAccountActive  INTEGER
}

agfeoCCfgSipAccountIndex OBJECT-TYPE
    SYNTAX     Integer32 (0..31)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An index to uniquely identify the SIP account."
    ::= { agfeoCCfgSipAccountEntry 1 }

agfeoCCfgSipAccountName OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Description/Name of the SIP account."
    ::= { agfeoCCfgSipAccountEntry 2 }

agfeoCCfgSipAccountActive OBJECT-TYPE
    SYNTAX     INTEGER {
      inactive(0), 
      active(1) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Activation of the SIP account."
    ::= { agfeoCCfgSipAccountEntry 3 }    



--
-- SIP Account Status
--
agfeoCStaSipAccountTable OBJECT-TYPE                -- table object
    SYNTAX     SEQUENCE OF AgfeoCStaSipAccountEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table contains the status of sip accounts."
    ::= { agfeoCStaSip 2 }

agfeoCStaSipAccountEntry OBJECT-TYPE                -- entry object
    SYNTAX     AgfeoCStaSipAccountEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Each row represents a SIP account."
     INDEX      { agfeoCStaSipAccountIndex }
    ::= { agfeoCStaSipAccountTable 1 }    

AgfeoCStaSipAccountEntry ::= SEQUENCE {             -- sequence statement
    agfeoCStaSipAccountIndex   Integer32,
    agfeoCStaSipAccountStatus  INTEGER,
    agfeoCStaSipAccountCause   OCTET STRING
}

agfeoCStaSipAccountIndex OBJECT-TYPE
    SYNTAX     Integer32 (0..31)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An index to uniquely identify the SIP account."
    ::= { agfeoCStaSipAccountEntry 1 }

agfeoCStaSipAccountStatus OBJECT-TYPE
    SYNTAX     INTEGER {
      down(0), 
      up(1) }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The current status of the SIP account."
    ::= { agfeoCStaSipAccountEntry 2 }    
    
agfeoCStaSipAccountCause OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Last received cause."
    ::= { agfeoCStaSipAccountEntry 3 }    


--
-- IpChannel
--
agfeoCStaIpChannelAvailActual OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Available IP-Channels for this device."
        ::= { agfeoCStaIpChannel 1 }

agfeoCStaIpChannelAvailMax OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Max IP-Channels for this device."
        ::= { agfeoCStaIpChannel 2 }

agfeoCStaIpChannelLoadActual OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Actual ip-channel load."
        ::= { agfeoCStaIpChannel 3 }

agfeoCStaIpChannelLoadMax OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Max ip-channel load for the last 7 days."
        ::= { agfeoCStaIpChannel 4 }

--
-- Calls
--
agfeoCStaCallsAvailActual OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Available Calls for this device."
        ::= { agfeoCStaCalls 1 }

agfeoCStaCallsAvailMax OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Max Calls for this device."
        ::= { agfeoCStaCalls 2 }

agfeoCStaCallsLoadActual OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Actual calls load."
        ::= { agfeoCStaCalls 3 }

agfeoCStaCallsLoadMax OBJECT-TYPE
    SYNTAX      Integer32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Max calls load for the last 7 days."
        ::= { agfeoCStaCalls 4 }

--
-- Licences
--
agfeoCLicenceTable OBJECT-TYPE                       -- table object
    SYNTAX     SEQUENCE OF AgfeoCLicenceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "This table contains the licences."
    ::= { agfeoCommonLicence 1 }

agfeoCLicenceEntry OBJECT-TYPE                       -- entry object
    SYNTAX     AgfeoCLicenceEntry
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "Each row represents a licence."
     INDEX      { agfeoCLicenceIndex }
    ::= { agfeoCLicenceTable 1 }    

AgfeoCLicenceEntry ::= SEQUENCE {                    -- sequence statement
    agfeoCLicenceIndex         Integer32,
    agfeoCLicenceVersion       OCTET STRING,
    agfeoCLicenceIssue         OCTET STRING,
    agfeoCLicenceUUID          OCTET STRING,
    agfeoCLicenceSerial        OCTET STRING,
    agfeoCLicenceCode          OCTET STRING,
    agfeoCLicenceAmount        INTEGER,
    agfeoCLicenceStart         OCTET STRING,
    agfeoCLicenceEnd           OCTET STRING,
    agfeoCLicenceStatus        OCTET STRING
}

agfeoCLicenceIndex OBJECT-TYPE
    SYNTAX     Integer32 (0..31)
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
        "An index to uniquely identify the licence."
    ::= { agfeoCLicenceEntry 1 }

agfeoCLicenceVersion OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "licence-version"
    ::= { agfeoCLicenceEntry 2 }

agfeoCLicenceIssue OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Publication date."
    ::= { agfeoCLicenceEntry 3 }    

agfeoCLicenceUUID OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "UUID."
    ::= { agfeoCLicenceEntry 4 }    

agfeoCLicenceSerial OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The licence is valid for this serialnumber."
    ::= { agfeoCLicenceEntry 5 }    

agfeoCLicenceCode OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "The licence feature-code."
    ::= { agfeoCLicenceEntry 6 }    

agfeoCLicenceAmount OBJECT-TYPE
    SYNTAX     INTEGER
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Amount of objects."
    ::= { agfeoCLicenceEntry 7 }    

agfeoCLicenceStart OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "First day of validity."
    ::= { agfeoCLicenceEntry 8 }    

agfeoCLicenceEnd OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Last day of validity."
    ::= { agfeoCLicenceEntry 9 }    

agfeoCLicenceStatus OBJECT-TYPE
    SYNTAX     OCTET STRING
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "Status"
    ::= { agfeoCLicenceEntry 10 }    


--
-- notifications
--
agfeoMibNotify  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "agfeo mib notifications"
    ::= { agfeoMib 2 }

agfeoEventList  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "Notification objects are organized under this node"
    ::= { agfeoMibNotify 0 }

agfeoEventGeneric  NOTIFICATION-TYPE
    OBJECTS {
        agfeoEventPropType,
        agfeoEventPropSeverity,
        agfeoEventPropText
    }
    STATUS current
    DESCRIPTION
        "generic event"
    ::= { agfeoEventList 1 }

agfeoEventProperties  OBJECT-IDENTITY
    STATUS current
    DESCRIPTION
        "node"
    ::= { agfeoMibNotify 1 }

agfeoEventPropType OBJECT-TYPE
    SYNTAX     INTEGER {
      type0 (0), 
      type1 (1), 
      sipaccount (2), 
      type3 (3) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "type of message"
    ::= { agfeoEventProperties 1 }

agfeoEventPropSeverity OBJECT-TYPE
    SYNTAX  INTEGER {
        emergency (0),          --system is unusable
        alert (1),              --action must be taken immediately
        critical (2),           --critical conditions
        error (3),              --error conditions
        warning (4),            --warning conditions
        notice (5),             --normal but significant condition
        informational (6),      --informational messages
        debug (7)               --debug-level messages
    }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "severity level of message"
    ::= { agfeoEventProperties 2 }

agfeoEventPropText OBJECT-TYPE
    SYNTAX      OCTET STRING
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "text of message"
    ::= { agfeoEventProperties 3 }
-- end if notifications




--
-- conformance information
--
agfeoMIBConformance  OBJECT IDENTIFIER 
    ::= { agfeoMib 3 }

agfeoCompliances     OBJECT IDENTIFIER ::= { agfeoMIBConformance 1 }
agfeoGroups          OBJECT IDENTIFIER ::= { agfeoMIBConformance 2 }

-- compliance statements
agfeoCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "The compliance statement for SNMPv2 entities which
            implement the SNMPv2 MIB."
    MODULE  -- this module
        MANDATORY-GROUPS { agfeoGroup, agfeoAccountGroup, agfeoPropGroup, agfeoBasicNotificationGroup }
    ::= { agfeoCompliances 1 }

agfeoGroup OBJECT-GROUP
    OBJECTS { agfeoCStaPbxProduct, agfeoCStaPbxProductId, agfeoCStaPbxFirmware, agfeoCStaPbxAppUpTime }
    STATUS  current
    DESCRIPTION
            "A collection of objects providing basic instrumentation and
            control of an SNMPv2 entity."
    ::= { agfeoGroups 1 }

agfeoAccountGroup OBJECT-GROUP
    OBJECTS { agfeoCStaSipTestInteger, agfeoCCfgSipAccountName, agfeoCCfgSipAccountActive, agfeoCStaSipAccountStatus, agfeoCStaSipAccountCause }
    STATUS  current
    DESCRIPTION
            "bla"
    ::= { agfeoGroups 2 }

agfeoPropGroup OBJECT-GROUP
    OBJECTS { agfeoEventPropType, agfeoEventPropSeverity, agfeoEventPropText }
    STATUS  current
    DESCRIPTION
            "bla"
    ::= { agfeoGroups 3 }

agfeoBasicNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS { agfeoEventGeneric }
    STATUS  current
    DESCRIPTION
            "The basic notifications"
    ::= { agfeoGroups 4 }
END





