diff --git a/html/pages/device/loadbalancer/loadbalancer_rservers.inc.php b/html/pages/device/loadbalancer/ace_rservers.inc.php
similarity index 100%
rename from html/pages/device/loadbalancer/loadbalancer_rservers.inc.php
rename to html/pages/device/loadbalancer/ace_rservers.inc.php
diff --git a/html/pages/device/loadbalancer/loadbalancer_vservers.inc.php b/html/pages/device/loadbalancer/ace_vservers.inc.php
similarity index 86%
rename from html/pages/device/loadbalancer/loadbalancer_vservers.inc.php
rename to html/pages/device/loadbalancer/ace_vservers.inc.php
index 431766494..cf3eb270c 100644
--- a/html/pages/device/loadbalancer/loadbalancer_vservers.inc.php
+++ b/html/pages/device/loadbalancer/ace_vservers.inc.php
@@ -14,10 +14,9 @@ if (!$_GET['opta']) { $_GET['opta'] = "basic"; }
$sep = "";
foreach ($menu_options as $option => $text)
{
- if ($_GET['optd'] == $option) { echo(""); }
+ if ($_GET['type'] == $option) { echo(""); }
echo(" | ");
}
@@ -35,6 +34,7 @@ foreach ($graph_types as $type => $descr)
echo("$type_sep");
if ($_GET['opte'] == $type) { echo(""); }
$type_sep = " | ";
@@ -56,7 +56,7 @@ echo("
');
echo("| ");
diff --git a/includes/discovery/os/openbsd.inc.php b/includes/discovery/os/openbsd.inc.php
index 3d2110881..52bbf7177 100755
--- a/includes/discovery/os/openbsd.inc.php
+++ b/includes/discovery/os/openbsd.inc.php
@@ -2,7 +2,7 @@
if (!$os)
{
- if (preg_match("/^OpenBSD/", $sysDescr)) { $os = "openbsd"; }
+ if (preg_match("/OpenBSD/", $sysDescr)) { $os = "openbsd"; }
}
-?>
\ No newline at end of file
+?>
diff --git a/mibs/CISCO-AAA-SERVER-MIB b/mibs/CISCO-AAA-SERVER-MIB
new file mode 100644
index 000000000..d2d3d0d29
--- /dev/null
+++ b/mibs/CISCO-AAA-SERVER-MIB
@@ -0,0 +1,1031 @@
+-- *****************************************************************
+-- CISCO-AAA-SERVER-MIB.my: Cisco AAA Server MIB file.
+--
+-- Copyright (c) 1999-2003 by cisco Systems, Inc.
+-- All rights reserved.
+-- *****************************************************************
+
+
+
+CISCO-AAA-SERVER-MIB DEFINITIONS ::= BEGIN
+
+
+IMPORTS
+ MODULE-IDENTITY,
+ NOTIFICATION-TYPE,
+ OBJECT-TYPE,
+ Counter32,
+ IpAddress, Unsigned32
+ FROM SNMPv2-SMI
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP, NOTIFICATION-GROUP
+ FROM SNMPv2-CONF
+ TimeInterval, DisplayString,
+ TruthValue, RowStatus,
+ TEXTUAL-CONVENTION
+ FROM SNMPv2-TC
+ ciscoExperiment
+ FROM CISCO-SMI;
+
+
+ciscoAAAServerMIB MODULE-IDENTITY
+ LAST-UPDATED "200311170000Z"
+ ORGANIZATION "Cisco Systems, Inc."
+ CONTACT-INFO
+ " Cisco Systems
+ Customer Service
+
+ Postal: 170 W Tasman Drive
+ San Jose, CA 95134
+ USA
+
+ Tel: +1 800 553-NETS
+
+ E-mail: cs-aaa@cisco.com"
+ DESCRIPTION
+ "The MIB module for monitoring communications and status
+ of AAA Server operation
+ "
+ REVISION "200311170000Z"
+ DESCRIPTION
+ "Expanded the list of AAA protocols to include LDAP,
+ Kerberos, NTLM and SDI; defined textual convention
+ CiscoAAAProtocol to denote the type of AAA protocols.
+ "
+
+ REVISION "200203280000Z"
+ DESCRIPTION
+ "Imported Unsigned32 from SNMPv2-SMI instead of
+ CISCO-TC"
+ REVISION "200001200000Z"
+ DESCRIPTION
+ "Added objects to support AAA server configuration
+ casConfigTable
+ casProtocol
+ casIndex
+ casAddress
+ casAuthenPort
+ casAcctPort
+ casConfigRowStatus
+ "
+ ::= { ciscoExperiment 56 }
+
+
+
+-- Overview of AAA Server MIB
+--
+-- MIB description
+--
+--
+-- This MIB provides configuration and statistics reflecting the state
+-- of AAA Server operation within the device and AAA communications
+-- with external servers.
+--
+-- AAA stands for authentication, authorization, and accounting
+--
+-- The AAA Server MIB provides the following information:
+-- 1) A Table for configuring AAA servers
+-- 2) Identities of external AAA servers
+-- 3) Distinct statistics for each AAA function
+-- 4) Status of servers providing AAA functions
+--
+-- A server is defined as a logical entity which provides any
+-- of the three AAA functions. A TACACS+ server consists of
+-- all three functions with a single IP address and single TCP
+-- port. A RADIUS server consists of the authentication/accounting
+-- pair with a single IP address but distinct UDP ports, or
+-- it may be just one of authentication or accounting. It is
+-- possible to have two distinct RADIUS servers at the same IP
+-- address, one providing authentication only, the other accounting
+-- only.
+--
+
+-- +++++++++++++++++++++++++++++++++++++++++++++++++++
+-- Local Textual Conventions
+-- +++++++++++++++++++++++++++++++++++++++++++++++++++
+
+CiscoAAAProtocol ::= TEXTUAL-CONVENTION
+ STATUS current
+ DESCRIPTION
+ "Protocol used with this server.
+ tacacsplus(1) - TACACS+
+
+ radius(2) - RADIUS
+
+ ldap(3) - Light Weight Directory Protocol
+
+ kerberos(4) - Kerberos
+
+ ntlm(5) - Authentication/Authorization using
+ NT Domain
+
+ sdi(6) - Authentication/Authorization using
+ Secure ID
+
+ other(7) - Other protocols
+ "
+ REFERENCE
+ "
+ RFC 2138 Remote Authentication Dial In User Service
+ (RADIUS)
+ RFC 2139 RADIUS Accounting
+ The TACACS+ Protocol Version 1.78, Internet Draft
+ "
+ SYNTAX INTEGER {
+ tacacsplus(1),
+ radius(2),
+ ldap(3),
+ kerberos(4),
+ ntlm(5),
+ sdi(6),
+ other(7)
+ }
+
+
+-- AAA Server MIB object definitions
+
+cAAAServerMIBObjects OBJECT IDENTIFIER ::= { ciscoAAAServerMIB 1 }
+
+
+-- Configuration objects
+
+casConfig OBJECT IDENTIFIER ::= { cAAAServerMIBObjects 1 }
+
+
+-- Statistics objects
+
+casStatistics OBJECT IDENTIFIER ::= { cAAAServerMIBObjects 2 }
+
+
+
+--
+-- Notification Configuration
+--
+
+casServerStateChangeEnable OBJECT-TYPE
+ SYNTAX TruthValue
+ MAX-ACCESS read-write
+ STATUS current
+ DESCRIPTION
+ "This variable controls the generation of
+ casServerStateChange notification.
+
+ When this variable is true(1), generation of
+ casServerStateChange notifications is enabled.
+ When this variable is false(2), generation of
+ casServerStateChange notifications is disabled.
+
+ The default value is false(2).
+ "
+ ::= { casConfig 1 }
+
+--
+-- Server Configuration Table
+--
+
+casConfigTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF CasConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "This table shows current configurations for each
+ AAA server, allows existing servers to be removed
+ and new ones to be created.
+ "
+ ::= { casConfig 2 }
+
+casConfigEntry OBJECT-TYPE
+ SYNTAX CasConfigEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "An AAA server configuration identified by its protocol
+ and its index.
+
+ An entry is created/removed when a server is defined
+ or undefined with IOS configuration commands via
+ CLI or by issuing appropriate sets to this table
+ using snmp.
+
+ A management station wishing to create an entry should
+ first generate a random number to be used as the index
+ to this sparse table. The station should then create the
+ associated instance of the row status and row index objects.
+ It must also, either in the same or in successive PDUs,
+ create an instance of casAddress where casAddress is the
+ IP address of the server to be added.
+
+ It should also modify the default values for casAuthenPort,
+ casAcctPort if the defaults are not appropriate.
+
+ If casKey is a zero-length string or is not explicitly set,
+ then the global key will be used. Otherwise, this value
+ is used as the key for this server instance.
+
+ Once the appropriate instance of all the configuration
+ objects have been created, either by an explicit SNMP set
+ request or by default, the row status should be set to
+ active(1) to initiate the request.
+
+ After the AAA server is made active, the entry can not be
+ modified - the only allowed operation after this is to
+ destroy the entry by setting casConfigRowStatus to destroy(6).
+
+ casPriority is automatically assigned once the entry is
+ made active and reflects the relative priority of the
+ defined server with respect to already configured servers.
+ Newly-created servers will be assigned the lowest priority.
+ To reassign server priorities to existing server entries,
+ it may be necessary to destroy and recreate entries in order
+ of priority.
+
+ Entries in this table with casConfigRowStatus equal to
+ active(1) remain in the table until destroyed.
+
+ Entries in this table with casConfigRowStatus equal to
+ values other than active(1) will be destroyed after timeout
+ (5 minutes).
+
+ If a server address being created via SNMP exists already
+ in another active casConfigEntry, then a newly created row
+ can not be made active until the original row with the
+ with the same server address value is destroyed.
+
+ Upon reload, casIndex values may be changed, but the
+ priorities that were saved before reload will be retained,
+ with lowest priority number corresponding to the higher
+ priority servers.
+ "
+ INDEX { casProtocol,
+ casIndex }
+ ::= { casConfigTable 1}
+
+CasConfigEntry ::=
+ SEQUENCE {
+ casProtocol CiscoAAAProtocol,
+ casIndex Unsigned32,
+ casAddress IpAddress,
+ casAuthenPort INTEGER,
+ casAcctPort INTEGER,
+ casKey DisplayString,
+ casPriority Unsigned32,
+ casConfigRowStatus RowStatus
+ }
+
+casProtocol OBJECT-TYPE
+ SYNTAX CiscoAAAProtocol
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The variable denotes the protocol used by the
+ managed device with the AAA server corresponding to
+ this entry in the table.
+ "
+ ::= { casConfigEntry 1 }
+
+casIndex OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A management station wishing to initiate a new AAA server
+ configuration should use a random value for this object
+ when creating an instance of casConfigEntry.
+
+ The RowStatus semantics of the casConfigRowStatus object
+ will prevent access conflicts.
+
+ If the randomly chosen casIndex value for row creation
+ is already in use by an existing entry, snmp set to the
+ casIndex value will fail.
+ "
+
+ ::= { casConfigEntry 2 }
+
+casAddress OBJECT-TYPE
+ SYNTAX IpAddress
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The IP address of the server.
+ "
+
+ ::= { casConfigEntry 3 }
+
+casAuthenPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "UDP/TCP port used for authentication in the configuration
+
+ For TACACS+, this object should be explictly set.
+
+ Default value is the IOS default for radius: 1645.
+ "
+ DEFVAL { 1645 }
+ ::= { casConfigEntry 4 }
+
+casAcctPort OBJECT-TYPE
+ SYNTAX INTEGER (0..65535)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "UDP/TCP port used for accounting service in the configuration
+
+ For TACACS+, the value of casAcctPort is ignored.
+ casAuthenPort will be used instead.
+
+ Default value is the IOS default for radius: 1646.
+ "
+ DEFVAL { 1646 }
+ ::= { casConfigEntry 5 }
+
+casKey OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The server key to be used with this server.
+
+ Retrieving the value of this object via SNMP will
+ return an empty string for security reasons.
+ "
+ DEFVAL { "" }
+ ::= { casConfigEntry 6 }
+
+casPriority OBJECT-TYPE
+ SYNTAX Unsigned32 (1..4294967295)
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "A number that indicates the priority of the server in
+ this entry. Lower numbers indicate higher priority.
+ "
+ ::= { casConfigEntry 7 }
+
+
+casConfigRowStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "The status of this table entry. Once the entry status is
+ set to active, the associated entry cannot be modified
+ except destroyed by setting this object to destroy(6).
+ "
+ ::= { casConfigEntry 8 }
+
+--
+-- Server Statistics
+--
+
+casStatisticsTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF CasStatisticsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "
+ Table providing statistics for each server.
+ "
+ ::= { casStatistics 1 }
+
+casStatisticsEntry OBJECT-TYPE
+ SYNTAX CasStatisticsEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "Statistical information about a particular server.
+
+ Objects in this table are read-only and appear
+ automatically whenever a row in the casConfigTable
+ is made active.
+
+ Objects in this table disappear when casConfigRowStatus
+ for the corresponding casConfigEntry is set to the
+ destroy(6) state.
+ "
+ AUGMENTS { casConfigEntry }
+ ::= { casStatisticsTable 1 }
+
+CasStatisticsEntry::=
+ SEQUENCE {
+ casAuthenRequests Counter32,
+ casAuthenRequestTimeouts Counter32,
+ casAuthenUnexpectedResponses Counter32,
+ casAuthenServerErrorResponses Counter32,
+ casAuthenIncorrectResponses Counter32,
+ casAuthenResponseTime TimeInterval,
+ casAuthenTransactionSuccesses Counter32,
+ casAuthenTransactionFailures Counter32,
+ casAuthorRequests Counter32,
+ casAuthorRequestTimeouts Counter32,
+ casAuthorUnexpectedResponses Counter32,
+ casAuthorServerErrorResponses Counter32,
+ casAuthorIncorrectResponses Counter32,
+ casAuthorResponseTime TimeInterval,
+ casAuthorTransactionSuccesses Counter32,
+ casAuthorTransactionFailures Counter32,
+ casAcctRequests Counter32,
+ casAcctRequestTimeouts Counter32,
+ casAcctUnexpectedResponses Counter32,
+ casAcctServerErrorResponses Counter32,
+ casAcctIncorrectResponses Counter32,
+ casAcctResponseTime TimeInterval,
+ casAcctTransactionSuccesses Counter32,
+ casAcctTransactionFailures Counter32,
+ casState INTEGER,
+ casCurrentStateDuration TimeInterval,
+ casPreviousStateDuration TimeInterval,
+ casTotalDeadTime TimeInterval,
+ casDeadCount Counter32
+ }
+
+--
+-- Authentication statistics
+--
+
+casAuthenRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of authentication requests sent to
+ this server since it is made active.
+
+ Retransmissions due to request timeouts are
+ counted as distinct requests.
+ "
+ ::= { casStatisticsEntry 1 }
+
+casAuthenRequestTimeouts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of authentication requests which have
+ timed out since it is made active.
+
+ A timeout results in a retransmission of the request
+ If the maximum number of attempts has been reached,
+ no further retransmissions will be attempted.
+ "
+ ::= { casStatisticsEntry 2 }
+
+casAuthenUnexpectedResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of unexpected authentication responses received
+ from this server since it is made active.
+
+ An example is a delayed response to a request which had
+ already timed out.
+ "
+ ::= { casStatisticsEntry 3 }
+
+casAuthenServerErrorResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of server ERROR authentication responses
+ received from this server since it is made active.
+
+ These are responses indicating that the server itself
+ has identified an error with its authentication
+ operation.
+ "
+ ::= { casStatisticsEntry 4 }
+
+casAuthenIncorrectResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of authentication responses which could not
+ be processed since it is made active.
+
+ Reasons include inability to decrypt the response,
+ invalid fields, or the response is not valid based on
+ the request.
+ "
+ ::= { casStatisticsEntry 5 }
+
+casAuthenResponseTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Average response time for authentication requests sent
+ to this server, excluding timeouts, since system
+ re-initialization.
+ "
+ ::= { casStatisticsEntry 6 }
+
+casAuthenTransactionSuccesses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of authentication transactions with this
+ server which succeeded since it is made active.
+
+ A transaction may include multiple request
+ retransmissions if timeouts occur.
+
+ A transaction is successful if the server responds
+ with either an authentication pass or fail.
+ "
+ ::= { casStatisticsEntry 7 }
+
+casAuthenTransactionFailures OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of authentication transactions with this
+ server which failed since it is made active.
+
+ A transaction may include multiple request
+ retransmissions if timeouts occur.
+
+ A transaction failure occurs if maximum resends have
+ been met or the server aborts the transaction.
+ "
+ ::= { casStatisticsEntry 8 }
+
+--
+-- Authorization statistics
+--
+
+casAuthorRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of authorization requests sent to
+ this server since it is made active.
+
+ Retransmissions due to request timeouts are
+ counted as distinct requests.
+
+ This object is not instantiated for protocols which do
+ not support a distinct authorization function.
+ "
+ ::= { casStatisticsEntry 9 }
+
+casAuthorRequestTimeouts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of authorization requests which have
+ timed out since it is made active.
+
+ A timeout results in a retransmission of the request
+ If the maximum number of attempts has been reached,
+ no further retransmissions will be attempted.
+
+ This object is not instantiated for protocols which do
+ not support a distinct authorization function.
+ "
+ ::= { casStatisticsEntry 10 }
+
+casAuthorUnexpectedResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of unexpected authorization responses received
+ from this server since it is made active.
+
+ An example is a delayed response to a request which
+ had already timed out.
+
+ This object is not instantiated for protocols which do
+ not support a distinct authorization function.
+ "
+ ::= { casStatisticsEntry 11 }
+
+casAuthorServerErrorResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of server ERROR authorization responses
+ received from this server since it is made active.
+
+ These are responses indicating that the server itself
+ has identified an error with its authorization
+ operation.
+
+ This object is not instantiated for protocols which do
+ not support a distinct authorization function.
+ "
+ ::= { casStatisticsEntry 12 }
+
+casAuthorIncorrectResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of authorization responses which could not
+ be processed since it is made active.
+
+ Reasons include inability to decrypt the response,
+ invalid fields, or the response is not valid based on
+ the request.
+
+ This object is not instantiated for protocols which do
+ not support a distinct authorization function.
+ "
+ ::= { casStatisticsEntry 13 }
+
+casAuthorResponseTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Average response time for authorization requests sent
+ to this server, excluding timeouts, since system
+ re-initialization.
+
+ This object is not instantiated for protocols which do
+ not support a distinct authorization function.
+ "
+ ::= { casStatisticsEntry 14 }
+
+casAuthorTransactionSuccesses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of authorization transactions with this
+ server which succeeded since it is made active.
+
+ A transaction may include multiple request
+ retransmissions if timeouts occur.
+
+ A transaction is successful if the server responds
+ with either an authorization pass or fail.
+
+ This object is not instantiated for protocols which do
+ not support a distinct authorization function.
+ "
+ ::= { casStatisticsEntry 15 }
+
+casAuthorTransactionFailures OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of authorization transactions with this
+ server which failed since it is made active.
+
+ A transaction may include multiple request
+ retransmissions if timeouts occur.
+
+ A transaction failure occurs if maximum resends have
+ been met or the server aborts the transaction.
+
+ This object is not instantiated for protocols which do
+ not support a distinct authorization function.
+ "
+ ::= { casStatisticsEntry 16 }
+
+--
+-- Accounting statistics
+--
+
+casAcctRequests OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of accounting requests sent to
+ this server since system re-initialization.
+
+ Retransmissions due to request timeouts are
+ counted as distinct requests.
+ "
+ ::= { casStatisticsEntry 17 }
+
+casAcctRequestTimeouts OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of accounting requests which have
+ timed out since system re-initialization.
+
+ A timeout results in a retransmission of the request
+ If the maximum number of attempts has been reached,
+ no further retransmissions will be attempted.
+
+ "
+ ::= { casStatisticsEntry 18 }
+
+casAcctUnexpectedResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of unexpected accounting responses received
+ from this server since system re-initialization.
+
+ An example is a delayed response to a request which had
+ already timed out.
+ "
+ ::= { casStatisticsEntry 19 }
+
+casAcctServerErrorResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of server ERROR accounting responses received
+ from this server since system re-initialization.
+
+ These are responses indicating that the server itself
+ has identified an error with its accounting
+ operation.
+ "
+ ::= { casStatisticsEntry 20 }
+
+casAcctIncorrectResponses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of accounting responses which could not
+ be processed since system re-initialization.
+
+ Reasons include inability to decrypt the response,
+ invalid fields, or the response is not valid based on
+ the request.
+ "
+ ::= { casStatisticsEntry 21 }
+
+casAcctResponseTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Average response time for accounting requests sent
+ to this server,, since system re-initialization
+ excluding timeouts.
+ "
+ ::= { casStatisticsEntry 22 }
+
+casAcctTransactionSuccesses OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of accounting transactions with this
+ server which succeeded since system re-initialization.
+
+ A transaction may include multiple request
+ retransmissions if timeouts occur.
+
+ A transaction is successful if the server responds
+ with either an accounting pass or fail.
+ "
+ ::= { casStatisticsEntry 23 }
+
+casAcctTransactionFailures OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of accounting transactions with this
+ server which failed since system re-initialization.
+
+ A transaction may include multiple request
+ retransmissions if timeouts occur.
+
+ A transaction failure occurs if maximum resends have
+ been met or the server aborts the transaction.
+ "
+ ::= { casStatisticsEntry 24 }
+
+--
+-- Server availability
+--
+
+casState OBJECT-TYPE
+ SYNTAX INTEGER {
+ up(1),
+ dead(2)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Current state of this server.
+
+ up(1) - Server responding to requests
+
+ dead(2) - Server failed to respond
+
+ A server is marked dead if it does not respond after
+ maximum retransmissions.
+
+ A server is marked up again either after a waiting
+ period or if some response is received from it.
+
+ The initial value of casState is 'up(1)' at system
+ re-initialization. This will only transistion to 'dead(2)'
+ if an attempt to communicate fails.
+ "
+ ::= { casStatisticsEntry 25 }
+
+casCurrentStateDuration OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object provides the elapsed time the server has
+ been in its current state as shown in casState.
+ "
+ ::= { casStatisticsEntry 26 }
+
+casPreviousStateDuration OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "This object provides the elapsed time the server was
+ been in its previous state prior to the most recent
+ transistion of casState.
+
+ This value is zero if the server has not changed state.
+ "
+ ::= { casStatisticsEntry 27 }
+
+casTotalDeadTime OBJECT-TYPE
+ SYNTAX TimeInterval
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The total elapsed time this server's casState has
+ had the value 'dead(2)' since system re-initialization.
+ "
+ ::= { casStatisticsEntry 28 }
+
+casDeadCount OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "The number of times this server's casState has
+ transitioned to 'dead(2)' since system re-initialization.
+ "
+ ::= { casStatisticsEntry 29 }
+
+
+
+
+-- ******************************************************************
+-- Notifications
+-- ******************************************************************
+cAAAServerMIBNotificationPrefix OBJECT IDENTIFIER ::=
+ { ciscoAAAServerMIB 2 }
+
+cAAAServerMIBNotifications OBJECT IDENTIFIER ::=
+ { cAAAServerMIBNotificationPrefix 0 }
+
+casServerStateChange NOTIFICATION-TYPE
+ OBJECTS { casState,
+ casPreviousStateDuration,
+ casTotalDeadTime }
+ STATUS current
+ DESCRIPTION
+ "An AAA server state change notification is generated
+ whenever casState changes value.
+ "
+ ::= { cAAAServerMIBNotifications 1 }
+
+
+
+-- ******************************************************************
+-- Conformance and Compliance
+-- ******************************************************************
+cAAAServerMIBConformance OBJECT IDENTIFIER ::= { ciscoAAAServerMIB 3 }
+
+casMIBCompliances OBJECT IDENTIFIER ::= { cAAAServerMIBConformance 1 }
+casMIBGroups OBJECT IDENTIFIER ::= { cAAAServerMIBConformance 2 }
+
+-- compliance statements
+
+casMIBCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for entities which
+ implement the CISCO AAA Server MIB"
+ MODULE -- this module
+ MANDATORY-GROUPS
+ {
+ casConfigGroup,
+ casStatisticsGroup,
+ casServerNotificationGroup
+ }
+
+ OBJECT casAddress
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/Write access is not required."
+
+ OBJECT casAuthenPort
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/Write access is not required."
+
+ OBJECT casAcctPort
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/Write access is not required."
+
+ OBJECT casKey
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/Write access is not required."
+
+ OBJECT casConfigRowStatus
+ MIN-ACCESS read-only
+ DESCRIPTION
+ "Create/Write access is not required."
+
+
+ ::= { casMIBCompliances 1 }
+
+
+-- units of conformance
+
+casStatisticsGroup OBJECT-GROUP
+ OBJECTS {
+ casAuthenRequests,
+ casAuthenRequestTimeouts,
+ casAuthenUnexpectedResponses,
+ casAuthenServerErrorResponses,
+ casAuthenIncorrectResponses,
+ casAuthenResponseTime,
+ casAuthenTransactionSuccesses,
+ casAuthenTransactionFailures,
+ casAuthorRequests,
+ casAuthorRequestTimeouts,
+ casAuthorUnexpectedResponses,
+ casAuthorServerErrorResponses,
+ casAuthorIncorrectResponses,
+ casAuthorResponseTime,
+ casAuthorTransactionSuccesses,
+ casAuthorTransactionFailures,
+ casAcctRequests,
+ casAcctRequestTimeouts,
+ casAcctUnexpectedResponses,
+ casAcctServerErrorResponses,
+ casAcctIncorrectResponses,
+ casAcctResponseTime,
+ casAcctTransactionSuccesses,
+ casAcctTransactionFailures,
+ casState,
+ casCurrentStateDuration,
+ casPreviousStateDuration,
+ casTotalDeadTime,
+ casDeadCount
+ }
+ STATUS current
+ DESCRIPTION
+ "Objects for providing AAA server statistics and status.
+ "
+ ::= { casMIBGroups 1 }
+
+casConfigGroup OBJECT-GROUP
+ OBJECTS {
+ casServerStateChangeEnable,
+ casAddress,
+ casAuthenPort,
+ casAcctPort,
+ casKey,
+ casPriority,
+ casConfigRowStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "Objects for configuring the AAA servers.
+ "
+ ::= { casMIBGroups 2 }
+
+casServerNotificationGroup NOTIFICATION-GROUP
+ NOTIFICATIONS { casServerStateChange }
+ STATUS current
+ DESCRIPTION
+ "The collection of notifications used for
+ monitoring AAA server status"
+ ::= { casMIBGroups 3 }
+
+
+
+END
+
diff --git a/mibs/CISCO-ISDN-MIB b/mibs/CISCO-ISDN-MIB
new file mode 100644
index 000000000..83a912c48
--- /dev/null
+++ b/mibs/CISCO-ISDN-MIB
@@ -0,0 +1,459 @@
+-- *****************************************************************
+-- CISCO-ISDN-MIB.my: Cisco ISDN MIB file
+--
+-- January 1995, Fred Baker, Bibek A. Das
+--
+-- Copyright (c) 1995-1996, 1999, 2000, 2001, 2002 by cisco Systems, Inc.
+-- All rights reserved.
+--
+-- *****************************************************************
+
+CISCO-ISDN-MIB DEFINITIONS ::= BEGIN
+
+IMPORTS
+ MODULE-IDENTITY,
+ NOTIFICATION-TYPE,
+ Counter32,
+ OBJECT-TYPE,
+ Integer32
+ FROM SNMPv2-SMI
+ DisplayString,
+ TimeStamp,
+ RowStatus
+ FROM SNMPv2-TC
+ MODULE-COMPLIANCE,
+ OBJECT-GROUP
+ FROM SNMPv2-CONF
+ ciscoMgmt
+ FROM CISCO-SMI
+ ifIndex
+ FROM IF-MIB
+ isdnLapdOperStatus,
+ isdnSignalingIndex,
+ isdnSignalingIfIndex
+ FROM ISDN-MIB;
+
+
+ciscoIsdnMib MODULE-IDENTITY
+ LAST-UPDATED "200102090000Z"
+ ORGANIZATION "Cisco Systems, Inc."
+ CONTACT-INFO
+ " Cisco Systems
+ Customer Service
+
+ Postal: 170 W Tasman Drive
+ San Jose, CA 95134
+ USA
+
+ Tel: +1 800 553-NETS
+
+ E-mail: cs-isdn@cisco.com"
+ DESCRIPTION
+ "The MIB module to describe the status of the ISDN
+ Interfaces on the routers."
+ REVISION "200102090000Z"
+ DESCRIPTION
+ "For a call connects, demandNbrLastDuration,
+ demandNbrClearReason, and demandNbrClearCode
+ objects are not included in the trap."
+ REVISION "200003270000Z"
+ DESCRIPTION
+ "Added demandNbrCNANotification when call rejected with
+ channel not available cause code"
+
+ REVISION "200002230000Z"
+ DESCRIPTION
+ "Removed an instantiated clause in description for
+ ciscoCallHistoryCallingNumber."
+ REVISION "9905070000Z"
+ DESCRIPTION
+ "Added a new trap for PRI layer 2 state changes."
+ REVISION "9602210000Z"
+ DESCRIPTION
+ "Add a new object demandNbrCallOrigin."
+ REVISION "9508150000Z"
+ DESCRIPTION
+ "Specify a correct (non-negative) range for an index
+ object."
+ REVISION "9501300000Z"
+ DESCRIPTION
+ "Initial version of Cisco ISDN MIB."
+ ::= { ciscoMgmt 26 }
+
+-- The ISDN hardware interface (BRI or PRI) will be represented
+-- by the D channel. This will have an ifType value of basicISDN(20)
+-- or primaryISDN(21), refer to RFC 1213. Each B channel will
+-- also be represented in an an entry in the ifTable. The B
+-- channels will have an ifType value of other(1).
+-- This model will be used while defining objects and tables
+-- for management.
+-- The ISDN MIB will allow sub-layers. For example, the data transfer
+-- over a B channel may take place with PPP encapsulation. While the
+-- ISDN MIB will describe the B channel, a media specific MIB for
+-- PPP can be used on a layered basis. This will be as per RFC 1573.
+-- The isdn call information will be stored in the neighbor table
+
+-- Isdn Mib objects definitions
+
+ciscoIsdnMibObjects OBJECT IDENTIFIER ::= { ciscoIsdnMib 1 }
+
+isdnNeighbor OBJECT IDENTIFIER ::= { ciscoIsdnMibObjects 1 }
+
+
+demandNbrTable OBJECT-TYPE
+ SYNTAX SEQUENCE OF DemandNbrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "The list of neighbors from which the router will accept calls or
+ to which it will place them."
+ ::= { isdnNeighbor 1 }
+
+demandNbrEntry OBJECT-TYPE
+ SYNTAX DemandNbrEntry
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "A single Neighbor. This entry is effectively permanent, and contains
+ information describing the neighbor, his permissions, his last call
+ attempt, and his cumulative effects."
+ INDEX {demandNbrPhysIf, demandNbrId }
+ ::= { demandNbrTable 1 }
+
+DemandNbrEntry ::=
+ SEQUENCE {
+ demandNbrPhysIf Integer32 (1..2147483647), -- ifIndex value
+ -- of the D channel
+ demandNbrId Integer32 (0..2147483647), -- sequence number
+ demandNbrLogIf Integer32 (1..2147483647), -- ifIndex value of
+ -- virtual interface
+ demandNbrName DisplayString, -- name of the neighbor
+ demandNbrAddress DisplayString, -- Call Address
+ demandNbrPermission INTEGER, -- applicable permissions
+ demandNbrMaxDuration Integer32 (1..2147483647), -- Max call duration
+ -- in seconds
+ demandNbrLastDuration Integer32 (1..2147483647), -- Duration of last
+ -- call
+ demandNbrClearReason DisplayString, -- reason last call completed
+ demandNbrClearCode OCTET STRING, -- reason last call completed
+ demandNbrSuccessCalls Counter32, -- number of completed calls to
+ -- neighbor
+ demandNbrFailCalls Counter32, -- number of failed call attempts
+ demandNbrAcceptCalls Counter32, -- number of calls from neighbor
+ -- accepted
+ demandNbrRefuseCalls Counter32, -- number of calls from neighbor
+ -- refused
+ demandNbrLastAttemptTime TimeStamp, -- sysUpTime of last
+ -- call attempt
+ demandNbrStatus RowStatus,
+ demandNbrCallOrigin INTEGER
+ }
+
+demandNbrPhysIf OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "ifIndex value of the physical interface the neighbor will be
+ called on. On an ISDN interface, this is the ifIndex value of
+ the D channel."
+ ::= { demandNbrEntry 1 }
+
+demandNbrId OBJECT-TYPE
+ SYNTAX Integer32 (0..2147483647)
+ MAX-ACCESS not-accessible
+ STATUS current
+ DESCRIPTION
+ "arbitrary sequence number associated with the neighbor."
+ ::= { demandNbrEntry 2 }
+
+demandNbrLogIf OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "ifIndex value of virtual interface associated with the neighbor.
+ This interface maintains a queue of messages holding for the neighbor
+ awaiting call completion, and all statistics."
+ ::= { demandNbrEntry 3 }
+
+demandNbrName OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "ASCII name of the neighbor."
+ ::= { demandNbrEntry 4 }
+
+demandNbrAddress OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Call Address at which the neighbor should be called.
+ Think of this as the set of characters following 'ATDT '
+ or the 'phone number' included in a D channel call request."
+ ::= { demandNbrEntry 5 }
+
+demandNbrPermission OBJECT-TYPE
+ SYNTAX INTEGER { iCanCallHim (1),
+ heCanCallMe (2),
+ weCanCallEachOther (3)
+ }
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "applicable permissions."
+ DEFVAL { weCanCallEachOther }
+ ::= { demandNbrEntry 6 }
+
+demandNbrMaxDuration OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ UNITS "seconds"
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Maximum call duration in seconds."
+ DEFVAL { 2147483647 }
+ ::= { demandNbrEntry 7 }
+
+demandNbrLastDuration OBJECT-TYPE
+ SYNTAX Integer32 (1..2147483647)
+ UNITS "seconds"
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Duration of last call in seconds."
+ ::= { demandNbrEntry 8 }
+
+demandNbrClearReason OBJECT-TYPE
+ SYNTAX DisplayString
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "ASCII reason that the last call terminated."
+ ::= { demandNbrEntry 9 }
+
+demandNbrClearCode OBJECT-TYPE
+ SYNTAX OCTET STRING
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "encoded reason for the last call tear down."
+ ::= { demandNbrEntry 10 }
+
+demandNbrSuccessCalls OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "number of completed calls to neighbor since system reset."
+ ::= { demandNbrEntry 11 }
+
+demandNbrFailCalls OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of call attempts that have failed."
+ ::= { demandNbrEntry 12 }
+
+demandNbrAcceptCalls OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of calls accepted from the neighbor."
+ ::= { demandNbrEntry 13 }
+
+demandNbrRefuseCalls OBJECT-TYPE
+ SYNTAX Counter32
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Number of calls from neighbor that we have refused."
+ ::= { demandNbrEntry 14 }
+
+demandNbrLastAttemptTime OBJECT-TYPE
+ SYNTAX TimeStamp
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "sysUpTime of last call attempt."
+ ::= { demandNbrEntry 15 }
+
+demandNbrStatus OBJECT-TYPE
+ SYNTAX RowStatus
+ MAX-ACCESS read-create
+ STATUS current
+ DESCRIPTION
+ "Somebody might want to manage the device using SNMP some day..."
+ ::= { demandNbrEntry 16 }
+
+demandNbrCallOrigin OBJECT-TYPE
+ SYNTAX INTEGER {
+ originate(1),
+ answer(2),
+ callback(3)
+ }
+ MAX-ACCESS read-only
+ STATUS current
+ DESCRIPTION
+ "Indication of outgoing or incoming call."
+ ::= { demandNbrEntry 17 }
+
+
+-- Traps related to Connection management
+
+ciscoIsdnMibTrapPrefix OBJECT IDENTIFIER ::= { ciscoIsdnMib 2 }
+ciscoIsdnMibTraps OBJECT IDENTIFIER ::= { ciscoIsdnMibTrapPrefix 0 }
+
+demandNbrCallInformation NOTIFICATION-TYPE
+ OBJECTS {
+ demandNbrLogIf,
+ demandNbrName,
+ demandNbrAddress,
+ demandNbrLastDuration,
+ demandNbrClearReason,
+ demandNbrClearCode
+ }
+ STATUS obsolete
+ DESCRIPTION
+ "This trap/inform is sent to the manager whenever a successful
+ call clears, or a failed call attempt is determined to have
+ ultimately failed. In the event that call retry is active,
+ then this is after all retry attempts have failed. However,
+ only one such trap is sent in between successful call
+ attempts; subsequent call attempts result in no trap."
+ ::= { ciscoIsdnMibTraps 1 }
+
+demandNbrCallDetails NOTIFICATION-TYPE
+ OBJECTS {
+ demandNbrLogIf,
+ demandNbrName,
+ demandNbrAddress,
+ demandNbrLastDuration,
+ demandNbrClearReason,
+ demandNbrClearCode,
+ demandNbrCallOrigin
+ }
+ STATUS current
+ DESCRIPTION
+ "This trap/inform is sent to the manager whenever a call
+ connects, or clears, or a failed call attempt is determined to
+ have ultimately failed. In the event that call retry is active,
+ then this is after all retry attempts have failed. However,
+ only one such trap is sent in between successful call
+ attempts; subsequent call attempts result in no trap.
+
+ Whenever a call connects, demandNbrLastDuration,
+ demandNbrClearReason, and demandNbrClearCode objects are not
+ included in the trap."
+ ::= { ciscoIsdnMibTraps 2 }
+
+demandNbrLayer2Change NOTIFICATION-TYPE
+ OBJECTS {
+ ifIndex,
+ isdnLapdOperStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "This trap/inform is sent to the manager whenever the
+ D-channel of an interface changes state."
+ ::= { ciscoIsdnMibTraps 3 }
+
+demandNbrCNANotification NOTIFICATION-TYPE
+ OBJECTS {
+ isdnSignalingIfIndex,
+ ifIndex
+ }
+ STATUS current
+ DESCRIPTION
+ "This trap/inform is sent to the manager whenever the
+ an incoming call request is rejected with cause
+ 'requested circuit/channel not available' (CNA),
+ code number 44.
+
+ isdnSignalingIfIndex is the ifIndex value of the interface
+ associated with this signaling channel.
+
+ ifIndex is the interface index of the requested bearer channel
+ "
+ ::= { ciscoIsdnMibTraps 4 }
+
+-- conformance information
+
+ciscoIsdnMibConformance OBJECT IDENTIFIER ::= { ciscoIsdnMib 3 }
+ciscoIsdnMibCompliances OBJECT IDENTIFIER ::= { ciscoIsdnMibConformance 1 }
+ciscoIsdnMibGroups OBJECT IDENTIFIER ::= { ciscoIsdnMibConformance 2 }
+
+
+-- compliance statements
+
+ciscoIsdnMibCompliance MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for entities which implement
+ the Cisco ISDN MIB"
+ MODULE -- this module
+ MANDATORY-GROUPS { ciscoIsdnMibGroup }
+ ::= { ciscoIsdnMibCompliances 1 }
+
+ciscoIsdnMibComplianceRev1 MODULE-COMPLIANCE
+ STATUS current
+ DESCRIPTION
+ "The compliance statement for entities which implement
+ the Cisco ISDN MIB"
+ MODULE -- this module
+ MANDATORY-GROUPS { ciscoIsdnMibGroupRev1 }
+ ::= { ciscoIsdnMibCompliances 2 }
+
+
+-- units of conformance
+
+ciscoIsdnMibGroup OBJECT-GROUP
+ OBJECTS {
+ demandNbrLogIf,
+ demandNbrName,
+ demandNbrAddress,
+ demandNbrPermission,
+ demandNbrMaxDuration,
+ demandNbrLastDuration,
+ demandNbrClearReason,
+ demandNbrClearCode,
+ demandNbrSuccessCalls,
+ demandNbrFailCalls,
+ demandNbrAcceptCalls,
+ demandNbrRefuseCalls,
+ demandNbrLastAttemptTime,
+ demandNbrStatus
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing the ISDN MIB capability."
+ ::= { ciscoIsdnMibGroups 1 }
+
+ciscoIsdnMibGroupRev1 OBJECT-GROUP
+ OBJECTS {
+ demandNbrLogIf,
+ demandNbrName,
+ demandNbrAddress,
+ demandNbrPermission,
+ demandNbrMaxDuration,
+ demandNbrLastDuration,
+ demandNbrClearReason,
+ demandNbrClearCode,
+ demandNbrSuccessCalls,
+ demandNbrFailCalls,
+ demandNbrAcceptCalls,
+ demandNbrRefuseCalls,
+ demandNbrLastAttemptTime,
+ demandNbrStatus,
+ demandNbrCallOrigin
+ }
+ STATUS current
+ DESCRIPTION
+ "A collection of objects providing the call origin capability."
+ ::= { ciscoIsdnMibGroups 2 }
+
+END
|