1-- #ident	"%Z%%M%	%I%	%E% SMI"
2
3   APPLICATION-MIB DEFINITIONS ::= BEGIN
4
5   IMPORTS
6       OBJECT-TYPE, Counter32, Gauge32
7         FROM SNMPv2-SMI
8       mib-2
9         FROM RFC1213-MIB
10       DisplayString, TimeStamp
11         FROM SNMPv2-TC;
12
13
14   -- Textual conventions
15
16   -- DistinguishedName [5] is used to refer to objects in the
17   -- directory.
18
19   DistinguishedName ::= TEXTUAL-CONVENTION
20       STATUS current
21       DESCRIPTION
22           "A Distinguished Name represented in accordance with
23            RFC1485."
24       SYNTAX DisplayString
25
26   application MODULE-IDENTITY
27       LAST-UPDATED "9311280000Z"
28       ORGANIZATION "IETF Mail and Directory Management Working Group"
29       CONTACT-INFO
30         "        Ned Freed
31
32          Postal: Innosoft International, Inc.
33                  250 West First Street, Suite 240
34                  Claremont, CA  91711
35                  US
36
37             Tel: +1 909 624 7907
38             Fax: +1 909 621 5319
39
40          E-Mail: ned@innosoft.com"
41       DESCRIPTION
42         "The MIB module describing network service applications"
43       ::= { mib-2 27 }
44
45   -- The basic applTable contains a list of the application
46   -- entities.
47
48
49   applTable OBJECT-TYPE
50       SYNTAX SEQUENCE OF ApplEntry
51       MAX-ACCESS not-accessible
52       STATUS current
53       DESCRIPTION
54           "The table holding objects which apply to all different
55            kinds of applications providing network services."
56       ::= {application 1}
57
58   applEntry OBJECT-TYPE
59       SYNTAX ApplEntry
60       MAX-ACCESS not-accessible
61       STATUS current
62       DESCRIPTION
63         "An entry associated with a network service application."
64       INDEX {applIndex}
65       ::= {applTable 1}
66
67   ApplEntry ::= SEQUENCE {
68       applIndex
69           INTEGER,
70       applName
71           DisplayString,
72       applDirectoryName
73           DistinguishedName,
74       applVersion
75           DisplayString,
76       applUptime
77           TimeStamp,
78       applOperStatus
79           INTEGER,
80       applLastChange
81           TimeStamp,
82       applInboundAssociations
83           Gauge32,
84       applOutboundAssociations
85           Gauge32,
86       applAccumulatedInboundAssociations
87           Counter32,
88       applAccumulatedOutboundAssociations
89           Counter32,
90       applLastInboundActivity
91           TimeStamp,
92       applLastOutboundActivity
93           TimeStamp,
94       applRejectedInboundAssociations
95           Counter32,
96       applFailedOutboundAssociations
97           Counter32
98   }
99
100   applIndex OBJECT-TYPE
101       SYNTAX INTEGER (1..2147483647)
102       MAX-ACCESS not-accessible
103       STATUS current
104       DESCRIPTION
105         "An index to uniquely identify the network service
106          application."
107       ::= {applEntry 1}
108
109   applName OBJECT-TYPE
110       SYNTAX DisplayString
111       MAX-ACCESS read-only
112       STATUS current
113       DESCRIPTION
114         "The name the network service application chooses to be
115          known by."
116       ::= {applEntry 2}
117
118   applDirectoryName OBJECT-TYPE
119       SYNTAX DistinguishedName
120       MAX-ACCESS read-only
121       STATUS current
122       DESCRIPTION
123         "The Distinguished Name of the directory entry where
124          static information about this application is stored.
125          An empty string indicates that no information about
126          the application is available in the directory."
127       ::= {applEntry 3}
128
129   applVersion OBJECT-TYPE
130       SYNTAX DisplayString
131       MAX-ACCESS read-only
132       STATUS current
133       DESCRIPTION
134         "The version of network service application software."
135       ::= {applEntry 4}
136
137   applUptime OBJECT-TYPE
138       SYNTAX TimeStamp
139       MAX-ACCESS read-only
140       STATUS current
141       DESCRIPTION
142         "The value of sysUpTime at the time the network service
143          application was last initialized.  If the application was
144          last initialized prior to the last initialization of the
145          network management subsystem, then this object contains
146          a zero value."
147       ::= {applEntry 5}
148
149   applOperStatus OBJECT-TYPE
150       SYNTAX INTEGER {
151         up(1),
152         down(2),
153         halted(3),
154         congested(4),
155         restarting(5)
156       }
157       MAX-ACCESS read-only
158       STATUS current
159       DESCRIPTION
160         "Indicates the operational status of the network service
161          application. 'down' indicates that the network service is
162          not available. 'running' indicates that the network service
163          is operational and available.  'halted' indicates that the
164          service is operational but not available.  'congested'
165          indicates that the service is operational but no additional
166          inbound associations can be accomodated.  'restarting'
167          indicates that the service is currently unavailable but is
168          in the process of restarting and will be available soon."
169       ::= {applEntry 6}
170
171   applLastChange OBJECT-TYPE
172       SYNTAX TimeStamp
173       MAX-ACCESS read-only
174       STATUS current
175       DESCRIPTION
176         "The value of sysUpTime at the time the network service
177          application entered its current operational state.  If
178          the current state was entered prior to the last
179          initialization of the local network management subsystem,
180          then this object contains a zero value."
181       ::= {applEntry 7}
182
183   applInboundAssociations OBJECT-TYPE
184       SYNTAX Gauge32
185       MAX-ACCESS read-only
186       STATUS current
187       DESCRIPTION
188         "The number of current associations to the network service
189          application, where it is the responder.  For dynamic single
190          threaded processes, this will be the number of application
191          instances."
192       ::= {applEntry 8}
193
194   applOutboundAssociations OBJECT-TYPE
195       SYNTAX Gauge32
196       MAX-ACCESS read-only
197       STATUS current
198       DESCRIPTION
199         "The number of current associations to the network service
200          application, where it is the initiator.  For dynamic single
201          threaded processes, this will be the number of application
202          instances."
203       ::= {applEntry 9}
204
205   applAccumulatedInboundAssociations OBJECT-TYPE
206       SYNTAX Counter32
207       MAX-ACCESS read-only
208       STATUS current
209       DESCRIPTION
210         "The total number of associations to the application entity
211          since application initialization, where it was the responder.
212          For  dynamic single threaded processes, this will be the
213          number of application instances."
214       ::= {applEntry 10}
215
216   applAccumulatedOutboundAssociations OBJECT-TYPE
217       SYNTAX Counter32
218       MAX-ACCESS read-only
219       STATUS current
220       DESCRIPTION
221         "The total number of associations to the application entity
222          since application initialization, where it was the initiator.
223          For dynamic single threaded processes, this will be the
224          number of application instances."
225       ::= {applEntry 11}
226
227   applLastInboundActivity OBJECT-TYPE
228       SYNTAX TimeStamp
229       MAX-ACCESS read-only
230       STATUS current
231       DESCRIPTION
232         "The value of sysUpTime at the time this application last
233          had an inbound association.  If the last association
234          occurred prior to the last initialization of the network
235          subsystem, then this object contains a zero value."
236       ::= {applEntry 12}
237
238   applLastOutboundActivity OBJECT-TYPE
239       SYNTAX TimeStamp
240       MAX-ACCESS read-only
241       STATUS current
242       DESCRIPTION
243         "The value of sysUpTime at the time this application last
244          had an outbound association.  If the last association
245          occurred prior to the last initialization of the network
246          subsystem, then this object contains a zero value."
247       ::= {applEntry 13}
248
249   applRejectedInboundAssociations OBJECT-TYPE
250       SYNTAX Counter32
251       MAX-ACCESS read-only
252       STATUS current
253       DESCRIPTION
254         "The total number of inbound associations the application
255          entity has rejected, since application initialization."
256       ::= {applEntry 14}
257
258   applFailedOutboundAssociations OBJECT-TYPE
259       SYNTAX Counter32
260       MAX-ACCESS read-only
261       STATUS current
262       DESCRIPTION
263         "The total number associations where the application entity
264          is initiator and association establishment has failed,
265          since application initialization."
266       ::= {applEntry 15}
267
268
269   -- The assocTable augments the information in the applTable
270   -- with information about associations.  Note that two levels
271   -- of compliance are specified below, depending on whether
272   -- association monitoring is mandated.
273
274   assocTable OBJECT-TYPE
275       SYNTAX SEQUENCE OF AssocEntry
276       MAX-ACCESS not-accessible
277       STATUS current
278       DESCRIPTION
279           "The table holding a set of all active application
280            associations."
281       ::= {application 2}
282
283   assocEntry OBJECT-TYPE
284       SYNTAX AssocEntry
285       MAX-ACCESS not-accessible
286       STATUS current
287       DESCRIPTION
288         "An entry associated with an association for a network
289          service application."
290       INDEX {applIndex, assocIndex}
291       ::= {assocTable 1}
292
293   AssocEntry ::= SEQUENCE {
294       assocIndex
295           INTEGER,
296       assocRemoteApplication
297           DisplayString,
298       assocApplicationProtocol
299           OBJECT IDENTIFIER,
300       assocApplicationType
301           INTEGER,
302       assocDuration
303           TimeStamp
304   }
305
306   assocIndex OBJECT-TYPE
307       SYNTAX INTEGER (1..2147483647)
308       MAX-ACCESS not-accessible
309       STATUS current
310       DESCRIPTION
311         "An index to uniquely identify each association for a network
312          service application."
313       ::= {assocEntry 1}
314
315   assocRemoteApplication OBJECT-TYPE
316       SYNTAX DisplayString
317       MAX-ACCESS read-only
318       STATUS current
319       DESCRIPTION
320         "The name of the system running remote network service
321          application.  For an IP-based application this should be
322          either a domain name or IP address.  For an OSI application
323          it should be the string encoded distinguished name of the
324          managed object.  For X.400(84) MTAs which do not have a
325          Distinguished Name, the RFC1327 [6] syntax
326          'mta in globalid' should be used."
327       ::= {assocEntry 2}
328
329   assocApplicationProtocol OBJECT-TYPE
330       SYNTAX OBJECT IDENTIFIER
331       MAX-ACCESS read-only
332       STATUS current
333       DESCRIPTION
334         "An identification of the protocol being used for the
335          application.  For an OSI Application, this will be the
336          Application Context.  For Internet applications, the IANA
337          maintains a registry of the OIDs which correspond to
338          well-known applications.  If the application protocol is
339          not listed in the registry, an OID value of the form
340          {applTCPProtoID port} or {applUDProtoID port} are used for
341          TCP-based and UDP-based protocols, respectively. In either
342          case 'port' corresponds to the primary port number being
343          used by the protocol."
344       ::= {assocEntry 3}
345
346   assocApplicationType OBJECT-TYPE
347       SYNTAX INTEGER {
348           ua-initiator(1),
349           ua-responder(2),
350           peer-initiator(3),
351           peer-responder(4)}
352       MAX-ACCESS read-only
353       STATUS current
354       DESCRIPTION
355         "This indicates whether the remote application is some type of
356          client making use of this network service (e.g. a User Agent)
357          or a server acting as a peer. Also indicated is whether the
358          remote end initiated an incoming connection to the network
359          service or responded to an outgoing connection made by the
360          local application."
361       ::= {assocEntry 4}
362
363   assocDuration OBJECT-TYPE
364       SYNTAX TimeStamp
365       MAX-ACCESS read-only
366       STATUS current
367       DESCRIPTION
368         "The value of sysUpTime at the time this association was
369          started.  If this association started prior to the last
370          initialization of the network subsystem, then this
371          object contains a zero value."
372       ::= {assocEntry 5}
373
374
375   -- Conformance information
376
377   applConformance OBJECT IDENTIFIER ::= {application 3}
378
379   applGroups      OBJECT IDENTIFIER ::= {applConformance 1}
380   applCompliances OBJECT IDENTIFIER ::= {applConformance 2}
381
382
383   -- Compliance statements
384
385   applCompliance MODULE-COMPLIANCE
386       STATUS current
387       DESCRIPTION
388         "The compliance statement for SNMPv2 entities
389          which implement the Network Services Monitoring MIB
390          for basic monitoring of network service applications."
391       MODULE  -- this module
392         MANDATORY-GROUPS {applGroup}
393       ::= {applCompliances 1}
394
395   assocCompliance MODULE-COMPLIANCE
396       STATUS current
397       DESCRIPTION
398         "The compliance statement for SNMPv2 entities which
399          implement the Network Services Monitoring MIB for basic
400          monitoring of network service applications and their
401          associations."
402       MODULE  -- this module
403         MANDATORY-GROUPS {applGroup, assocGroup}
404       ::= {applCompliances 2}
405
406   -- Units of conformance
407
408   applGroup OBJECT-GROUP
409       OBJECTS {
410         applName, applVersion, applUptime, applOperStatus,
411         applLastChange, applInboundAssociations,
412         applOutboundAssociations, applAccumulatedInboundAssociations,
413         applAccumulatedOutboundAssociations, applLastInboundActivity,
414         applLastOutboundActivity, applRejectedInboundAssociations,
415         applFailedOutboundAssociations}
416       STATUS current
417       DESCRIPTION
418         "A collection of objects providing basic monitoring of
419          network service applications."
420       ::= {applGroups 1}
421
422   assocGroup OBJECT-GROUP
423       OBJECTS {
424         assocRemoteApplication, assocApplicationProtocol,
425         assocApplicationType, assocDuration}
426       STATUS current
427       DESCRIPTION
428         "A collection of objects providing basic monitoring of
429          network service applications' associations."
430       ::= {applGroups 2}
431
432
433   -- OIDs of the form {applTCPProtoID port} are intended to be used
434   -- for TCP-based protocols that don't have OIDs assigned by other
435   -- means. {applUDPProtoID port} serves the same purpose for
436   -- UDP-based protocols. In either case 'port' corresponds to
437   -- the primary port number being used by the protocol. For example,
438   -- assuming no other OID is assigned for SMTP, an OID of
439   -- {applTCPProtoID 25} could be used, since SMTP is a TCP-based
440   -- protocol that uses port 25 as its primary port.
441
442   applTCPProtoID OBJECT IDENTIFIER ::= {application 4}
443   applUDPProtoID OBJECT IDENTIFIER ::= {application 5}
444
445   END
446
447