-- *****************************************************************
-- CISCO-BSC-MIB.my:  Binary Synchronous MIB file
--
-- Mar 1995, Sandy Logie
--
-- Copyright (c) 1995-1997, 2004 by cisco Systems, Inc.
-- Prepared by Metaplex
-- All rights reserved.
-- 


CISCO-BSC-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, Counter32, Integer32
                FROM SNMPv2-SMI
        MODULE-COMPLIANCE, OBJECT-GROUP
                FROM SNMPv2-CONF
        ifIndex
                FROM IF-MIB 
        TruthValue
                FROM SNMPv2-TC 
        ciscoMgmt
                FROM CISCO-SMI;


ciscoBscMIB MODULE-IDENTITY
        LAST-UPDATED    "200408250000Z"
        ORGANIZATION    "Cisco Systems, Inc."
        CONTACT-INFO
                "       Cisco Systems
                        Customer Service

                Postal: 170 W. Tasman Drive
                        San Jose, CA 95134
                        USA

                   Tel: +1 800 553-NETS
                E-mail: cs-bisync@cisco.com"
        DESCRIPTION
                "The MIB module for BSC.

   Overview of BSC MIB
  
   MIB description
   
   The BSC MIB provides the configuration and operational information 
   on Cisco's Binary Synchronous Communications implementation.  The 
   following entities are managed:
    1) BSC ports (serial interfaces)
    2) BSC Control Units (stations on a port)
  
   The BSC ports are identified by the interface index, and additional 
   information about this interface can be obtained from the Cisco 
   Serial Interface MIB.  
   The BSC Control Units are identified by the Control Unit address; 
   this is the address used by BSTUN to route the BSC traffic - it is
   therefore equivalent to the bstunRouteStationAddress in the 
   bstunRouteTable MIB.
            "
        REVISION        "200408250000Z"
        DESCRIPTION
                "Added 'generic' value to the bscPortRole object for
                 BSC generic support."

        REVISION        "9701250000Z"
        DESCRIPTION
               "Added support for BSTUN over Frame-relay,
                Extended address and 3780 dial-in."

        REVISION         "9508210000Z"
        DESCRIPTION
               "Minor cleanups to pacify mib compiler."
    ::= { ciscoMgmt 36 }  

bscObjects      OBJECT IDENTIFIER ::= { ciscoBscMIB 1}
bscPorts        OBJECT IDENTIFIER ::= { bscObjects 1}
bscControlUnits OBJECT IDENTIFIER ::= { bscObjects 2}
bscExtAddresses OBJECT IDENTIFIER ::= { bscObjects 3}

-- *********************************************************************
-- * Bsc Port Table
-- *********************************************************************

bscPortTable OBJECT-TYPE
    SYNTAX SEQUENCE OF BscPortEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A list of port (serial interfaces) which have been configured 
         to support a BSC BSTUN group."
    ::= { bscPorts 1 }

bscPortEntry OBJECT-TYPE
    SYNTAX BscPortEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Status and parameter values for a port."
    INDEX { ifIndex }
    ::= { bscPortTable 1 }

BscPortEntry ::=
    SEQUENCE {
        bscPortRole
            INTEGER,
        bscPortCodeSet
            INTEGER,
        bscPortPause
            INTEGER,
        bscPortServlim
            INTEGER,
        bscPortPollTimeout
            INTEGER,
        bscPortRecoveryRetries
            INTEGER,
        bscPortUnknownControlUnitsReceived
            Counter32,
        bscPortSoftErrors
            Counter32,
        bscPortHardErrors
            Counter32,
        bscPortProtocolViolations
            Counter32,
        bscPortHostTimeout
            Integer32,
        bscPortSpecPoll
            TruthValue,
        bscPortVirtualAddress
            Integer32,
        bscPortContentionDialTimeout
            Integer32
    }

bscPortRole OBJECT-TYPE
    SYNTAX INTEGER { 
        primary(1),
        secondary(2),
        contention(3),
        dialContention(4),
        generic(5) 
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The router's DLC role to the attached node.
        If the bscPortRole is primary, this implies that
        the port is connected to a remote secondary device.
        If the role is generic, this indicates that the port 
        will be running framed bisynchronous frames with an unknown 
        protocol. If this object does not have the value 'contention'
        then bscPortVirtualAddress will not be instantiated.
        If this object does not have the value 'dialContention'
        then bscPortContentionDialTimeout will not be instantiated."
    ::= { bscPortEntry 1 }


bscPortCodeSet OBJECT-TYPE
    SYNTAX INTEGER { ebcdic(1), ascii(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The code set used for the line controls."
    ::= { bscPortEntry 2 }

bscPortPause OBJECT-TYPE
    SYNTAX INTEGER (0..255)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "For primary, it is the minimum time to be taken 
         for a cycle round the active poll table; if this 
         time has not elapsed when the bottom of the poll 
         table is reached, then polling will pause until 
         this timer expires. A value of zero means there 
         will be no pause between cycles round the poll 
         table. 
         For secondary, the pause time out is the delay 
         taken before sending a response to a poll 
         when it has no data frame to send.
         The units are tenths of a second.  The default
         is 10 (1 second)."
    ::= { bscPortEntry 3 }

bscPortServlim OBJECT-TYPE
    SYNTAX INTEGER (1..50)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter is valid for primary only.  It is
         the number of times the active poll table will
         be cycled before a non-responding control unit
         will be polled.  The default is 3."
    ::= { bscPortEntry 4 }

bscPortPollTimeout OBJECT-TYPE
    SYNTAX INTEGER (1..100)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This parameter is valid for primary only.  It is
         the time that the primary will wait for a response
         to a poll or select.  The units are tenths of a second.
         The default is 10 (1 second)."
    ::= { bscPortEntry 5 }

bscPortRecoveryRetries OBJECT-TYPE
    SYNTAX INTEGER (1..100)
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "This is the number of times that a recovery sequence
         will be retried before the connection is considered
         to have failed.  The default is 5."
    ::= { bscPortEntry 6 }


bscPortUnknownControlUnitsReceived OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of frames received from the serial
         interface with an unsupported control unit 
         address.  If this value is non-zero it indicates
         a problem in the configuration."
    ::= { bscPortEntry 7 }


bscPortSoftErrors OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of soft errors; these are errors 
         which have been recovered.  This includes
         CRC errors received, frames which were
         retransmitted for any reason (NAK received
         or the wrong ACK received), etc.  This count
         is a measure of the quality of the port/line,
         but should be considered in relation to the
         amount of traffic on the port (frames
         or bytes sent and received).
         This count includes all control unit soft
         errors on this port, plus errors which were
         not for a specific control unit."
    ::= { bscPortEntry 8 }

bscPortHardErrors OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of hard errors; these are errors which 
         have not been recovered after bscPortRecoveryRetries
         number of retries, and therefore the connection 
         has been terminated.
         These errors could be caused by a hardware error
         in the line or in the remote device; or possibly
         the bscPortRecoveryRetries value is set too low 
         for the quality of the line.
         This count includes all control unit hard
         errors on this port, plus errors which were
         not for a specific control unit."
    ::= { bscPortEntry 9 }

bscPortProtocolViolations OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of protocol violations.  This counter is
         incremented when an unexpected BSC Data Link Control 
         character is received from the remote device; that
         is, the control character is invalid in the current
         state of the local BSC FSM.
         This indicates that there is an incompatibility
         between the two implementations of the BSC protocol.         
         This count includes all control unit protocol violations
         on this port, plus errors which were not for a specific 
         control unit."
    ::= { bscPortEntry 10 }

bscPortHostTimeout OBJECT-TYPE
    SYNTAX      Integer32 (30..3000)
    UNITS       "deciseconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This parameter is valid for interfaces configured secondary 
         which additionally are running local-acknowledgement. If the
         configuration does not match the value will be shown as zero.
         It is the time the interface will wait for a poll from the 
         host before putting the CU on the inactive list.
         The default is 60 seconds."
    ::= { bscPortEntry 11 }

bscPortSpecPoll OBJECT-TYPE
    SYNTAX      TruthValue
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This parameter is valid for primary, local-acknowledgement 
        interfaces only. It is set to TRUE when the interface is 
        configured to treat specific polls as general polls.
        If the configuration cannot support this value, it will be 
        set to FALSE.
        The default is FALSE."
    ::= { bscPortEntry 12 }

bscPortVirtualAddress OBJECT-TYPE
    SYNTAX      Integer32 (1..254)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This parameter is valid for contention only. It is
         the address to be used for this interface when the
         remote peer router is being used as a concentrator.
         The default is 01."
    ::= { bscPortEntry 13 }

bscPortContentionDialTimeout OBJECT-TYPE
    SYNTAX      Integer32 (2..30)
    UNITS       "seconds"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "This parameter is valid for dialContention only. It is
         the amount of time an interface can be quiescent before
         return the interface to the dial-in pool.
         The default is 5 seconds."
    ::= { bscPortEntry 14 }

-- *********************************************************************
-- *  Control Unit Table
-- *********************************************************************

bscControlUnitTable OBJECT-TYPE
    SYNTAX   SEQUENCE OF BscCUEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
       "A table containing information about specific 
        Control Units."
    ::= { bscControlUnits 1 }

bscCUEntry OBJECT-TYPE
    SYNTAX   BscCUEntry
    MAX-ACCESS   not-accessible
    STATUS   current
    DESCRIPTION
       "The information regarding a single Control Unit."
    INDEX { ifIndex, bscCUAddress }
    ::= { bscControlUnitTable 1 }


BscCUEntry ::=
    SEQUENCE {
         bscCUAddress
            INTEGER,
         bscCUState
            INTEGER,
         bscCUBytesSent
            Counter32,
         bscCUBytesReceived
            Counter32,
         bscCUTotalFramesSent
            Counter32,
         bscCUTotalFramesReceived
            Counter32,
         bscCUDataFramesSent
            Counter32,
         bscCUDataFramesReceived
            Counter32,
         bscCUSoftErrors
            Counter32,
         bscCUHardErrors
            Counter32,
         bscCUProtocolViolations
            Counter32
    }


bscCUAddress OBJECT-TYPE
    SYNTAX      INTEGER (1..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "This value is the poll address of the
         BSC Control Unit.  This address must be unique
         within a BSTUN Group."
    ::= { bscCUEntry 1 }

bscCUState OBJECT-TYPE
    SYNTAX INTEGER { inactive(1), active(2) }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "State of the BSC Control Unit; when active this indicates that
         the remote Control Unit is polling or responding to polls."
    ::= { bscCUEntry 2 }

bscCUBytesSent OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of sent bytes (octets). 
         Includes all control characters."
    ::= { bscCUEntry 3 }


bscCUBytesReceived OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of received bytes (octets).
         Includes all control characters."
    ::= { bscCUEntry 4 }


bscCUTotalFramesSent OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of sent frames (blocks).
         Includes all control frames."
    ::= { bscCUEntry 5 }


bscCUTotalFramesReceived OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of received frames (blocks).
         Includes all control frames."
    ::= { bscCUEntry 6 }

bscCUDataFramesSent OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of sent data frames (blocks)."
    ::= { bscCUEntry 7 }


bscCUDataFramesReceived OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of received data frames (blocks)."
    ::= { bscCUEntry 8 }

bscCUSoftErrors OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of soft errors; these are errors 
         which have been recovered.  This includes
         CRC errors received, frames which were
         retransmitted for any reason (NAK received
         or the wrong ACK received), etc.  This count
         is a measure of the quality of the connection,
         but should be considered in relation to the
         amount of traffic on the connection (frames
         or bytes sent and received)."
    ::= { bscCUEntry 9 }

bscCUHardErrors OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of hard errors; these are errors which 
         have not been recovered after bscPortRecoveryRetries
         number of retries, and therefore the connection 
         has been terminated.
         These errors could be caused by a hardware error
         in the link or in the remote device; or possibly
         the bscPortRecoveryRetries value is set too low 
         for the quality of the connection."
    ::= { bscCUEntry 10 }

bscCUProtocolViolations OBJECT-TYPE
    SYNTAX Counter32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "Count of protocol violations.  This counter is
         incremented when an unexpected BSC Data Link Control 
         character is received from the remote device; that
         is, the control character is invalid in the current
         state of the local BSC FSM.
         This indicates that there is an incompatibility
         between the two implementations of the BSC protocol."         
    ::= { bscCUEntry 11 }

-- *********************************************************************
-- * extended Addresses
-- *********************************************************************

bscExtAddressTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF BscExtAddressEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
              "List of all addresses configured by the bsc
               extended-address command. This applies only to interfaces
               with an ifType of 'bsc'. The address entries must be
               unique per interface."
    ::= { bscExtAddresses 1 }

bscExtAddressEntry OBJECT-TYPE
    SYNTAX      BscExtAddressEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The information regarding a single extended addresses."
    INDEX { ifIndex , bscExtPollAddress }
    ::= { bscExtAddressTable 1 }

BscExtAddressEntry ::=
    SEQUENCE {
         bscExtPollAddress
            Integer32,
         bscExtSelectAddress
            Integer32
    }

bscExtPollAddress OBJECT-TYPE
    SYNTAX      Integer32 (1..255)
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "The poll address of the station configured by the 
         bsc extended-address command."
    ::= { bscExtAddressEntry 1 }
   
bscExtSelectAddress OBJECT-TYPE
    SYNTAX      Integer32 (1..255)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The select address of the station configured by the 
         bsc extended-address command."
    ::= { bscExtAddressEntry 2 }

-- *************************************************************************
-- * Conformance Information
-- *************************************************************************

bscMibConformance   OBJECT IDENTIFIER ::= { ciscoBscMIB 3 }
bscMibCompliances   OBJECT IDENTIFIER ::= { bscMibConformance 1 }
bscMibGroups        OBJECT IDENTIFIER ::= { bscMibConformance 2 }
--
-- *************************************************************************
-- * Compliance Statements
-- *************************************************************************
bscMibCompliance    MODULE-COMPLIANCE
        STATUS obsolete -- superceded by bscMibComplianceRev1
        DESCRIPTION
                "The compliance statement for BSTUN."
        MODULE  -- this module
                MANDATORY-GROUPS {
                        bscPortsGroup,
                        bscControlUnitsGroup
                }
         ::= { bscMibCompliances 1 }
         
bscMibComplianceRev1    MODULE-COMPLIANCE
        STATUS current
        DESCRIPTION
                "The compliance statement for all Cisco Systems that
                implement BSC functions."
        MODULE  -- this module
                MANDATORY-GROUPS {
                        bscPortsGroupRev1,
                        bscControlUnitsGroup,
                        bscExtAddressGroup
                }
         ::= { bscMibCompliances 2 }

bscPortsGroup OBJECT-GROUP
        OBJECTS {
                bscPortRole,
                bscPortCodeSet,
                bscPortPause,
                bscPortServlim,
                bscPortPollTimeout,
                bscPortRecoveryRetries,
                bscPortUnknownControlUnitsReceived,
                bscPortSoftErrors,
                bscPortHardErrors,
                bscPortProtocolViolations
        }
        STATUS obsolete -- superceded by bscPortsGroupRev1
        DESCRIPTION
                "A collection of objects providing information about
                 BSC enabled interfaces."
        ::= { bscMibGroups 1}
         
bscControlUnitsGroup OBJECT-GROUP
        OBJECTS {
                bscCUState,
                bscCUBytesSent,
                bscCUBytesReceived,
                bscCUTotalFramesSent,
                bscCUTotalFramesReceived,
                bscCUDataFramesSent,
                bscCUDataFramesReceived,
                bscCUSoftErrors,
                bscCUHardErrors,
                bscCUProtocolViolations
        }
        STATUS current
        DESCRIPTION
                "A collection of objects providing information about 
                 BSC Control Units ."
        ::= { bscMibGroups 2 }

bscPortsGroupRev1 OBJECT-GROUP
        OBJECTS {
                bscPortRole,
                bscPortCodeSet,
                bscPortPause,
                bscPortServlim,
                bscPortPollTimeout,
                bscPortRecoveryRetries,
                bscPortUnknownControlUnitsReceived,
                bscPortSoftErrors,
                bscPortHardErrors,
                bscPortProtocolViolations,
                bscPortHostTimeout,
                bscPortSpecPoll,
                bscPortVirtualAddress,
                bscPortContentionDialTimeout
        }
        STATUS current
        DESCRIPTION
                "A collection of objects providing information about
                 BSC enabled interfaces."
        ::= { bscMibGroups 3}

bscExtAddressGroup OBJECT-GROUP
        OBJECTS {
                bscExtSelectAddress
        }
        STATUS current
        DESCRIPTION
                "A collection of objects providing information about
                 BSC extended addresses."
        ::= { bscMibGroups 4}

END
