-- ****************************************************************************
-- ****************************************************************************
--             Copyright(c) 2004 Mediatrix Telecom, Inc.
--  NOTICE:
--   This document contains information that is confidential and proprietary
--   to Mediatrix Telecom, Inc.
--   Mediatrix Telecom, Inc. reserves all rights to this document as well as
--   to the Intellectual Property of the document and the technology and
--   know-how that it includes and represents.
--   This publication cannot be reproduced, neither in whole nor in part in
--   any form whatsoever without written prior approval by
--   Mediatrix Telecom, Inc.
--   Mediatrix Telecom, Inc. reserves the right to revise this publication
--   and make changes at any time and without the obligation to notify any
--   person and/or entity of such revisions and/or changes.
-- ****************************************************************************
-- ****************************************************************************

MX-FILE-MIB
DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32,
        Integer32
    FROM SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP
    FROM SNMPv2-CONF
        MxEnableState,
        MxActivationState,
        MxIpHostName,
        MxIpAddress,
        MxIpPort,
        MxAdvancedIpPort,
        MxIpSubnetMask,
        MxDigitMap
    FROM MX-TC
        MxUInt64,
        MxFloat32,
        MxIpHostNamePort,
        MxIpAddr,
        MxIpAddrPort,
        MxIpAddrMask,
        MxUri,
        MxUrl
    FROM MX-TC2
        mediatrixServices
    FROM MX-SMI2;

fileMIB MODULE-IDENTITY
 LAST-UPDATED   "1910210000Z"
 ORGANIZATION " Mediatrix Telecom, Inc. "
 CONTACT-INFO " Mediatrix Telecom, Inc.
                4229, Garlock Street
                Sherbrooke (Quebec)
                Canada
                Phone: (819) 829-8749
                "
 DESCRIPTION  " File Manager

                The File service allows the administrator to manage the files
                stored on the unit.
                "
 ::= { mediatrixServices 2600 }

fileMIBObjects OBJECT IDENTIFIER ::= { fileMIB 1 }

-- *****************************************************************************

-- Table:Files

-- *****************************************************************************

filesTable OBJECT-TYPE
 SYNTAX         SEQUENCE OF FilesEntry
 MAX-ACCESS     not-accessible
 STATUS         current
 DESCRIPTION  " Files

                This table contains all the files saved by the user.
                "
 ::= { fileMIBObjects 100 }
 filesEntry OBJECT-TYPE
  SYNTAX        FilesEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " A row in table Files. "
  INDEX         {
                  filesIndex
                }

  ::= { filesTable 1 }

 FilesEntry ::= SEQUENCE
 {
   filesIndex           Unsigned32,
   filesFileName        OCTET STRING,
   filesFileDescription OCTET STRING,
   filesFileSize        Unsigned32
 }

 -- Index:Index

 filesIndex OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Index

                Unique identifier of the row in the table.
                "
  ::= { filesEntry 101 }

 -- Columnar:File Name

 filesFileName OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(1..510) )
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " File Name

                Relative path and name of the file (directories are split with
                '/').
                "
  ::= { filesEntry 201 }

 -- Columnar:File Description

 filesFileDescription OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..255) )
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " File Description

                Textual description describing the content of the file.

                The file description uses special tags in the file to build the
                description string.

                "
  ::= { filesEntry 400 }

 -- Columnar:File Size

 filesFileSize OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " File Size

                File size of the associated file.

                This value is expressed in kilobytes (KB).

                "
  ::= { filesEntry 500 }

-- End of table:Files

-- *****************************************************************************

-- Table:Files

-- *****************************************************************************

vmImagesFilesTable OBJECT-TYPE
 SYNTAX        SEQUENCE OF VmImagesFilesEntry
 MAX-ACCESS    not-accessible
 STATUS        current
 DESCRIPTION " Files

               This table contains all the VM files under the /vm/images/
               folder (factory or user-installed).

               Available only on the Sentinel 400.

               "
 ::= { fileMIBObjects 150 }
 vmImagesFilesEntry OBJECT-TYPE
  SYNTAX        VmImagesFilesEntry
  MAX-ACCESS    not-accessible
  STATUS        current
  DESCRIPTION " A row in table Files. "
  INDEX         {
                  vmImagesFilesIndex
                }

  ::= { vmImagesFilesTable 1 }

 VmImagesFilesEntry ::= SEQUENCE
 {
   vmImagesFilesIndex           Unsigned32,
   vmImagesFilesFileName        OCTET STRING,
   vmImagesFilesFileDescription OCTET STRING,
   vmImagesFilesFileSize        Unsigned32
 }

 -- Index:Index

 vmImagesFilesIndex OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Index

                Unique identifier of the row in the table.
                "
  ::= { vmImagesFilesEntry 100 }

 -- Columnar:File Name

 vmImagesFilesFileName OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(1..510) )
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " File Name

                Relative path and name of the file (directories are split with
                '/').
                "
  ::= { vmImagesFilesEntry 200 }

 -- Columnar:File Description

 vmImagesFilesFileDescription OBJECT-TYPE
  SYNTAX        OCTET STRING ( SIZE(0..255) )
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " File Description

                Textual description describing the content of the file.
                "
  ::= { vmImagesFilesEntry 300 }

 -- Columnar:File Size

 vmImagesFilesFileSize OBJECT-TYPE
  SYNTAX        Unsigned32
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " File Size

                File size of the associated file.

                This value is expressed in kilobytes (KB).

                "
  ::= { vmImagesFilesEntry 400 }

-- End of table:Files

-- Scalar:File system quota size

fileSystemQuotaSize OBJECT-TYPE
 SYNTAX        Unsigned32
 MAX-ACCESS    read-only
 STATUS        current
 DESCRIPTION " File system quota size

               This value indicates the file system quota allocated for the
               service file system.

               This value is expressed in kilobytes (KB).

               "
 ::= { fileMIBObjects 200 }

-- Scalar:File system available size

fileSystemAvailableSize OBJECT-TYPE
 SYNTAX        Unsigned32
 MAX-ACCESS    read-only
 STATUS        current
 DESCRIPTION " File system available size

               This value indicates the storage size available in the quota
               allocated within the file system.

               This value is expressed in kilobytes (KB).

               "
 ::= { fileMIBObjects 250 }

-- Scalar:Vm Images Available size

vmImagesAvailableSize OBJECT-TYPE
 SYNTAX        Unsigned32
 MAX-ACCESS    read-only
 STATUS        current
 DESCRIPTION " Vm Images Available size

               This value indicates the storage size available in vm/images/
               folder.

               This value is expressed in kilobytes (KB).

               Available only on the Sentinel 400.

               "
 ::= { fileMIBObjects 280 }

-- ****************************************************************************

-- Group:Transfer group

-- Configuration relative to file transfers.
-- ****************************************************************************

transferGroup OBJECT IDENTIFIER
 ::= { fileMIBObjects 500 }
 -- Scalar:Transfer HTTPS Cipher Suite

 transferHttpsCipherSuite OBJECT-TYPE
  SYNTAX        INTEGER { cS1(100) , cS2(200) , cS3(300) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Transfer HTTPS Cipher Suite

                Defines the allowed cipher suites for the network security
                settings when using the HTTPS transfer protocol. When the
                device initiates an HTTPS connection to a server it will
                negotiate the cipher suite according to its configuration.

                  * CS1:
                      + TLS_DHE_RSA_WITH_AES_256_CBC_SHA
                      + TLS_DHE_DSS_WITH_AES_256_CBC_SHA
                      + TLS_RSA_WITH_AES_256_CBC_SHA
                      + TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
                      + TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA
                      + TLS_RSA_WITH_3DES_EDE_CBC_SHA
                      + TLS_DHE_RSA_WITH_AES_128_CBC_SHA
                      + TLS_DHE_DSS_WITH_AES_128_CBC_SHA
                      + TLS_RSA_WITH_AES_128_CBC_SHA
                      + TLS_RSA_WITH_RC4_128_SHA
                      + TLS_RSA_WITH_RC4_128_MD5
                  * CS2:
                      + TLS_RSA_WITH_AES_128_CBC_SHA
                      + TLS_RSA_WITH_AES_256_CBC_SHA
                      + TLS_RSA_WITH_3DES_EDE_CBC_SHA
                      + TLS_DHE_RSA_WITH_AES_128_CBC_SHA
                      + TLS_DHE_RSA_WITH_AES_256_CBC_SHA
                      + TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA
                  * CS3:
                      + TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384
                      + TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384
                      + TLS_DHE_RSA_WITH_AES_256_GCM_SHA384
                      + TLS_DHE_RSA_WITH_AES_256_CBC_SHA256
                      + TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256
                      + TLS_ECDH_RSA_WITH_AES_256_GCM_SHA384
                      + TLS_ECDH_RSA_WITH_AES_256_CBC_SHA384
                      + TLS_RSA_WITH_AES_256_GCM_SHA384
                      + TLS_RSA_WITH_AES_256_CBC_SHA256
                      + TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256
                      + TLS_DHE_RSA_WITH_AES_128_GCM_SHA256
                      + TLS_DHE_RSA_WITH_AES_128_CBC_SHA256
                      + TLS_ECDH_RSA_WITH_AES_128_GCM_SHA256
                      + TLS_ECDH_RSA_WITH_AES_128_CBC_SHA256
                      + TLS_RSA_WITH_AES_128_GCM_SHA256
                      + TLS_RSA_WITH_AES_128_CBC_SHA256

                "
  DEFVAL        { cS1 }
  ::= { transferGroup 100 }

 -- Scalar:TLS Version

 transferHttpsTlsVersion OBJECT-TYPE
  SYNTAX        INTEGER { sSLv3(100) , tLSv1(200) , tLSv1-1(300) , tLSv1-2
                (400) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " TLS Version

                Defines the allowed TLS version for the network security
                settings when using the HTTPS transfer protocol. When the
                device initiates an HTTPS connection to a server it will
                negotiate the TLS version according to its configuration.

                  * SSLv3: Allow SSL version 3 and all TLS versions.
                  * TLSv1: Allow TLS versions 1 and up.
                  * TLSv1_1: Allow TLS versions 1.1 and up.
                  * TLSv1_2: Allow TLS versions 1.2 and up.

                The device will always send its highest supported TLS version
                in the ClientHello message. The server will select the highest
                supported TLS version it supports from the ClientHello
                message. The device will then validate that the selected
                version is allowed. If the version is not allowed the device
                will close the connection.

                "
  DEFVAL        { tLSv1 }
  ::= { transferGroup 200 }

-- End of group:Transfer group

-- ****************************************************************************

-- Group:Statistics

-- ****************************************************************************

statistics OBJECT IDENTIFIER
 ::= { fileMIBObjects 600 }
 -- Scalar:Last DownloadFile Result

 statLastDownloadFileResult OBJECT-TYPE
  SYNTAX        INTEGER { none(100) , downloading(200) , success(300) , failed
                (400) }
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Last DownloadFile Result

                Result of the last file download command that was successfully
                launched.

                  * None: No file download operation has been performed since
                    the last reset to default settings.
                  * Downloading: A file download operation is currently in
                    progress.
                  * Success: Last file download operation succeeded.
                  * Failed: Last file download operation failed.

                "
  ::= { statistics 100 }

 -- Scalar:Last UploadFile Result

 statLastUploadFileResult OBJECT-TYPE
  SYNTAX        INTEGER { none(100) , uploading(200) , success(300) , failed
                (400) }
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Last UploadFile Result

                Result of the last file upload command that was successfully
                launched.

                  * None: No file upload operation has been performed since
                    the last reset to default settings.
                  * Uploading: A file upload operation is currently in
                    progress.
                  * Success: Last file upload operation succeeded.
                  * Failed: Last file upload operation failed.

                "
  ::= { statistics 200 }

-- End of group:Statistics

-- ****************************************************************************

-- Group:Notification Messages Configuration

-- ****************************************************************************

notificationsGroup OBJECT IDENTIFIER
 ::= { fileMIBObjects 60010 }
 -- Scalar:Minimal Severity of Notification

 minSeverity OBJECT-TYPE
  SYNTAX        INTEGER { disable(0) , debug(100) , info(200) , warning(300) ,
                error(400) , critical (500) }
  MAX-ACCESS    read-write
  STATUS        current
  DESCRIPTION " Minimal Severity of Notification

                Sets the minimal severity to issue a notification message
                incoming from this service.

                  * Disable: No notification is issued.
                  * Debug: All notification messages are issued.
                  * Info: Notification messages with a 'Informational' and
                    higher severity are issued.
                  * Warning: Notification messages with a 'Warning' and higher
                    severity are issued.
                  * Error: Notification messages with an 'Error' and higher
                    severity are issued.
                  * Critical: Notification messages with a 'Critical' severity
                    are issued.

                "
  DEFVAL        { warning }
  ::= { notificationsGroup 100 }

-- End of group:Notification Messages Configuration

-- ****************************************************************************

-- Group:Configuration Settings

-- ****************************************************************************

configurationGroup OBJECT IDENTIFIER
 ::= { fileMIBObjects 60020 }
 -- Scalar:Need Restart

 needRestartInfo OBJECT-TYPE
  SYNTAX        INTEGER { no(0) , yes(100) }
  MAX-ACCESS    read-only
  STATUS        current
  DESCRIPTION " Need Restart

                Indicates if the service needs to be restarted for the
                configuration to fully take effect.

                  * Yes: Service needs to be restarted.
                  * No: Service does not need to be restarted.

                Services can be restarted by using the
                Scm.ServiceCommands.Restart command.

                "
  ::= { configurationGroup 100 }

-- End of group:Configuration Settings

END
