COVALENT-WWW-EXTENSIONS-MIB DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, NOTIFICATION-TYPE, OBJECT-TYPE, 
    enterprises, Unsigned32
        FROM SNMPv2-SMI
    StorageType
        FROM SNMPv2-TC
    MODULE-COMPLIANCE, NOTIFICATION-GROUP, OBJECT-GROUP
        FROM SNMPv2-CONF
    SnmpAdminString
        FROM SNMP-FRAMEWORK-MIB
    WwwResponseType, WwwDocName, wwwServiceIndex,
    wwwDocLastNName, wwwDocLastNResponseType, wwwDocLastNTimeStamp,
    wwwDocLastNRequestType, wwwDocLastNStatusMsg, wwwDocLastNBytes
        FROM WWW-MIB
    applIndex
        FROM NETWORK-SERVICES-MIB;

covalentWwwExtensionsMIB MODULE-IDENTITY
    LAST-UPDATED "200204020000Z"
    ORGANIZATION 
	"Copyright (C) Covalent Technologies (2000-2002).  All Rights Reserved."
    CONTACT-INFO 
        "SNMP Engineering
         Covalent Technologies
         postal: 303 Second Street
                 Suite 375 South
                 San Francisco, CA 94107
         tel:    +1-800-444-1935
         email: support@covalent.net"
    DESCRIPTION 
        "This module defines extensions for the
         WWW-MIB.
         The managed objects provide an index mappings between the
         wwwServiceIndex of the WWW-MIB and the applIndex of
         the NETWORK-SERVICES-MIB as well notifications based on
         response type that was returned to a client during a
         document access attempt.

         NOTE: The WWW-MIB defines general administrative, protocol,
               and document management information."
    ::= { covalent 15 }

covalent OBJECT IDENTIFIER
    ::= { enterprises 6100 }

ctWwwExtMIBObjects OBJECT IDENTIFIER
    ::= { covalentWwwExtensionsMIB 1 }

ctWwwExtMappings OBJECT IDENTIFIER
    ::= { ctWwwExtMIBObjects 1 }

ctWwwExtForwardMappingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CtWwwExtForwardMappingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "The table provides a mapping from the 
         WWW-MIB and the NETWORK-SERVICES-MIB."
    ::= { ctWwwExtMappings 1 }

ctWwwExtForwardMappingEntry OBJECT-TYPE
    SYNTAX      CtWwwExtForwardMappingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "Response statistics for an individual service."
    INDEX       { wwwServiceIndex, applIndex }
    ::= { ctWwwExtForwardMappingTable 1 }

CtWwwExtForwardMappingEntry ::= SEQUENCE {
    ctWwwExtForwardMappingDescr     SnmpAdminString
}

ctWwwExtForwardMappingDescr OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION 
        "A human readable description of the mapping
         of a www service onto an application as
         defined in the NETWORK-SERVICES-MIB."
    ::= { ctWwwExtForwardMappingEntry 1 }

ctWwwExtReverseMappingTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CtWwwExtReverseMappingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table provides a mapping from the
         WWW-MIB and the NETWORK-SERVICES-MIB."
    ::= { ctWwwExtMappings 2 }

ctWwwExtReverseMappingEntry OBJECT-TYPE
    SYNTAX      CtWwwExtReverseMappingEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Response statistics for an individual service."
    INDEX       { applIndex, wwwServiceIndex }
    ::= { ctWwwExtReverseMappingTable 1 }

CtWwwExtReverseMappingEntry ::= SEQUENCE {
    ctWwwExtReverseMappingDescr     SnmpAdminString
}

ctWwwExtReverseMappingDescr OBJECT-TYPE
    SYNTAX      SnmpAdminString
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A human readable description of the mapping
         of an application as defined in the
         NETWORK-SERVICES-MIB onto a www service
         as defined in the WWW-MIB."
    ::= { ctWwwExtReverseMappingEntry 1 }


ctWwwExtNotifications OBJECT IDENTIFIER
    ::= { ctWwwExtMIBObjects 2 }

ctWwwExtNotifyCtrlTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CtWwwExtNotifyCtrlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "The table providing configuration capability for enabling the
         notifications to be sent when a perticular response type
         is returned to the WWW-client."
    ::= { ctWwwExtNotifications 1 }

ctWwwExtNotifyCtrlEntry OBJECT-TYPE
    SYNTAX      CtWwwExtNotifyCtrlEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "Response statistics for an individual service."
    INDEX       { wwwServiceIndex, ctWwwExtNotifyCtrlIndex }
    ::= { ctWwwExtNotifyCtrlTable 1 }

CtWwwExtNotifyCtrlEntry ::= SEQUENCE {
    ctWwwExtNotifyCtrlIndex        WwwResponseType,
    ctWwwExtNotifyCtrlValue        Unsigned32,
    ctWwwExtNotifyCtrlCacheEntries Unsigned32
}

ctWwwExtNotifyCtrlIndex OBJECT-TYPE
    SYNTAX      WwwResponseType
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION 
        "The particular response type the notification apply to."
    ::= { ctWwwExtNotifyCtrlEntry 1 }

ctWwwExtNotifyCtrlValue OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION 
        "The value that determines wheter a notification 
         will be sent.
         The value '0'means no notifications will be sent.
         Any value more then '0' will allow a notification
         be sent, but the notification is only sent
         when the notification would be the same as the
         previous notifications and the current count
         modulo 'ctWwwExtNotifyCtrlValue' equals '0'.
         A value of '1' would mean the notification is
         always sent. Usage of this value should be done
         with care, since it may overload the SNMP agent
         and the targeted SNMP manager."
    DEFVAL { 10 }
    ::= { ctWwwExtNotifyCtrlEntry 2 }

ctWwwExtNotifyCtrlCacheEntries OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The maximum amount of cached entries/documents
         in association with a perticular response type
         will be maintained."
    DEFVAL { 10 } 
    ::= { ctWwwExtNotifyCtrlEntry 3 }

ctWwwExtNotifyCacheTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF CtWwwExtNotifyCacheEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The table providing configuration capability for enabling the
         notifications to be sent when a perticular response type
         is returned to the WWW-client."
    ::= { ctWwwExtNotifications 2 }

ctWwwExtNotifyCacheEntry OBJECT-TYPE
    SYNTAX      CtWwwExtNotifyCacheEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Response statistics for an individual service."
    INDEX       { wwwServiceIndex,
                  ctWwwExtNotifyCtrlIndex,
                  ctWwwExtNotifyCacheDocIndex }
    ::= { ctWwwExtNotifyCacheTable 1 }

CtWwwExtNotifyCacheEntry ::= SEQUENCE {
    ctWwwExtNotifyCacheDocIndex     Unsigned32,
    ctWwwExtNotifyCacheDocName      WwwDocName,
    ctWwwExtNotifyCacheDocCount     Counter32,
    ctWwwExtNotifyCacheDocStorage   StorageType
}

ctWwwExtNotifyCacheDocIndex OBJECT-TYPE
    SYNTAX      Unsigned32
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "A unique index for each document entry in the
         notification cache.
         Note: the values in each perticular row may be
         reused. Meaning, a row may first indicate a cache
         for document 'index.html' and later with the same
         index used for document 'index.pl'."
    ::= { ctWwwExtNotifyCacheEntry 1 }

ctWwwExtNotifyCacheDocName OBJECT-TYPE
    SYNTAX      WwwDocName
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The document name which is being 
         cached."
    ::= { ctWwwExtNotifyCacheEntry 2 }

ctWwwExtNotifyCacheDocCount OBJECT-TYPE
    SYNTAX      Counter32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The amount of notifications the attempt of
         accessing the document should have been sent
         if the ctWwwExtNotifyCtrlValue would have
         been '1'."
    ::= { ctWwwExtNotifyCacheEntry 3 }

ctWwwExtNotifyCacheDocStorage OBJECT-TYPE
    SYNTAX      StorageType
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "The storage type for this cached entry.
         This is usefull to 'hardcode' some well
         known document access attemtps that 
         always result into a notification and
         so enlighten the load on the SNMP agent
         and manager."
    DEFVAL { volatile }
    ::= { ctWwwExtNotifyCacheEntry 4 }


ctWwwExtResponseNotification NOTIFICATION-TYPE
    OBJECTS     {
         wwwDocLastNName,
         wwwDocLastNTimeStamp,
         wwwDocLastNRequestType,
         wwwDocLastNResponseType,
         wwwDocLastNStatusMsg,
         wwwDocLastNBytes 
    }
    STATUS      current
    DESCRIPTION 
        "The trap that is sent for each processed request if the
         response type is enabled in the 'ctWwwExtResponseTable'.

         NOTE: Due to the nature of SNMP and its underlying
         transport protocol notification may and can arrive
         in a wrong order. Also an SNMP agent may decide to
         change order if this would benefit/optimise
         processing/generation of the notification."
    ::= { ctWwwExtNotifications 3 }

ctWwwExtMIBConformance OBJECT IDENTIFIER
    ::= { covalentWwwExtensionsMIB 4 }

ctWwwExtMIBCompliances OBJECT IDENTIFIER
    ::= { ctWwwExtMIBConformance 1 }

ctWwwExtMIBGroups OBJECT IDENTIFIER
    ::= { ctWwwExtMIBConformance 2 }

ctWwwExtMappingGroup OBJECT-GROUP
    OBJECTS     { ctWwwExtForwardMappingDescr,
                  ctWwwExtReverseMappingDescr }
    STATUS      current
    DESCRIPTION 
        "The objects that are maintained to provide information
         for the mappings between the WWW-MIB and the
         NETWORK-SERVICES-MIB."
    ::= { ctWwwExtMIBGroups 1 }

ctWwwExtNotificationCtrlGroup OBJECT-GROUP
    OBJECTS     { ctWwwExtNotifyCtrlValue,
                  ctWwwExtNotifyCtrlCacheEntries,
                  ctWwwExtNotifyCacheDocName,
                  ctWwwExtNotifyCacheDocCount,
                  ctWwwExtNotifyCacheDocStorage }
    STATUS      current
    DESCRIPTION
        "The enable response group defines the objects
         used for enabling/disabling the notification
         generation."
    ::= { ctWwwExtMIBGroups 2 }

ctWwwExtNotificationGroup NOTIFICATION-GROUP
    NOTIFICATIONS { ctWwwExtResponseNotification }
    STATUS      current
    DESCRIPTION 
        "The trap response group defines all notification sent
         based on matching a resposne type of the request."
    ::= { ctWwwExtMIBGroups 3 }

ctWwwExtFullCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION 
        "The full compliance statement for the
         COVALENT-WWW-EXTENSIONS-MIB."
    MODULE      -- this module
        MANDATORY-GROUPS {
                ctWwwExtMappingGroup,
                ctWwwExtNotificationCtrlGroup,
                ctWwwExtNotificationGroup
        }
    ::= { ctWwwExtMIBCompliances 1 }

ctWwwExtFullReadOnlyCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION
        "The compliance statement for a read-only implementation
         of the COVALENT-RESP-NOTIFY-MIB."
    MODULE      -- this module
        MANDATORY-GROUPS {
                ctWwwExtMappingGroup,
                ctWwwExtNotificationCtrlGroup,
                ctWwwExtNotificationGroup
        }
        OBJECT      ctWwwExtNotifyCtrlValue
        MIN-ACCESS  read-only
        DESCRIPTION
            "Write access is not needed.
             The implementation determines whether the Notification
             is sent and it is not configurable via SNMP."
    ::= { ctWwwExtMIBCompliances 2 }

ctWwwExtMinimalCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION 
        "The basic compliance statement for the COVALENT-RESP-NOTIFY-MIB."
    MODULE      -- this module
        MANDATORY-GROUPS        {
                ctWwwExtMappingGroup,
                ctWwwExtNotificationCtrlGroup
        }
    ::= { ctWwwExtMIBCompliances 3 }

ctWwwExtMappingCompliance MODULE-COMPLIANCE
    STATUS      current
    DESCRIPTION 
        "The basic compliance statement for the COVALENT-RESP-NOTIFY-MIB."
    MODULE      -- this module
        MANDATORY-GROUPS        {
                ctWwwExtMappingGroup
        }
    ::= { ctWwwExtMIBCompliances 4 }

END -- end of module COVALENT-WWW-EXTENSIONS-MIB.
