-- ****************************************************************************
-- ****************************************************************************
--             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-MOH-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;

mohMIB 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  " Music on Hold

                The Music on Hold (MOH) service manages the option to play an
                audio file when a telephony endpoint is on hold.
                "
 ::= { mediatrixServices 1550 }

mohMIBObjects OBJECT IDENTIFIER ::= { mohMIB 1 }

-- Scalar:MP3 File URL

fileUrl OBJECT-TYPE
 SYNTAX        OCTET STRING
 MAX-ACCESS    read-write
 STATUS        current
 DESCRIPTION " MP3 File URL

               URL to a MP3 file that is loaded at unit startup and reloaded
               every time the ReloadInterval elapses. The supported transfer
               protocols are:

                 * HTTP
                 * TFTP
                 * FTP
                 * FILE

               Examples of valid URLs:

                 * http://www.myserver.com/myfile.mp3
                 * tftp://myserver.com:69/myfolder/myfile.mp3
                 * file://myfile.mp3

               When the port is not included in the URL, the default port for
               the chosen protocol is used.

               "
 DEFVAL        { "" }
 ::= { mohMIBObjects 100 }

-- Scalar:Username

username OBJECT-TYPE
 SYNTAX        OCTET STRING
 MAX-ACCESS    read-write
 STATUS        current
 DESCRIPTION " Username

               When authentication is required by the remote file server, this
               parameter is used as the username.
               "
 DEFVAL        { "" }
 ::= { mohMIBObjects 200 }

-- Scalar:Password

password OBJECT-TYPE
 SYNTAX        OCTET STRING
 MAX-ACCESS    read-write
 STATUS        current
 DESCRIPTION " Password

               When authentication is required by the remote file server, this
               parameter is used as the password.
               "
 DEFVAL        { "" }
 ::= { mohMIBObjects 300 }

-- Scalar:File Reload Interval

reloadInterval OBJECT-TYPE
 SYNTAX        Unsigned32 ( 0..6000 )
 MAX-ACCESS    read-write
 STATUS        current
 DESCRIPTION " File Reload Interval

               Time, in hours, between attempts to load the MP3 file. A value
               of 0 loads the file only once at unit startup. Any other value
               between 1 and 6000 is the number of hours between automatic
               reloads of the file. When a manual file download is triggered,
               the counter is not reset so the next reload will happen at the
               same time.
               "
 DEFVAL        { 0 }
 ::= { mohMIBObjects 400 }

-- Scalar:File Status

fileStatus OBJECT-TYPE
 SYNTAX        INTEGER { noFile(100) , fileReady(200) , downloading(300) ,
               invalidFormat(400) , fileTooLarge(500) }
 MAX-ACCESS    read-only
 STATUS        current
 DESCRIPTION " File Status

               Status of the MP3 file in the unit.

                 * NoFile: No file is currently loaded in the unit.
                 * FileReady: A valid file is currently loaded in the unit.
                 * Downloading: A file is currently being downloaded.
                 * InvalidFormat: The downloaded file as an invalid format.
                 * FileTooLarge: The downloaded file is too large.

               "
 DEFVAL        { noFile }
 ::= { mohMIBObjects 500 }

-- Scalar:Last File Transfer Status

lastTransferStatus OBJECT-TYPE
 SYNTAX        INTEGER { success(100) , failed(200) }
 MAX-ACCESS    read-only
 STATUS        current
 DESCRIPTION " Last File Transfer Status

               Status of the last file transfer attempt.

                 * Success: Last file transfer succeeded.
                 * Failed: Last file transfer failed.

               "
 DEFVAL        { success }
 ::= { mohMIBObjects 600 }

-- Scalar:Last Successful Transfer Date and Time

lastTransferDateTime OBJECT-TYPE
 SYNTAX        OCTET STRING ( SIZE(0..255) )
 MAX-ACCESS    read-only
 STATUS        current
 DESCRIPTION " Last Successful Transfer Date and Time

               Date and time of the last successful music file transfer.
               "
 ::= { mohMIBObjects 700 }

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

-- Group:Notification Messages Configuration

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

notificationsGroup OBJECT IDENTIFIER
 ::= { mohMIBObjects 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
 ::= { mohMIBObjects 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
