-- -- CDDL HEADER START -- -- The contents of this file are subject to the terms of the -- Common Development and Distribution License, Version 1.0 only -- (the "License"). You may not use this file except in compliance -- with the License. -- -- You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE -- or http://www.opensolaris.org/os/licensing. -- See the License for the specific language governing permissions -- and limitations under the License. -- -- When distributing Covered Code, include this CDDL HEADER in each -- file and include the License file at usr/src/OPENSOLARIS.LICENSE. -- If applicable, add the following below this CDDL HEADER, with the -- fields enclosed by brackets "[]" replaced with your own identifying -- information: Portions Copyright [yyyy] [name of copyright owner] -- -- CDDL HEADER END -- -- Copyright 1996 Sun Microsystems, Inc. All Rights Reserved. -- Use is subject to license terms. -- -- #ident "%Z%%M% %I% %E% SMI" -- MS-MIB DEFINITIONS ::= BEGIN IMPORTS OBJECT-TYPE, Counter32, Gauge32 FROM SNMPv2-SMI DisplayString, TimeInterval FROM SNMPv2-TC mib-2 FROM RFC1213-MIB applIndex FROM APPLICATION-MIB; ms MODULE-IDENTITY LAST-UPDATED "9601290000Z" ORGANIZATION "ICNC, SunSoft" CONTACT-INFO " Olivier Reisacher Postal: ICNC, SunSoft 32, chemin du vieux chene 38 240 Meylan FRANCE Tel: +33 76 41 42 43 Fax: +33 76 41 42 41 E-Mail: oreisache@france.sun.com" DESCRIPTION "The MIB module describing Message Stores (MSs)" ::= { private-mibs 4 } -- --------------------- -- | ADMISTRATOR NEEDS | -- --------------------- -- -- 1. Is the MS running? Is it down? Is it overloaded? -- 2. Which are the Users that are creating the load? -- 3. What is the current number of connections compare to -- the maximum number of connections supported? -- 4. Is the disk full? How much disk space is still available? -- 5. Does a given User regularly read his mail? -- -- -- --------- -- | GOALS | -- --------- -- -- Here are the 5 major goals we have tried to reach: -- - solve the administrator needs. -- - build/integrate this MIB on top of the Network Services -- Monitoring MIB (RFC 1565). -- - use as much as possible the design/ideas contained in the -- MTA MIB (RFC 1566), the DSA MIB (RFC 1567) and the HTTP MIB. -- All these three MIBs are on the standard track and are also built on -- top of the Network Services Monitoring MIB. -- - build a model to hold common variables/counters to monitor all kinds -- of Message Stores. This model should be as hierarchical as possible -- to be efficient. -- - test the resulting model against the following scenarios: -- the Berkeley Mailboxes that can be accessed by IMAP or POP -- the Solstice X.400 Message Store -- the Solstice Message Center -- -- -- --------- -- | MODEL | -- --------- -- -- The proposed model is the following: -- a MS is a APPLICATION (see RFC 1565) -- a MS serves several USERs -- a USER owns several FOLDERs -- -- As we can guess, the number of USERs supported by a single MS will continue -- to grow in the future. -- Dumping some huge tables using SNMP is slow and resource consuming, so we -- decided to introduce a intermediate level between the MS and its USERs: -- the notion of GROUP. -- -- We have then the resulting model: -- a MS is an APPLICATION (see RFC 1565) -- a MS serves several GROUPs -- a GROUP is composed of several USERs -- a USER owns several FOLDERs -- -- -- We have also introduced two new types of variables because -- a single MS may support several protocols: -- MsAccessMethod -- MsTransferMethod -- -- These two new types are used in the msAccessTable, msTransferTable, -- msUserAccessTable, msUserTransferTable. -- The two first tables provide some statistics per Access/Transfer method -- for the entire MS and the other two tables provide some statistics -- per Access/Transfer Method and per User. -- -- We do not provide statistics per Access/Transfer method per Group -- because this implies two extra tables and we think that it will -- be easy to sum these statistics on all users contained in that Group -- (a Group should not contain thousand of Users). -- -- Comments: -- -- - Variables which name looks like XXXAccessYYY are related to the -- communication between Users and the MS. -- - Variables which name looks like XXXTransferYYY are related to the -- communication between the MS and the MTA. -- -- -- MS -- |---------------------------------------------------------| -- | | -- | global stats of the MS | -- | | -- | |----------------------------| | -- | | stats per Transfer method | | -- | |----------------------------| | -- | | -- | |----------------------------| | -- | | stats per Access method | | -- | |----------------------------| | -- | | -- | GROUP | -- | |-----------------------------------------------------| | -- | | | | -- | | global stats of the GROUP | | -- | | | | -- | | USER | | -- | | |-------------------------------------------------| | | -- | | | | | | -- | | | global stats of the USER | | | -- | | | | | | -- | | | |----------------------------| | | | -- | | | | stats per Transfer method | | | | -- | | | |----------------------------| | | | -- | | | | | | -- | | | |----------------------------| | | | -- | | | | stats per Access method | | | | -- | | | |----------------------------| | | | -- | | | | | | -- | | | | | | -- | | | FOLDER | | | -- | | | |---------------------------------------------| | | | -- | | | | | | | | -- | | | | global stats of the FOLDER | | | | -- | | | | | | | | -- | | | | | | | | -- | | | | | | | | -- | | | | | | | | -- | | | |---------------------------------------------| | | | -- | | | | | | -- | | |-------------------------------------------------| | | -- | | | | -- | |-----------------------------------------------------| | -- | | -- |---------------------------------------------------------| -- -- -- Assumptions we made: -- - a User belongs to an MS (configuration of the MS) -- - a Association is always owned by a User -- - a Folder is always owned by a User -- -- Example of questions we can answer: -- - Which is the Folder currently accessed by a given User? -- -- Known limitation of the model: -- - each User can only belong to one Group. -- - each Folder is associated with a single User, the owner -- of the Folder (see msFolderIsShared). -- - we won't be able to provide the history list of Users -- who accessed a given Folder MsAccessMethod ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The Access method used by the UA to access the MS. This new type is used in both the msAccessTable and the msUserAccessTable. pop(1), imap(4), p7(9) should only be used if the protocol version is unknown." SYNTAX INTEGER { pop(1), pop-2(2), pop-3(3), imap(4), imap-2(5), imap-2bis(6), imap-3(7), imap-4(8), p7(9), p7-88(10) } MsTransferMethod ::= TEXTUAL-CONVENTION STATUS current DESCRIPTION "The Transfer method used by the MS to submit a message to the Message Tranfer System (MTS) or the Transfer method used by the Message Transfer System to deliver a message to the MS. This new type is used in both the msTransferTable and the msUserTransferTable. p3(1) should only be used if the protocol version is unknown." SYNTAX INTEGER { p3(1), p3-88(2) } -- The msTable can be seen as an extension of the applTable -- (see INDEX clause in the msEntry) -- -- Comments: -- --------- -- The sum on all the Users of the used volume >= sum of the volume used by the MS -- (some messages may be shared by several Users) msTable OBJECT-TYPE SYNTAX SEQUENCE OF MsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table holding information specific to an MS." ::= { ms 1 } msEntry OBJECT-TYPE SYNTAX MsEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The entry associated with each MS." INDEX { applIndex } ::= { msTable 1 } MsEntry ::= SEQUENCE { msMessages Gauge32, msVolume Gauge32, msFreeSpace INTEGER, msGroups Gauge32 } msMessages OBJECT-TYPE SYNTAX Gauge32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The number of messages stored in the MS." ::= { msEntry 1 } msVolume OBJECT-TYPE SYNTAX Gauge32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The volume measured in kilo-octet of messages stored in the MS." ::= { msEntry 2 } msFreeSpace OBJECT-TYPE SYNTAX INTEGER UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The free space available to store new messages in the MS. This space is measured in kilo-octets. If this value is not available, it should be set to -1." ::= { msEntry 3 } msGroups OBJECT-TYPE SYNTAX Gauge MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Groups of Users in the MS." ::= { msEntry 4 } -- The msAccessTable provide some statitics about the usage -- of the MS per Access method. msAccessTable OBJECT-TYPE SYNTAX SEQUENCE OF MsAccessEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table holding statistics for an MS per Access method." ::= { ms 2 } msAccessEntry OBJECT-TYPE SYNTAX MsAccessEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The entry associated with each MS and per Access method." INDEX { applIndex, msAccessIndex } ::= { msAccessTable 1 } MsAccessEntry ::= SEQUENCE { msAccessIndex, MsAccessMethod, msAccessListedMessages Counter32, msAccessFetchedMessages Counter32, msAccessDeletedMessages Counter32, msAccessListedVolume Counter32, msAccessFetchedVolume Counter32, msAccessDeletedVolume Counter32, msAccesses Gauge32, msAccumulatedAccesses Counter32, msLastAccess TimeInterval, msAccumulatedAccesseTime TimeInterval, msRejectedAccesses Counter32, msAccessRejectionReason DisplayString } msAccessIndex OBJECT-TYPE SYNTAX MsAccessMethod MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index used to group statistics per Access method." ::= { msAccessEntry 1 } msAccessListedMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages listed since MS initialization, per Access method." ::= { msAccessEntry 2 } msAccessFetchedMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages fetched since MS initialization, per Access method." ::= { msAccessEntry 3 } msAccessDeletedMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages deleted since MS initialization, per Access method." ::= { msAccessEntry 4 } msAccessListedVolume OBJECT-TYPE SYNTAX Counter32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of messages listed since MS initialization, per Access method, measured in kilo-octets." ::= { msAccessEntry 5 } msAccessFetchedVolume OBJECT-TYPE SYNTAX Counter32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of messages fetched since MS initialization, per Access method, measured in kilo-octets." ::= { msAccessEntry 6 } msAccessDeletedVolume OBJECT-TYPE SYNTAX Counter32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of messages deleted since MS initialization, per Access method, measured in kilo-octets." ::= { msAccessEntry 7 } msAccesses OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of current accesses to the MS, per Access method." ::= { msAccessEntry 8 } msAccumulatedAccesses OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of accesses to the MS since MS initialization, per Access method." ::= { msAccessEntry 9 } msLastAccess OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "Time since the last time that the MS was accessed, per Access method." ::= { msAccessEntry 10 } msAccumulatedAccessTime OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "The total time of connection to the MS since MS initialization, per Access method." ::= { msAccessEntry 11 } msRejectedAccesses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of accesses the MS has rejected since MS initialization, per Access method." ::= { msAccessEntry 12 } msAccessRejectedReason OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The failure reason, if any, for the last access this MS refused. An empty string indicates that the last attempt was successful. If no access attempt has been made since the MS was initialized the value should be 'never'." ::= { msAccessEntry 13 } -- The msTransferTable provide some statitics about the usage -- of the MS per Transfer method. -- -- When the MS application does not communicate with the MTA -- (like "Berkeley Mailboxes"), there will no entry in this table. msTransferTable OBJECT-TYPE SYNTAX SEQUENCE OF MsTransferEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table holding statistics for a entire MS per Transfer method." ::= { ms 3 } msTransferEntry OBJECT-TYPE SYNTAX MsTransferEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The entry associated with each MS and per Transfer method." INDEX { applIndex, msTransferIndex } ::= { msTransferTable 1 } MsTransferEntry ::= SEQUENCE { msTransferIndex, MsTransferMethod, msTransferSentMessages Counter32, msTransferReceivedMessages Counter32, msTransferSentVolume Counter32, msTransferReceivedVolume Counter32, msTransfers Gauge32, msAccumulatedTranfers, Counter32, msLastTransfer TimeInterval, msFailedTransfers Counter32, msTransferFailureReason DisplayString } msTransferIndex OBJECT-TYPE SYNTAX MsTransferMethod MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index used to group statistics per Transfer method." ::= { msTransferEntry 1 } msTransferSentMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages sent since MS initialization, per Transfer method." ::= { msTransferEntry 2 } msTransferReceivedMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages received since MS initialization, per Transfer method." ::= { msTransferEntry 3 } msTransferSentVolume OBJECT-TYPE SYNTAX Counter32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of messages sent since MS initialization, per Transfer method, measured in kilo-octets." ::= { msTransferEntry 4 } msTransferReceivedVolume OBJECT-TYPE SYNTAX Counter32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of messages received since MS initialization, per Transfer method, measured in kilo-octets." ::= { msTransferEntry 5 } msTransfers OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of current tranfers to/from the MS, per Transfert method." ::= { msTransferEntry 6 } msAccumulatedTransfers OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of transfers to/from the MS since MS initialization, per Transfer method." ::= { msTransferEntry 7 } msLastTransfer OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "Time since the last time that a message was transferred to/from the MS, per Transfer method." ::= { msTransferEntry 8 } msRejectedTransfers OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of Transfers that failed since MS initialization, per Transfer method." ::= { msTransferEntry 9 } msTransferFailureReason OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The failure reason, if any, for the last Transfer that failed. An empty string indicates that the last Transfer was successful. If no Transfer attempt has been made since the MS was initialized the value should be 'never'." ::= { msTransferEntry 10 } -- We have introduced the notion of Groups of Users to avoid -- dumping a large table of Users each time we want some detailed -- statistics about the MS. -- -- In the case of "Berkeley Mailboxes" a group could correspond to UNIX groups. -- In the case of the "Solstice X.400 MS", we have already introduced -- this notion of Group of Users. -- -- If the MS does not support the notion of Group of Users or if a User -- does not belong to any group, then the User should be added to the -- dummy "anonymous" group. msGroupTable OBJECT-TYPE SYNTAX SEQUENCE OF MsGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table holding information specific to each Group of Users." ::= { ms 4 } msGroupEntry OBJECT-TYPE SYNTAX MsGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The entry associated with each Group of Users." INDEX { applIndex, msGroupIndex } ::= { msGroupTable 1 } MsGroupEntry ::= SEQUENCE { msGroupIndex INTEGER, msGroupUsers Gauge32, msGroupMessages Counter32, msGroupVolume Counter32, msGroupUsers, Gauge32, msGroupName DisplayString } msGroupIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index associated with a Group of Users for a given MS." ::= { msGroupEntry 1 } msGroupMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages stored for this Group of Users." ::= { msGroupEntry 2 } msGroupVolume OBJECT-TYPE SYNTAX Counter32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of messages stored for this Group of Users, measured in kilo-octets." ::= { msGroupEntry 3 } msGroupUsers OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Users in this Group." ::= { msGroupEntry 4 } msGroupName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "A descriptive name for the Group of Users." ::= { msGroupEntry 5 } -- msUserTable msUserTable OBJECT-TYPE SYNTAX SEQUENCE OF MsUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table holding information specific to each User." ::= { ms 5 } msUserEntry OBJECT-TYPE SYNTAX MsUserEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The entry associated with each User." INDEX { applIndex, msGroupIndex, msUserIndex } ::= { msUserTable 1 } MsUserEntry ::= SEQUENCE { msUserIndex INTEGER, msUserMessages Counter32, msUserVolume Counter32, msUserFolders Gauge32, msUserName DisplayString } msUserIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index associated with a User." ::= { msUserEntry 1 } msUserMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages stored for this User." ::= { msUserEntry 2 } msUserVolume OBJECT-TYPE SYNTAX Counter32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of messages stored for this User, measured in kilo-octets." ::= { msUserEntry 3 } msUserFolders OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of Folders this User owns." ::= { msUserEntry 4 } msUserName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "A descriptive name for the User." ::= { msUserEntry 5 } -- msFolderTable: -- -- A message can be in 4 different states: new, listed, processed, pending. -- A pending message is a message with the deletion flag set (see IMAP) -- -- Question: Is is possible to have an complete of the Folders for a -- a given User? In an X.500 DSA? -- -- In the case of the MS "Berkeley Mailboxes", there will be at least -- one Folder: the INBOX Folder. -- The IMAP could perhaps learn the Folders accessed by a User? -- And what about the subsribed Folders? msFolderTable OBJECT-TYPE SYNTAX SEQUENCE OF MsFolderEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table holding information specific to each Folder." ::= { ms 6 } msFolderEntry OBJECT-TYPE SYNTAX MsFolderEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The entry associated with each Folder." INDEX { applIndex, msGroupIndex, msUserIndex, msFolderIndex } ::= { msFolderTable 1 } MsFolderEntry ::= SEQUENCE { msFolderIndex INTEGER, msFolderNewMessages Gauge32, msFolderListedMessages Gauge32, msFolderProcessedMessages Gauge32, msFolderPendingMessages Gauge32, msFolderNewVolume Gauge32, msFolderListedVolume Gauge32, msFolderProcessedVolume Gauge32, msFolderPendingVolume Gauge32, msFolderCreation TimeInterval, msFolderLastNewMessage TimeInterval, msFolderAccesses Gauge32, msFolderAccumulatedAccesses Counter32, msFolderLastAccess TimeInterval, msFolderIsShared, INTEGER, msFolderName DisplayString } msFolderIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index associated with a Folder." ::= { msFolderEntry 1 } msFolderNewMessages OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of new messages stored in this Folder." ::= { msFolderEntry 2 } msFolderListedMessages OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of listed messages stored in this Folder." ::= { msFolderEntry 3 } msFolderProcessedMessages OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of processed messages stored in this Folder." ::= { msFolderEntry 4 } msFolderPendingMessages OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of pending messages stored in this Folder." ::= { msFolderEntry 5 } msFolderNewVolume OBJECT-TYPE SYNTAX Gauge32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of new messages stored in this Folder, measured in kilo-octets." ::= { msFolderEntry 6 } msFolderListedVolume OBJECT-TYPE SYNTAX Gauge32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of listed messages stored in this Folder, measured in kilo-octets." ::= { msFolderEntry 7 } msFolderProcessedVolume OBJECT-TYPE SYNTAX Gauge32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of processed messages stored in this Folder, measured in kilo-octets." ::= { msFolderEntry 8 } msFolderPendingVolume OBJECT-TYPE SYNTAX Gauge32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of pending messages stored in this Folder, measured in kilo-octets." ::= { msFolderEntry 9 } msFolderCreation OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "Time since the this Folder was created." ::= { msFolderEntry 10 } msFolderLastNewMessage OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "Time since the last new message was received in this Folder." ::= { msFolderEntry 11 } msFolderAccesses OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of current accesses to this Folder." ::= { msFolderEntry 12 } msFolderAccumulatedAccesses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "Number of accumulated accesses to this Folder." ::= { msFolderEntry 13 } msFolderLastAccess OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "Time since a User last accessed this Folder." ::= { msFolderEntry 14 } msFolderIsShared OBJECT-TYPE SYNTAX INTEGER { yes(1), no(2) } MAX-ACCESS read-only STATUS current DESCRIPTION "yes(1) if this Folder is shared by many Users." ::= { msFolderEntry 15 } msFolderName OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "A descriptive name for the Folder." ::= { msFolderEntry 16 } -- The msUserAccessTable provide some statitics about the usage -- of the MS per Access method. msUserAccessTable OBJECT-TYPE SYNTAX SEQUENCE OF msGroupEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table holding statistics specific to each User per Access method." ::= { ms 7 } msUserAccessEntry OBJECT-TYPE SYNTAX MsUserAccessEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The entry associated with each User per Access method." INDEX { applIndex, msGroupIndex, msUserIndex, msUserAccessIndex } ::= { msUserAccessTable 1 } MsUserAccessEntry ::= SEQUENCE { msUserAccessIndex, MsAccessMethod, msUserAccessListedMessages Counter32, msUserAccessFetchedMessages Counter32, msUserAccessDeletedMessages Counter32, msUserAccessListedVolume Counter32, msUserAccessFetchedVolume Counter32, msUserAccessDeletedVolume Counter32, msUserAccesses Gauge32, msUserAccumulatedAccesses Counter32, msUserLastAccess TimeInterval, msUserAccumulatedAccessTime TimeInterval, msUserRejectedAccesses Counter32, msUserAccessRejectionReason DisplayString } msUserAccessIndex OBJECT-TYPE SYNTAX MsAccessMethod MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index used to group statistics per Access method." ::= { msUserAccessEntry 1 } msUserAccessListedMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages listed since MS initialization, per User and per Access method." ::= { msUserAccessEntry 2 } msUserAccessFetchedMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages fetched since MS initialization, per User and per Access method." ::= { msUserAccessEntry 3 } msUserAccessDeletedMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages deleted since MS initialization, per User and per Access method." ::= { msUserAccessEntry 4 } msUserAccessListedVolume OBJECT-TYPE SYNTAX Counter32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of messages listed since MS initialization, per User and per Access method, measured in kilo-octets." ::= { msUserAccessEntry 5 } msUserAccessFetchedVolume OBJECT-TYPE SYNTAX Counter32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of messages fetched since MS initialization, per User and per Access method, measured in kilo-octets." ::= { msUserAccessEntry 6 } msUserAccessDeletedVolume OBJECT-TYPE SYNTAX Counter32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of messages deleted since MS initialization, per User and per Access method, measured in kilo-octets." ::= { msUserAccessEntry 7 } msUserAccesses OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of current accesses per User per Access method." ::= { msUserAccessEntry 8 } msUserAccumulatedAccesses OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of accesses to the MS since MS initialization, per User and per Access method." ::= { msUserAccessEntry 9 } msUserLastAccess OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "Time since the last time that the MS was accessed, per User and per Access method." ::= { msUserAccessEntry 10 } msUserAccumulatedAccessTime OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "The total time this User was connected to the MS since MS initialization, per Access method." ::= { msUserAccessEntry 11 } msUserRejectedAccesses OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of accesses the MS has rejected since MS initialization, per User and per Access method." ::= { msUserAccessEntry 12 } msUserAccessRejectedReason OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The failure reason, if any, for the last access this MS refused for that User. An empty string indicates that the last attempt was successful. If no access attempt has been made since the MS was initialized the value should be 'never'." ::= { msUserAccessEntry 13 } -- The msUserTransferTable provide some statitics about the usage -- of the MS per User and per Transfer method. -- -- When the MS application does not communicate with the MTA -- (like "Berkeley Mailboxes"), there will no entry in this table. msUserTransferTable OBJECT-TYPE SYNTAX SEQUENCE OF MsUserTransferEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table holding statistics per User and per Transfer method." ::= { ms 8 } msUserTransferEntry OBJECT-TYPE SYNTAX MsUserTransferEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The entry associated per User and per Transfer method." INDEX { applIndex, msGroupIndex, msUserIndex, msUserTransferIndex } ::= { msUserTransferTable 1 } MsUserTransferEntry ::= SEQUENCE { msUserTransferIndex, MsTransferMethod, msUserTransferSentMessages Counter32, msUserTransferReceivedMessages Counter32, msUserTransferSentVolume Counter32, msUserTransferReceivedVolume Counter32, msUserTransfers Gauge32, msUserAccumulatedTranfers, Counter32, msUserLastTransfer TimeInterval, msUserFailedTransfers Counter32, msUserTransferFailureReason DisplayString } msUserTransferIndex OBJECT-TYPE SYNTAX MsTransferMethod MAX-ACCESS not-accessible STATUS current DESCRIPTION "The index used to group statistics per Transfer method." ::= { msUserTransferEntry 1 } msUserTransferSentMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages sent since MS initialization, per User and per Transfer method." ::= { msUserTransferEntry 2 } msUserTransferReceivedMessages OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of messages received since MS initialization, per User and per Transfer method." ::= { msUserTransferEntry 3 } msUserTransferSentVolume OBJECT-TYPE SYNTAX Counter32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of messages sent since MS initialization, per User and per Transfer method, measured in kilo-octets." ::= { msUserTransferEntry 4 } msUserTransferReceivedVolume OBJECT-TYPE SYNTAX Counter32 UNITS "K-octets" MAX-ACCESS read-only STATUS current DESCRIPTION "The total volume of messages received since MS initialization, per User and per Transfer method, measured in kilo-octets." ::= { msUserTransferEntry 5 } msUserTransfers OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The number of current tranfers to/from the MS, per User and per Transfert method." ::= { msUserTransferEntry 6 } msUserAccumulatedTransfers OBJECT-TYPE SYNTAX Gauge32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of transfers to/from the MS since MS initialization, per User and per Transfer method." ::= { msUserTransferEntry 7 } msUserLastTransfer OBJECT-TYPE SYNTAX TimeInterval MAX-ACCESS read-only STATUS current DESCRIPTION "Time since the last time that a message was transferred to/from the MS, per User and per Transfer method." ::= { msUserTransferEntry 8 } msUserRejectedTransfers OBJECT-TYPE SYNTAX Counter32 MAX-ACCESS read-only STATUS current DESCRIPTION "The total number of Transfers that failed since MS initialization, per User and per Transfer method." ::= { msUserTransferEntry 9 } msUserTransferFailureReason OBJECT-TYPE SYNTAX DisplayString MAX-ACCESS read-only STATUS current DESCRIPTION "The failure reason, if any, for the last Transfer that failed. An empty string indicates that the last Transfer was successful. If no Transfer attempt has been made since the MS was initialized the value should be 'never'." ::= { msUserTransferEntry 10 } -- The msAssocTable is useful to correlate the associations listed -- in the assocTable (see RFC 1565) with a User, its Group -- and the Folder he is currently accessing. -- -- If we do not know the Folder he is currently accessing, -- the value of the msAssocFolderIndex should be "-1". msAssocTable OBJECT-TYPE SYNTAX SEQUENCE OF msAssocEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The table holding information regarding the associations for each User." ::= { ms 9 } msAssocEntry OBJECT-TYPE SYNTAX MsAssocEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "The entry holding information regarding the associations for each User." INDEX { applIndex, msGroupIndex, msUserIndex, msAssocIndex, msAssocFolderIndex } ::= { msAssocTable 1} MsAssocEntry ::= SEQUENCE { msAssocIndex INTEGER, msAssocFolderIndex INTEGER } msAssocIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The value of assocIndex." ::= { msAssocEntry 1 } msAssocFolderIndex OBJECT-TYPE SYNTAX INTEGER MAX-ACCESS read-only STATUS current DESCRIPTION "The value of msFolderIndex." ::= { msAssocEntry 2 } END