CISCO-SUBSCRIBER-SESSION-MIB

This MIB defines objects describing subscriber sessions, or more specifically, subscriber sessions terminated by a RAS. A subsc...

  • Version: 2012-08-08

    CISCO-SUBSCRIBER-SESSION-MIB@2012-08-08


    
      module CISCO-SUBSCRIBER-SESSION-MIB {
    
        yang-version 1;
    
        namespace
          "urn:ietf:params:xml:ns:yang:smiv2:CISCO-SUBSCRIBER-SESSION-MIB";
    
        prefix CISCO-SUBSCRIBER-SESSION-MIB;
    
        import CISCO-CBP-TC-MIB {
          prefix cisco-cbp;
        }
        import CISCO-DYNAMIC-TEMPLATE-TC-MIB {
          prefix cisco-dynamic;
        }
        import CISCO-SUBSCRIBER-IDENTITY-TC-MIB {
          prefix cisco-subscriber-identity;
        }
        import CISCO-SUBSCRIBER-SESSION-TC-MIB {
          prefix cisco-subscriber;
        }
        import IF-MIB {
          prefix if-mib;
        }
        import INET-ADDRESS-MIB {
          prefix inet-address;
        }
        import PerfHist-TC-MIB {
          prefix perfhist-tc;
        }
        import SNMPv2-TC {
          prefix snmpv2-tc;
        }
        import ietf-yang-smiv2 {
          prefix smiv2;
        }
        import ietf-yang-types {
          prefix yang;
        }
    
        organization "Cisco Systems, Inc.";
    
        contact
          "Cisco Systems
        Customer Service
        
        Postal:  170 W Tasman Drive
        San Jose, CA 95134
        
        Tel:  +1 800 553-NETS
        
        E-mail:  cs-snmp@cisco.com";
    
        description
          "This MIB defines objects describing subscriber sessions, or
        more specifically, subscriber sessions terminated by a RAS.  A
        subscriber session consists of the traffic between a CPE and a
        NAS, as illustrated in the diagram below.
        
                                           Service
                           Access          Provider
                           Network         Network
        +--+  +---+  +--+   {   }   +---+   {   }
        |PC+--+CPE+--+AN+--{     }--+NAS+--{     }
        +--+  +---+  +--+   {   }   +---+   {   }
                  |                 |
                  |<--------------->|
                       subscriber
                        session
        
        A subscriber session behaves according to the FSM illustrated
        below.
        
              +-----------------+
         +--->|  DISCONNECTED   |<-------+
         |    +--------+--------+        |
         |             |                 |
         | failed      | initiated       | disconnect
         |             V                 |
         |    +-----------------+        |
         +----+     PENDING     +--------+
              +--------+--------+        |
                       |                 |
                       | established     |
                       V                 |
        +----------------------------+   |
        |             UP             |   |
        |                            +---+
        |  +-----------------+       |
        |  | UNAUTHENTICATED |       |
        |  +--------+--------+       |
        |           |                |
        |           | authenticated  |
        |           V                |
        |  +-----------------+       |
        |  |  AUTHENTICATED  |       |
        |  +-----------------+       |
        |                            |
        +----------------------------+
        
        A subscriber session in the DISCONNECTED state technically
        doesn't exist; that is, the system does not maintain a context
        to describe a disconnected subscriber session.
        
        Once the system detects the initiation of a subscriber session,
        then it creates a context and places the subscriber session in
        the PENDING state.  The initiation of a subscriber session can
        occur either through provisioning or the reception of a packet.
        In the PENDING state, a system does not forward subscriber
        traffic.
        
        A pending subscriber session can become DISCONNECTED if
        it fails to come up (e.g., a timeout) or if the system or the
        subscriber explicitly terminates the subscriber session.
        
        A pending subscriber session can become UP if the system
        successfully configures and applies any relevant policies.
        Once in the UP state, a system forwards subscriber traffic.
        
        A operationally UP subscriber session can become DISCONNECTED if
        either system or the subscriber terminates it.
        
        A operationally UP subscriber session can either be
        UNAUTHENTICATED or AUTHENTICATED.  When the system is in the
        process of checking a the credentials associated with a
        subscriber session, it is in the UNAUTHENTICATED state.  When
        the system successfully completes this process, it transitions
        the subscriber session to the AUTHENTICATED state.  If the
        process fails, then the system terminates the subscriber
        session.
        
        Besides describing individual subscriber sessions, this MIB
        module provides an EMS/NMS with the means to perform the
        following functions:
        
        1)  Enumerate subscriber sessions by ifIndex.
        
        2)  Enumerate subscriber sessions by subscriber session type and
            ifIndex.
        
        3)  Monitor aggregated statistics relating to subscriber
            sessions:
        
            a.  System-wide
            b.  System-wide by subscriber session type
            c.  Per node
            d.  Per node by subscriber session type
        
        4)  Collect 15-minute aggregated performance data history
            relating to subscriber sessions:
        
            a.  System-wide
            b.  System-wide by subscriber session type
            c.  Per node
            d.  Per node by subscriber session type
        
        5)  Submit a query for a report containing those subscriber
            sessions that match a specified identity match criteria.
        
        6)  Terminate those subscriber session that match a
            specified identify match criteria.
        
        GLOSSARY
        ========
        
        Access Concentrator
            See NAS.
        
        Access Network
            The network that provides connectivity between a AN and NAS.
            An access network may provide L2 or L3 connectivity. If the
            access network provide L2 connectivity, it may switch
            traffic or tunnel it through a MPLS or IP network.
        
        AN (Access Node)
            A device (e.g., a DSLAM) that multiplexes or switches
            traffic between many CPEs and an access network.
        
        BRAS (Broadband Remote Access Server)
            See NAS.
        
        CPE (Customer Premise Equipment)
            A device (e.g., a DSL modem) that connects a customer's
            network to an AN.
        
        DHCP (Dynamic Host Configuration Protocol)
            The protocol that provides a framework for transacting
            configuration information to devices on an IP network, as
            specified by RFC-2131.
        
        NAS (Network Access Server)
            A device that switches or routes traffic between subscriber
            sessions and service provider networks.
        
        Network Service
            Access to the Internet backbone, voice, video, or other
            content.
        
        Node
            A physical entity capable of maintaining a subscriber
            session within a distributed system.  The notion of a node
            is not applicable to a centralized system.
        
        PADI (PPPoE Active Discovery Initiation)
            A subscriber broadcasts a PADI packet to start the process
            of discovering access concentrators capable of serving it.
        
        PADO (PPPoE Active Discovery Offer)
            The packet sent by an access concentrator to a subscriber
            indicating that it can serve the subscriber.
        
        PADR (PPPoE Active Discovery Request)
            The packet sent by a subscriber to an access concentrator
            requesting a PPPoE connection.
        
        PADS (PPPoE Active Discovery Session-confirmation)
            The packet sent by an access concentrator to a subscriber
            confirming the request for a PPPoE connection.  Once this
            packet has been sent, then the PPP can proceed as specified
            by RFC-1661.
        
        PADT (PPPoE Active Discovery Terminate)
            The packet indicating that a PPPoE connection has been
            terminated.  Either the subscriber or the access
            concentrator can send this packet.
        
        PPP (Point-to-Point Protocol)
            The standard method for transporting multi-protocol
            datagrams over point-to-point links, as defined by RFC-1661.
            The PPP specifies the encapsulation for these datagrams and
            the protocols necessary for establishing, configuring, and
            maintaining connectivity.
        
        PPPoE (Point-to-Point Protocol over Ethernet)
            The protocol and encapsulation necessary to support a PPP
            connection over an Ethernet connection, as defined by IETF
            RFC-2516.
        
        Service Provider Network
            The network that provides connectivity between a NAS and a
            network service.
        
        Subscriber
            A customer of a network service.
        
        Subscriber Session
            A context maintained by a NAS for the purpose of classifying
            a subscriber's traffic, maintaining a subscriber's identity,
            applying configuration and policies, and maintaining
            statistics.  For more information on the types of subscriber
            sessions, see the CISCO-SUBSCRIBER-SESSION-TC-MIB.";
    
        revision "2012-08-08" {
          description
            "csubAggStatsThreshTable , csubAggStatsThreshGroup,
          csubAggStatsNotifGroup are newly added";
        }
    
        revision "2012-03-12" {
          description
            "SubscriberLoationName corrected to SubscriberLocationName";
        }
    
        revision "2011-09-12" {
          description
            "The initial version of the MIB module.";
        }
    
        smiv2:alias "ciscoSubscriberSessionMIB" {
          smiv2:oid "1.3.6.1.4.1.9.9.786";
        }
        smiv2:alias "ciscoSubscriberSessionMIBNotifs" {
          smiv2:oid "1.3.6.1.4.1.9.9.786.0";
        }
        smiv2:alias "ciscoSubscriberSessionMIBObjects" {
          smiv2:oid "1.3.6.1.4.1.9.9.786.1";
        }
        smiv2:alias "csubSession" {
          smiv2:oid "1.3.6.1.4.1.9.9.786.1.1";
        }
        smiv2:alias "csubAggStats" {
          smiv2:oid "1.3.6.1.4.1.9.9.786.1.2";
        }
        smiv2:alias "csubJob" {
          smiv2:oid "1.3.6.1.4.1.9.9.786.1.3";
        }
        smiv2:alias "csubAggThresh" {
          smiv2:oid "1.3.6.1.4.1.9.9.786.1.4";
        }
        smiv2:alias "ciscoSubscriberSessionMIBConform" {
          smiv2:oid "1.3.6.1.4.1.9.9.786.2";
        }
        smiv2:alias "ciscoSubscriberSessionMIBCompliances" {
          smiv2:oid "1.3.6.1.4.1.9.9.786.2.1";
        }
        smiv2:alias "ciscoSubscriberSessionMIBGroups" {
          smiv2:oid "1.3.6.1.4.1.9.9.786.2.2";
        }
    
        typedef SubscriberJobIdentifier {
          type uint32 {
            range "1..4294967295";
          }
          description
            "An arbitrary positive, integer-value uniquely identifying a
          subscriber session job.";
        }
    
        typedef SubscriberJobIdentifierOrZero {
          type uint32 {
            range "0..4294967295";
          }
          description
            "This textual convention serves as an extension of the
          SubscriberJobIdentifier textual convention, which permits the
          value '0'.  The use of the value '0' is specific to an object,
          thus requiring the descriptive text associated with the object
          to describe the semantics of its use.";
        }
    
        container CISCO-SUBSCRIBER-SESSION-MIB {
          config false;
          container csubJob {
            smiv2:oid "1.3.6.1.4.1.9.9.786.1.3";
            leaf csubJobFinishedNotifyEnable {
              smiv2:defval "true";
              smiv2:max-access "read-write";
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.1";
              type boolean;
              description
                "This object specifies whether the system generates a
              csubJobFinishedNotify notification when the system finishes
              processing a subscriber session job.";
            }
    
            leaf csubJobIndexedAttributes {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.2";
              type cisco-subscriber-identity:SubSessionIdentities;
              description
                "This object indicates which subscriber session identities the
              system maintains as searchable keys.  This value serves the
              EMS/NMS in configuring a subscriber session query, as at least
              one match criteria must be an 'indexed attribute'.";
            }
    
            leaf csubJobIdNext {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.3";
              type SubscriberJobIdentifierOrZero;
              description
                "This object indicates the next available identifier for the
              creation of a new row in the csubJobTable.  If no available
              identifier exists, then this object has the value '0'.";
            }
    
            leaf csubJobMaxNumber {
              smiv2:max-access "read-write";
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.4";
              type uint32 {
                range "1..4294967295";
              }
              units "jobs";
              description
                "This object indicates the maximum number of outstanding
              subscriber session jobs the system can support.  If the
              csubJobTable contains a number of rows (i.e., the value of
              csubJobCount) equal to this value, then any attempt to create a
              new row will result in a response with an error-status of
              'resourceUnavailable'.";
            }
    
            leaf csubJobMaxLife {
              smiv2:defval "300";
              smiv2:max-access "read-write";
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.5";
              type uint32 {
                range "0..4294967295";
              }
              units "seconds";
              description
                "This object specifies the maximum life a subscriber session
              report corresponding to a subscriber session job having a
              csubJobType of 'query'.  The system tracks the time elapsed
              after it finishes processing a query.  When the time elapsed
              reaches the value specified by this column, the system
              automatically  destroys the report.  A value of '0' disables the
              automatic destruction of reports.";
            }
    
            leaf csubJobCount {
              smiv2:max-access "read-only";
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.6";
              type yang:gauge32;
              units "jobs";
              description
                "This object indicates the number of subscriber session jobs
              currently maintained by the csubJobTable.";
            }
          }  // container csubJob
    
          container csubAggThresh {
            smiv2:oid "1.3.6.1.4.1.9.9.786.1.4";
            leaf csubAggStatsThreshNotifEnable {
              smiv2:max-access "read-write";
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.4.1";
              type boolean;
              description
                "This object enables or disables the generation of any of the
              csubAggStats* threshold notifications.";
            }
          }  // container csubAggThresh
    
          container csubSessionTable {
            smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1";
            description
              "This table describes a list of subscriber sessions currently
            maintained by the system.
            
            This table has a sparse dependent relationship on the ifTable,
            containing a row for each interface having an interface type
            describing a subscriber session.";
            list csubSessionEntry {
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1";
              key "ifIndex";
              description
                "This entry contains data describing a subscriber sessions,
              including its state, configuration, and collected identities.
              
              An entry exists for a corresponding entry in the ifTable
              describing a subscriber session.  Currently, subscriber
              sessions must have one of the following ifType values:
              
                  'ppp'
                  'ipSubscriberSession'
                  'l2SubscriberSession'
              
              The system creates an entry when it establishes a subscriber
              session.  Likewise, the system destroys an entry when it
              terminates the corresponding subscriber session.";
              leaf ifIndex {
                type leafref {
                  path "/if-mib:IF-MIB/if-mib:ifTable/if-mib:ifEntry/if-mib:ifIndex";
                }
              }
    
              leaf csubSessionType {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.1";
                type cisco-subscriber:SubSessionType;
                description
                  "This object indicates the type of subscriber session.";
              }
    
              leaf csubSessionIpAddrAssignment {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.2";
                type enumeration {
                  enum "none" {
                    value 1;
                  }
                  enum "other" {
                    value 2;
                  }
                  enum "static" {
                    value 3;
                  }
                  enum "localPool" {
                    value 4;
                  }
                  enum "dhcpv4" {
                    value 5;
                  }
                  enum "dhcpv6" {
                    value 6;
                  }
                  enum "userProfileIpAddr" {
                    value 7;
                  }
                  enum "userProfileIpSubnet" {
                    value 8;
                  }
                  enum "userProfileNamedPool" {
                    value 9;
                  }
                }
                description
                  "This object indicates how the system assigns IP addresses to
                the subscriber:
                
                    'none'
                        The system does not an involvement in (or is it aware
                        of) the assignment an subscriber IP addresses.  For
                        example, a system does not have an involvement in the
                        assignment of subscriber IP addresses for IP interface
                        subscriber sessions.
                
                    'other'
                        The system assigns subscriber IP addresses using a
                        method not recognized by this MIB module.
                
                    'static'
                        Subscriber IP addresses have been configured correctly
                        for the service domain.  The system does not have an
                        involvement in the assignment of the IP address.
                
                    'localPool'
                        The system assigns subscriber IP addresses from a
                        locally configured pool of IP addresses.
                
                    'dhcpv4'
                        The system assigns subscriber IP addresses are using the
                        DHCPv4.
                
                    'dhcpv6'
                        The system assigns subscriber IP addresses using the
                        DHCPv6.
                
                    'userProfileIpAddr'
                        The system assigns subscriber IP addresses from a user
                        profile.
                
                    'userProfileIpSubnet'
                        The system assigns the subscriber an IP subnet from a
                        user profile.
                
                    'userProfileNamedPool'
                        The system assigns subscriber IP addresses from a
                        locally configured named pool specified by a user
                        profile.";
              }
    
              leaf csubSessionState {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.3";
                type cisco-subscriber:SubSessionState;
                description
                  "This object indicates the operational state of the subscriber
                session.";
              }
    
              leaf csubSessionAuthenticated {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.4";
                type boolean;
                description
                  "This object indicates whether the system has successfully
                authenticated the subscriber session.
                
                    'false'
                        The subscriber session is operationally up, but in the
                        UNAUTHENTICATED state.
                
                    'true'
                        The subscriber session is operationally up, but in the
                        AUTHENTICATED state.";
              }
    
              leaf csubSessionRedundancyMode {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.5";
                type cisco-subscriber:SubSessionRedundancyMode;
                description
                  "This object indicates the redundancy mode in which the
                subscriber session is operating.";
              }
    
              leaf csubSessionCreationTime {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.6";
                type snmpv2-tc:DateAndTime;
                description
                  "This object indicates when the subscriber session was created
                (i.e., when the subscriber session was initiated).";
              }
    
              leaf csubSessionDerivedCfg {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.7";
                type cisco-dynamic:DynamicTemplateName;
                description
                  "This object indicates the row in the cdtTemplateTable (defined
                by the CISCO-DYNAMIC-TEMPLATE-MIB) describing the derived
                configuration for the subscriber session.
                
                Observe that the value of cdtTemplateType corresponding to the
                referenced row must be 'derived'.";
              }
    
              leaf csubSessionAvailableIdentities {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.8";
                type cisco-subscriber-identity:SubSessionIdentities;
                description
                  "This object indicates the subscriber identities that the system
                has successfully collected for the subscriber session.
                
                Each bit in this bit string corresponds to a column in this
                table.  If the bit is '0', then the value of the corresponding
                column is invalid.  If the bit is '1', then the value of the
                corresponding column represents the value of the subscriber
                identity collected by the system.
                
                The following list specifies the mappings between the bits and
                the columns:
                
                    'subscriberLabel' => csubSessionSubscriberLabel
                    'macAddress'      => csubSessionMacAddress
                    'nativeVrf'       => csubSessionNativeVrf
                    'nativeIpAddress' => csubSessionNativeIpAddrType,
                                         csubSessionNativeIpAddr,
                                         csubSessionNativeIpMask
                    'nativeIpAddress2'=> csubSessionNativeIpAddrType2,
                                         csubSessionNativeIpAddr2,
                                         csubSessionNativeIpMask2                                 
                    'domainVrf'       => csubSessionDomainVrf
                    'domainIpAddress' => csubSessionDomainIpAddrType,
                                         csubSessionDomainIpAddr,
                                         csubSessionDomainIpMask
                    'pbhk'            => csubSessionPbhk
                    'remoteId'        => csubSessionRemoteId
                    'circuitId'       => csubSessionCircuitId
                    'nasPort'         => csubSessionNasPort
                    'domain'          => csubSessionDomain
                    'username'        => csubSessionUsername
                    'acctSessionId'   => csubSessionAcctSessionId
                    'dnis'            => csubSessionDnis
                    'media'           => csubSessionMedia
                    'mlpNegotiated'   => csubSessionMlpNegotiated
                    'protocol'        => csubSessionProtocol
                    'dhcpClass'       => csubSessionDhcpClass
                    'tunnelName'      => csubSessionTunnelName
                
                Observe that the bit 'ifIndex' should always be '1'.  This
                identity maps to the ifIndex assigned to the subscriber
                session.
                
                Observe that the bit 'serviceName' maps to one or more instance
                of ccbptPolicyMap (defined by the CISCO-CBP-TARGET-MIB).";
              }
    
              leaf csubSessionSubscriberLabel {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.9";
                type cisco-subscriber-identity:SubscriberLabel;
                description
                  "This object indicates a positive integer-value uniquely
                identifying the subscriber session within the scope of
                the system.
                
                This column is valid only if the 'subscriberLabel' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionMacAddress {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.10";
                type yang:mac-address;
                description
                  "This object indicates the MAC address of the subscriber.
                
                This column is valid only if the 'macAddress' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionNativeVrf {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.11";
                type cisco-subscriber-identity:SubscriberVRF;
                description
                  "This object indicates the VRF originating the subscriber
                session.
                
                This column is valid only if the 'nativeVrf' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionNativeIpAddrType {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.12";
                type inet-address:InetAddressType;
                description
                  "This object indicates the type of IP address assigned to the
                subscriber on the customer-facing side of the system.
                
                This column is valid only if the 'nativeIpAddress' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionNativeIpAddr {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.13";
                type inet-address:InetAddress;
                description
                  "This object indicates the IP address assigned to the
                subscriber on the customer-facing side of the system.
                
                This column is valid only if the 'nativeIpAddress' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionNativeIpMask {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.14";
                type inet-address:InetAddress;
                description
                  "This object indicates the corresponding mask for the IP
                address assigned to the subscriber on the customer-facing side
                of the system.
                
                This column is valid only if the 'nativeIpAddress' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionDomainVrf {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.15";
                type cisco-subscriber-identity:SubscriberVRF;
                description
                  "This object indicates the VRF to which the system transfers
                the subscriber session's traffic.
                
                This column is valid only if the 'domainVrf' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionDomainIpAddrType {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.16";
                type inet-address:InetAddressType;
                description
                  "This object indicates the type of IP address assigned to the
                subscriber on the service-facing side of the system.
                
                This column is valid only if the 'domainIpAddress' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionDomainIpAddr {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.17";
                type inet-address:InetAddress;
                description
                  "This object indicates the IP address assigned to the
                subscriber on the service-facing side of the system.
                
                This column is valid only if the 'domainIpAddress' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionDomainIpMask {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.18";
                type inet-address:InetAddress;
                description
                  "This object indicates the corresponding mask for the IP
                address assigned to the subscriber on the service-facing side of
                the system.
                
                This column is valid only if the 'domainIpAddress' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionPbhk {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.19";
                type cisco-subscriber-identity:SubscriberPbhk;
                description
                  "This object indicates the PBHK identifying the subscriber.
                
                This column is valid only if the 'pbhk' bit of the corresponding
                instance of csubSessionAvailableIdentities is '1'.";
              }
    
              leaf csubSessionRemoteId {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.20";
                type cisco-subscriber-identity:SubscriberRemoteId;
                description
                  "This object indicates the Remote-Id identifying the 'calling
                station' or AN supporting the circuit that provides access to
                the subscriber.
                
                This column is valid only if the 'remoteId' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionCircuitId {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.21";
                type cisco-subscriber-identity:SubscriberCircuitId;
                description
                  "This object indicates the Circuit-Id identifying the circuit
                supported by the 'calling station' or AN providing access to
                the subscriber.
                
                This column is valid only if the 'circuitId' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionNasPort {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.22";
                type cisco-subscriber-identity:SubscriberNasPort;
                description
                  "This object indicates the NAS port-identifier identifying the
                port on the NAS providing access to the subscriber.
                
                This column is valid only if the 'nasPort' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionDomain {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.23";
                type cisco-subscriber-identity:SubscriberDomain;
                description
                  "This object indicates the domain associated with the
                subscriber.
                
                This column is valid only if the 'domain' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionUsername {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.24";
                type cisco-subscriber-identity:SubscriberUsername;
                description
                  "This object indicates the username identifying the subscriber.
                
                This column is valid only if the 'username' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionAcctSessionId {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.25";
                type cisco-subscriber-identity:SubscriberAcctSessionId;
                description
                  "This object indicates the accounting session identifier
                assigned to the subscriber session.
                
                This column is valid only if the 'accountingSid' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionDnis {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.26";
                type cisco-subscriber-identity:SubscriberDnis;
                description
                  "This object indicates the DNIS number dialed by the
                subscriber to access the 'calling station' or AN.
                
                This column is valid only if the 'dnis' bit of the corresponding
                instance of csubSessionAvailableIdentities is '1'.";
              }
    
              leaf csubSessionMedia {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.27";
                type cisco-subscriber-identity:SubscriberMediaType;
                description
                  "This object indicates the type of media providing access to
                the subscriber.
                
                This column is valid only if the 'media' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionMlpNegotiated {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.28";
                type boolean;
                description
                  "This object indicates whether the subscriber session was
                established using multi-link PPP negotiation.
                
                This column is valid only if the 'mlpNegotiated' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionProtocol {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.29";
                type cisco-subscriber-identity:SubscriberProtocolType;
                description
                  "This object indicates the type of protocol providing access to
                the subscriber.
                
                This column is valid only if the 'protocol' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionDhcpClass {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.30";
                type cisco-subscriber-identity:SubscriberDhcpClass;
                description
                  "This object indicates the name of the class matching the DHCP
                DISCOVER message received from the subscriber.
                
                This column is valid only if the 'dhcpClass' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionTunnelName {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.31";
                type cisco-subscriber-identity:SubscriberTunnelName;
                description
                  "This object indicates the name of the VPDN used to carry the
                subscriber session to the system.
                
                This column is valid only if the 'tunnelName' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionLocationIdentifier {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.32";
                type cisco-subscriber-identity:SubscriberLocationName;
                description
                  "This object indicates the location of the
                subscriber";
              }
    
              leaf csubSessionServiceIdentifier {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.33";
                type cisco-subscriber-identity:SubscriberServiceName;
                description
                  "This object indicates the name used to identify the services
                subscribed by a particular session.";
              }
    
              leaf csubSessionLastChanged {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.34";
                type snmpv2-tc:DateAndTime;
                description
                  "This object indicates when the subscriber session is updated
                with new policy information.";
              }
    
              leaf csubSessionNativeIpAddrType2 {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.35";
                type inet-address:InetAddressType;
                description
                  "This object indicates the type of IP address assigned to the
                subscriber on the customer-facing side of the system.
                
                This column is valid only if the 'nativeIpAddress' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.
                
                In Dual stack scenarios both 'csubSessionNativeIpAddrType' and 
                'csubSessionNativeIpAddrType2' will be valid";
              }
    
              leaf csubSessionNativeIpAddr2 {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.36";
                type inet-address:InetAddress;
                description
                  "This object indicates the IP address assigned to the
                subscriber on the customer-facing side of the system.
                
                This column is valid only if the 'nativeIpAddress' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
    
              leaf csubSessionNativeIpMask2 {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.1.1.37";
                type inet-address:InetAddress;
                description
                  "This object indicates the corresponding mask for the IP
                address assigned to the subscriber on the customer-facing side
                of the system.
                
                This column is valid only if the 'nativeIpAddress' bit of the
                corresponding instance of csubSessionAvailableIdentities is
                '1'.";
              }
            }  // list csubSessionEntry
          }  // container csubSessionTable
    
          container csubSessionByTypeTable {
            smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.2";
            description
              "This table describes a list of subscriber sessions currently
            maintained by the system.  The tables sorts the subscriber
            sessions first by the subscriber session's type and second by
            the ifIndex assigned to the subscriber session.";
            list csubSessionByTypeEntry {
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.2.1";
              key "csubSessionByType csubSessionIfIndex";
              description
                "This entry identifies a subscriber session.
              
              An entry exists for a corresponding entry in the ifTable
              describing a subscriber session.  Currently, subscriber
              sessions must have one of the following ifType values:
              
                  'ppp'
                  'ipSubscriberSession'
                  'l2SubscriberSession'
              
              The system creates an entry when it establishes a subscriber
              session.  Likewise, the system destroys an entry when it
              terminates the corresponding subscriber session.";
              leaf csubSessionByType {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.2.1.1";
                type cisco-subscriber:SubSessionType;
                description
                  "This object indicates the type of the subscriber session.";
              }
    
              leaf csubSessionIfIndex {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.1.2.1.2";
                type if-mib:InterfaceIndex;
                description
                  "This object indicates the ifIndex assigned to the subscriber
                session.";
              }
            }  // list csubSessionByTypeEntry
          }  // container csubSessionByTypeTable
    
          container csubAggStatsTable {
            smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1";
            description
              "This table contains sets of aggregated statistics relating to
            subscriber sessions, where each set has a unique scope of
            aggregation.";
            list csubAggStatsEntry {
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1";
              key "csubAggStatsPointType csubAggStatsPoint csubAggStatsSessionType";
              description
                "An entry contains a set of aggregated statistics relating to
              those subscriber sessions that fall into a 'scope of 
              aggregation'. 
              
              A 'scope of aggregation' is the set of subscriber sessions 
              that meet specified criteria.  For example, a 'scope of 
              aggregation' may be the set of all PPPoE subscriber sessions 
              maintained by the system.  The following criteria define the 
              'scope of aggregation': 
              
              1)  Aggregation Point type 
                      Aggregation point type identifies the format of the 
                      csubAggStatsPoint for this entry. 
              
              2)  Aggregation Point 
                      'Physical' Aggregation Point type case: 
                      In a distributed system, a 'node' represents a physical 
                      entity capable of maintaining the context representing 
                      a subscriber session. 
              
                      If the 'scope of aggregation' specifies a physical 
                      entity having an entPhysicalClass of 'chassis', then 
                      the set of subscriber sessions in the 'scope of 
                      aggregation' may contain the subscriber sessions maintained by all 
                      the nodes contained in the system. 
              
                      If the 'scope of aggregation' specifies a physical 
                      entity having an entPhysicalClass of 'module' (e.g., a 
                      line card), then the set of subscriber sessions in the 
                      'scope of aggregation' may contain the subscriber 
                      sessions maintained by the nodes contained by the 
                      module. 
              
                      If the 'scope of aggregation' specifies a physical 
                      entity having an entPhysicalClass of 'cpu', then the 
                      set of subscriber sessions in the 'scope of aggregation' 
                      may contain the subscriber sessions maintained by the node 
                      running on that processor. 
              
                      Observe that a centralized system (i.e., a system 
                      that essentially contains a single node) can only 
                      support a 'scope of aggregation' that specifies a 
                      physical entity classified as a 'chassis'. 
              
                      If the scope of aggregation specifies 'interface', 
                      then the scope is the set of subscriber sessions carried 
                      by the interface identified the ifIndex value 
                      represented in the csubAggStatsPoint value. 
              
              2)  Subscriber Session Type 
                      If the 'scope of aggregation' specifies the value 'all' 
                      for the subscriber session type, then the set of 
                      subscriber sessions in the 'scope of aggregation' may 
                      contain all subscriber sessions, regardless of type. 
              
                      If the 'scope of aggregation' specifies a value other 
                      than 'all' for the subscriber session type, then the 
                      set of subscriber sessions in the 'scope of aggregation may 
                      contain only those subscriber sessions of the specified 
                      type. 
              
              Implementation Guidance 
              ======================= 
              A system MUST maintain a set of statistics with a 'scope of 
              aggregation' that contains all subscriber sessions maintained 
              by the system.  The system creates this entry during the 
              initialization of the SNMP entity. 
              
              A system SHOULD maintain a set of statistics for each 'scope of 
              aggregation' containing subscriber sessions of each subscriber 
              session type the system is capable of providing access.  If the 
              system supports these sets of statistics, then it creates these 
              entries during the initialization of the SNMP entity. 
              
              A system MAY maintain sets of node-specific statistics.  if the 
              system supports sets of node-specific statistics, then it 
              creates the appropriate entries upon detection of a physical 
              entity (resulting from system restart or insertion) containing 
              those nodes.  Likewise, the system destroys these entries 
              upon removal of the physical entity.";
              reference
                "A. Bierman and K. McCloghrie, 'Entity MIB (Version 3)',
                RFC-4133, August 2005.";
    
              leaf csubAggStatsPointType {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.1";
                type enumeration {
                  enum "physical" {
                    value 1;
                  }
                  enum "interface" {
                    value 2;
                  }
                }
                description
                  "This object indicates format of the csubAggStatsPoint
                for this entry. 
                
                The format for the csubAggStatsPoint is as follows: 
                
                csubAggStatsPointType      csubAggStatsPoint 
                ----------------------     ------------------ 
                    'physical'                 PhysicalIndex 
                    'interface'                InterfaceIndex";
              }
    
              leaf csubAggStatsPoint {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.2";
                type uint32 {
                  range "1..4294967295";
                }
                description
                  "This object should be read with csubAggStatsPointType always.
                
                This object indicates one of the determining factors affecting 
                the 'scope of aggregation' for the set of statistics contained 
                by the row. 
                
                The value indicated by this object should be interpreted as the 
                identifier for the point type specific base table. 
                
                For point types of 'physical', the type specific base table is 
                the entPhysicalTable and this value is a PhysicalIndex.  For 
                point types of 'interface', the type specific base table is 
                the ifTable and this value is an InterfaceIndex. 
                
                If this column indicates a physical entity which has an 
                entPhysicalClass of 'chassis', then the 'scope of aggregation' 
                may includes those subscriber sessions maintained by all nodes 
                contained by the system. 
                
                If this column indicates a physical entity which has an 
                entPhysicalClass of  'module' (e.g., a line card), then the 
                'scope of aggregation' may include those subscriber sessions 
                maintained by the nodes contained by the module. 
                
                If this column indicates a physical entity which has an 
                entPhysicalClass of 'cpu', then the 'scope of aggregation' may 
                include those subscriber sessions maintained by the node 
                running on the processor. 
                
                Aggregation points with entPhysicalTable / ifTable overlap: 
                For interfaces which map directly to physical 'port' class 
                entities in the entPhysicalTable, the preferred representation 
                as aggregation points is the 'physical' point type and 
                PhysicalIndex identifier.";
                reference
                  "A. Bierman and K. McCloghrie, 'Entity MIB (Version 3)',
                  RFC-4133, August 2005.";
    
              }
    
              leaf csubAggStatsSessionType {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.3";
                type cisco-subscriber:SubSessionType;
                description
                  "This object indicates one of the determining factors affecting
                the 'scope of aggregation' for the statistics contained by the
                row.
                
                If the value of this column is 'all', then the 'scope of
                aggregation' may include all subscriber sessions, regardless of
                type.
                
                If the value of this column is not 'all', then the 'scope of
                aggregation' may include subscriber sessions of the indicated
                subscriber session type.";
              }
    
              leaf csubAggStatsPendingSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.4";
                type yang:gauge32;
                units "sessions";
                description
                  "This object indicates the current number of subscriber sessions
                within the 'scope of aggregation' that are in the PENDING
                state.";
              }
    
              leaf csubAggStatsUpSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.5";
                type yang:gauge32;
                units "sessions";
                description
                  "This object indicates the current number of subscriber sessions
                within the 'scope of aggregation' that are in the UP state.";
              }
    
              leaf csubAggStatsAuthSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.6";
                type yang:gauge32;
                units "sessions";
                description
                  "This object indicates the current number of subscriber session
                within the 'scope of aggregation' that have been authenticated.";
              }
    
              leaf csubAggStatsUnAuthSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.7";
                type yang:gauge32;
                units "sessions";
                description
                  "This object indicates the current number of subscriber session
                within the 'scope of aggregation' that have not been authenticated.";
              }
    
              leaf csubAggStatsLightWeightSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.8";
                type yang:gauge32;
                units "sessions";
                description
                  "This object indicates the current number of subscriber
                sessions within the 'scope of aggregation' that are less resource intensive.";
              }
    
              leaf csubAggStatsRedSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.9";
                type yang:gauge32;
                units "sessions";
                description
                  "This object indicates the current number of subscriber sessions
                within the 'scope of aggregation' that are redundant (i.e., 
                sessions with a csubSessionRedundancyMode of 'standby').";
              }
    
              leaf csubAggStatsHighUpSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.10";
                type yang:gauge32;
                units "sessions";
                description
                  "This object indicates the highest number of subscriber sessions
                within the 'scope of aggregation' observed simultaneously in the UP
                state since the last discontinuity time.";
              }
    
              leaf csubAggStatsAvgSessionUptime {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.11";
                type yang:gauge32;
                units "seconds";
                description
                  "This object indicates the average time subscriber sessions
                within the 'scope of aggregation' spent in the UP state.
                
                The system calculates this average over all subscriber
                sessions maintained by all nodes contained by the 'scope of
                aggregation' since the last discontinuity time.";
              }
    
              leaf csubAggStatsAvgSessionRPM {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.12";
                type yang:gauge32;
                units "sessions per minute";
                description
                  "This object indicates the average rate (per minute) at which
                the nodes contained by the 'scope of aggregation' have
                established new subscriber sessions.";
              }
    
              leaf csubAggStatsAvgSessionRPH {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.13";
                type yang:gauge32;
                units "sessions per hour";
                description
                  "This object indicates the average rate (per hour) at which the
                nodes contained by the 'scope of aggregation' have established new
                subscriber sessions.";
              }
    
              leaf csubAggStatsThrottleEngagements {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.14";
                type yang:counter64;
                units "engagements";
                description
                  "This object indicates the number of times that nodes contained
                within the 'scope of aggregation' have engaged the subscriber
                session throttle since the last discontinuity time.
                
                The mechanics of a subscriber session throttle vary with
                subscriber session type and implementation.  However, the
                general concept of the throttle prevents a node from having
                to deal with more than a configured number of requests to
                establish subscriber sessions from the same CPE within the a
                configured interval of time.  When the number of requests
                exceeds the configured threshold within the configured interval,
                then the node processing the requests engages the throttle.
                Typically, when a node engages a throttle, it drops requests
                from the CPE for some period of time, after which the node
                disengages the throttle.
                
                Discontinuities in the value of this counter can occur at
                re-initialization of the management system, and at other times
                as indicated by the value of csubAggStatsDiscontinuityTime.";
              }
    
              leaf csubAggStatsTotalCreatedSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.15";
                type yang:counter64;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' created since the
                discontinuity time.
                
                Discontinuities in the value of this counter can occur at
                re-initialization of the management system, and at other times
                as indicated by the value of csubAggStatsDiscontinuityTime.";
              }
    
              leaf csubAggStatsTotalFailedSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.16";
                type yang:counter64;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' that were in the PENDING state
                and terminated for reasons other than disconnect since the last
                discontinuity time.
                
                Discontinuities in the value of this counter can occur at
                re-initialization of the management system, and at other times
                as indicated by the value of csubAggStatsDiscontinuityTime.";
              }
    
              leaf csubAggStatsTotalUpSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.17";
                type yang:counter64;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' that transitioned to the UP
                state since the last discontinuity time.
                
                Discontinuities in the value of this counter can occur at
                re-initialization of the management system, and at other times
                as indicated by the value of csubAggStatsDiscontinuityTime";
              }
    
              leaf csubAggStatsTotalAuthSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.18";
                type yang:counter64;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' that transitioned from the
                UNAUTHENTICATED to the AUTHENTICATED state since the last
                discontinuity time.
                
                Discontinuities in the value of this counter can occur at
                re-initialization of the management system, and at other times
                as indicated by the value of csubAggStatsDiscontinuityTime";
              }
    
              leaf csubAggStatsTotalDiscSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.19";
                type yang:counter64;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                terminated due to a disconnect event since the last
                discontinuity time.
                
                Discontinuities in the value of this counter can occur at
                re-initialization of the management system, and at other times
                as indicated by the value of csubAggStatsDiscontinuityTime";
              }
    
              leaf csubAggStatsTotalLightWeightSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.20";
                type yang:counter64;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                that are less resource intensive";
              }
    
              leaf csubAggStatsTotalFlowsUp {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.21";
                type yang:counter64;
                units "sessions";
                description
                  "This object indicates the total number of differential traffic classes
                on subscriber sessions. IP ACLs are used to create differential flows(Traffic Classes). 
                Each Traffic Class can have a different set of features applied.";
              }
    
              leaf csubAggStatsDayCreatedSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.22";
                type perfhist-tc:PerfTotalCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' created during the last 24
                hours.
                
                The system calculates the value of this column by summing the
                values of all instances of csubAggStatsIntCreatedSessions that
                expand this row and have a corresponding csubAggStatsIntValid of
                'true'.";
              }
    
              leaf csubAggStatsDayFailedSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.23";
                type perfhist-tc:PerfTotalCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' that were in the PENDING state
                and terminated for reasons other than disconnect during the
                last 24 hours.
                
                The system calculates the value of this column by summing the
                values of all instances of csubAggStatsIntFailedSessions that
                expand this row and have a corresponding csubAggStatsIntValid
                of 'true'.";
              }
    
              leaf csubAggStatsDayUpSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.24";
                type perfhist-tc:PerfTotalCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' that transitioned to the UP
                state during the last 24 hours.
                
                The system calculates the value of this column by summing the
                values of all instances of csubAggStatsIntUpSessions that
                expand this row and have a corresponding csubAggStatsIntValid
                of 'true'.";
              }
    
              leaf csubAggStatsDayAuthSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.25";
                type perfhist-tc:PerfTotalCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' that transitioned from the
                UNAUTHENTICATED to the AUTHENTICATED state during the last 24
                hours.
                
                The system calculates the value of this column by summing the
                values of all instances of csubAggStatsIntAuthSessions that
                expand this row and have a corresponding csubAggStatsIntValid of
                'true'.";
              }
    
              leaf csubAggStatsDayDiscSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.26";
                type perfhist-tc:PerfTotalCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                terminated due to a disconnect event during the last 24 hours.
                
                The system calculates the value of this column by summing the
                values of all instances of csubAggStatsIntDiscSessions that
                expand this row and have a corresponding csubAggStatsIntValid of
                'true'.";
              }
    
              leaf csubAggStatsCurrTimeElapsed {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.27";
                type yang:gauge32 {
                  range "0..899";
                }
                units "seconds";
                description
                  "This object indicates the time that has elapsed since the
                beginning of the current 15-minute measurement interval.  If,
                for some reason, such as an adjustment in the system's
                time-of-day clock, the current interval exceeds the maximum
                value, then the value of this column will be the maximum value.";
              }
    
              leaf csubAggStatsCurrValidIntervals {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.28";
                type yang:gauge32 {
                  range "0..96";
                }
                units "intervals";
                description
                  "This object indicates the number of intervals for which data
                was collected.  The value of this column will be '96' unless the
                measurement was started (or restarted) within 1,440 minutes, in
                which case the value will be the number of complete 15-minute
                intervals for which the system has at least some data.
                
                In certain cases it is possible that some intervals are
                unavailable, in which case the value of this column will
                be maximum interval number for which data is available.";
              }
    
              leaf csubAggStatsCurrInvalidIntervals {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.29";
                type yang:gauge32 {
                  range "0..96";
                }
                units "intervals";
                description
                  "This object indicates the number of intervals in the range
                from 0 to csubCurrValidIntervals for which no data is
                available.  This object will typically be '0' except in certain
                circumstances when some intervals are unavailable.";
              }
    
              leaf csubAggStatsCurrFlowsUp {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.30";
                type yang:gauge32 {
                  range "0..96";
                }
                units "intervals";
                description
                  "This object indicates the current number of differential traffic classes
                on subscriber sessions currently UP. IP ACLs are used to create differential flows
                (Traffic Classes).Each Traffic Class can have a different set of features applied.";
              }
    
              leaf csubAggStatsCurrCreatedSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.31";
                type perfhist-tc:PerfCurrentCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' created during the current
                15-minute interval.";
              }
    
              leaf csubAggStatsCurrFailedSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.32";
                type perfhist-tc:PerfCurrentCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' that were in the PENDING state
                and terminated for reasons other than disconnect during the
                current 15-minute interval.";
              }
    
              leaf csubAggStatsCurrUpSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.33";
                type perfhist-tc:PerfCurrentCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' that transitioned to the UP
                state during the current 15-minute interval.";
              }
    
              leaf csubAggStatsCurrAuthSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.34";
                type perfhist-tc:PerfCurrentCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' that transitioned from the
                UNAUTHENTICATED to the AUTHENTICATED state during the current
                15-minute interval.";
              }
    
              leaf csubAggStatsCurrDiscSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.35";
                type perfhist-tc:PerfCurrentCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                terminated due to a disconnect event during the current
                15-minute interval.";
              }
    
              leaf csubAggStatsDiscontinuityTime {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.1.1.36";
                type snmpv2-tc:DateAndTime;
                description
                  "The date and time (as determined by the system's clock) of
                the most recent occurrence of an event affecting the 
                continuity of the aggregation statistics for this aggregation 
                point.";
              }
            }  // list csubAggStatsEntry
          }  // container csubAggStatsTable
    
          container csubAggStatsIntTable {
            smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2";
            description
              "This table contains aggregated subscriber session performance
            data collected for as much as a day's worth of 15-minute
            measurement intervals.
            
            This table has an expansion dependent relationship on the
            csubAggStatsTable, containing zero or more rows for each row
            contained by the csubAggStatsTable.
            
            Observe that the collection and maintenance of aggregated
            subscriber performance data is OPTIONAL for all scopes of
            aggregation.  However, an implementation should maintain at
            least one interval for the 'scope of aggregation' that contains
            all subscriber sessions maintained by the system.";
            list csubAggStatsIntEntry {
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1";
              key "csubAggStatsPointType csubAggStatsPoint csubAggStatsSessionType csubAggStatsIntNumber";
              description
                "An entry contains the aggregated subscriber session performance
              data collected over a single 15-minute measurement interval
              within a 'scope of aggregation'.  For further details regarding
              'scope of aggregation', see the descriptive text associated with
              the csubAggStatsEntry.";
              leaf csubAggStatsPointType {
                type leafref {
                  path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPointType";
                }
              }
    
              leaf csubAggStatsPoint {
                type leafref {
                  path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPoint";
                }
              }
    
              leaf csubAggStatsSessionType {
                type leafref {
                  path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsSessionType";
                }
              }
    
              leaf csubAggStatsIntNumber {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.1";
                type uint32 {
                  range "1..96";
                }
                description
                  "This object indicates the interval number identifying the
                15-minute measurement interval for which aggregated subscriber
                session performance data was successfully collected by the
                system.
                
                The interval identified by the value '1' represents the most
                recent 15-minute measurement interval, and the interval
                identified by the value (n) represents the interval immediately
                preceding the interval identified by the value (n-1).";
              }
    
              leaf csubAggStatsIntValid {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.2";
                type boolean;
                description
                  "This object indicates whether the data for the 15-minute
                measurement interval is valid.";
              }
    
              leaf csubAggStatsIntCreatedSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.3";
                type perfhist-tc:PerfIntervalCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' created during the 15-minute
                measurement interval.";
              }
    
              leaf csubAggStatsIntFailedSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.4";
                type perfhist-tc:PerfIntervalCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' that were in the PENDING state
                and terminated for reasons other than disconnect during the
                15-minute measurement interval.";
              }
    
              leaf csubAggStatsIntUpSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.5";
                type perfhist-tc:PerfIntervalCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' that transitioned to the UP
                state during the 15-minute measurement interval.";
              }
    
              leaf csubAggStatsIntAuthSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.6";
                type perfhist-tc:PerfIntervalCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                within the 'scope of aggregation' that transitioned from the
                UNAUTHENTICATED to the AUTHENTICATED state during the
                15-minute measurement interval.";
              }
    
              leaf csubAggStatsIntDiscSessions {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.2.1.7";
                type perfhist-tc:PerfIntervalCount;
                units "sessions";
                description
                  "This object indicates the total number of subscriber sessions
                terminated due to a disconnect event during the 15-minute
                measurement interval.";
              }
            }  // list csubAggStatsIntEntry
          }  // container csubAggStatsIntTable
    
          container csubAggStatsThreshTable {
            smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.3";
            description
              "Please enter the Table Description here.";
            list csubAggStatsThreshEntry {
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.3.1";
              key "csubSessionRisingThresh";
              description
                "A row in this table exists for each row in the
              csubAggStatsTable.
              Each row defines the set of thresholds and evaluation attributes
              for an aggregation point.";
              leaf csubSessionRisingThresh {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.3.1.1";
                type uint32 {
                  range "0..4294967295";
                }
                description
                  "This threshold, if non-zero, indicates the rising threshold
                for the value of csubAggStatsUpSessions for the aggregation
                point,
                When the current sample of csubAggStatsUpSessions is greater
                than
                or equal to this threshold, and the value of
                csubAggStatsUpSessions
                for the last sample interval was less than this thershold, the
                csubSessionRisingNotif is triggered.
                
                         If the value of this threshold is 0, the threshold is
                not evaluated.";
              }
    
              leaf csubSessionFallingThresh {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.3.1.2";
                type uint32 {
                  range "0..4294967295";
                }
                description
                  "This threshold, if non-zero, indicates the falling threshold
                for the value of csubAggStatsUpSessions for the aggregation
                point,
                When the current sample of csubAggStatsUpSessions is less than
                or equal to this threshold, and the value of
                csubAggStatsUpSessions
                for the last sample interval was greater than this thershold,
                the
                csubSessionFallingNotif is triggered.
                
                         If the value of this threshold is 0, the threshold is
                not evaluated.";
              }
    
              leaf csubSessionDeltaPercentFallingThresh {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.3.1.3";
                type uint32 {
                  range "0..100";
                }
                description
                  "This threshold, if non-zero, indicates the delta falling
                threshold
                as a percentage of the value of csubAggStatsUpSessions for the
                aggregation point, The delta as a percentage of
                csubAggStatsUpSessions (delta_percent) is calculated as
                follows:
                      current value of csubAggStatsUpSessions = value(n)
                             previous sampled value of csubAggStatsUpSessions =
                value(n-1)
                
                             delta_percent = ((value(n-1) - value(n)) /
                value(n-1)) * 100
                
                         If the delta_percent value of the current evaluation
                interval is
                         greater than the value of this threshold, a
                         csubSessionDeltaPercentLossNotif is triggered.
                
                         If the value of this threshold is 0, the threshold is
                not evaluated.";
              }
    
              leaf csubSessionThreshEvalInterval {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.2.3.1.4";
                type uint32 {
                  range "0..900";
                }
                description
                  "The value of this object sets the number of seconds between
                samples
                for threshold evaluation. For implementations capable of
                per-session event evaluation of thresholds this object
                represents the maximum number of seconds between samples.";
              }
            }  // list csubAggStatsThreshEntry
          }  // container csubAggStatsThreshTable
    
          container csubJobTable {
            smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7";
            description
              "This table contains the subscriber session jobs submitted by
            the EMS/NMS.";
            list csubJobEntry {
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1";
              key "csubJobId";
              description
                "An entry describing a subscriber session job.  At this time,
              subscriber session jobs can perform one of two tasks:
              
              - Subscriber Session Query
                  This type of job invokes the report generator, which builds
                  a list of subscriber sessions matching criteria specified by
                  the corresponding row in the csubJobMatchParamsTable.  The
                  list built by the report generator must conform to
                  parameters specified by the corresponding row in
                  csubJobQueryParamsTable, which at this time only affects
                  sorting order.
              
              - Subscriber Session Clear
                  This type of job causes the system to terminate those
                  subscriber sessions matching criteria specified by the
                  corresponding row in the csubJobMatchParamsTable.
              
              The following procedure summarizes how the EMS/NMS can start and
              monitor a subscriber session job:
              
              1)  The EMS/NMS must start by reading csubJobIdNext.  If it is
                  zero, continue polling csubJobIdNext until it is non-zero.
              
              2)  The EMS/NMS creates a row in the csubJobTable using the
                  instance identifier retrieved in the last step.  Since every
                  object contained by the entry with a MAX-ACCESS of 
                  'read-create' specifies a default value, it makes little
                  difference whether the EMS/NMS employs create-and-wait or
                  create-and-go semantics.
              
              3)  The EMS/NMS sets the type of subscriber session job by
                  setting the corresponding instance of csubJobType.
              
              4a) If the job is a 'query', then the EMS/NMS must configure
                  the query before starting it by setting columns contained
                  by the corresponding rows in the csubJobMatchParamsTable and
                  csubJobQueryParamsTable.
              
              4b) If job is a 'clear', then the EMS/NMS must configure
                  the job before starting it by setting columns contained by
                  the corresponding row in the csubJobMatchParamsTable.
              
              5)  The EMS/NMS can now start the job by setting the 
                  corresponding instance of csubJobControl to 'start'.
              
              6)  The EMS/NMS can monitor the progress of the job by polling
                  the corresponding instance of csubJobState.  It can also
                  wait for a csubJobFinishedNotify notification.  When the
                  state of the job transitions to 'finished', then the system
                  has finished executing the job.
              
              7)  The EMS/NMS can determine the final status of the job by
                  reading the corresponding instance of csubJobFinishedReason.
                  If job is a 'query' and the corresponding instance of
                  csubJobFinishedReason is 'normal', then the EMS/NMS can
                  safely read the report by retrieving the corresponding
                  rows from the csubJobReportTable.
              
              8a) After a job has finished, the EMS/NMS has the option of
                  destroying it.  It can do this by simply setting the
                  corresponding instance of  csubJobStatus to 'destroy'.
                  Alternatively, the EMS/NMS may retain the job and execute it
                  again in the future (by returning to step 5).  Additionally,
                  nothing would prevent the EMS/NMS from changing the job's
                  type, which causes the automatic destruction of the
                  corresponding report.
              
              8b) If the job is a 'query' and the EMS/NMS opts to retain the
                  job, then it may consider releasing the corresponding report
                  after reading it.  It can do this by setting the
                  corresponding instance of csubJobControl to 'release'.";
              leaf csubJobId {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.1";
                type SubscriberJobIdentifier;
                description
                  "This object indicates an arbitrary, positive integer-value
                uniquely identifying the subscriber session job.";
              }
    
              leaf csubJobStatus {
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.2";
                type snmpv2-tc:RowStatus;
                description
                  "This object specifies the status of the subscriber session
                job.  The following columns must be valid before activating a
                subscriber session job:
                
                    - csubJobStorage
                    - csubJobType
                    - csubJobControl
                
                However, these objects specify a default value.  Thus, it is
                possible to use create-and-go semantics without setting any
                additional columns.
                
                An implementation must allow the EMS/NMS to modify any column
                when this column is 'active', including columns defined in
                tables that have a one-to-one or sparse dependent relationship
                on this table.";
              }
    
              leaf csubJobStorage {
                smiv2:defval "volatile";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.3";
                type snmpv2-tc:StorageType;
                description
                  "This object specifies what happens to the subscriber session
                job upon restart.";
              }
    
              leaf csubJobType {
                smiv2:defval "noop";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.4";
                type enumeration {
                  enum "noop" {
                    value 1;
                  }
                  enum "query" {
                    value 2;
                  }
                  enum "clear" {
                    value 3;
                  }
                }
                description
                  "This object specifies the type of subscriber session job:
                
                'noop'
                    This type of job does nothing and simply serves as a
                    convenient default value for newly created jobs, thereby
                    allowing create-and-go row creation without having to
                    specify the type of job.
                
                'query'
                    This type of job starts a subscriber session query.  The
                    system searches for any subscriber sessions matching the
                    configured criteria and sorts them into a resulting
                    report.
                
                    Upon activation of a subscriber session with this value,
                    the system automatically creates corresponding rows in
                    the csubJobMatchParamsTable and csubQueryParamsTable.
                
                'clear'
                    This type of job causes the system to terminated all
                    subscriber sessions matching configured criteria.
                
                    Upon activation of a subscriber session with this value,
                    the system automatically creates a corresponding row in
                    the csubJobMatchParamsTable.";
              }
    
              leaf csubJobControl {
                smiv2:defval "noop";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.5";
                type enumeration {
                  enum "noop" {
                    value 1;
                  }
                  enum "start" {
                    value 2;
                  }
                  enum "abort" {
                    value 3;
                  }
                  enum "release" {
                    value 4;
                  }
                }
                description
                  "This object specifies an action relating to the subscriber
                session job:
                
                    'noop'
                        This action does nothing.
                
                    'start'
                        If the corresponding instance of csubJobType is 'noop',
                        then this action simply causes the system to set the
                        corresponding instances of csubJobState and
                        csubJobFinishedReason to 'finished' and 'normal',
                        respectively.
                
                        If the corresponding instance of csubJobType is not
                        'noop' and the system is not executing a subscriber
                        session job, then this action causes the system
                        immediately execute the subscriber session job.
                
                        If the corresponding instance of csubJobType is not
                        'noop' and the system is already executing a subscriber
                        session job, then this action causes the system to put
                        the job on the subscriber session job queue.
                
                    'abort'
                        If the subscriber session job is in the subscriber
                        session job queue, then this action causes the system to
                        remove the job from the queue.
                
                        If the system is executing the subscriber session job,
                        then this action causes the system to stop the job.
                
                    'release'
                        This action causes the system to destroy any
                        corresponding rows in the csubJobReportTable.
                
                        The system only accepts this action for a previously
                        executed subscriber session job having a corresponding
                        instance of csubJobType set to 'query'.  Any attempt to
                        issue this action under other circumstances will result
                        in a response indicating an  error-status of
                        'inconsistentValue'.
                
                When read, this column is always 'noop'.";
              }
    
              leaf csubJobState {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.6";
                type enumeration {
                  enum "idle" {
                    value 1;
                  }
                  enum "pending" {
                    value 2;
                  }
                  enum "inProgress" {
                    value 3;
                  }
                  enum "finished" {
                    value 4;
                  }
                }
                description
                  "This object indicates the current state of the subscriber
                session job:
                
                    'idle'
                        This state indicates that the system has not executed
                        the subscriber session job since it was created.
                
                    'pending'
                        This state indicates that the subscriber session job is
                        waiting in the subscriber session job queue.
                
                    'inProgress'
                        This state indicates that the system is executing the
                        subscriber session job.  Observe that the system may
                        execute more than one subscriber session job at a time.
                
                    'finished'
                        This state indicates that the system has executed the
                        subscriber session job and it has finished.  The
                        corresponding instance of csubJobFinishedReason
                        indicates further details regarding the reason why the
                        job finished.";
              }
    
              leaf csubJobStartedTime {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.7";
                type yang:timestamp;
                description
                  "This object indicates the value of sysUpTime when the system
                started executing the subscriber session job.  This value will
                be '0' when the corresponding instance of csubJobState is 'idle'
                or 'pending'.";
              }
    
              leaf csubJobFinishedTime {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.8";
                type yang:timestamp;
                description
                  "This object indicates the value of sysUpTime when the system
                finished executing the subscriber session job, for whatever
                reason.  This value will be '0' when the corresponding instance
                of csubJobState is 'idle', 'pending', or 'inProgress'.";
              }
    
              leaf csubJobFinishedReason {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.7.1.9";
                type enumeration {
                  enum "invalid" {
                    value 1;
                  }
                  enum "other" {
                    value 2;
                  }
                  enum "normal" {
                    value 3;
                  }
                  enum "aborted" {
                    value 4;
                  }
                  enum "insufficientResources" {
                    value 5;
                  }
                  enum "error" {
                    value 6;
                  }
                }
                description
                  "This object indicates the reason why the system finished
                executing the subscriber session job:
                
                    'invalid'
                        Indicates that the corresponding instance of
                        csubJobState is either 'idle', 'pending', or
                        'inProgress'.
                
                    'other'
                        Indicates that the system finished executing the
                        subscriber session job abnormally for a reason not
                        recognized by this MIB module.
                
                    'normal'
                        Indicates that the system finished executing the
                        subscriber session job with no problems.
                
                    'aborted'
                        Indicates that the system finished executing the
                        subscriber session job as the result of the EMS/NMS
                        writing 'abort' to the corresponding instance of
                        csubJobControl.
                
                    'insufficientResources'
                        Indicates that the system finished executing the
                        subscriber session job abnormally due to insufficient
                        resources to continue.
                
                    'error'
                        Indicates that the system encountered an error that
                        prevented it from completing the job.";
              }
            }  // list csubJobEntry
          }  // container csubJobTable
    
          container csubJobMatchParamsTable {
            smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8";
            description
              "This table contains subscriber session job parameters
            describing match criteria.
            
            This table has a sparse-dependent relationship on the
            csubJobTable, containing a row for each job having a
            csubJobType of 'query' or 'clear'.";
            list csubJobMatchParamsEntry {
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1";
              key "csubJobId";
              description
                "An entry describes a set of subscriber session match criteria.
              The set contains those subscriber session identities specified
              by csubJobMatchIdentities.
              
              If the corresponding row in the csubJobTable has a csubJobType
              of 'query', then the system builds a report containing those
              subscriber sessions matching these criteria.
              
              If the corresponding row in the csubJobTable has a csubJobType
              of 'clear', then the system terminates those subscriber
              sessions matching these criteria.
              
              The system automatically creates an entry when the EMS/NMS sets
              the corresponding instance of csubJobType to 'query' or 'clear'.
              Likewise, the system automatically destroys an entry under the
              following circumstances:
              
              1)  The EMS/NMS destroys the corresponding row in the
                  csubJobTable.
              
              2)  The EMS/NMS sets the corresponding instance of csubJobType
                  to 'noop'.";
              leaf csubJobId {
                type leafref {
                  path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobId";
                }
              }
    
              leaf csubJobMatchIdentities {
                smiv2:defval "{}";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.1";
                type cisco-subscriber-identity:SubSessionIdentities;
                description
                  "This object specifies the subscriber identities that the
                system uses to determine the subscriber sessions the job
                executes on.
                
                Each bit in this bit string corresponds to one or more columns
                in this table.  If the bit is '0', then the value of the
                corresponding columns are invalid.  If the bit is '1', then the
                value of corresponding columns are valid.
                
                The following list specifies the mappings between the bits and
                the columns:
                
                    'subscriberLabel' => csubJobMatchSubscriberLabel
                    'macAddress'      => csubJobMatchMacAddress
                    'nativeVrf'       => csubJobMatchNativeVrf
                    'nativeIpAddress' => csubJobMatchNativeIpAddrType,
                                         csubJobMatchNativeIpAddr,
                                         csubJobMatchNativeIpMask,
                    'domainVrf'       => csubJobMatchDomainVrf
                    'domainIpAddress' => csubJobMatchDomainIpAddrType,
                                         csubJobMatchDomainIpAddr,
                                         csubJobMatchDomainIpMask
                    'pbhk'            => csubJobMatchPbhk
                    'remoteId'        => csubJobMatchRemoteId
                    'circuitId'       => csubJobMatchCircuitId
                    'nasPort'         => csubJobMatchNasPort
                    'domain'          => csubJobMatchDomain
                    'username'        => csubJobMatchUsername
                    'acctSessionId'   => csubJobMatchAcctSessionId
                    'dnis'            => csubJobMatchDnis
                    'media'           => csubJobMatchMedia
                    'mlpNegotiated'   => csubJobMatchMlpNegotiated
                    'protocol'        => csubJobMatchProtocol
                    'serviceName'     => csubJobMatchServiceName
                    'dhcpClass'       => csubJobMatchDhcpClass
                    'tunnelName'      => csubJobMatchTunnelName
                
                Observe that the bit 'ifIndex' has no meaning, as subscriber
                session jobs do not match against this subscriber session
                identity.";
              }
    
              leaf csubJobMatchOtherParams {
                smiv2:defval "{}";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.2";
                type bits {
                  bit danglingDuration {
                    position 0;
                  }
                  bit state {
                    position 1;
                  }
                  bit authenticated {
                    position 2;
                  }
                  bit redundancyMode {
                    position 3;
                  }
                }
                description
                  "This object specifies other parameters relating to subscriber
                sessions a subscriber session job may match against.
                
                Each bit in this bit string corresponds to a column in this
                table.  If the bit is '0', then the value of the corresponding
                column is invalid.  If the bit is '1', then the value of the
                corresponding column represents the value of the parameter
                identity the system should match against for the corresponding
                subscriber session job.
                
                The following list specifies the mappings between bits and the
                columns:
                
                    'danglingDuration' => csubJobMatchDanglingDuration
                    'state'            => csubJobMatchState
                    'authenticated'    => csubJobMatchAuthenticated
                    'redundancyMode'   => csubJobMatchRedundancyMode";
              }
    
              leaf csubJobMatchSubscriberLabel {
                smiv2:defval "0";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.3";
                type cisco-subscriber-identity:SubscriberLabel;
                description
                  "This object specifies the subscriber label that the system
                matches against subscriber sessions in the process of executing
                a subscriber session job.
                
                This value is valid only if the 'subscriberLabel' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchMacAddress {
                smiv2:defval "'000000000000'H";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.4";
                type yang:mac-address;
                description
                  "This object specifies the MAC address that the system matches
                against subscriber sessions in the process of executing a
                subscriber session job.
                
                This value is valid only if the 'macAddress' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchNativeVrf {
                smiv2:defval "";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.5";
                type cisco-subscriber-identity:SubscriberVRF;
                description
                  "This object specifies the native VRF the system matches
                against subscriber sessions in the process of executing a
                subscriber session job.
                
                This value is valid only if the 'nativeVrf' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchNativeIpAddrType {
                smiv2:defval "unknown";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.6";
                type inet-address:InetAddressType;
                description
                  "This object specifies the type of Internet address specified
                by csubJobMatchNativeIpAddr and csubJobMatchNativeIpMask.
                
                This value is valid only if the 'nativeIpAddress' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchNativeIpAddr {
                smiv2:defval "'00'H";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.7";
                type inet-address:InetAddress;
                description
                  "This object specifies the native IP address that the system
                matches against subscriber sessions in the process of executing
                a subscriber session job.
                
                This value is valid only if the 'nativeIpAddress' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchNativeIpMask {
                smiv2:defval "'00'H";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.8";
                type inet-address:InetAddress;
                description
                  "This object specifies the mask used when matching the native IP
                address against subscriber sessions in the process of executing
                a subscriber session job.
                
                This value is valid only if the 'nativeIpAddress' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchDomainVrf {
                smiv2:defval "";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.9";
                type cisco-subscriber-identity:SubscriberVRF;
                description
                  "This object specifies the domain VRF the system matches
                against subscriber sessions in the process of executing a
                subscriber session job.
                
                This value is valid only if the 'domainVrf' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchDomainIpAddrType {
                smiv2:defval "unknown";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.10";
                type inet-address:InetAddressType;
                description
                  "This object specifies the type of Internet address specified
                by csubJobMatchDomainIpAddr and csubJobMatchDomainIpMask.
                
                This value is valid only if the 'domainIpAddress' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchDomainIpAddr {
                smiv2:defval "'00'H";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.11";
                type inet-address:InetAddress;
                description
                  "This object specifies the domain IP address that the system
                matches against subscriber sessions in the process of executing
                a subscriber session job.
                
                This value is valid only if the 'domainIpAddress' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchDomainIpMask {
                smiv2:defval "'00'H";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.12";
                type inet-address:InetAddress;
                description
                  "This object specifies the mask used when matching the domain IP
                address against subscriber sessions in the process of executing
                a subscriber session job.
                
                This value is valid only if the 'domainIpAddress' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchPbhk {
                smiv2:defval "'000000000000'H";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.13";
                type cisco-subscriber-identity:SubscriberPbhk;
                description
                  "This object specifies the PBHK that the system matches against
                subscriber sessions in the process of executing a subscriber
                session job.
                
                This value is valid only if the 'pbhk' bit of the corresponding
                instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchRemoteId {
                smiv2:defval "";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.14";
                type cisco-subscriber-identity:SubscriberRemoteId;
                description
                  "This object specifies the Remote-Id the system matches against
                subscriber sessions in the process of executing a subscriber
                session job.
                
                This value is valid only if the 'remoteId' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchCircuitId {
                smiv2:defval "";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.15";
                type cisco-subscriber-identity:SubscriberCircuitId;
                description
                  "This object specifies the Circuit-Id the system matches against
                subscriber sessions in the process of executing a subscriber
                session job.
                
                This value is valid only if the 'circuitId' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchNasPort {
                smiv2:defval "'00'H";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.16";
                type cisco-subscriber-identity:SubscriberNasPort;
                description
                  "This object specifies the NAS port-identifier the system
                matches against subscriber sessions in the process of executing
                a subscriber session job.
                
                This value is valid only if the 'nasPort' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchDomain {
                smiv2:defval "";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.17";
                type cisco-subscriber-identity:SubscriberDomain;
                description
                  "This object specifies the domain the system matches against
                subscriber sessions in the process of executing a subscriber
                session job.
                
                This value is valid only if the 'domain' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchUsername {
                smiv2:defval "";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.18";
                type cisco-subscriber-identity:SubscriberUsername;
                description
                  "This object specifies the username the system matches against
                subscriber sessions in the process of executing a subscriber
                session job.
                
                This value is valid only if the 'username' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchAcctSessionId {
                smiv2:defval "0";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.20";
                type cisco-subscriber-identity:SubscriberAcctSessionId;
                description
                  "This object specifies the accounting session identifier the
                system matches against subscriber sessions in the process of
                executing a subscriber session job.
                
                This value is valid only if the 'accountingSid' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchDnis {
                smiv2:defval "";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.21";
                type cisco-subscriber-identity:SubscriberDnis;
                description
                  "This object specifies the DNIS number the system matches
                against subscriber sessions in the process of executing a
                subscriber session job.
                
                This value is valid only if the 'dnis' bit of the corresponding
                instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchMedia {
                smiv2:defval "other";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.22";
                type cisco-subscriber-identity:SubscriberMediaType;
                description
                  "This object specifies the media type the system matches
                against subscriber sessions in the process of executing a
                subscriber session job.
                
                This value is valid only if the 'media' bit of the corresponding
                instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchMlpNegotiated {
                smiv2:defval "false";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.23";
                type boolean;
                description
                  "This object specifies the MLP negotiated flag the system
                matches against subscriber sessions in the process of executing
                a subscriber session job.
                
                This value is valid only if the 'mlpNegotiated' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchProtocol {
                smiv2:defval "other";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.24";
                type cisco-subscriber-identity:SubscriberProtocolType;
                description
                  "This object specifies the protocol type the system matches
                against subscriber sessions in the process of executing a
                subscriber session job.
                
                This value is valid only if the 'protocol' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchServiceName {
                smiv2:defval "";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.25";
                type cisco-cbp:CbpElementName;
                description
                  "This object specifies the service name the system matches
                against subscriber sessions in the process of executing a
                subscriber session job.
                
                This value is valid only if the 'serviceName' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchDhcpClass {
                smiv2:defval "";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.26";
                type cisco-subscriber-identity:SubscriberDhcpClass;
                description
                  "This object specifies the DHCP class name the system matches
                against subscriber sessions in the process of executing a
                subscriber session job.
                
                This value is valid only if the 'dhcpClass' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchTunnelName {
                smiv2:defval "";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.27";
                type cisco-subscriber-identity:SubscriberTunnelName;
                description
                  "This object specifies the tunnel name the system matches
                against subscriber session in the process of executing a
                subscriber session job.
                
                This value is valid only if the 'tunnelName' bit of the
                corresponding instance of csubJobMatchIdentities is '1'.";
              }
    
              leaf csubJobMatchDanglingDuration {
                smiv2:defval "0";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.28";
                type uint32 {
                  range "0..3600";
                }
                description
                  "This object specifies the minimum interval of time a subscriber
                session can remain dangling in order for the system to consider
                it a match in the process of executing a subscriber session job.
                A 'dangling' subscriber session is one in the PENDING state.
                
                The value '0' cannot be written to an instance of this object.
                However, it serves as a convenient value when the column is not
                valid.
                
                This value is valid only if the 'danglingDuration' bit of the
                corresponding instance of csubJobMatchOtherParams is '1'.";
              }
    
              leaf csubJobMatchState {
                smiv2:defval "other";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.29";
                type cisco-subscriber:SubSessionState;
                description
                  "This object specifies the state of a subscriber session in
                order for the system to consider a match in the process of
                executing a subscriber session job.
                
                The value 'other' is not valid and an implementation should
                not allow it to be written to this column.
                
                This value is valid only if the 'state' bit of the
                corresponding instance of csubJobMatchOtherParams is '1'.";
              }
    
              leaf csubJobMatchAuthenticated {
                smiv2:defval "false";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.30";
                type boolean;
                description
                  "This object specifies whether a subscriber session should be
                unauthenticated for the system to consider a match in the
                process of executing a subscriber session job.
                
                If this column is 'false', then the subscriber session job
                matches subscriber sessions that are unauthenticated.
                
                If this column is 'true', then the subscriber session job
                matches subscriber session that are authenticated.
                
                This value is valid only if the 'authenticated' bit of the
                corresponding instance of csubJobMatchParams is '1'.";
              }
    
              leaf csubJobMatchRedundancyMode {
                smiv2:defval "other";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.8.1.31";
                type cisco-subscriber:SubSessionRedundancyMode;
                description
                  "This object specifies the redudancy mode of the subscriber
                session in order for the system to consider a match in the
                process of executing a subscriber session job.
                
                The value 'other' is not valid and an implementation should not
                allow it to be written to this column.
                
                This value is valid only if the 'redundancyMode' bit of the
                corresponding instance of csubJobMatchOtherParams is '1'.";
              }
            }  // list csubJobMatchParamsEntry
          }  // container csubJobMatchParamsTable
    
          container csubJobQueryParamsTable {
            smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.9";
            description
              "This table contains subscriber session job parameters
            describing query parameters.
            
            This table has a sparse-dependent relationship on the
            csubJobTable, containing a row for each job having a
            csubJobType of 'query'.";
            list csubJobQueryParamsEntry {
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.9.1";
              key "csubJobId";
              description
                "An entry describes a set of subscriber session query
              parameters.
              
              The system automatically creates an entry when the EMS/NMS sets
              the corresponding instance of csubJobType to 'query'.  Likewise,
              the system automatically destroys an entry under the following
              circumstances:
              
              1)  The EMS/NMS destroys the corresponding row in the csubJobTable.
              
              2)  The EMS/NMS sets the corresponding instance of csubJobType to
                  'noop' or 'clear'.";
              leaf csubJobId {
                type leafref {
                  path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobId";
                }
              }
    
              leaf csubJobQuerySortKey1 {
                smiv2:defval "subscriberLabel";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.9.1.1";
                type cisco-subscriber-identity:SubSessionIdentity;
                description
                  "This object specifies the first subscriber identity that the
                system uses when sorting subscriber sessions into the final
                report corresponding to a subscriber session query.
                
                It is not valid to set this column to 'other' or 'ifIndex'.";
              }
    
              leaf csubJobQuerySortKey2 {
                smiv2:defval "other";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.9.1.2";
                type cisco-subscriber-identity:SubSessionIdentity;
                description
                  "This object specifies the second subscriber identity that the
                system uses when sorting subscriber sessions into the final
                report corresponding to a subscriber session query.
                
                If it is the desire to have the final report sorted on a single
                subscriber identity, then this column should be 'other'.";
              }
    
              leaf csubJobQuerySortKey3 {
                smiv2:defval "other";
                smiv2:max-access "read-write";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.9.1.3";
                type cisco-subscriber-identity:SubSessionIdentity;
                description
                  "This object specifies the third subscriber identity that the
                system uses when sorting subscriber sessions into the final
                report corresponding to a subscriber session query.
                
                If it is the desire to have the final report sorted on one or
                two subscriber identities, then this column should be 'other'.";
              }
    
              leaf csubJobQueryResultingReportSize {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.9.1.4";
                type yang:gauge32;
                description
                  "This object indicates the number of subscriber sessions that
                matched the corresponding subscriber session query.
                
                The value of this column should be '0' unless the corresponding
                value of csubJobState is 'finished'.
                
                The value of this column should be '0' after the EMS/NMS sets
                the corresponding csubJobControl to 'release'.";
              }
            }  // list csubJobQueryParamsEntry
          }  // container csubJobQueryParamsTable
    
          container csubJobQueueTable {
            smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.10";
            description
              "This table lists the subscriber session jobs currently pending
            in the subscriber session job queue.";
            list csubJobQueueEntry {
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.10.1";
              key "csubJobQueueNumber";
              description
                "An entry describing an subscriber session job in the
              subscriber session job queue.
              
              The system creates an entry in this table when it places a
              subscriber session job on the subscriber session job queue.  It
              does this when the EMS/NMS sets an instance of csubJobControl to
              'start' and the system is already executing a subscriber session
              job.  Likewise, the system destroys an entry when it removes it
              from the queue.  This occurs under the following circumstances:
              
              1)  The system has finished executing a job, for whatever
                  reason, and is ready to start executing the job at the head
                  of the queue.
              
              2)  The EMS/NMS has set an instance of csubJobControl to 'abort'
                  for a job that was on the queue.";
              leaf csubJobQueueNumber {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.10.1.1";
                type uint32 {
                  range "1..4294967295";
                }
                description
                  "This object indicates an positive, integer-value that uniquely
                identifies the entry in the table. The value of this object
                starts at '1' and monotonically increases for each subscriber
                session job inserted into the subscriber session job queue.  If
                the value of this object is '4294967295', the system will reset
                it to '1' when it inserts the next subscriber session job into
                the subscriber session job queue.";
              }
    
              leaf csubJobQueueJobId {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.10.1.2";
                type SubscriberJobIdentifier;
                description
                  "This object indicates the identifier associated with the
                subscriber session job.";
              }
            }  // list csubJobQueueEntry
          }  // container csubJobQueueTable
    
          container csubJobReportTable {
            smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.11";
            description
              "This table contains the reports corresponding to subscriber
            session jobs that have a csubJobType of 'query' and
            csubJobState of 'finished'.
            
            This table has an expansion dependent relationship on the
            csubJobTable, containing zero or more rows for each job.";
            list csubJobReportEntry {
              smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.11.1";
              key "csubJobId csubJobReportId";
              description
                "An entry describes a subscriber session that satisfied the
              match criteria specified by the corresponding job.
              
              The system creates an entry for each subscriber session that
              satisfied the specified match criteria of a subscriber session
              job having a csubJobType of 'query'.  However, it does not
              create these entries until after the system has successfully
              executed the subscriber session job.
              
              The system destroys an entry under the following circumstances:
              
              1)  The corresponding subscriber session job has been destroyed
                  by the EMS/NMS.
              
              2)  The value of csubJobMaxLife is non-zero and the age of the
                  report has reached the specified maximum life.
              
              3)  The EMS/NMS has set the corresponding instance of
                  csubJobControl to 'release'.
              
              4)  The EMS/NMS has restarted the corresponding subscriber
                  session job (i.e., has set the corresponding instance of
                  csubJobControl to 'start').";
              leaf csubJobId {
                type leafref {
                  path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobId";
                }
              }
    
              leaf csubJobReportId {
                smiv2:max-access "not-accessible";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.11.1.1";
                type uint32 {
                  range "1..4294967295";
                }
                description
                  "This object indicates an arbitrary, positive, integer-value
                that uniquely identifies this entry in a report.  This auxiliary
                value is necessary, as the corresponding subscriber session job
                can specify up to three subscriber identities on which to sort
                the subscriber sessions that end up in the final report.";
              }
    
              leaf csubJobReportSession {
                smiv2:max-access "read-only";
                smiv2:oid "1.3.6.1.4.1.9.9.786.1.3.11.1.2";
                type if-mib:InterfaceIndex;
                description
                  "This object indicates the ifIndex-value assigned to the
                subscriber session that satisfied the match criteria specified
                by the corresponding subscriber session job having a csubJobType
                of 'query'.";
              }
            }  // list csubJobReportEntry
          }  // container csubJobReportTable
        }  // container CISCO-SUBSCRIBER-SESSION-MIB
    
        notification csubJobFinishedNotify {
          smiv2:oid "1.3.6.1.4.1.9.9.786.0.1";
          description
            "The system generates this notification when the system finishes
          executing a subscriber session job, provided the value of
          csubJobFinishedNotifyEnable is 'true'.  The notification
          indicates the following additional data:
          
              csubJobStartedTime
                  The value of sysUpTime when the system started executing
                  the subscriber session job.
          
              csubJobFinishedTime
                  The value of sysUpTime when the system finished
                  executing the subscriber session job, for whatever
                  reason.
          
              csubJobFinishedReason
                  The reason why the system finished executing the
                  subscriber session job.";
          container object-1 {
            leaf csubJobId {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobId";
              }
            }
    
            leaf csubJobStartedTime {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobStartedTime";
              }
            }
          }  // container object-1
    
          container object-2 {
            leaf csubJobId {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobId";
              }
            }
    
            leaf csubJobFinishedTime {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobFinishedTime";
              }
            }
          }  // container object-2
    
          container object-3 {
            leaf csubJobId {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobId";
              }
            }
    
            leaf csubJobFinishedReason {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubJobTable/CISCO-SUBSCRIBER-SESSION-MIB:csubJobEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubJobFinishedReason";
              }
            }
          }  // container object-3
        }  // notification csubJobFinishedNotify
    
        notification csubSessionRisingNotif {
          smiv2:oid "1.3.6.1.4.1.9.9.786.0.2";
          description
            "This notification is generated when the value of
          csubAggStatsThreshNotifEnable is 'true'  AND the value of
          csubSessionRisingThresh is non-zero AND the current value
          csubAggStatsUpSessions is greater than or equal to the
          corresponding value of csubSessionRisingThresh and the previous
          sample of csubAggStatsUpSessions was less than
          csubSessionRisingThresh.";
          container object-1 {
            leaf csubAggStatsPointType {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPointType";
              }
            }
    
            leaf csubAggStatsPoint {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPoint";
              }
            }
    
            leaf csubAggStatsSessionType {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsSessionType";
              }
            }
    
            leaf csubAggStatsUpSessions {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsUpSessions";
              }
            }
          }  // container object-1
    
          container object-2 {
            leaf csubSessionRisingThresh {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubSessionRisingThresh";
              }
            }
          }  // container object-2
        }  // notification csubSessionRisingNotif
    
        notification csubSessionFallingNotif {
          smiv2:oid "1.3.6.1.4.1.9.9.786.0.3";
          description
            "This notification is generated when the value of
          csubAggStatsThreshNotifEnable is 'true' AND the value of
          csubSessionFallingThresh is non-zero AND the current value
          csubAggStatsUpSessions is less than or equal to the
          corresponding value of csubSessionFallingThresh and the previous
          sample of csubAggStatsUpSessions was greater than
          csubSessionFallingThresh.";
          container object-1 {
            leaf csubAggStatsPointType {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPointType";
              }
            }
    
            leaf csubAggStatsPoint {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPoint";
              }
            }
    
            leaf csubAggStatsSessionType {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsSessionType";
              }
            }
    
            leaf csubAggStatsUpSessions {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsUpSessions";
              }
            }
          }  // container object-1
    
          container object-2 {
            leaf csubSessionRisingThresh {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubSessionRisingThresh";
              }
            }
    
            leaf csubSessionFallingThresh {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubSessionFallingThresh";
              }
            }
          }  // container object-2
        }  // notification csubSessionFallingNotif
    
        notification csubSessionDeltaPercentFallingThreshNotif {
          smiv2:oid "1.3.6.1.4.1.9.9.786.0.4";
          description
            "This notification is generated when the value of
          csubAggStatsThreshNotifEnable is 'true' AND the value of
          csubSessionDeltaPercentFallingThresh is non-zero AND
                       If the delta_percent value of the current
          evaluation interval is
                       greater than the value of
          csubSessionDeltaPercentFallingThresh.
          
                   The delta as a percentage of csubAggStatsUpSessions
          (delta_percent)
                   is calculated as follows:
                       current value of csubAggStatsUpSessions = value(n)
                       previous sampled value of csubAggStatsUpSessions =
          value(n-1)
          
                       delta_percent = ((value(n-1) - value(n)) /
          value(n-1)) * 100";
          container object-1 {
            leaf csubAggStatsPointType {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPointType";
              }
            }
    
            leaf csubAggStatsPoint {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsPoint";
              }
            }
    
            leaf csubAggStatsSessionType {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsSessionType";
              }
            }
    
            leaf csubAggStatsUpSessions {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsUpSessions";
              }
            }
          }  // container object-1
    
          container object-2 {
            leaf csubSessionRisingThresh {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubSessionRisingThresh";
              }
            }
    
            leaf csubSessionDeltaPercentFallingThresh {
              type leafref {
                path "/CISCO-SUBSCRIBER-SESSION-MIB:CISCO-SUBSCRIBER-SESSION-MIB/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshTable/CISCO-SUBSCRIBER-SESSION-MIB:csubAggStatsThreshEntry/CISCO-SUBSCRIBER-SESSION-MIB:csubSessionDeltaPercentFallingThresh";
              }
            }
          }  // container object-2
        }  // notification csubSessionDeltaPercentFallingThreshNotif
      }  // module CISCO-SUBSCRIBER-SESSION-MIB
    

© 2023 YumaWorks, Inc. All rights reserved.