-- ****************************************************************************
-- *****************************************************************************
--
--      Copyright(c) 2003-2005 Mediatrix Telecom, Inc.
--      Copyright(c) 2007 Media5 Corporation. ("Media5")
--
--  NOTICE:
--   This document contains information that is confidential and proprietary
--   to Media5.
--
--   Media5 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 Media5.
--
--   Media5 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-HTTP-SERVER-MIB
DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-IDENTITY,
        OBJECT-TYPE,
        Unsigned32
    FROM SNMPv2-SMI
        OBJECT-GROUP,
        MODULE-COMPLIANCE
    FROM SNMPv2-CONF
        MxEnableState,
        MxIpAddress,
        MxIpSubnetMask,
        MxIpPort
    FROM MX-TC
        ipAddressConfig,
        mediatrixConfig
    FROM MX-SMI;


httpServerMIB MODULE-IDENTITY
    LAST-UPDATED "200905200000Z"
    ORGANIZATION "Mediatrix Telecom, Inc."
    CONTACT-INFO "Mediatrix Telecom, Inc.
                  4229, Garlock Street
                  Sherbrooke (Quebec)
                  Canada
                  Phone: (819) 829-8749"
    DESCRIPTION  "This MIB is used to customize the properties of the web-based
                  configuration service (HTTP)."


    -- *************************************************************************
    -- Revision history
    -- *************************************************************************
    REVISION    "200905200000Z"
    DESCRIPTION "Updated variable httpServerResetToDefaultPwd and
                 httpServerResetToDefaultAdminPwd"
    REVISION    "200510070000Z"
    DESCRIPTION "Add variables httpServerAdminAccess, httpServerAdminUsername,
                 httpServerAdminDefaultPassword, httpServerResetToDefaultAdminPwd,
                 httpServerAdminRealm, httpServerUserRealm and httpServerAdminPort"
    REVISION    "200504250000Z"
    DESCRIPTION "Modified variable httpServerBandwidthControlSectionEnable's
                 acces to read-write"
    REVISION    "200409290000Z"
    DESCRIPTION "Added variable httpServerBandwidthControlSectionEnable"
    REVISION    "200408310000Z"
    DESCRIPTION "Add folder httpServerMIBCustomisation, variable
                 httpServerSipAuthenticationEnable and
                 group httpServerCustomisationGroupVer1."
    REVISION    "200402230000Z"
    DESCRIPTION "Modify default value of httpServerUsername."
    REVISION    "200402090000Z"
    DESCRIPTION "Add variable httpServerUsername, httpServerDefaultPassword,
                    httpServerResetToDefaultPwd and httpServerAccess."
    REVISION    "200311130000Z"
    DESCRIPTION "Rename ipAddressConfigHttpEngine to ipAddressConfigHttpServer"
    REVISION    "200311030000Z"
    DESCRIPTION "Creation."
    ::= { mediatrixConfig 120 }

httpServerMIBObjects  OBJECT IDENTIFIER ::= { httpServerMIB 1 }
httpServerConformance OBJECT IDENTIFIER ::= { httpServerMIB 2 }
ipAddressConfigHttpServer OBJECT IDENTIFIER ::= { ipAddressConfig 110 }

    -- *************************************************************************
    -- HTTP server MIB objects
    -- *************************************************************************
    httpServerEnable OBJECT-TYPE
        SYNTAX      MxEnableState
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Enable or disable the web-based configuration
                     service (HTTP)."
        DEFVAL      { enable }
        ::= { httpServerMIBObjects 5 }

    httpServerAccess OBJECT-TYPE
        SYNTAX      INTEGER {
                             lanOnly(0),
                             wanOnly(1),
                             all(2)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Interface where the web-based configuration service can be accessed."
        DEFVAL      { lanOnly }
        ::= { httpServerMIBObjects 50 }

    httpServerUsername OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(0..16))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "User name for the web-based configuration service access authentication.
                     A user logging in with this user name has restricted configuration
                     possibilities via the web interface."
        DEFVAL      { "admin" }
        ::= { httpServerMIBObjects 100 }

    httpServerDefaultPassword OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(0..16))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Default password for the web-based configuration service access
                     authentication. This password is only used when the user resets
                     the password by using the httpServerResetToDefaultPwd variable."
        DEFVAL      { "1234" }
        ::= { httpServerMIBObjects 150 }

    httpServerResetToDefaultPwd OBJECT-TYPE
        SYNTAX      INTEGER {
                             noOp(0),
                             reset(1)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Command to reset the web password to the default value
                     specified by httpServerDefaultPassword.

                     Changing this variable requires a reboot of the unit in order to take effect."
        DEFVAL      { noOp }
        ::= { httpServerMIBObjects 200 }

    httpServerAdminAccess OBJECT-TYPE
        SYNTAX      INTEGER {
                             lanOnly(0),
                             wanOnly(1),
                             all(2)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Interface where the web-based configuration service can be accessed
                     by administrator user."
        DEFVAL      { wanOnly }
        ::= { httpServerMIBObjects 205 }

    httpServerAdminUsername OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(0..16))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Administrator user name for the web-based configuration service access
                     authentication. A user logging in with this user name has extended
                     configuration possibilities via the web interface."
        DEFVAL      { "root" }
        ::= { httpServerMIBObjects 210 }

    httpServerDefaultAdminPassword OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(0..16))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Administrator default password for the web-based configuration service
                     access authentication. This password is only used when the user resets
                     the password by using the httpServerResetToDefaultAdminPwd variable."
        DEFVAL      { "5678" }
        ::= { httpServerMIBObjects 215 }

    httpServerResetToDefaultAdminPwd OBJECT-TYPE
        SYNTAX      INTEGER {
                             noOp(0),
                             reset(1)
                            }
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Command to reset the administrator web password to the default value
                     specified by httpServerDefaultAdminPassword.

                     Changing this variable requires a reboot of the unit in order to take effect."
        DEFVAL      { noOp }
        ::= { httpServerMIBObjects 220 }

    httpServerAdminRealm OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(0..128))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The realm identifies who requested the login information for the
                    administrator web-based configuration service. The realm is
                    usually presented by the user's browser when prompting for a user
                    name and password."

        DEFVAL      { "default" }
        ::= { httpServerMIBObjects 225 }

    httpServerUserRealm OBJECT-TYPE
        SYNTAX      OCTET STRING (SIZE(0..128))
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "The realm identifies who requested the login information for the
                    enduser web-based configuration service. The realm is
                    usually presented by the user's browser when prompting for a user
                    name and password."

        DEFVAL      { "default" }
        ::= { httpServerMIBObjects 230 }

httpServerMIBCustomisation OBJECT IDENTIFIER ::= { httpServerMIBObjects 250 }

    -- *************************************************************************
    -- HTTP server MIB Customisation
    -- *************************************************************************
        -- read-only
        httpServerSipAuthenticationEnable OBJECT-TYPE
        SYNTAX      MxEnableState
        MAX-ACCESS  read-only
        STATUS      current
        DESCRIPTION "When this feature is enabled, it creates a new dynamic
                    web page that allows the user to change the line-specific authentication
                    information (the HTTP Server Service does not handle the unit
                    authentication). The information that can be set is described below.

                        Port:
                        The port selects the user names and passwords reserved for
                        a specific line. The port is a read-only attribute and it
                        communicates with the MIB variable 'sipUAIfAuthenticationTable'.

                        Index:
                        The Index selects one of the five possible passwords associated with a
                        specific line. The index is a read-only attribute and it
                        communicates with the MIB variable 'sipUAAuthIndex'.

                        Username:
                        The username is a unique identifier for the authentication process.
                        It has a read-only attribute and it communicates with the MIB
                        variable 'sipUAAuthUsername'.

                        Password:
                        The password is a unique identifier for the authentication process.
                        It has a read-write attribute and it communicates with the MIB
                        variable 'sipUAAuthPassword'.

                    Note: the variables 'username' and 'password' are accessed with two different
                    indexes: port and index.

                    If httpServerSipAuthenticationEnable is disabled, the user cant access
                    SIP authentication through the HTTP Server Service."

        DEFVAL      { disable }
        ::= { httpServerMIBCustomisation  20 }

        httpServerBandwidthControlSectionEnable OBJECT-TYPE
        SYNTAX      MxEnableState
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "When this feature is enabled, it creates a new dynamic
                    web page that allows the user to:

                    1- Enable or disable the bandwidth management feature.
                    2- Set a limit to the outbound traffic on the WAN port.

                    Please refer to the ipRoutingBandwidthControlEnable variable
                    for more details on the bandwidth management feature."

        DEFVAL      { disable }
        ::= { httpServerMIBCustomisation  30 }











    -- *************************************************************************
    -- IP routing LAN Interface HTTP server
    -- *************************************************************************

    httpServerPort OBJECT-TYPE
        SYNTAX      MxIpPort
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Set the TCP port on which to listen for HTTP requests."
        DEFVAL      { 80 }
        ::= { ipAddressConfigHttpServer 5 }

    httpServerAdminPort OBJECT-TYPE
        SYNTAX      MxIpPort
        MAX-ACCESS  read-write
        STATUS      current
        DESCRIPTION "Set the TCP port on which the administration website will
                     listen for HTTP requests."
        DEFVAL      { 8080 }
        ::= { ipAddressConfigHttpServer 10 }

    -- *************************************************************************
    -- Conformance information
    -- *************************************************************************
    httpServerCompliances OBJECT IDENTIFIER ::= { httpServerConformance 1 }

        httpServerComplVer1 MODULE-COMPLIANCE
            STATUS      current
            DESCRIPTION "List of groups required to configure the web-based
                         configuration service (HTTP)."
            MODULE      -- This Module
            MANDATORY-GROUPS {
                                httpServerBasicGroupVer1,
                                httpServerServerGroupVer1,
                                httpServerCustomisationGroupVer1
                             }
            ::= { httpServerCompliances 1 }

    -- *************************************************************************
    -- MIB variable grouping
    -- *************************************************************************
    httpServerGroups OBJECT IDENTIFIER ::= { httpServerConformance 5 }

        httpServerBasicGroupVer1 OBJECT-GROUP
            OBJECTS {
                        httpServerEnable,
                        httpServerAccess,
                        httpServerUsername,
                        httpServerDefaultPassword,
                        httpServerResetToDefaultPwd,
                        httpServerAdminAccess,
                        httpServerAdminUsername,
                        httpServerDefaultAdminPassword,
                        httpServerResetToDefaultAdminPwd,
                        httpServerAdminRealm,
                        httpServerUserRealm
                    }
            STATUS      current
            DESCRIPTION "A list of objects used to configure the web-based
                         configuration service (HTTP)."
            ::= { httpServerGroups 5 }

        httpServerServerGroupVer1 OBJECT-GROUP
            OBJECTS {
                        httpServerPort
                    }
            STATUS      current
            DESCRIPTION "A list of objects used to configure the IP address of the
                         web-based configuration service (HTTP)."
            ::= { httpServerGroups 10 }

        httpServerCustomisationGroupVer1 OBJECT-GROUP
            OBJECTS {
                        httpServerSipAuthenticationEnable,
                        httpServerBandwidthControlSectionEnable
                    }
            STATUS      current
            DESCRIPTION "A list of objects used to customize the  web-based configuration
                        service (HTTP)."
            ::= { httpServerGroups 15 }

END
