NEWTEC-MODULATORAES-MIB DEFINITIONS ::= BEGIN

IMPORTS
    Unsigned32,
    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
--

ntcDvbModulatorAes   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 AES encryption MIB containing definitions for AES encryption on the
        modulator."

    REVISION  "201802020900Z"
    DESCRIPTION
        "Descriptions extended with regex."
    REVISION  "201610241200Z"
    DESCRIPTION
        "Initial release for MDM6000 R3.2"
    ::= { ntcFunction  1010 }
    

--
-- Top-Level Structure
--

-- ntcDvbModulatorAes content

ntcDvbModAesObjects              OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Container holding ntcDvbModAesObjects definitions."
    ::= { ntcDvbModulatorAes 1 }
    
ntcDvbModAesConformance          OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Conformance requirements."
    ::= { ntcDvbModulatorAes 2 }
    
-- ntcDvbModAesObjects content

ntcDvbModAesCfgAes               OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Container holding ntcDvbModAesCfgAes definitions."
    ::= { ntcDvbModAesObjects 1 }
    
ntcDvbModAesCfgAesGlo            OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Container holding ntcDvbModAesCfgAesGlo definitions."
    ::= { ntcDvbModAesObjects 2 }
    
-- ntcDvbModAesConformance content

ntcDvbModAesConfCompliance       OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Device compliance statements."
    ::= { ntcDvbModAesConformance 1 }
    
ntcDvbModAesConfGroup            OBJECT-IDENTITY
    STATUS        current
    DESCRIPTION   "Groups used by device compliance statements."
    ::= { ntcDvbModAesConformance 2 }
    

--
-- Managed Objects
--

ntcDvbModAesCfgAesEnable         OBJECT-TYPE
    SYNTAX      INTEGER { off(0), on(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable or disable the AES encryption."
    DEFVAL { off }
    ::= { ntcDvbModAesCfgAes 1 }
    
ntcDvbModAesCfgAesGlobEncr       OBJECT-TYPE
    SYNTAX      NtcEnable
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Enable or disable the global encryption mode, disabled means per stream (ISI)"
    DEFVAL { on }
    ::= { ntcDvbModAesCfgAes 2 }
    
ntcDvbModAesCfgAesKeyStrength    OBJECT-TYPE
    SYNTAX      INTEGER { aes64(0), aes128(1), aes256(2) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specify the key strength to use"
    DEFVAL { aes64 }
    ::= { ntcDvbModAesCfgAes 3 }
    
ntcDvbModAesCfgAesGroupKey       OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(10..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The group key which is used to encrypt/decrypt the even/odd content protection
        key. Regular expression :
        (?-mix:^[A-Fa-f0-9]{16}$|^[A-Fa-f0-9]{32}$|^[A-Fa-f0-9]{64}$|^[\*]{10}$)"
    DEFVAL { "**********" }
    ::= { ntcDvbModAesCfgAes 4 }
    
ntcDvbModAesCfgAesClearKeys      OBJECT-TYPE
    SYNTAX      INTEGER { donothing(0), clearkeys(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Erase all the keys"
    DEFVAL { donothing }
    ::= { ntcDvbModAesCfgAes 5 }
    
ntcDvbModAesCfgAesGloKeyPar      OBJECT-TYPE
    SYNTAX      INTEGER { even(0), odd(1) }
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "Specify whether the odd or even key will be used"
    DEFVAL { even }
    ::= { ntcDvbModAesCfgAesGlo 1 }
    
ntcDvbModAesCfgAesGloEncEven     OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(10..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The even encrypted key which is used to encrypt/decrypt the stream. Regular
        expression :
        (?-mix:^[A-Fa-f0-9]{16}$|^[A-Fa-f0-9]{32}$|^[A-Fa-f0-9]{64}$|^[\*]{10}$)"
    DEFVAL { "**********" }
    ::= { ntcDvbModAesCfgAesGlo 2 }
    
ntcDvbModAesCfgAesGloEncOdd      OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(10..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The odd encrypted key which is used to encrypt/decrypt the stream. Regular
        expression :
        (?-mix:^[A-Fa-f0-9]{16}$|^[A-Fa-f0-9]{32}$|^[A-Fa-f0-9]{64}$|^[\*]{10}$)"
    DEFVAL { "**********" }
    ::= { ntcDvbModAesCfgAesGlo 3 }
    
ntcDvbModAesCfgAesGloEven        OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(10..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The even key which is used to encrypt/decrypt the stream. Regular expression :
        (?-mix:^[A-Fa-f0-9]{16}$|^[A-Fa-f0-9]{32}$|^[A-Fa-f0-9]{64}$|^[\*]{10}$)"
    DEFVAL { "**********" }
    ::= { ntcDvbModAesCfgAesGlo 4 }
    
ntcDvbModAesCfgAesGloOdd         OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(10..64))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The odd key which is used to encrypt/decrypt the stream. Regular expression :
        (?-mix:^[A-Fa-f0-9]{16}$|^[A-Fa-f0-9]{32}$|^[A-Fa-f0-9]{64}$|^[\*]{10}$)"
    DEFVAL { "**********" }
    ::= { ntcDvbModAesCfgAesGlo 5 }
    
ntcDvbModAesCfgAesStrTable       OBJECT-TYPE
    SYNTAX      SEQUENCE OF NtcDvbModAesCfgAesStrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The AES stream configuration table."
    ::= { ntcDvbModAesObjects 3 }

ntcDvbModAesCfgAesStrEntry       OBJECT-TYPE
    SYNTAX      NtcDvbModAesCfgAesStrEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A conceptual row of the ntcDvbModAesCfgAesStrTable."
    INDEX   { ntcDvbModAesCfgAesStrName  }
    ::= { ntcDvbModAesCfgAesStrTable 1 }

NtcDvbModAesCfgAesStrEntry       ::= SEQUENCE {
    ntcDvbModAesCfgAesStrName         DisplayString,
    ntcDvbModAesCfgAesStrRowStatus    RowStatus,
    ntcDvbModAesCfgAesStrEnable       INTEGER,
    ntcDvbModAesCfgAesStrIsi          Unsigned32,
    ntcDvbModAesCfgAesStrKeyPar       INTEGER,
    ntcDvbModAesCfgAesStrEncEven      DisplayString,
    ntcDvbModAesCfgAesStrEncOdd       DisplayString,
    ntcDvbModAesCfgAesStrEven         DisplayString,
    ntcDvbModAesCfgAesStrOdd          DisplayString
    }
    
ntcDvbModAesCfgAesStrName        OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(1..32))
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The name of the stream"
    ::= { ntcDvbModAesCfgAesStrEntry 1 }
    
ntcDvbModAesCfgAesStrRowStatus   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).'"
    ::= { ntcDvbModAesCfgAesStrEntry 2 }
    
ntcDvbModAesCfgAesStrEnable      OBJECT-TYPE
    SYNTAX      INTEGER { off(0), on(1) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Enable or disable the AES encryption."
    ::= { ntcDvbModAesCfgAesStrEntry 3 }
    
ntcDvbModAesCfgAesStrIsi         OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The DVB-S2 Input Stream Identifier (ISI) is present in the second byte
        position of the MATYPE field in the Baseband Header of a DVB-S2 Baseband
        Frame. It is a single byte identifying the encapsulated stream in case of
        Multiple Input Streams (MIS)."
    ::= { ntcDvbModAesCfgAesStrEntry 4 }
    
ntcDvbModAesCfgAesStrKeyPar      OBJECT-TYPE
    SYNTAX      INTEGER { even(0), odd(1) }
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "Specify whether the odd or even key will be used"
    ::= { ntcDvbModAesCfgAesStrEntry 5 }
    
ntcDvbModAesCfgAesStrEncEven     OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(10..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The even encrypted key which is used to encrypt/decrypt the stream. Regular
        expression :
        (?-mix:^[A-Fa-f0-9]{16}$|^[A-Fa-f0-9]{32}$|^[A-Fa-f0-9]{64}$|^[\*]{10}$)"
    ::= { ntcDvbModAesCfgAesStrEntry 6 }
    
ntcDvbModAesCfgAesStrEncOdd      OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(10..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The odd encrypted key which is used to encrypt/decrypt the stream. Regular
        expression :
        (?-mix:^[A-Fa-f0-9]{16}$|^[A-Fa-f0-9]{32}$|^[A-Fa-f0-9]{64}$|^[\*]{10}$)"
    ::= { ntcDvbModAesCfgAesStrEntry 7 }
    
ntcDvbModAesCfgAesStrEven        OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(10..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The even key which is used to encrypt/decrypt the stream. Regular expression :
        (?-mix:^[A-Fa-f0-9]{16}$|^[A-Fa-f0-9]{32}$|^[A-Fa-f0-9]{64}$|^[\*]{10}$)"
    ::= { ntcDvbModAesCfgAesStrEntry 8 }
    
ntcDvbModAesCfgAesStrOdd         OBJECT-TYPE
    SYNTAX      DisplayString (SIZE(10..64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
        "The odd key which is used to encrypt/decrypt the stream. Regular expression :
        (?-mix:^[A-Fa-f0-9]{16}$|^[A-Fa-f0-9]{32}$|^[A-Fa-f0-9]{64}$|^[\*]{10}$)"
    ::= { ntcDvbModAesCfgAesStrEntry 9 }
    

--
--  Module Conformance
--

ntcDvbModAesConfGrpV1Standard    OBJECT-GROUP
    OBJECTS    {
                   ntcDvbModAesCfgAesEnable,
                   ntcDvbModAesCfgAesGlobEncr,
                   ntcDvbModAesCfgAesKeyStrength,
                   ntcDvbModAesCfgAesGroupKey,
                   ntcDvbModAesCfgAesClearKeys,
                   ntcDvbModAesCfgAesGloKeyPar,
                   ntcDvbModAesCfgAesGloEncEven,
                   ntcDvbModAesCfgAesGloEncOdd,
                   ntcDvbModAesCfgAesGloEven,
                   ntcDvbModAesCfgAesGloOdd,
                   ntcDvbModAesCfgAesStrRowStatus,
                   ntcDvbModAesCfgAesStrEnable,
                   ntcDvbModAesCfgAesStrIsi,
                   ntcDvbModAesCfgAesStrKeyPar,
                   ntcDvbModAesCfgAesStrEncEven,
                   ntcDvbModAesCfgAesStrEncOdd,
                   ntcDvbModAesCfgAesStrEven,
                   ntcDvbModAesCfgAesStrOdd
               }
    STATUS      current
    DESCRIPTION
        "Managed objects that constitute version 1 of a system device with standard capabilities."
    ::= { ntcDvbModAesConfGroup 1}
    
ntcDvbModAesConfCompV1Standard   MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "Compliance statement for Newtec device MIB implementations."
    MODULE  -- this module
    MANDATORY-GROUPS
                  {
                      ntcDvbModAesConfGrpV1Standard
                  }
    ::= { ntcDvbModAesConfCompliance  1 }
    

END
