PINT Working Group                                  Murali Krishnaswamy
Internet Draft                                      Dan Romascanu
                                                    Lucent Technologies
     Management Information Base for the PINT Services Architecture

                      <draft-ietf-pint-mib-01.txt>

                      <draft-ietf-pint-mib-02.txt>

Abstract

   This memo describes a proposed MIB for the PINT Services
   Architecture.

Status of this Memo

   This document is an Internet-Draft and is in full conformance with
   all provisions of Section 10 of RFC 2026. Internet-Drafts are working
   documents of the Internet Engineering Task Force (IETF), its areas,
   and its working groups.  Note that other groups may also distribute
   working documents as Internet- Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

1. Introduction

   PINT services are an emerging set of new Internet based applications
   where voice (and fax) requests to the PSTN (Public Switched Telephone
   Network) are carried over the Internet. RFC 2458 [1] gives a good
   introduction to the (pre-standard) PINT architecture and services.
   It also has examples of some of the early implementations of pre-
   PINT.

   This document defines a MIB which contains the elements for
   monitoring the performance of a PINT based service. The MIB consists
   of details of the four basic PINT services and their performance
   statistics measured under various criteria.

   It is not the purpose of this MIB to enable management of the PINT
   networking elements. We are concerned only with the PINT specific
   performance parameters. While it is understood that PINT service
   performance is closely related to host and network performance, they
   are not addressed here.

2. The SNMP Management Framework

   The SNMP Management Framework presently consists of five major
   components:

       o   An overall architecture, described in RFC 2571 [2].

       o   Mechanisms for describing and naming objects and events for
           the purpose of management. The first version of this Struc-
           ture of Management Information (SMI) is called SMIv1 and
           described in RFC 1155 [3], RFC 1212 [4] and RFC 1215 [5]. The
           second version, called SMIv2, is described in RFC 2578 [6],
           RFC 2579 [7] and RFC 2580 [8].

       o   Message protocols for transferring management information.
           The first version of the SNMP message protocol is called
           SNMPv1 and described in RFC 1157 [9]. A second version of the
           SNMP message protocol, which is not an Internet standards
           track protocol, is called SNMPv2c and described in RFC 1901
           [10] and RFC 1906 [11]. The third version of the message pro-
           tocol is called SNMPv3 and described in RFC 1906 [11], RFC
           2572 [12] and RFC 2574 [13].

       o   Protocol operations for accessing management information. The
           first set of protocol operations and associated PDU formats
           is described in RFC 1157 [9]. A second set of protocol opera-
           tions and associated PDU formats is described in RFC 1905
           [14].

       o   A set of fundamental applications described in RFC 2573 [15]
           and the view-based access control mechanism described in RFC
           2575 [16].

   A more detailed introduction to the current SNMP Management Framework
   can be found in RFC 2570 [17].

   Managed objects are accessed via a virtual information store, termed
   the Management Information Base or MIB.  Objects in the MIB are
   defined using the mechanisms defined in the SMI.

   This memo specifies a MIB module that is compliant to the SMIv2. A
   MIB conforming to the SMIv1 can be produced through the appropriate
   translations. The resulting translated MIB must be semantically
   equivalent, except where objects or events are omitted because no
   translation is possible (use of Counter64). Some machine-readable
   information in SMIv2 will be converted into textual descriptions in
   SMIv1 during the translation process. However, this loss of machine
   readable information is not considered to change the semantics of the
   MIB.

3. The need for PINT services monitoring MIB

   Traditionally voice (and fax) requests originate and terminate inside
   a PSTN network. This network is well known for robust handling of the
   requests, in terms of availability and security. However when the
   requests originate from the Internet there is a concern both on the
   part of the user as well as the provider about issues like reliable
   forwarding of the call requests to the PINT gateway under various
   network conditions, user/host authentication, secure handling of the
   user information etc.  Performance and security management becomes
   all the more important where PINT services cross multiple administra-
   tive domains (or providers).

   This MIB is an attempt to list the parameters that need to be moni-
   tored on an user, PINT client, PINT server and PINT gateway basis.

   (PINT services, their invocation methods/protocols and security
   issues associated with the PINT architecture are discussed in detail
   in [18]).

4. PINT MIB - Overview
   Following is a list of some explanations on the MIB definitions that
   we have chosen to construct.

    o   The basic purpose of this MIB is to monitor the access to PINT
        services both from the performance and security point of view.
        Information may pertain to a certain user or his/her system
        (PINT client) or the system providing the PINT services (PINT
        server) or the PINT gateway that forwards the call to the PSTN
        network.

    o   We propose to build the configuration table as an extension of
        the Application MIB - RFC 2287 [19] using the augments con-
        struct.  Server location and contact might be retrieved from the
        standard MIB-II sysLocation and sysContact objects. There is no
        need to replicate this information in the PINT MIB. However, the
        PINT administrator may be a different person than the sysadmin
        with global responsibilities, thus a pintSysContact object is
        defined.

    o   We chose to monitor the gateway connections from the PINT
        server.  While the agent runs in the PINT servers, the connec-
        tions to the gateways might need to be monitored in order to
        understand what goes on. We placed them in a separate MIB group,
        and by using MODULE-COMPLIANCE clauses, agents that cannot
        implement this stuff will not be mandated to do it.

    o   There is no traps definition in this preliminary proposal. Note
        that thresholding on counters is always possible by using a
        standard mechanism defined by the Remote Monitoring MIB, that
        can be referenced here. Some events that may be defined by using
        this mechanisms:

         *  continuous login/authentication failure or refusal from a
            particular client or user

         *  nuisance call - repeated calls (within a specified period)
            to a number originating from the same user

    o   The client performance and user performance tables may be rather
        resource demanding for an agent implementation. In some MIBs,
        like the Remote Monitoring (RMON) MIBs, control mechanisms were
        built in order to activate those statistics on demand. If
        needed, a sorting ('topN') mechanism can be designed, so that a
        sorted view of clients or users is presented for the high level
        debugging.

    o   We built a time-distribution trying to cover both short-lived,
        as well as longer sessions (1-10 secs, 10 secs - 1 min., 1-15
        min., 15 mins-24 hours, longer).

    o   PintServerClientAddress is defined as a SnmpAdminString. It may
        include an IpAddress and/or name, but we preferred to minimize
        the number of indices at this stage, and keep a human-readable
        format at the same time.

    o   We define pintServerUserIdName as the UserId.  This UserId needs
        to be unique across multiple PINT servers and gateways (depend-
        ing on the architecture) and is mapped to the SessionId.  One
        way to achieve this uniqueness is by appending clientId to the
        UserId string before sending to the PINT server. The SessionId
        could then be a combination of this new UserId and a timestamp.

5. Definitions

PINT-MIB DEFINITIONS ::= BEGIN

IMPORTS
    OBJECT-TYPE, Counter32, MODULE-IDENTITY, mib-2
      FROM SNMPv2-SMI
    TEXTUAL-CONVENTION
      FROM SNMPv2-TC
    MODULE-COMPLIANCE, OBJECT-GROUP
      FROM SNMPv2-CONF
    SysApplInstallPkgIndex
      FROM SYSAPPL-MIB
    SnmpAdminString
      FROM SNMP-FRAMEWORK-MIB;  -- RFC 2271 [20]

         pintMib MODULE-IDENTITY
              LAST-UPDATED "9908310732Z"
              ORGANIZATION "Lucent Technologies"
              CONTACT-INFO
        "Murali Krishnaswamy
        Postal: 3C-512, 101 Crawfords Corner Rd.

        Holmdel, NJ 07733
        Tel:    +1 (732)949-3611
        FAX:    +1 (732)949-3210
        E-mail: murali@lucent.com

        Dan Romascanu
        Postal: Atidim Technology Park, Bldg 3
        Tel Aviv, Israel
        Tel:    +972 3 6458414
        E-mail: dromasca@lucent.com"

              DESCRIPTION
                 "This MIB defines the objects necessary to monitor
                 PINT Services"
              REVISION "9909161200Z"
              DESCRIPTION
                 "Initial version, published as RFC xxxx."
              ::= { mib-2 99999 }  -- Not an IANA number

PintServiceType ::= TEXTUAL-CONVENTION
        SYNTAX  INTEGER {
                R2C(1),     -- Request-to-Talk
                R2F(2),     -- Request-to-Fax
                R2FB(3),    -- Request-to-Fax-Back
                R2HC(4)     -- Request-to-Hear-Content
                }

PintPerfStatPeriod ::= TEXTUAL-CONVENTION
        SYNTAX  INTEGER {
                Last30sec(1),   -- Performance Statics for the last 30 sec
                Last15min(2),   --    15 min
                Last24Hr(3),    --    24 Hour
                SinceReboot(4)  --    Since the time the pint server was
                                --      last rebooted
                }
           DESCRIPTION
        "Note that the values of the counters indexed with a value
         SinceReboot(4) can be potentially affected by a counter rollover.
         It is the responsibility of the application using this object to
         take into account that the counter has been zeroed each time it
         reached a value of (2**32-1)."

pintServerConfig        OBJECT IDENTIFIER ::= { pintMib 1 }
pintServerMonitor       OBJECT IDENTIFIER ::= { pintMib 2 }
pintMibConformance      OBJECT IDENTIFIER ::= { pintMib 3 }

-- pintServerConfig - PINT configuration MIB variables

pintReleaseNumber OBJECT-TYPE
        SYNTAX      SnmpAdminString
            MAX-ACCESS read-only
            STATUS current
            DESCRIPTION
     "An indication of version of the PINT protocol supported
      by this agent."
  ::= { pintServerConfig 1 }

pintSysContact           OBJECT-TYPE
        SYNTAX        SnmpAdminString
        MAX-ACCESS read-write
            STATUS current
            DESCRIPTION
     "Contact information related to the administration of the PINT
     services."
::= { pintServerConfig 2 }

pintApplInstallPkgTable OBJECT-TYPE
        SYNTAX      SEQUENCE OF PintApplInstallPkgEntry
        MAX-ACCESS  not-accessible
            STATUS      current
            DESCRIPTION
     "Table describing the PINT applications that are installed."
  ::= { pintServerConfig 3 }

   pintApplInstallPkgEntry OBJECT-TYPE
       SYNTAX      PintApplInstallPkgEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
     "Entries per PINT Application."
       AUGMENTS { sysApplInstallPkgIndex }
       ::= { pintApplInstallPkgTable 1 }

   PintApplInstallPkgEntry ::= SEQUENCE {
       pintApplInstallPkgDescription    SnmpAdminString
   }

  pintApplInstallPkgDescription OBJECT-TYPE
       SYNTAX   SnmpAdminString
       MAX-ACCESS  read-only
       STATUS   current
       DESCRIPTION
     "Textual description of the installed PINT application."
  ::= { pintApplInstallPkgEntry 1 }

pintRegisteredGatewayTable OBJECT-TYPE
       SYNTAX      SEQUENCE OF PintRegisteredGatewayEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
     "Table describing the registered gateway applications."
::= { pintServerConfig 4 }

   pintRegisteredGatewayEntry OBJECT-TYPE
       SYNTAX      PintRegisteredGatewayEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
     "Entries per Registered Gateway Application."
       AUGMENTS { sysApplInstallPkgIndex, pintRegisteredGatewayName }
 ::= { pintRegisteredGatewayTable 1 }

   pintRegisteredGatewayEntry ::= SEQUENCE {
        pintRegisteredGatewayName       SnmpAdminString
        pintRegisteredGatewayDescription SnmpAdminString
   }

pintRegisteredGatewayName OBJECT-TYPE
        SYNTAX   SnmpAdminString
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
     "Name of the registered gateway."
  ::= { pintRegisteredGatewayEntry 1 }

pintRegisteredGatewayDescription OBJECT-TYPE
       SYNTAX   SnmpAdminString
       MAX-ACCESS  read-only
       STATUS   current
       DESCRIPTION
     "Textual description of the registered gateway."
  ::= { pintRegisteredGatewayEntry 2 }

-- pintServerMonitor - PINT monitoring statistics MIB variables

pintServerGlobalPerf    OBJECT IDENTIFIER ::= {pintServerMonitor 1 }
pintServerClientPerf    OBJECT IDENTIFIER ::= {pintServerMonitor 2 }
pintServerUserIdPerf    OBJECT IDENTIFIER ::= {pintServerMonitor 3 }
pintServerGatewayPerf   OBJECT IDENTIFIER ::= {pintServerMonitor 4 }

pintServerGlobalStatsTable      OBJECT-TYPE
       SYNTAX      SEQUENCE OF PintServerGlobalStatsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
     "Table displaying the monitored global server statistics."
::= { pintServerGlobalPerf 1 }

pintServerGlobalStatsEntry OBJECT-TYPE
       SYNTAX      PintServerGlobalStatsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
     "Entries in the global statistics table.
      One entry is defined for each monitored service type and
      performance statistics collection period."
       INDEX {pintServerServiceTypeIndex, pintServerPerfStatPeriodIndex}
::= { pintServerGlobalStatsTable 1 }

PintServerGlobalStatsEntry      ::=  SEQUENCE {
pintServerServiceTypeIndex                              PintServiceType,
pintServerPerfStatPeriodIndex                           PintPerfStatPeriod,
pintServerGlobalCallsReceived                           Counter32,
pintServerGlobalSuccessfulCalls                         Counter32,
pintServerGlobalDisconnectedCalls                       Counter32,
pintServerGlobalDisconnectedClientUserAuthorizationFailureCalls
                                                        Counter32,
pintServerGlobalDisconnectedServerProblemCalls          Counter32,
pintServerGlobalDisconnectedGatewayProblemCalls         Counter32
}

pintServerServiceTypeIndex OBJECT-TYPE
    SYNTAX     PintServiceType
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
  "The unique identifier of the monitored service."
::= { pintServerGlobalStatsEntry 1 }

pintServerPerfStatPeriodIndex OBJECT-TYPE
    SYNTAX     PintPerfStatPeriod
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
  "Time period for which the performance statistics are requested
        from the pint server."
::= { pintServerGlobalStatsEntry 2 }

pintServerGlobalCallsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of received global calls."
::= { pintServerGlobalStatsEntry 3 }

pintServerGlobalSuccessfulCalls OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of global successful calls."
::= { pintServerGlobalStatsEntry 4 }

pintServerGlobalDisconnectedCalls OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of global disconnected (failed) calls."
::= { pintServerGlobalStatsEntry 5 }

pintServerGlobalDisconnectedClientUserAuthorizationFailureCalls
OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of global calls that were disconnected because of client
or user authorization failure."
::= { pintServerGlobalStatsEntry 6 }

pintServerGlobalDisconnectedServerProblemCalls OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of global calls that were disconnected because of
server problems."
::= { pintServerGlobalStatsEntry 7 }

pintServerGlobalDisconnectedGatewayProblemCalls OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of global calls that were disconnected because of
gateway problems."
::= { pintServerGlobalStatsEntry 8 }

pintServerClientStatsTable      OBJECT-TYPE
        SYNTAX      SEQUENCE OF PintServerClientStatsEntry
      MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
     "Table displaying the monitored server client statistics."
::= { pintServerClientPerf 1 }

pintServerClientStatsEntry OBJECT-TYPE
        SYNTAX      PintServerClientStatsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
     "Entries in the client server statistics table.
     One entry is defined for each client identified by name,
     monitored service type and performance statistics collection
     period."
INDEX {pintServerClientAddress, pintServerServiceTypeIndex,
        pintServerPerfStatPeriodIndex}
        ::= { pintServerClientStatsTable 1 }

PintServerClientStatsEntry      ::=  SEQUENCE {
pintServerClientAddress                                 SnmpAdminString,
pintServerClientCallsReceived                           Counter32,
pintServerClientSuccessfulCalls                         Counter32,
pintServerClientDisconnectedCalls                       Counter32,
pintServerClientDisconnectedClientAuthorizationFailureCalls
                                                        Counter32,
pintServerClientDisconnectedEgressFacilityProblemCalls  Counter32
}

pintServerClientAddress OBJECT-TYPE
    SYNTAX     SnmpAdminString
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
  "The unique identifier of the monitored client
  identified by its address represented as as a string."
::= { pintServerClientStatsEntry 1 }

pintServerClientCallsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls received from the specific client."
::= { pintServerClientStatsEntry 2 }

pintServerClientSuccessfulCalls OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls from the client successfully completed."
::= { pintServerClientStatsEntry 3 }

pintServerClientDisconnectedCalls OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls received from the client, and that were
  disconnected (failed)."
::= { pintServerClientStatsEntry 4 }

pintServerClientDisconnectedClientAuthorizationFailureCalls
OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls from the client that were disconnected because of
client authorization failure."
::= { pintServerClientStatsEntry 5 }

pintServerClientDisconnectedEgressFacilityProblemCalls OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls from the client that were disconnected because
   of egress facility problems."
::= { pintServerClientStatsEntry 6 }

pintServerUserIdStatsTable      OBJECT-TYPE
        SYNTAX      SEQUENCE OF PintServerUserIdStatsEntry
        MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
     "Table displaying the monitored Pint service user statistics."
::= { pintServerUserIdPerf 1 }

pintServerUserIdStatsEntry OBJECT-TYPE
       SYNTAX      PintServerUserIdStatsEntry
       MAX-ACCESS  not-accessible
       STATUS      current
       DESCRIPTION
     "Entries in the user statistics table.
     One entry is defined for each user identified by name,
     each monitored service type and performance statistics collection
     period."
       INDEX {pintServerUserIdName, pintServerServiceTypeIndex,
        pintServerPerfStatPeriodIndex}
       ::= { pintServerUserIdStatsTable 1 }

PintServerUserIdStatsEntry      ::=  SEQUENCE {
pintServerUserIdName                                    UserIdName,
pintServerUserIdCallsReceived                           Counter32,
pintServerUserIdSuccessfulCalls                         Counter32,
pintServerUserIdDisconnectedCalls                       Counter32,
pintServerUserIdDisconnectedUserIdAuthorizationFailureCalls
                                                        Counter32,
pintServerUserIdDisconnectedEgressFacilityProblemCalls  Counter32
}

pintServerUserIdName OBJECT-TYPE
    SYNTAX     SnmpAdminString
    MAX-ACCESS not-accessible
    STATUS     current
    DESCRIPTION
  "The unique identifier of the monitored user
  identified by its name."
::= { pintServerUserIdStatsEntry 1 }

pintServerUserIdCallsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls received from the specific user."
::= { pintServerUserIdStatsEntry 2 }

pintServerUserIdSuccessfulCalls OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls from the user successfully completed."
::= { pintServerUserIdStatsEntry 3 }

pintServerUserIdDisconnectedCalls OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls received from the user that were
  disconnected (failed)."
::= { pintServerUserIdStatsEntry 4 }

pintServerUserIdDisconnectedUserIdUserAuthorizationFailureCalls
OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls from the user that were disconnected because of user
authorization failure."
::= { pintServerUserIdStatsEntry 5 }

pintServerUserIdDisconnectedEgressFacilityProblemCalls OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls from the user that were disconnected because of
   egress facility problems."
::= { pintServerUserIdStatsEntry 6 }

pintServerGatewayStatsTable     OBJECT-TYPE
        SYNTAX      SEQUENCE OF PintServerGatewayStatsEntry
        MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
     "Table displaying the monitored gateway statistics."
::= { pintServerGatewayPerf 1 }

pintServerGatewayStatsEntry OBJECT-TYPE
        SYNTAX      PintServerGatewayStatsEntry
        MAX-ACCESS  not-accessible
      STATUS      current
      DESCRIPTION
     "Entries in the gateway table.
     One entry is defined for each gateway identified by name,
     each monitored service type and performance statistics collection
     period."

      INDEX { pintRegisteredGatewayName, pintServerServiceTypeIndex,
        pintServerPerfStatPeriodIndex
        ::= { pintServerGatewayStatsTable 1 }

PintServerGatewayStatsEntry     ::=  SEQUENCE {
pintServerGatewayCallsReceived                  Counter32,
pintServerGatewaySuccessfulCalls                Counter32,
pintServerGatewayDisconnectedCalls              Counter32
}

pintServerGatewayCallsReceived OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls received at the specified gateway."
::= { pintServerGatewayStatsEntry 1 }

pintServerGatewaySuccessfulCalls OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls successfully completed at the specified gateway."
::= { pintServerGatewayStatsEntry 2 }

pintServerGatewayDisconnectedCalls OBJECT-TYPE
    SYNTAX     Counter32
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
  "Number of calls that were disconnected (failed) at the specified
   gateway."
::= { pintServerGatewayStatsEntry 3 }

--

-- Notifications Section
-- (none defined)
--

--
-- Conformance Section
--

pintMibCompliances OBJECT IDENTIFIER ::= { pintMibConformance 1 }
pintMibGroups      OBJECT IDENTIFIER ::= { pintMibConformance 2 }

pintMibCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
            "Describes the requirements for conformance to the
            PINT MIB."
    MODULE  -- this module
    MANDATORY-GROUPS { pintMibConfigGroup, pintMibMonitorGroup }
    ::= { pintMibCompliances 1 }

pintMibConfigGroup OBJECT-GROUP
       OBJECTS {
          pintReleaseNumber,
          pintSysContact,
          pintApplInstallPkgDescription,
          pintRegisteredGatewayName,
          pintRegisteredGatewayDescription
       }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing configuration
information
               for a PINT Server."
   ::= { pintMibGroups 1 }

pintMibMonitorGroup OBJECT-GROUP
       OBJECTS {
pintServerServiceTypeIndex,
pintServerPerfStatPeriodIndex,
pintServerGlobalCallsReceived,
pintServerGlobalSuccessfulCalls,
pintServerGlobalDisconnectedCalls,
pintServerGlobalDisconnectedClientUserAuthorizationFailureCalls,
pintServerGlobalDisconnectedServerProblemCalls,
pintServerGlobalDisconnectedGatewayProblemCalls,
pintServerClientAddress,
pintServerClientCallsReceived,
pintServerClientSuccessfulCalls,

pintServerClientDisconnectedCalls,
pintServerClientDisconnectedClientAuthorizationFailureCalls,
pintServerClientDisconnectedEgressFacilityProblemCalls,
pintServerUserIdName,
pintServerUserIdCallsReceived,
pintServerUserIdSuccessfulCalls,
pintServerUserIdDisconnectedCalls,
pintServerUserIdDisconnectedUserIdAuthorizationFailureCalls,
pintServerUserIdDisconnectedEgressFacilityProblemCalls,
pintServerGatewayCallsReceived,
pintServerGatewaySuccessfulCalls,
pintServerGatewayDisconnectedCalls
       }
       STATUS  current
       DESCRIPTION
               "A collection of objects providing monitoring
information
               for a PINT Server."
   ::= { pintMibGroups 2 }

END

6. Acknowledgements

   The authors would like to thank Igor Faynberg for his encouragement
   to produce this work.

7.  Security Considerations

   There is only one management object defined in this MIB that has a
   MAX-ACCESS clause of read-write (pintSysContact). There are no read-
   create objects. This read-write object may be considered sensitive or
   vulnerable in some network environments.  The support for SET opera-
   tions in a non-secure environment without proper protection can have
   a negative effect on network operations.

   There are a number of managed objects in this MIB that may contain
   information that may be sensitive from a business perspective. One
   could be the customer identification (UserIdName).  Also information
   on PINT services performance might itself be need to be guarded.  It
   is thus important to control even GET access to these objects and
   possibly to even encrypt the values of these object when sending them
   over the network via SNMP.  Not all versions of SNMP provide features
   for such a secure environment.

   SNMPv1 by itself is not a secure environment.  Even if the network
   itself is secure (for example by using IPSec), even then, there is no
   control as to who on the secure network is allowed to access and
   GET/SET (read/change/create/delete) the objects in this MIB.

   It is recommended that the implementers consider the security
   features as provided by the SNMPv3 framework.  Specifically, the use
   of the User-based Security Model RFC 2574 [13] and the View- based
   Access Control Model RFC 2575 [16] is recommended.

   It is then a customer/user responsibility to ensure that the SNMP
   entity giving access to an instance of this MIB, is properly config-
   ured to give access to the objects only to those principals (users)
   that have legitimate rights to indeed GET or SET
   (change/create/delete) them.

8. IANA Considerations

   All extensions to the values listed in this MIB must be done through
   Standards Action processes as defined in RFC 2434 [21].

9. References

[1]   H.Lu, et. al, "Toward the PSTN/Internet Inter-Networking --Pre-
      PINT Implementations", RFC 2458, November 1998.

[2]   Wijnen, B., Harrington, D., and Presuhn, R., "An Architecture for
      Describing SNMP Management Frameworks", RFC 2571, April 1999.

[3]   Rose, M. and McCloghrie, K., "Structure and Identification of
      Management Information for TCP/IP-based Internets", RFC 1155, May
      1990.

[4]   Rose, M. and McCloghrie, K., "Concise MIB Definitions", RFC 1212,
      March 1991.

[5]   Rose, M., "A Convention for Defining Traps for use with the SNMP",
      RFC 1215, March 1991.

[6]   McCloghrie, K., Perkins, D., and Schoenwaelder, J., "Structure of
      Management Information Version 2 (SMIv2)", RFC 2578, April 1999.

[7]   McCloghrie, K., Perkins, D., and Schoenwaelder, J., "Textual Con-
      ventions for SMIv2", RFC 2579, April 1999.

[8]   McCloghrie, K., Perkins, D., and Schoenwaelder, J., "Conformance
      Statements for SMIv2", RFC 2580, April 1999.

[9]   Case, J., Fedor, M., Schoffstall, M., and Davin, J., "Simple Net-
      work Management Protocol", RFC 1157, May 1990.

[10]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Introduc-
      tion to Community-based SNMPv2", RFC 1901, January 1996.

[11]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Transport
      Mappings for Version 2 of the Simple Network Management Protocol
      (SNMPv2)", RFC 1906, January 1996.

[12]  Case, J., Harrington D., Presuhn R., and Wijnen, B., "Message Pro-
      cessing and Dispatching for the Simple Network Management Protocol
      (SNMP)", RFC 2572, April 1999.

[13]  Blumenthal, U. and Wijnen, B., "User-based Security Model (USM)
      for version 3 of the Simple Network Management Protocol (SNMPv3)",
      RFC 2574, April 1999.

[14]  Case, J., McCloghrie, K., Rose, M., and Waldbusser, S., "Protocol
      Operations for Version 2 of the Simple Network Management Protocol
      (SNMPv2)", RFC 1905, January 1996.

[15]  Levi, D., Meyer, P., and Stewart, B., "SNMPv3 Applications", RFC
      2573, April 1999.

[16]  Wijnen, B., Presuhn, R., and K. McCloghrie, "View-based Access
      Control Model (VACM) for the Simple Network Management Protocol
      (SNMP)", RFC 2575, April 1999.

[17]  Case, J., Mundy, R., Partain, D., and B. Stewart, "Introduction to
      Version 3 of the Internet-standard Network Management Framework",
      RFC 2570, April 1999.

[18]  S. Petrack, L. Conroy, "The PINT Service Protocol:  Extensions to
      SIP and SDP for IP Access to Telephone Call Services", draft-
      ietf-pint-protocol-01.txt, 14 July 1999.

[19]  C. Krupczak, J. Saperia, "Definitions of System-Level Managed
      Objects for Applications", RFC 2287, February 1998.

[20]  D. Harrington, R. Presuhn, B. Wijnen, "An Architecture for
      Describing SNMP Management Frameworks", RFC 2271, January 1998.

9.

[21]  T. Narten, H. Alvestrand, "Guidelines for Writing an IANA
      Considerations Section in RFCs", RFC 2434, October 1998.

10. Authors' Addresses

   Murali Krishnaswamy
   Lucent Technologies
   3C-512, 101 Crawfords Corner Rd.
   Holmdel, NJ 07733
   Tel: +1 (732)949-3611
   Fax: +1 (732)949-3210
   E-mail: murali@lucent.com

   Dan Romascanu
   Lucent Technologies
   Atidim Technology Park, Bldg 3
   Tel Aviv, Israel
   Tel: +972 3 6458414
   E-mail: dromasca@lucent.com