-- MIB file created 20-Jun-2007 15:24:31, by
--   SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com

CISCO-AAA-SESSION-MIB DEFINITIONS ::= BEGIN

-- From file: "CISCO-AAA-SESSION-MIB.my"
-- Compile options "4 7 F H N O W 03 06 0B 0G 0N 0T"

IMPORTS
    DisplayString, TruthValue, RowPointer
            FROM SNMPv2-TC-v1
    InterfaceIndexOrZero
            FROM IF-MIB
    ciscoMgmt
            FROM CISCO-SMI
    Counter, Gauge, IpAddress
            FROM RFC1155-SMI
    OBJECT-TYPE
            FROM RFC-1212;

ciscoAAASessionMIB OBJECT IDENTIFIER ::= { ciscoMgmt 150 }
-- MODULE-IDENTITY
--  LastUpdated
--    200603210000Z
--  OrgName
--    Cisco Systems, Inc.
--  ContactInfo
--           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
--  Descr
--    This MIB module provides data for accounting sessions
--     based on Authentication, Authorization, Accounting
--     (AAA) protocols.
--    
--    
--     References:
--         RFC 2139 RADIUS Accounting
--         The TACACS+ Protocol Version 1.78, Internet Draft
--    
--    
--  RevDate
--    200603210000Z
--  RevDescr
--    Added the casnNasPort and casnVaiIfIndex objects to the
--     casnActiveTable.
--  RevDate
--    200204110000Z
--  RevDescr
--    Imported Unsigned32 from SNMPv2-SMI instead of CISCO-TC
--  RevDate
--    9911160000Z
--  RevDescr
--    Initial version

casnMIBObjects  OBJECT IDENTIFIER ::= { ciscoAAASessionMIB 1 }
casnActive      OBJECT IDENTIFIER ::= { casnMIBObjects 1 }
casnGeneral     OBJECT IDENTIFIER ::= { casnMIBObjects 2 }
casnMIBNotificationPrefix OBJECT IDENTIFIER ::= { ciscoAAASessionMIB 2 }
casnMIBNotifications OBJECT IDENTIFIER ::= { casnMIBNotificationPrefix 1 }
casnMIBConformance OBJECT IDENTIFIER ::= { ciscoAAASessionMIB 3 }
casnMIBCompliances OBJECT IDENTIFIER ::= { casnMIBConformance 1 }
casnMIBGroups   OBJECT IDENTIFIER ::= { casnMIBConformance 2 }

CctCallId ::= Gauge
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    Represents a Call Identifier.
--     The call identifier is used as an unique identifier for an
--     call within the system.
--    
--     A zero value indicates no call ID.

CasnSessionId ::= Gauge(1..4294967295)
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    Represents an Accounting Session Identifier.
--     The session identifier is used as an unique identifier for
--     a session within the system.

casnActiveTableEntries OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Number of entries currently in casnActiveTable"
    ::= { casnActive 1 }

casnActiveTableHighWaterMark OBJECT-TYPE
    SYNTAX Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Maximum number of entries present in casnActiveTable
         since last system re-initialization.
        
         This corresponds to the maximum value reported by
         casnActiveTableEntries."
    ::= { casnActive 2 }

casnActiveTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CasnActiveEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains entries for active AAA accounting
         sessions in the system."
    ::= { casnActive 3 }

casnActiveEntry OBJECT-TYPE
    SYNTAX CasnActiveEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "The information regarding a single accounting session.
        
         Entries are created when a new accounting session
         is begun.
        
         Entries are removed when the accounting session
         is ended.
        
         Initiating termination of a session with the object
         casnDisconnect will cause removal of the entry when
         the session completes termination."
    INDEX { casnSessionId }
    ::= { casnActiveTable 1 }

CasnActiveEntry ::= SEQUENCE {
    casnSessionId CasnSessionId,
    casnUserId DisplayString,
    casnIpAddr IpAddress,
    casnIdleTime Gauge,
    casnDisconnect TruthValue,
    casnCallTrackerId CctCallId,
    casnNasPort RowPointer,
    casnVaiIfIndex InterfaceIndexOrZero
    }

casnSessionId OBJECT-TYPE
    SYNTAX CasnSessionId
--    Rsyntax Gauge(1..4294967295)
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This is the session identification used by the
         accounting protocol.
        
         This value is unique to a session within the system,
         even if multiple accounting protocols are in use.
        
         The value of this object corresponds to these
         accounting protocol attributes.
            RADIUS:  attribute 44, Acct-Session-Id
            TACACS+: attribute 'task_id'"
    ::= { casnActiveEntry 1 }

casnUserId OBJECT-TYPE
    SYNTAX DisplayString(SIZE(0..255))
--    Rsyntax OCTET STRING(SIZE(0..255))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The User login ID or zero length string if unavailable.
        
         The value of this object corresponds to these
         accounting protocol attributes.
            RADIUS:  attribute 1, User-Name
            TACACS+: attribute 'user'"
    ::= { casnActiveEntry 2 }

casnIpAddr OBJECT-TYPE
    SYNTAX IpAddress
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The IP address of the session or 0.0.0.0 if not
         applicable or unavailable.
        
         RADIUS:  attribute 8, Framed-IP-Address
         TACACS+: attribute 'addr'"
    ::= { casnActiveEntry 3 }

casnIdleTime OBJECT-TYPE
    SYNTAX Gauge
--  Units
--    seconds
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The elapsed time that this session has been idle.
        
         This is the time since the last user-level data has been
         received or transmitted. Protocol level handshaking
         associated with the call is considered to be idle for
         this object."
    ::= { casnActiveEntry 4 }

casnDisconnect OBJECT-TYPE
    SYNTAX TruthValue
--    Rsyntax INTEGER {
--        true(1),
--        false(2)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object is used to terminate this session.
        
         Setting the value to true(1) will initiate termination
         of this session.
        
         The entry will be removed once the session has completed
         termination.
        
         Once this object has been set to true(1), the session
         termination process can not be cancelled by setting the
         value false(2)."
    ::= { casnActiveEntry 5 }

casnCallTrackerId OBJECT-TYPE
    SYNTAX CctCallId
--    Rsyntax Gauge
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The value of this object is the entry index in the
         CISCO-CALL-TRACKER-MIB cctActiveTable of the call
         corresponding to this accounting session.
        
         Using the value of this object to query the
         cctActiveTable will provide more detailed data regarding
         the session represented by this casnActiveEntry."
    ::= { casnActiveEntry 6 }

casnNasPort OBJECT-TYPE
    SYNTAX RowPointer
--    Rsyntax OBJECT IDENTIFIER
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The value of this object identifies a particular
         conceptual row associated with the session identified by
         casnSessionId.  The conceptual row that this object points
         to represents a port that is used to transport a session.
        
         If the port transporting the session cannot be determined,
         the value of this object will be zeroDotZero.
        
         For example, suppose a session is established using an ATM
         PVC.  If the ifIndex of the ATM interface is 7, and the 
         VPI/VCI values of the PVC are 1, 100 respectively, then
         the value of this object might be as follows:
        
                casnNasPort.15 = atmVclAdminStatus.7.1.100
                            ^                      ^ ^  ^
                            |                      | |  |
            casnSessionId --+                      | |  |
                  ifIndex -------------------------+ |  |
                atmVclVpi ---------------------------+  |
                atmVclVci ------------------------------+
        
         where atmVclAdminStatus is the first accessible object
         of the atmVclTable of the ATM-MIB."
    ::= { casnActiveEntry 7 }

casnVaiIfIndex OBJECT-TYPE
    SYNTAX InterfaceIndexOrZero
--    Rsyntax INTEGER(0..2147483647)
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The ifIndex of the Virtual Access Interface (VAI)
         that is associated with the PPP session.
        
         This interface may not be represented in the IF-MIB in
         which case the value of this object will be zero."
    ::= { casnActiveEntry 8 }

casnTotalSessions OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Total number of sessions since last system
         re-initialization.
        
         This value includes all sessions currently in the
         casnActiveTable and all previous sessions whether
         terminated via casnDisconnect or via other
         mechanisms."
    ::= { casnGeneral 1 }

casnDisconnectedSessions OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Total number of sessions which have been disconnected using
         casnDisconnect since last system re-initialization.
        
         This value includes any sessions still in the
         casnActiveTable with a casnDisconnect value of true(1) and
         all previous sessions which terminated as a result of
         setting casnDisconnect."
    ::= { casnGeneral 2 }

casnActiveGroup OBJECT IDENTIFIER ::= { casnMIBGroups 1 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects providing the
--     AAA session information.
--  objects
--    casnActiveTableEntries, casnActiveTableHighWaterMark, 
--    casnUserId, casnIpAddr, casnIdleTime, casnDisconnect, 
--    casnCallTrackerId

casnGeneralGroup OBJECT IDENTIFIER ::= { casnMIBGroups 2 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects providing the
--     AAA session information.
--  objects
--    casnTotalSessions, casnDisconnectedSessions

casnActiveGroupSup1 OBJECT IDENTIFIER ::= { casnMIBGroups 3 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    A collection of objects that supplements
--     the casnActiveGroup.
--  objects
--    casnNasPort, casnVaiIfIndex

casnMIBCompliance OBJECT IDENTIFIER ::= { casnMIBCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    deprecated
--  Descr
--    The compliance statement for entities which
--     implement the CISCO AAA Session MIB
--  Module
--    >>current<<
--   MandGroup
--    casnActiveGroup
--   MandGroup
--    casnGeneralGroup
--   ObjVar
--    casnDisconnect

casnMIBComplianceRev1 OBJECT IDENTIFIER ::= { casnMIBCompliances 2 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    The compliance statement for entities which
--     implement the CISCO AAA Session MIB
--  Module
--    >>current<<
--   MandGroup
--    casnActiveGroup
--   MandGroup
--    casnGeneralGroup
--   MandGroup
--    casnActiveGroupSup1
--   ObjVar
--    casnDisconnect


END

