-- extracted from rfc2788.txt
-- at Fri Mar 24 07:07:18 2000

NETWORK-SERVICES-MIB DEFINITIONS ::= BEGIN

IMPORTS
        OBJECT-TYPE,
        Counter32,
        Gauge32,
        MODULE-IDENTITY,
        mib-2
                FROM SNMPv2-SMI
        TimeStamp,
        TEXTUAL-CONVENTION
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        SnmpAdminString
                FROM SNMP-FRAMEWORK-MIB;

application MODULE-IDENTITY
        LAST-UPDATED "200003030000Z"       -- Mar 3, 2000 12:00:00 AM
        ORGANIZATION "IETF Mail and Directory Management Working Group"
        CONTACT-INFO
               "Ned Freed

                Postal: Innosoft International, Inc.
                        1050 Lakes Drive
                        West Covina, CA 91790
                        US

                   Tel: +1 626 919 3600
                   Fax: +1 626 919 3614

                E-Mail: ned.freed@innosoft.com"
        DESCRIPTION
               "The MIB module describing network service applications"
        REVISION "200003030000Z"   -- Mar 3, 2000 12:00:00 AM
        DESCRIPTION
               "This revision, published in RFC 2788, changes a number of
                DisplayStrings to SnmpAdminStrings. Note that this change
                is not strictly supported by SMIv2.  However, the alternative
                of deprecating the old objects and defining new objects
                would have a more adverse impact on backward compatibility
                and interoperability, given the particular semantics of
                these objects. The defining reference for distinguished
                names has also been updated from RFC 1779 to RFC 2253."
        REVISION "199905120000Z"   -- May 12, 1999 12:00:00 AM
        DESCRIPTION
               "This revision fixes a few small technical problems found
                in previous versions, mostly in regards to the conformance
                groups for different versions of this MIB.  No changes have
                been made to the objects this MIB defines since RFC 2248."
        REVISION "199708170000Z"   -- Aug 17, 1997 12:00:00 AM
        DESCRIPTION
               "This revision, published in RFC 2248, adds the
                applDescription and applURL objects, adds the quiescing
                state to the applOperStatus object and renames the MIB
                from the APPLICATION-MIB to the NETWORK-SERVICE-MIB."
        REVISION "199311280000Z"   -- Nov 28, 1993 12:00:00 AM
        DESCRIPTION
               "The original version of this MIB was published in RFC 1565"
 -- 1.3.6.1.2.1.27 --  ::= { mib-2 27 }


-- Textual conventions
-- DistinguishedName is used to refer to objects in the
-- directory.

DistinguishedName ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "255a"
        STATUS current
        DESCRIPTION
               "A Distinguished Name represented in accordance with
                RFC 2253, presented in the UTF-8 charset defined in
                RFC 2279."
        SYNTAX OCTET STRING (SIZE (0..255))


-- Uniform Resource Locators are stored in URLStrings.

URLString ::= TEXTUAL-CONVENTION
        DISPLAY-HINT "255a"
        STATUS current
        DESCRIPTION
               "A Uniform Resource Locator represented in accordance
                with RFCs 1738 and 2368, presented in the NVT ASCII
                charset defined in RFC 854."
        SYNTAX OCTET STRING (SIZE (0..255))


-- The basic applTable contains a list of the application
-- entities.

applTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ApplEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "The table holding objects which apply to all different
                kinds of applications providing network services.
                Each network service application capable of being
                monitored should have a single entry in this table."
 -- 1.3.6.1.2.1.27.1 --  ::= { application 1 }


applEntry OBJECT-TYPE
        SYNTAX ApplEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "An entry associated with a single network service
                application."
        INDEX {
                applIndex }
 -- 1.3.6.1.2.1.27.1.1 --  ::= { applTable 1 }


ApplEntry ::= SEQUENCE {
        applIndex                           INTEGER,
        applName                            SnmpAdminString,
        applDirectoryName                   DistinguishedName,
        applVersion                         SnmpAdminString,
        applUptime                          TimeStamp,
        applOperStatus                      INTEGER,
        applLastChange                      TimeStamp,
        applInboundAssociations             Gauge32,
        applOutboundAssociations            Gauge32,
        applAccumulatedInboundAssociations  Counter32,
        applAccumulatedOutboundAssociations Counter32,
        applLastInboundActivity             TimeStamp,
        applLastOutboundActivity            TimeStamp,
        applRejectedInboundAssociations     Counter32,
        applFailedOutboundAssociations      Counter32,
        applDescription                     SnmpAdminString,
        applURL                             URLString }


applIndex OBJECT-TYPE
        SYNTAX INTEGER (1..2147483647)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "An index to uniquely identify the network service
                application. This attribute is the index used for
                lexicographic ordering of the table."
 -- 1.3.6.1.2.1.27.1.1.1 --  ::= { applEntry 1 }


applName OBJECT-TYPE
        SYNTAX SnmpAdminString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The name the network service application chooses to be
                known by."
 -- 1.3.6.1.2.1.27.1.1.2 --  ::= { applEntry 2 }


applDirectoryName OBJECT-TYPE
        SYNTAX DistinguishedName
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The Distinguished Name of the directory entry where
                static information about this application is stored.
                An empty string indicates that no information about
                the application is available in the directory."
 -- 1.3.6.1.2.1.27.1.1.3 --  ::= { applEntry 3 }


applVersion OBJECT-TYPE
        SYNTAX SnmpAdminString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The version of network service application software.
                This field is usually defined by the vendor of the
                network service application software."
 -- 1.3.6.1.2.1.27.1.1.4 --  ::= { applEntry 4 }


applUptime OBJECT-TYPE
        SYNTAX TimeStamp
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The value of sysUpTime at the time the network service
                application was last initialized.  If the application was
                last initialized prior to the last initialization of the
                network management subsystem, then this object contains
                a zero value."
 -- 1.3.6.1.2.1.27.1.1.5 --  ::= { applEntry 5 }


applOperStatus OBJECT-TYPE
        SYNTAX INTEGER {
                        up(1),
                        down(2),
                        halted(3),
                        congested(4),
                        restarting(5),
                        quiescing(6) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "Indicates the operational status of the network service
                application. 'down' indicates that the network service is
                not available. 'up' indicates that the network service
                is operational and available.  'halted' indicates that the
                service is operational but not available.  'congested'
                indicates that the service is operational but no additional
                inbound associations can be accommodated.  'restarting'
                indicates that the service is currently unavailable but is
                in the process of restarting and will be available soon.
                'quiescing' indicates that service is currently operational
                but is in the process of shutting down. Additional inbound
                associations may be rejected by applications in the
                'quiescing' state."
 -- 1.3.6.1.2.1.27.1.1.6 --  ::= { applEntry 6 }


applLastChange OBJECT-TYPE
        SYNTAX TimeStamp
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The value of sysUpTime at the time the network service
                application entered its current operational state.  If
                the current state was entered prior to the last
                initialization of the local network management subsystem,
                then this object contains a zero value."
 -- 1.3.6.1.2.1.27.1.1.7 --  ::= { applEntry 7 }


applInboundAssociations OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The number of current associations to the network service
                application, where it is the responder.  An inbound
                association occurs when another application successfully
                connects to this one."
 -- 1.3.6.1.2.1.27.1.1.8 --  ::= { applEntry 8 }


applOutboundAssociations OBJECT-TYPE
        SYNTAX Gauge32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The number of current associations to the network service
                application, where it is the initiator.  An outbound
                association occurs when this application successfully
                connects to another one."
 -- 1.3.6.1.2.1.27.1.1.9 --  ::= { applEntry 9 }


applAccumulatedInboundAssociations OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The total number of associations to the application entity
                since application initialization, where it was the responder."
 -- 1.3.6.1.2.1.27.1.1.10 --  ::= { applEntry 10 }


applAccumulatedOutboundAssociations OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The total number of associations to the application entity
                since application initialization, where it was the initiator."
 -- 1.3.6.1.2.1.27.1.1.11 --  ::= { applEntry 11 }


applLastInboundActivity OBJECT-TYPE
        SYNTAX TimeStamp
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The value of sysUpTime at the time this application last
                had an inbound association.  If the last association
                occurred prior to the last initialization of the network
                subsystem, then this object contains a zero value."
 -- 1.3.6.1.2.1.27.1.1.12 --  ::= { applEntry 12 }


applLastOutboundActivity OBJECT-TYPE
        SYNTAX TimeStamp
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The value of sysUpTime at the time this application last
                had an outbound association.  If the last association
                occurred prior to the last initialization of the network
                subsystem, then this object contains a zero value."
 -- 1.3.6.1.2.1.27.1.1.13 --  ::= { applEntry 13 }


applRejectedInboundAssociations OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The total number of inbound associations the application
                entity has rejected, since application initialization.
                Rejected associations are not counted in the accumulated
                association totals.  Note that this only counts
                associations the application entity has rejected itself;
                it does not count rejections that occur at lower layers
                of the network.  Thus, this counter may not reflect the
                true number of failed inbound associations."
 -- 1.3.6.1.2.1.27.1.1.14 --  ::= { applEntry 14 }


applFailedOutboundAssociations OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The total number associations where the application entity
                is initiator and association establishment has failed,
                since application initialization.  Failed associations are
                not counted in the accumulated association totals."
 -- 1.3.6.1.2.1.27.1.1.15 --  ::= { applEntry 15 }


applDescription OBJECT-TYPE
        SYNTAX SnmpAdminString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "A text description of the application.  This information
                is intended to identify and briefly describe the
                application in a status display."
 -- 1.3.6.1.2.1.27.1.1.16 --  ::= { applEntry 16 }


applURL OBJECT-TYPE
        SYNTAX URLString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "A URL pointing to a description of the application.
                This information is intended to identify and describe
                the application in a status display."
 -- 1.3.6.1.2.1.27.1.1.17 --  ::= { applEntry 17 }


-- The assocTable augments the information in the applTable
-- with information about associations.  Note that two levels
-- of compliance are specified below, depending on whether
-- association monitoring is mandated.

assocTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AssocEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "The table holding a set of all active application
                associations."
 -- 1.3.6.1.2.1.27.2 --  ::= { application 2 }


assocEntry OBJECT-TYPE
        SYNTAX AssocEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "An entry associated with an association for a network
                service application."
        INDEX {
                applIndex,
                assocIndex }
 -- 1.3.6.1.2.1.27.2.1 --  ::= { assocTable 1 }


AssocEntry ::= SEQUENCE {
        assocIndex               INTEGER,
        assocRemoteApplication   SnmpAdminString,
        assocApplicationProtocol OBJECT IDENTIFIER,
        assocApplicationType     INTEGER,
        assocDuration            TimeStamp }


assocIndex OBJECT-TYPE
        SYNTAX INTEGER (1..2147483647)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
               "An index to uniquely identify each association for a network
                service application.  This attribute is the index that is
                used for lexicographic ordering of the table.  Note that the
                table is also indexed by the applIndex."
 -- 1.3.6.1.2.1.27.2.1.1 --  ::= { assocEntry 1 }


assocRemoteApplication OBJECT-TYPE
        SYNTAX SnmpAdminString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The name of the system running remote network service
                application.  For an IP-based application this should be
                either a domain name or IP address.  For an OSI application
                it should be the string encoded distinguished name of the
                managed object.  For X.400(1984) MTAs which do not have a
                Distinguished Name, the RFC 2156 syntax 'mta in
                globalid' used in X400-Received: fields can be used. Note,
                however, that not all connections an MTA makes are
                necessarily to another MTA."
 -- 1.3.6.1.2.1.27.2.1.2 --  ::= { assocEntry 2 }


assocApplicationProtocol OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "An identification of the protocol being used for the
                application.  For an OSI Application, this will be the
                Application Context.  For Internet applications, OID
                values of the form {applTCPProtoID port} or {applUDPProtoID
                port} are used for TCP-based and UDP-based protocols,
                respectively. In either case 'port' corresponds to the
                primary port number being used by the protocol. The
                usual IANA procedures may be used to register ports for
                new protocols."
 -- 1.3.6.1.2.1.27.2.1.3 --  ::= { assocEntry 3 }


assocApplicationType OBJECT-TYPE
        SYNTAX INTEGER {
                        uainitiator(1),
                        uaresponder(2),
                        peerinitiator(3),
                        peerresponder(4) }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "This indicates whether the remote application is some type of
                client making use of this network service (e.g., a Mail User
                Agent) or a server acting as a peer. Also indicated is whether
                the remote end initiated an incoming connection to the network
                service or responded to an outgoing connection made by the
                local application.  MTAs and messaging gateways are
                considered to be peers for the purposes of this variable."
 -- 1.3.6.1.2.1.27.2.1.4 --  ::= { assocEntry 4 }


assocDuration OBJECT-TYPE
        SYNTAX TimeStamp
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
               "The value of sysUpTime at the time this association was
                started.  If this association started prior to the last
                initialization of the network subsystem, then this
                object contains a zero value."
 -- 1.3.6.1.2.1.27.2.1.5 --  ::= { assocEntry 5 }


-- Conformance information

applConformance OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.27.3 --  ::= { application 3 }

applGroups OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.27.3.1 --  ::= { applConformance 1 }

applCompliances OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.27.3.2 --  ::= { applConformance 2 }


-- Compliance statements

applCompliance MODULE-COMPLIANCE
        STATUS obsolete
        DESCRIPTION
               "The compliance statement for RFC 1565 implementations
                which support the Network Services Monitoring MIB
                for basic monitoring of network service applications.
                This is the basic compliance statement for RFC 1565."

        MODULE 
        MANDATORY-GROUPS {
                        applRFC1565Group }

 -- 1.3.6.1.2.1.27.3.2.1 --  ::= { applCompliances 1 }


assocCompliance MODULE-COMPLIANCE
        STATUS obsolete
        DESCRIPTION
               "The compliance statement for RFC 1565 implementations
                which support the Network Services Monitoring MIB
                for basic monitoring of network service applications
                and their associations."

        MODULE 
        MANDATORY-GROUPS {
                        applRFC1565Group,
                        assocRFC1565Group }

 -- 1.3.6.1.2.1.27.3.2.2 --  ::= { applCompliances 2 }


applRFC2248Compliance MODULE-COMPLIANCE
        STATUS deprecated
        DESCRIPTION
               "The compliance statement for RFC 2248 implementations
                which support the Network Services Monitoring MIB
                for basic monitoring of network service applications."

        MODULE 
        MANDATORY-GROUPS {
                        applRFC2248Group }

 -- 1.3.6.1.2.1.27.3.2.3 --  ::= { applCompliances 3 }


assocRFC2248Compliance MODULE-COMPLIANCE
        STATUS deprecated
        DESCRIPTION
               "The compliance statement for RFC 2248 implementations
                which support the Network Services Monitoring MIB for
                basic monitoring of network service applications and
                their associations."

        MODULE 
        MANDATORY-GROUPS {
                        applRFC2248Group,
                        assocRFC2248Group }

 -- 1.3.6.1.2.1.27.3.2.4 --  ::= { applCompliances 4 }


applRFC2788Compliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
               "The compliance statement for RFC 2788 implementations
                which support the Network Services Monitoring MIB
                for basic monitoring of network service applications."

        MODULE 
        MANDATORY-GROUPS {
                        applRFC2788Group }

 -- 1.3.6.1.2.1.27.3.2.5 --  ::= { applCompliances 5 }


assocRFC2788Compliance MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
               "The compliance statement for RFC 2788 implementations
                which support the Network Services Monitoring MIB for
                basic monitoring of network service applications and
                their associations."

        MODULE 
        MANDATORY-GROUPS {
                        applRFC2788Group,
                        assocRFC2788Group }

 -- 1.3.6.1.2.1.27.3.2.6 --  ::= { applCompliances 6 }

-- Units of conformance

applRFC1565Group OBJECT-GROUP
        OBJECTS {
                applName,
                applVersion,
                applUptime,
                applOperStatus,
                applLastChange,
                applInboundAssociations,
                applOutboundAssociations,
                applAccumulatedInboundAssociations,
                applAccumulatedOutboundAssociations,
                applLastInboundActivity,
                applLastOutboundActivity,
                applRejectedInboundAssociations,
                applFailedOutboundAssociations }
        STATUS obsolete
        DESCRIPTION
               "A collection of objects providing basic monitoring of
                network service applications.  This is the original set
                of such objects defined in RFC 1565."
 -- 1.3.6.1.2.1.27.3.1.7 --  ::= { applGroups 7 }

assocRFC1565Group OBJECT-GROUP
        OBJECTS {
                assocRemoteApplication,
                assocApplicationProtocol,
                assocApplicationType,
                assocDuration }
        STATUS obsolete
        DESCRIPTION
               "A collection of objects providing basic monitoring of
                network service applications' associations.  This is the
                original set of such objects defined in RFC 1565."
 -- 1.3.6.1.2.1.27.3.1.2 --  ::= { applGroups 2 }

applRFC2248Group OBJECT-GROUP
        OBJECTS {
                applName,
                applVersion,
                applUptime,
                applOperStatus,
                applLastChange,
                applInboundAssociations,
                applOutboundAssociations,
                applAccumulatedInboundAssociations,
                applAccumulatedOutboundAssociations,
                applLastInboundActivity,
                applLastOutboundActivity,
                applRejectedInboundAssociations,
                applFailedOutboundAssociations,
                applDescription,
                applURL }
        STATUS deprecated
        DESCRIPTION
               "A collection of objects providing basic monitoring of
                network service applications.  This group was originally
                defined in RFC 2248; note that applDirectoryName is
                missing."
 -- 1.3.6.1.2.1.27.3.1.3 --  ::= { applGroups 3 }

assocRFC2248Group OBJECT-GROUP
        OBJECTS {
                assocRemoteApplication,
                assocApplicationProtocol,
                assocApplicationType,
                assocDuration }
        STATUS deprecated
        DESCRIPTION
               "A collection of objects providing basic monitoring of
                network service applications' associations.  This group
                was originally defined by RFC 2248."
 -- 1.3.6.1.2.1.27.3.1.4 --  ::= { applGroups 4 }

applRFC2788Group OBJECT-GROUP
        OBJECTS {
                applName,
                applDirectoryName,
                applVersion,
                applUptime,
                applOperStatus,
                applLastChange,
                applInboundAssociations,
                applOutboundAssociations,
                applAccumulatedInboundAssociations,
                applAccumulatedOutboundAssociations,
                applLastInboundActivity,
                applLastOutboundActivity,
                applRejectedInboundAssociations,
                applFailedOutboundAssociations,
                applDescription,
                applURL }
        STATUS current
        DESCRIPTION
               "A collection of objects providing basic monitoring of
                network service applications.  This is the appropriate
                group for RFC 2788 -- it adds the applDirectoryName object
                missing in RFC 2248."
 -- 1.3.6.1.2.1.27.3.1.5 --  ::= { applGroups 5 }

assocRFC2788Group OBJECT-GROUP
        OBJECTS {
                assocRemoteApplication,
                assocApplicationProtocol,
                assocApplicationType,
                assocDuration }
        STATUS current
        DESCRIPTION
               "A collection of objects providing basic monitoring of
                network service applications' associations.  This is
                the appropriate group for RFC 2788."
 -- 1.3.6.1.2.1.27.3.1.6 --  ::= { applGroups 6 }

-- OIDs of the form {applTCPProtoID port} are intended to be used
-- for TCP-based protocols that don't have OIDs assigned by other
-- means. {applUDPProtoID port} serves the same purpose for
-- UDP-based protocols. In either case 'port' corresponds to
-- the primary port number being used by the protocol. For example,
-- assuming no other OID is assigned for SMTP, an OID of
-- {applTCPProtoID 25} could be used, since SMTP is a TCP-based
-- protocol that uses port 25 as its primary port.

applTCPProtoID OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.27.4 --  ::= { application 4 }

applUDPProtoID OBJECT IDENTIFIER 
 -- 1.3.6.1.2.1.27.5 --  ::= { application 5 }

END
-- 
--    Copyright (C) The Internet Society (2000).  All Rights Reserved.
-- 
--    This document and translations of it may be copied and furnished to
--    others, and derivative works that comment on or otherwise explain it
--    or assist in its implementation may be prepared, copied, published
--    and distributed, in whole or in part, without restriction of any
--    kind, provided that the above copyright notice and this paragraph are
--    included on all such copies and derivative works.  However, this
--    document itself may not be modified in any way, such as by removing
--    the copyright notice or references to the Internet Society or other
--    Internet organizations, except as needed for the purpose of
--    developing Internet standards in which case the procedures for
--    copyrights defined in the Internet Standards process must be
--    followed, or as required to translate it into languages other than
--    English.
-- 
--    The limited permissions granted above are perpetual and will not be
--    revoked by the Internet Society or its successors or assigns.
-- 
--    This document and the information contained herein is provided on an
--    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
--    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
--    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
--    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
--    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
--