NEWTEC-TERMINALS-MIB DEFINITIONS ::= BEGIN

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

    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    
    NtcEnable
        FROM NEWTEC-TC-MIB

    DisplayString,
    RowStatus
        FROM SNMPv2-TC

    ntcFunction
        FROM NEWTEC-MAIN-MIB;


--
--  Module Identification
--

ntcTerminals   MODULE-IDENTITY
    LAST-UPDATED "201802020900Z"
    ORGANIZATION "Newtec Cy"
    CONTACT-INFO
        "Newtec Cy
         Postal: Newtec Cy
                 Laarstraat 5
                 B-9100 Sint-Niklaas
                 Belgium

                Tel: +32 3 780 65 00
                Fax: +32 3 780 65 49
                Web: www.newtec.be
                E-mail: techsupport@newtec.be"
    DESCRIPTION
        "Newtec MIB containing definitions for the ACM terminals."

    REVISION  "201802020900Z"
    DESCRIPTION
        "Descriptions of ntcTermsCtrlIpAddr extended with regex."
    REVISION  "201504130700Z"
    DESCRIPTION
        "ntcTermsCfgStateName range extended"
    REVISION  "201407150800Z"
    DESCRIPTION
        "read-write becomes read-create"
    REVISION  "201402031200Z"
    DESCRIPTION
        "Default value for terminal-enable changed from off to on"
    REVISION  "201301081200Z"
    DESCRIPTION
        "Initial release for NOP1760 R1.0"
    ::= { ntcFunction  2700 }
    

--
-- Top-Level Structure
--

-- ntcTerminals content

ntcTermsObjects                  OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Container holding ntcTermsObjects definitions."
    ::= { ntcTerminals 1 }
    
ntcTermsConformance              OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Conformance requirements."
    ::= { ntcTerminals 2 }
    
-- ntcTermsObjects content

ntcTermsMon                      OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Container holding ntcTermsMon definitions."
    ::= { ntcTermsObjects 1 }
    
-- ntcTermsConformance content

ntcTermsConfCompliance           OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Device compliance statements."
    ::= { ntcTermsConformance 1 }
    
ntcTermsConfGroup                OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Groups used by device compliance statements."
    ::= { ntcTermsConformance 2 }
    

--
-- Managed Objects
--

ntcTermsMonStateTable            OBJECT-TYPE
    SYNTAX      SEQUENCE OF NtcTermsMonStateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Terminals Monitoring Table"
    ::= { ntcTermsMon 1 }

ntcTermsMonStateEntry            OBJECT-TYPE
    SYNTAX      NtcTermsMonStateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row of the ntcTermsMonStateTable."
    INDEX   { ntcTermsMonStateInx  }
    ::= { ntcTermsMonStateTable 1 }

NtcTermsMonStateEntry            ::= SEQUENCE {
    ntcTermsMonStateInx    Unsigned32,
    ntcTermsMonName        DisplayString,
    ntcTermsMonState       INTEGER,
    ntcTermsMonEsNo        Integer32
    }
    
ntcTermsMonStateInx              OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The index of the row (temporary until we have dynamic tables)"
    ::= { ntcTermsMonStateEntry 1 }
    
ntcTermsMonName                  OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(0..100))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The name of the terminal"
    ::= { ntcTermsMonStateEntry 2 }
    
ntcTermsMonState                 OBJECT-TYPE
    SYNTAX      INTEGER { off(0), on(1) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Operational state of the terminal"
    ::= { ntcTermsMonStateEntry 3 }
    
ntcTermsMonEsNo                  OBJECT-TYPE
    SYNTAX      Integer32 (-1000..3000)
    UNITS       "dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Received Es/N0"
    ::= { ntcTermsMonStateEntry 4 }
    
ntcTermsCfgStateTable            OBJECT-TYPE
    SYNTAX      SEQUENCE OF NtcTermsCfgStateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the ntcTermsCfgState"
    ::= { ntcTermsObjects 2 }

ntcTermsCfgStateEntry            OBJECT-TYPE
    SYNTAX      NtcTermsCfgStateEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row of the ntcTermsCfgStateTable."
    INDEX   { ntcTermsCfgStateName  }
    ::= { ntcTermsCfgStateTable 1 }

NtcTermsCfgStateEntry            ::= SEQUENCE {
    ntcTermsCfgStateName         DisplayString,
    ntcTermsCfgStateRowStatus    RowStatus,
    ntcTermsId                   Unsigned32,
    ntcTermsCtrlIpAddr           IpAddress,
    ntcTermsAdminState           NtcEnable
    }
    
ntcTermsCfgStateName             OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..20))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Identification of the terminal"
    ::= { ntcTermsCfgStateEntry 1 }
    
ntcTermsCfgStateRowStatus        OBJECT-TYPE
    SYNTAX      RowStatus
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The status of this conceptual row. An existing conceptual row can be in any
        one of the three states, 'notReady', 'notInService', or 'active'. If the
        manager wishes to add a row in a single shot with values for all the columns,
        the status column should be given as 'createAndGo(4)'. After the creation of a
        row, its value is set to active(1). If a row has to be created with values for
        only some columns, the status column should be 'createAndWait(5)'. Also, this
        row with partially filled columns has the status 'notReady(3)'. The entry
        remains in this state until the values for all the columns is set. After all
        the values are set, the agent changes this value to active(1).'"
    ::= { ntcTermsCfgStateEntry 2 }
    
ntcTermsId                       OBJECT-TYPE
    SYNTAX      Unsigned32 (0..65277)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Identification of the terminal"
    ::= { ntcTermsCfgStateEntry 3 }
    
ntcTermsCtrlIpAddr               OBJECT-TYPE
    SYNTAX      IpAddress 
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The IP address by which the terminal communicates with the hub Regular
        expression : (?-mix:^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$)"
    ::= { ntcTermsCfgStateEntry 4 }
    
ntcTermsAdminState               OBJECT-TYPE
    SYNTAX      NtcEnable
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Enable or disable the corresponding Terminal"
    ::= { ntcTermsCfgStateEntry 5 }
    

--
--  Module Conformance
--

ntcTermsConfGrpV1Standard        OBJECT-GROUP
    OBJECTS    {
                   ntcTermsMonName,
                   ntcTermsMonState,
                   ntcTermsMonEsNo,
                   ntcTermsCfgStateRowStatus,
                   ntcTermsId,
                   ntcTermsCtrlIpAddr,
                   ntcTermsAdminState
               }
    STATUS      current
    DESCRIPTION
        "Managed objects that constitute version 1 of a system device with standard capabilities."
    ::= { ntcTermsConfGroup 1}
    
ntcTermsConfCompV1Standard       MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Compliance statement for Newtec device MIB implementations."
    MODULE  -- this module
    MANDATORY-GROUPS
                  {
                      ntcTermsConfGrpV1Standard
                  }
    ::= { ntcTermsConfCompliance  1 }
    

END
