NEWTEC-ANTENNA-CONTROLLER-MIB DEFINITIONS ::= BEGIN

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

    MODULE-COMPLIANCE,
    OBJECT-GROUP
        FROM SNMPv2-CONF
    
    Float32TC
        FROM FLOAT-TC-MIB

    NtcAlarmState,
    NtcEnable
        FROM NEWTEC-TC-MIB

    ntcFunction
        FROM NEWTEC-MAIN-MIB;


--
--  Module Identification
--

ntcAntennaController   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 modular DVB modulator MIB containing definitions for the OpenAMIP
        controller."

    REVISION  "201802020900Z"
    DESCRIPTION
        "Description of ntcAntCtrlCfgIpAddress extended with regex."
    REVISION  "201402031200Z"
    DESCRIPTION
        "OpenAMIP compatible antenna controller interface"
    ::= { ntcFunction  5700 }
    

--
-- Top-Level Structure
--

-- ntcAntennaController content

ntcAntCtrlObjects                OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Container holding ntcAntCtrlObjects definitions."
    ::= { ntcAntennaController 1 }
    
ntcAntCtrlConformance            OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Conformance requirements."
    ::= { ntcAntennaController 2 }
    
-- ntcAntCtrlObjects content

ntcAntCtrlCfg                    OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Container holding ntcAntCtrlCfg definitions."
    ::= { ntcAntCtrlObjects 1 }
    
ntcAntCtrlMon                    OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Container holding ntcAntCtrlMon definitions."
    ::= { ntcAntCtrlObjects 2 }
    
ntcAntCtrlAlarm                  OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Container holding ntcAntCtrlAlarm definitions."
    ::= { ntcAntCtrlObjects 3 }
    
-- ntcAntCtrlConformance content

ntcAntCtrlConfCompliance         OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Device compliance statements."
    ::= { ntcAntCtrlConformance 1 }
    
ntcAntCtrlConfGroup              OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Groups used by device compliance statements."
    ::= { ntcAntCtrlConformance 2 }
    

--
-- Managed Objects
--

ntcAntCtrlCfgTable               OBJECT-TYPE
    SYNTAX      SEQUENCE OF NtcAntCtrlCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A table containing the ntcAntCtrlCfg"
    ::= { ntcAntCtrlCfg 1 }

ntcAntCtrlCfgEntry               OBJECT-TYPE
    SYNTAX      NtcAntCtrlCfgEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row of the ntcAntCtrlCfgTable."
    INDEX   { ntcAntCtrlCfgControlId  }
    ::= { ntcAntCtrlCfgTable 1 }

NtcAntCtrlCfgEntry               ::= SEQUENCE {
    ntcAntCtrlCfgControlId    INTEGER,
    ntcAntCtrlCfgEnable       NtcEnable,
    ntcAntCtrlCfgIpAddress    IpAddress,
    ntcAntCtrlCfgPort         Unsigned32,
    ntcAntCtrlCfgSatLong      Float32TC,
    ntcAntCtrlCfgSatLatVar    Float32TC,
    ntcAntCtrlCfgSatSkew      Float32TC,
    ntcAntCtrlCfgRxPol        INTEGER,
    ntcAntCtrlCfgTxPol        INTEGER,
    ntcAntCtrlCfgRxLoFreq     Unsigned32,
    ntcAntCtrlCfgTxLoFreq     Unsigned32,
    ntcAntCtrlCfgTxMaxSkew    Float32TC
    }
    
ntcAntCtrlCfgControlId           OBJECT-TYPE
    SYNTAX      INTEGER { control1(1), control2(2), control3(3), control4(4) }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The id of the controller instance"
    ::= { ntcAntCtrlCfgEntry 1 }
    
ntcAntCtrlCfgEnable              OBJECT-TYPE
    SYNTAX      NtcEnable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable or disable the corresponding AMIP controller channel."
    DEFVAL { off }
    ::= { ntcAntCtrlCfgEntry 2 }
    
ntcAntCtrlCfgIpAddress           OBJECT-TYPE
    SYNTAX      IpAddress 
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "IP address to connect to Antenna controller. Regular expression :
        (?-mix:^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$)"
    ::= { ntcAntCtrlCfgEntry 3 }
    
ntcAntCtrlCfgPort                OBJECT-TYPE
    SYNTAX      Unsigned32 (1..65535)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Port number to connect to Antenna controller."
    ::= { ntcAntCtrlCfgEntry 4 }
    
ntcAntCtrlCfgSatLong             OBJECT-TYPE
    SYNTAX      Float32TC
    UNITS       "deg."
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Satellite Longitude"
    DEFVAL { "0" }
    ::= { ntcAntCtrlCfgEntry 5 }
    
ntcAntCtrlCfgSatLatVar           OBJECT-TYPE
    SYNTAX      Float32TC
    UNITS       "deg."
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Satellite Latitude Variance"
    DEFVAL { "1" }
    ::= { ntcAntCtrlCfgEntry 6 }
    
ntcAntCtrlCfgSatSkew             OBJECT-TYPE
    SYNTAX      Float32TC
    UNITS       "deg."
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Satellite Polarity Skew"
    ::= { ntcAntCtrlCfgEntry 7 }
    
ntcAntCtrlCfgRxPol               OBJECT-TYPE
    SYNTAX      INTEGER { lefthanded(0), righthanded(1), horizontal(3), vertical(4) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Rx Polarization."
    DEFVAL { lefthanded }
    ::= { ntcAntCtrlCfgEntry 8 }
    
ntcAntCtrlCfgTxPol               OBJECT-TYPE
    SYNTAX      INTEGER { lefthanded(0), righthanded(1), horizontal(3), vertical(4) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Tx Polarization."
    DEFVAL { lefthanded }
    ::= { ntcAntCtrlCfgEntry 9 }
    
ntcAntCtrlCfgRxLoFreq            OBJECT-TYPE
    SYNTAX      Unsigned32 (0..42000000)
    UNITS       "kHz"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Rx LO conversion frequency"
    DEFVAL { 0 }
    ::= { ntcAntCtrlCfgEntry 10 }
    
ntcAntCtrlCfgTxLoFreq            OBJECT-TYPE
    SYNTAX      Unsigned32 (0..42000000)
    UNITS       "kHz"
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Tx LO conversion frequency"
    DEFVAL { 0 }
    ::= { ntcAntCtrlCfgEntry 11 }
    
ntcAntCtrlCfgTxMaxSkew           OBJECT-TYPE
    SYNTAX      Float32TC
    UNITS       "deg."
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Short Axis Max Skew"
    DEFVAL { "90" }
    ::= { ntcAntCtrlCfgEntry 12 }
    
ntcAntCtrlMonTable               OBJECT-TYPE
    SYNTAX      SEQUENCE OF NtcAntCtrlMonEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Monitoring table"
    ::= { ntcAntCtrlMon 1 }

ntcAntCtrlMonEntry               OBJECT-TYPE
    SYNTAX      NtcAntCtrlMonEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row of the ntcAntCtrlMonTable."
    INDEX   { ntcAntCtrlMonControlId  }
    ::= { ntcAntCtrlMonTable 1 }

NtcAntCtrlMonEntry               ::= SEQUENCE {
    ntcAntCtrlMonControlId    INTEGER,
    ntcAntCtrlInterval        Unsigned32,
    ntcAntCtrlAntStatus       INTEGER,
    ntcAntCtrlTxAllowed       INTEGER,
    ntcAntCtrlLatitude        Float32TC,
    ntcAntCtrlLongitude       Float32TC,
    ntcAntCtrlTxMsg           Unsigned32,
    ntcAntCtrlRxMsg           Unsigned32
    }
    
ntcAntCtrlMonControlId           OBJECT-TYPE
    SYNTAX      INTEGER { control1(1), control2(2), control3(3), control4(4) }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The id of the controller instance"
    ::= { ntcAntCtrlMonEntry 1 }
    
ntcAntCtrlInterval               OBJECT-TYPE
    SYNTAX      Unsigned32 (0..9999999)
    UNITS       "s"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The keepalive interval requested by the Listener."
    ::= { ntcAntCtrlMonEntry 2 }
    
ntcAntCtrlAntStatus              OBJECT-TYPE
    SYNTAX      INTEGER { unknown(0), ok(1), failed(2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Antenna Functional Status."
    ::= { ntcAntCtrlMonEntry 3 }
    
ntcAntCtrlTxAllowed              OBJECT-TYPE
    SYNTAX      INTEGER { unknown(0), on(1), off(2) }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Tx Allowed Status."
    ::= { ntcAntCtrlMonEntry 4 }
    
ntcAntCtrlLatitude               OBJECT-TYPE
    SYNTAX      Float32TC
    UNITS       "deg."
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Antenna Geo latitude coordinate"
    ::= { ntcAntCtrlMonEntry 5 }
    
ntcAntCtrlLongitude              OBJECT-TYPE
    SYNTAX      Float32TC
    UNITS       "deg."
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "Antenna Geo longitude coordinate"
    ::= { ntcAntCtrlMonEntry 6 }
    
ntcAntCtrlTxMsg                  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of transmitted AMIP messages"
    ::= { ntcAntCtrlMonEntry 7 }
    
ntcAntCtrlRxMsg                  OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The number of received AMIP messages"
    ::= { ntcAntCtrlMonEntry 8 }
    
ntcAntCtrlAlarmStatsTable        OBJECT-TYPE
    SYNTAX      SEQUENCE OF NtcAntCtrlAlarmStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Alarm Status table"
    ::= { ntcAntCtrlAlarm 1 }

ntcAntCtrlAlarmStatsEntry        OBJECT-TYPE
    SYNTAX      NtcAntCtrlAlarmStatsEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row of the ntcAntCtrlAlarmStatsTable."
    INDEX   { ntcAntCtrlAlarmStatsControlId  }
    ::= { ntcAntCtrlAlarmStatsTable 1 }

NtcAntCtrlAlarmStatsEntry        ::= SEQUENCE {
    ntcAntCtrlAlarmStatsControlId    INTEGER,
    ntcAntCtrlCommErrorStat          NtcAlarmState,
    ntcAntCtrlAntFailureStat         NtcAlarmState
    }
    
ntcAntCtrlAlarmStatsControlId    OBJECT-TYPE
    SYNTAX      INTEGER { control1(1), control2(2), control3(3), control4(4) }
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The id of the controller instance"
    ::= { ntcAntCtrlAlarmStatsEntry 1 }
    
ntcAntCtrlCommErrorStat          OBJECT-TYPE
    SYNTAX      NtcAlarmState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This alarm is raised upon communication error with Antenna Controller. This
        variable indicates the current status of the alarm."
    ::= { ntcAntCtrlAlarmStatsEntry 2 }
    
ntcAntCtrlAntFailureStat         OBJECT-TYPE
    SYNTAX      NtcAlarmState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This alarm is raised when the Antenna (controller) is non-functional, due to
        invalid configuration or equipment failure. This variable indicates the
        current status of the alarm."
    ::= { ntcAntCtrlAlarmStatsEntry 3 }
    
ntcAntCtrlCommError              OBJECT-TYPE
    SYNTAX      NtcAlarmState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This alarm is raised upon communication error with Antenna Controller. This
        variable indicates the current status of the alarm."
    ::= { ntcAntCtrlAlarm 2 }
    
ntcAntCtrlAntFailure             OBJECT-TYPE
    SYNTAX      NtcAlarmState
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This alarm is raised when the Antenna (controller) is non-functional, due to
        invalid configuration or equipment failure. This variable indicates the
        current status of the alarm."
    ::= { ntcAntCtrlAlarm 3 }
    

--
--  Module Conformance
--

ntcAntCtrlConfGrpV1Standard      OBJECT-GROUP
    OBJECTS    {
                   ntcAntCtrlCfgEnable,
                   ntcAntCtrlCfgIpAddress,
                   ntcAntCtrlCfgPort,
                   ntcAntCtrlCfgSatLong,
                   ntcAntCtrlCfgSatLatVar,
                   ntcAntCtrlCfgSatSkew,
                   ntcAntCtrlCfgRxPol,
                   ntcAntCtrlCfgTxPol,
                   ntcAntCtrlCfgRxLoFreq,
                   ntcAntCtrlCfgTxLoFreq,
                   ntcAntCtrlCfgTxMaxSkew,
                   ntcAntCtrlInterval,
                   ntcAntCtrlAntStatus,
                   ntcAntCtrlTxAllowed,
                   ntcAntCtrlLatitude,
                   ntcAntCtrlLongitude,
                   ntcAntCtrlTxMsg,
                   ntcAntCtrlRxMsg,
                   ntcAntCtrlCommErrorStat,
                   ntcAntCtrlAntFailureStat,
                   ntcAntCtrlCommError,
                   ntcAntCtrlAntFailure
               }
    STATUS      current
    DESCRIPTION
        "Managed objects that constitute version 1 of a system device with standard capabilities."
    ::= { ntcAntCtrlConfGroup 1}
    
ntcAntCtrlConfCompV1Standard     MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Compliance statement for Newtec device MIB implementations."
    MODULE  -- this module
    MANDATORY-GROUPS
                  {
                      ntcAntCtrlConfGrpV1Standard
                  }
    ::= { ntcAntCtrlConfCompliance  1 }
    

END
