-- MIB file created 13-Jan-2004 09:44:59, by
--   SMICng version 2.2.11-beta(PRO)(Solaris), January 20, 2001. Enterprise key cisco.com

CISCO-BERT-MIB DEFINITIONS ::= BEGIN

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

IMPORTS
    DateAndTime, RowStatus
            FROM SNMPv2-TC-v1
    ifIndex
            FROM IF-MIB
    ciscoMgmt
            FROM CISCO-SMI
    Counter
            FROM RFC1155-SMI
    OBJECT-TYPE
            FROM RFC-1212;

ciscoBertMIB OBJECT IDENTIFIER ::= { ciscoMgmt 185 }
-- MODULE-IDENTITY
--  LastUpdated
--    200205050000Z
--  OrgName
--    Cisco Systems, Inc.
--  ContactInfo
--    Cisco Systems
--     Customer Service
--    Postal: 170 W Tasman Drive
--     San Jose, CA  95134
--     USA
--     Tel: +1 800 553-NETS
--    E-mail: cs-wanatm@cisco.com
--  Descr
--    The MIB module to configure and perform Bit Error Rate Testing
--    (BERT) on DS3, DS1/E1 and DS0/DS0Bundle interfaces.
--    Bit error rate testing and loopbacks are used by carriers
--    and ISPs to aid in problem resolution as well as for
--     testing the quality of T1/E1 or T3/E3 links.  Tests can
--    be run on a full T1/E1 line or can be run on a fractional
--    T1/E1 such as single DS0 or a group of DS0s.  By using BERT,
--    poor quality links could be detected early.
--    BERT enables the user to test the quality of links by directly
--    comparing a pseudo-random or repetitive test pattern with
--    an identical locally generated test pattern. 
--    
--    Terminology:
--    
--    BERT: Bit Error Rate Testing (BERT) involves generating a known
--    data sequence into a transmission device and examining the
--    received sequence at the same device or a remote device
--    for errors.
--    
--    The use of BERT results in the computation of a bit error rate
--    (BER), which is
--    
--    bits received in error
--    BER = ========================
--    number of bits transmitted
--    
--    To perform a bit error rate test using one tester, 
--    communications equipment must be placed into a loop-back
--    mode of operation and the BERT test can then be used to 
--    determine if equipment is operating correctly.
--    
--    When running a BERT, system expects to receive the same pattern
--    that is transmitting.  To help ensure this, two common options
--    are available.
--    
--     - Use loopback somewhere in the link or network.  This can
--       be accomplished by putting the line in loop up mode;
--       send the pattern; find the BER.
--    
--    - configure remote testing equipment to transmit the Same BERT
--    pattern at the same time.
--    
--    Typical Sequence in Performing Bit Error Rate Test by the 
--    device is given below:
--    
--    - Loop Up:
--     The tester issues special code to force the far end (CPE) into 
--    loopback.  Upon recognition of the loop activation request code
--    the CPE enters a loop mode in which it returns the port data
--    back to the tester.
--    
--     - Send Pattern:
--     After a loop has been established, the tester can generate 
--    test pattern toward the CPE and monitor the incoming data.
--    
--    - Loop Down:
--     The tester issues a special code (loop down command) to 
--    release the far end from the loopback.
--    
--     Terminology Used:
--    CPE - Customer's premise equipment.  At CPE, following equipment
--    is required:
--    DSU
--    CSU
--    Usually DSU and CSU functions are incorporated by vendors
--    into a single CSU/DSU unit.
--    OCU - Office Channel Unit
--     CSU - Channel Service Unit
--    A CSU contains the last signal regenerator on the line 
--    before DTE and mechanism to put the line into loopback
--    for testing from the central office.
--     DSU - Data Service Unit. 
--  RevDate
--    200205050000Z
--  RevDescr
--    Add new object cbDs0BitMap to cbConfTable.
--  RevDate
--    200109090000Z
--  RevDescr
--    Add new enum smartJackInband(18) for object cbLoopbackCode
--  RevDate
--    200012080000Z
--  RevDescr
--    Initial version of this MIB module

ciscoBertMIBObjects OBJECT IDENTIFIER ::= { ciscoBertMIB 1 }
ciscoBertConfig OBJECT IDENTIFIER ::= { ciscoBertMIBObjects 1 }
ciscoBertMIBConformance OBJECT IDENTIFIER ::= { ciscoBertMIB 8 }
ciscoBertMIBCompliances OBJECT IDENTIFIER ::= { ciscoBertMIBConformance 1 }
ciscoBertMIBGroups OBJECT IDENTIFIER ::= { ciscoBertMIBConformance 2 }

BertPatterns ::= INTEGER {
        allZeros(1),
        allOnes(2),
        altOneZero(3),
        doubleAltOnesZeros(4),
        oneIn4(5),
        oneIn8(6),
        oneIn16(7),
        threeIn24(8),
        inbandLoopBackActivate(9),
        inbandLoopBackDeactivate(10),
        twoE3MinusOne(11),
        twoE4MinusOne(12),
        twoE5MinusOne(13),
        twoE6MinusOne(14),
        twoE7MinusOne(15),
        twoE7MinusOneFT1Loopup(16),
        twoE7MinusOneFT1Loopdown(17),
        twoE9MinusOne(18),
        twoE10MinusOne(19),
        twoE11MinusOne(20),
        twoE15MinusOne(21),
        twoE17MinusOne(22),
        twoE18MinusOne(23),
        twoE20MinusOne(24),
        twoE20MinusOneQRSS(25),
        twoE21MinusOne(26),
        twoE22MinusOne(27),
        twoE23MinusOne(28),
        twoE25MinusOne(29),
        twoE28MinusOne(30),
        twoE29MinusOne(31),
        twoE31MinusOne(32),
        dds1pattern(33),
        dds2pattern(34),
        dds3pattern(35),
        dds4pattern(36),
        dds5pattern(37),
        userPattern(38)
        }
-- TEXTUAL-CONVENTION
--  Status
--    mandatory
--  Descr
--    The patterns that can be configured to perform BER Test 
--    on an interface.
--    Bit error measurements are widely used to assess the 
--    performance of a digital transmission equipment.  Precise 
--    error measurement requires that the bit pattern transmitted 
--    is known before hand.  During BER testing a known pattern is 
--    transmitted on a interface.  The pattern received on the 
--    receive side is checked for bit errors.  In order to measure 
--    the performance of digital line under real condition 
--    this patterns should also simulate real traffic as closely 
--    as possible.  There are two categories of test patterns that 
--    can be generated by a BERT equipment: repetitive and 
--    pseudo-random.  The former test patterns are zeroes or ones 
--    or alternating zeroes and ones; the latter patterns are 
--    exponential numbers and conform to CCITT/ITU O.151, O.153.
--    
--    There are different patterns for different interface speeds.
--    This object allows the user to configure this BERT patterns.
--    
--    The supported values are :
--    
--    Repetitive Patterns
--    
--    allZeros(1): All Zeroes(Continuous spaces).  This is 
--    repeating pattern of zeros(...000...). 
--    The use of this pattern is to test and verify 
--    that the ones density policing mechanism is 
--    functioning properly.  This pattern must be 
--    used in circuits optioned for B8ZS.
--    
--    allOnes(2): All Ones(Continuous Marks).  This is repeating
--    pattern of ones(...1111...).  This provides 
--    testing of maximum power level requirements.
--    The all one pattern test causes the repeater 
--    to consume the maximum amount of power. 
--    If there is insufficient DC span power then the
--    repeater may begin to fail.
--    Typically this pattern is used for a simple
--    continuity check.  It may also be used to detect
--    the presence of unwanted loop in the network.
--    
--    altOneZero(3): Alternate one/zero pattern(..1010..).  This
--    pattern produces a 50% ones density.  It is
--    used to stress the repeater's DC power
--    consumption.
--    
--    doubleAltOnesZeros(4): Double alternate one/zero(..1100..).
--    
--    oneIn4(5): This pattern is standard loop up remote code.
--    Typically it is used when the loop up remote test 
--    fails to place the remote system into loopback.
--    
--    oneIn8(6): This is an eight bit pattern which contains
--    single one.
--             This pattern is used primarily to test timing(clock)
--    recovery and may be used framed or unframed for that
--    purpose.
--    This pattern is used to verify frame synchronization
--    by providing the minimum acceptable pulse density.
--    
--    oneIn16(7): N repetitive pattern, 1 in 16.
--    
--    threeIn24(8): This is a 24 bit pattern which contains 3 ones. 
--    The largest string of consecutive zeros is fifteen.
--    This pattern is used primarily to test timing(clock)
--    recovery and may be used framed or unframed for that
--    purpose.  This pattern covers both the minimum ones
--    density and the maximum number of consecutive zeros.
--    
--    inbandLoopup(9): D4/SF Loopback activate.
--    Valid only for T1 line.
--    
--    inbandLoopdown(10): D4/SF Loopback deactivate.
--    Valid only for T1 line.
--    
--    Pseudo-Random Patterns
--    
--    twoE3MinusOne(11): This is 2^3-1 (7 bits in length) pattern.
--    
--    twoE4MinusOne(12): This is 2^4-1 (15 bits in length) pattern.
--    
--    twoE5MinusOne(13): This is 2^5-1 (31 bits in length) pattern.
--    
--    twoE6MinusOne(14): This is 2^6-1 (63 bits in length) pattern.
--    
--    twoE7MinusOne(15): This is 2^7-1 (127 bits in length) pattern.
--    
--    twoE7MinusOneFT1Loopup(16): 2^7-1 Fractional
--    T1 Loop Back Activate.
--    
--    twoE7MinusOneFT1Loopdown(17): 2^7-1 Fractional 
--    T1 Loop Back Deactivate.
--    
--    twoE9MinusOne(18): This is 2^9-1(511 bits in length)
--    pattern specified in ITU O.153.
--    It has the maximum of 8(non-inverted)
--    sequential zeros and 9 sequential ones.
--    
--    twoE10MinusOne(19): This is the 2^10-1(1023 bits in length).
--    
--    twoE11MinusOne(20): This is the 2^11-1(2047 bits in length)
--    pattern specified in ITU O.152, O.153.
--    It has a maximum of 10(non-inverted) 
--    sequential zeros and 11 sequential ones.
--    This pattern is primarily intended for
--    error measurements at bit rates of 64kbit/s
--    and N*64 kbit/s.
--    
--    twoE15MinusOne(21): This is the 2^15-1(32767 bit length)
--    pattern as specified in ITU O.151.
--    It has the maximum of 15(inverted) 
--    sequential zeros.
--    This sequence is primarily intended for
--    error and jitter measurements at bit
--    rates of 1544, 2048, 6312, 8448, 32064 and 
--    44736 kbit/s.
--    
--    twoE17MinusOne(22): This the 2^17-1(131071 bits in length).
--    
--    twoE18MinusOne(23): This the 2^18-1(262144 bits in length).
--    
--    twoE20MinusOne(24): This the 2^20-1(1048575 bits in length)
--    pattern specified in ITU O.153.It has
--    the maximum of 19(non-inverted) sequential
--    zeros.  This pattern is primarily intended 
--    for error measurements at bit rates up to 
--    73kbit/s.  This pattern stresses the 
--    equalization and timing recovery circuitry 
--    of line repeaters.
--    
--    twoE20MinusOneQRSS(25): This is the 2^20-1(1048575 bits)
--    pattern specified in ITU O.151.
--    This is the pattern with Zero
--    suppression(Quasi Random Signal Source
--    This provides the simulation of
--    live data.
--    This is primarily intended for
--    error and jitter measurements
--    at bit rates of 34368, 139264 kbit/s.
--    
--    twoE21MinusOne(26): This is the 2^21-1(2097151 bit length).
--    
--    twoE22MinusOne(27): This is the 2^22-1(4194303 bit length).
--    
--    twoE23MinusOne(28): This is the 2^23-1(8388607 bit length)
--    pattern specified in ITU O.151.
--    Highest stress pseudo-random pattern, with 
--    a maximum of 23 (inverted) sequential zeros 
--    and 23 sequential ones.
--    This sequence is primarily intended for
--    error and jitter measurements at bit rates
--    of 34368 and 139264 kbit/s.
--    
--    twoE25MinusOne(29): This is the 2^21-1 (33554431 bit length).
--    
--    twoE28MinusOne(30): This is the 2^28-1 (268435455 bit length).
--    
--    twoE29MinusOne(31): Highest stress pseudo random pattern, 
--    with a maximum of 29 (inverted) sequential 
--    zeros Specified in ITU 0.150.
--    
--    twoE31MinusOne(32): It has maximum 31 sequential zeros.
--    
--    DDS is a special service for transmitting 
--    data in a DS-1 frame.
--    
--    dds1pattern(33): This sends 100 bytes of all 1s and 
--    then 100 bytes of all 0s to test the stress 
--    clocking of the network.
--    
--    dds2pattern(34): This sends 100 bytes of a 0x7e pattern 
--    and then 100 bytes of all 0s.  This pattern simulates 
--    bit oriented protocol flags for DDS testing.
--    
--    dds3pattern(35): This pattern sends continuous 
--    bytes of a 0x46 pattern.  It is used to simulate 
--    a typical DDS signal.
--    
--    dds4pattern(36): This pattern sends continuous bytes
--    of a 0x02 pattern.  It is used to stress DDS 
--    clock recovery.
--    
--    dds5pattern(37): This pattern sends continuous bytes 
--    of a 0x02 pattern.
--    It is used to stress DDS clock recovery. 
--    
--    userPattern(38): This is any user defined pattern. 
--  Refer
--    CCITT/ITU O.150, O.151, O.152, O.153, O.161 Standards.

cbConfTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CbConfEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains configuration, control and status parameters 
         for performing Bit Error Rate Test (BERT) on an interface. 
         When cbRowStatus is 'active', ifOperStatus will be set to 'testing'."
    ::= { ciscoBertConfig 1 }

cbConfEntry OBJECT-TYPE
    SYNTAX CbConfEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "An entry in the BERT configuration table. 
        An entry is created for each interface running BERT by NMS.
        The ifIndex refers to a unique value of an interface 
        in the ifTable on which BERT is being run.
        The BERT is started or stopped as by-product of creating 
        and deleting entries in the cbConfTable."
    INDEX { ifIndex }
    ::= { cbConfTable 1 }

CbConfEntry ::= SEQUENCE {
    cbTestPattern BertPatterns,
    cbUserPattern OCTET STRING,
    cbBertTxPatternInv INTEGER,
    cbBertRxPatternInv INTEGER,
    cbLoopback INTEGER,
    cbLoopbackCode INTEGER,
    cbSingleBitErrorInsert INTEGER,
    cbErrorInsertionRate INTEGER,
    cbDuration INTEGER,
    cbOperStatus INTEGER,
    cbFailedReason INTEGER,
    cbStartDateAndTime DateAndTime,
    cbDS0DPCodeIteration INTEGER,
    cbRowStatus RowStatus,
    cbDs0BitMap OCTET STRING
    }

cbTestPattern OBJECT-TYPE
    SYNTAX BertPatterns
--    Rsyntax INTEGER {
--        allZeros(1),
--        allOnes(2),
--        altOneZero(3),
--        doubleAltOnesZeros(4),
--        oneIn4(5),
--        oneIn8(6),
--        oneIn16(7),
--        threeIn24(8),
--        inbandLoopBackActivate(9),
--        inbandLoopBackDeactivate(10),
--        twoE3MinusOne(11),
--        twoE4MinusOne(12),
--        twoE5MinusOne(13),
--        twoE6MinusOne(14),
--        twoE7MinusOne(15),
--        twoE7MinusOneFT1Loopup(16),
--        twoE7MinusOneFT1Loopdown(17),
--        twoE9MinusOne(18),
--        twoE10MinusOne(19),
--        twoE11MinusOne(20),
--        twoE15MinusOne(21),
--        twoE17MinusOne(22),
--        twoE18MinusOne(23),
--        twoE20MinusOne(24),
--        twoE20MinusOneQRSS(25),
--        twoE21MinusOne(26),
--        twoE22MinusOne(27),
--        twoE23MinusOne(28),
--        twoE25MinusOne(29),
--        twoE28MinusOne(30),
--        twoE29MinusOne(31),
--        twoE31MinusOne(32),
--        dds1pattern(33),
--        dds2pattern(34),
--        dds3pattern(35),
--        dds4pattern(36),
--        dds5pattern(37),
--        userPattern(38)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The BERT pattern to be sent and expected to be received.
         An implementation may choose to support only selected patterns.
         In some implementations, this object can not be modified when 
         the BERT is running, i.e cbRowStatus is active(1)."
    ::= { cbConfEntry 1 }

cbUserPattern OBJECT-TYPE
    SYNTAX OCTET STRING(SIZE(1..4))
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The object used for configuring the user defined pattern
         for BERT.  This is the fixed repeating BERT pattern sent
         and expected to be received when the cbTestPattern object is
         set to 'userPattern'.  The maximum length of this pattern
         is 32 bits.  Depending on the hardware, the patterns are 
         transmitted with least significant first or most 
         significant bit, until pattern length is reached.
        
         This object can not be modified when the BERT is running,
         i.e cbRowStatus is active(1)."
    ::= { cbConfEntry 2 }

cbBertTxPatternInv OBJECT-TYPE
    SYNTAX INTEGER {
        notInverted(1),
        inverted(2)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This controls inversion of the transmit BERT pattern.
        Possible values are :
        
        notInverted(1): Pattern is transmitted normally.
        inverted(2):  Each Mark is replaced by Space and 
        vice versa.
        
        For predefined BERT patterns, the value for this Object
         may not be modified.  An implementation may choose to 
        ignore the value of this object, for BERT patterns other 
        than 'userPattern'.  When the value is ignored, the
        object contains the value chosen by the underlying hardware.
        
        This object can not be modified when the BERT is running
        i.e cbRowStatus is active(1)."
    DEFVAL { notInverted }
    ::= { cbConfEntry 3 }

cbBertRxPatternInv OBJECT-TYPE
    SYNTAX INTEGER {
        notInverted(1),
        inverted(2)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This controls inversion of the received BERT pattern.
         Possible values are :
        
        notInverted(1) : Pattern received is not inverted.
        inverted(2)    : each Mark is replaced by Space and 
        vice versa.
        
        When set to inverted(1), the received data is inverted
        before being processed by the pattern detector.
        For predefined BERT patterns, the value for this object
         may not be modified.  An implementation may choose to 
        ignore the value of this object, for BERT patterns other 
        than 'userPattern'.  When the value is ignored, the
        object contains the value chosen by the underlying 
        hardware.
        
        This object can not be modified when the BERT is running
        i.e cbRowStatus is active(1)."
    DEFVAL { notInverted }
    ::= { cbConfEntry 4 }

cbLoopback OBJECT-TYPE
    SYNTAX INTEGER {
        farEndLineLoopback(1),
        remoteLineLoopback(2),
        localLoopback(3),
        farEndPayloadLoopback(4),
        remotePayloadLoopback(5),
        noLoopback(6)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object specifies the type of loopback established.
        Possible values are:
        
        farEndLineLoopback(1): This loopback occurs at the CPE upon
        receiving a special code from the
        device which initiates the loopback.
        Upon receiving the loop activation request
        code, the CPE enters a Line loop mode in which it
        returns the entire line back to the initiator.
        The CPE will continue to return the data
        back to the initiator until it receives
        loopback deactivation request code. 
        
        remoteLineLoopback(3): This loopback is established 
        at the Near-end.
        In this loopback the entire line is looped back to the
        Far-end with a) bit-sequence integrity maintained,
        b) no change in framing, and c) no removal of bi-
        polar violations.        
        
        localLoopback(3): This is also known as metallic loopback.
        This loopback is used for checking the
        internal circuitry of the T3/E3, T1/E1 device.
        Only for physical lines.
        
        farEndPayloadLoopback(4): This loopback occurs at the
        CPE upon receiving a special code from the
        device which initiates the loopback.
        Upon receiving the loop activation request
        code, CPE enters a Payload loop mode in which it
        returns the Payload of the received data back
        to the initiator.
        The CPE will continue to return the data
        back to the initiator until it receives
        loopback deactivation request code.
        
        remotePayloadLoopback(5): This loopback is established 
        at the Near-end.
        In this loopback the signal that is returned to the
        Far-end consists of the payload of the received signal
        (with bit sequence integrity retained) and newly
        generated framing information.
        
        noLoopback(6):   There is no loopback established
        on the device.  "
    ::= { cbConfEntry 5 }

cbLoopbackCode OBJECT-TYPE
    SYNTAX INTEGER {
        nonLatchOCUwith1(1),
        nonLatchOCUwithout1(2),
        nonLatchCSU(3),
        nonLatchDSU(4),
        latchDS0Drop(5),
        latchDS0Line(6),
        latchOCU(7),
        latchCSU(8),
        latchDSU(9),
        latchHL96(10),
        v54PN127Polynomial(11),
        lineInband(12),
        lineLoopbackESF(13),
        localLoopback(14),
        noLoopbackCode(15),
        payloadLoopbackESF(16),
        lineLoopbackFEAC(17),
        smartJackInband(18)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object specifies the type of the end device and
         the type of loopback code used.
        
         Latching Loopback: Latching Loopback is appropriate with
         64 kbit/s DS0-A rate.  Once invoked by a specific activation
         sequence, it typically remains in effect until released by
         another specific code sequence.
        
        non-latching loopback:  Non latching activation involves
         continuous transmission of loopback command codes, followed
         by test data interspersed with command codes.
         The possible values are:
        Note: The values 1 to 14 are for farEndLoopback.
        cbLoopback object is farEndLoopback(1) when these values are 
        selected.
        
        nonLatchOCUwithOneDevice(1): Non-latching OCU with one device.
        
        nonLatchOCUwithChainDevices(2): Non-latching OCU with chain
        of devices.
        
        nonLatchCSU(3)                 : Non-latching CSU.
        
        nonLatchDSU(4)                 : Non-latching DSU.
        
        latchDS0Drop(5)                : Latching DS0-DP Drop device.
        
        latchDS0Line(6)                : Latching DS0-DP line device.
        
        latchOCU(7)                    : Latching OCU.
        
        latchCSU(8)                    : Latching CSU.
        
        latchDSU(9)                    : Latching DSU.
        
        latchHL96(10)                  : Latching HL96 device.
        
        v54PN127Polynomial(11)         : For fractional T1.
        This loopback is based on
        CCITT-ITU V.54 and is being
        used to place either a single
        DS0 or a DS0 Bundle(N*DS0) in
        loopback mode.
        
        lineInband(12)                  : This is used for loopback the
        entire T1 line at the far end.
        This is a repeating 5-bit
        pattern(00001).
        
        lineLoopbackESF(13): This loopback result in a full
        1.544Mbit/s loopback of the
        incoming signal at the far end.
        The loopback is activated (latched) and
        deactivated by a bit sequence defined in
        ANSI T1.403 - 1995.
        This corresponds to Facility Data Link
        (FDL)loopbacks on a T1 channel.
        This causes a repeating,16-bit ESF data
        link code word(00001110 11111111) to
        the remote end requesting that it
        enter into a network line loopback.
        
        localLoopback(14): This is for loop back at the 
        near end (facility end).
        This is used to test the internals of the
        device, the interface loops back the 
        outbound traffic from SRM to SM, back to 
        the SRM, hence testing the internal device
        connectivity.
        
        noLoopbackCode(15): This is for situations, where 
        no loopback is needed for bert tests. 
        One example is manual loop back at near or
                 far end.
        
        payloadLoopbackESF(16): This loopback results 
        in 1.536 Mbit/s loopback of the payload
        of the incoming signal at the far end.
        The loopback is activated (latched) and 
        deactivated by a bit sequence defined in
        ANSI T1.403 - 1995.
        This corresponds to Facility Data Link
        (FDL)loopbacks on a T1 channel.
        This causes a repeating, 16-bit ESF data
        link code word(00010100 11111111) to
        the remote end requesting that it
        enter into a network payload loopback.
        
        lineLoopbackFEAC(17): Use the FEAC channel to 
        establish a line loopback. 
        
         smartJackInband(18): Inband loop code for SmartJack (a Telco owned 
                 device that represents the demarcation point of T1 service),
                 Ref: TR-TSY-000312."
    ::= { cbConfEntry 6 }

cbSingleBitErrorInsert OBJECT-TYPE
    SYNTAX INTEGER {
        noError(1),
        insertError(2)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object is used for inserting single bit error in the 
        transmitted BERT pattern.
        
        The possible values are:
        
        noError(1)      : do not insert single bit errors
        
        insertError(2)  : insert single bit errors. "
    DEFVAL { noError }
    ::= { cbConfEntry 7 }

cbErrorInsertionRate OBJECT-TYPE
    SYNTAX INTEGER {
        noError(1),
        oneInTen(2),
        oneInHundred(3),
        oneInThousand(4),
        oneInTenThousand(5),
        oneInHundredThousand(6),
        oneInMillion(7),
        oneInTenMillion(8)
        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object is used for injecting continuous errors into 
        transmitted BERT pattern.  The errors are inserted in a BERT 
         pattern sent, in order to do sanity check on receive interface 
         in the event that no bit errors are detected.  Injecting errors 
         allows users to stress communication links and to check the 
        functionality of error monitoring equipment along the path.
         Once set to send continuous errors, errors will be inserted 
         at the configured rate until set to noError(1). 
        
         The possible values are :
        
        noError(1) : no bit errors are inserted.
        
        oneInTen(2) : insert bit errors at the rate of 1 bit
        error per 10 bits (10^-1) transmitted.
        
        oneInHundred(3) : insert bit errors at the rate of 1 bit
        error per 100 bits (10^-2) transmitted.
        
        oneInThousand(4): insert bit errors at the rate of 1 bit
        error per 1000 bits (10^-3) transmitted.
        
        oneIn10Thousand(5): insert bit errors at the rate of 1 bit
        error per 10000 (10^-4) bits transmitted.
        
        oneInHundredThousand(6): insert bit errors at the rate of 1 bit
        error per 100000 bits (10^-5) transmitted.
        
        oneInMillion(7): insert bit errors at the rate of 1 bit
        error per 1000000 bits (10^-6) transmitted.
        
        oneInTenMillion(8): insert bit errors at the rate of 1 bit
        error per 10,000,000 (10^-7)bits transmitted. "
    DEFVAL { noError }
    ::= { cbConfEntry 8 }

cbDuration OBJECT-TYPE
    SYNTAX INTEGER(1..86400)
--  Units
--    seconds
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object specifies the duration for which BERT is
        to be run. "
    ::= { cbConfEntry 9 }

cbOperStatus OBJECT-TYPE
    SYNTAX INTEGER {
        success(1),
        inSync(2),
        outOfSync(3),
        inLoopback(4),
        clockOutOfSync(5),
        bertFailed(6)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object shows the status of BERT in the shelf.
        The values for this object are valid only when
        cbRowStatus contains active(1).
        
        Possible values for this object:
        
        success(1)   : BERT is successfully completed.
        
        inSync(2)    : BERT is activated and receive side is
        synchronized with the incoming sequence of patterns.
        
        outOfSync(3) : BERT is activated, but receive is out 
        of synchronization with the incoming 
        sequence.  Criteria for out of 
        synchronization state is defined in 
        ITU document O.150.
        
        inLoopback(4): loopback establish or de-establish in
        progress.  The type of loopback can be 
        determined by cbLoopback.
        
        clockOutOfSync(5): When the send and receive clocks are not
        synchronized.
        
        bertFailed(6): BERT failed.  The cbFailedReason object
        contains the reason for the failure."
    ::= { cbConfEntry 10 }

cbFailedReason OBJECT-TYPE
    SYNTAX INTEGER {
        aborted(1),
        loopbackFailed(2),
        interfaceStateChange(3),
        processorModuleStateChange(4),
        unknown(5)
        }
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object contains the reason for the BERT failure.
        This object gives the additional information when
        cbOperStatus is set to bertFailed(6).
        
        The possible values are :
        
        aborted(1)              : BERT test is completed as
        a result of a user request.
        
        loopbackFailed(2)       :  loop up operation failed.
        
        interfaceStateChange(3) :  interface State changed due to
        module state change.
        
         processorModuleStateChange(4) : Processor module 
        changed state.
        
        unknown(5) : Failure Reason Unknown. "
    ::= { cbConfEntry 11 }

cbStartDateAndTime OBJECT-TYPE
    SYNTAX DateAndTime
--    Rsyntax OCTET STRING(SIZE(8|11))
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The Date and Time when the last BERT testing is started
        on the interface.  This object is valid only when 
         cbRowStatus is active(1). "
    ::= { cbConfEntry 12 }

cbDS0DPCodeIteration OBJECT-TYPE
    SYNTAX INTEGER(1..32)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "Valid only with cbLoopbackCode = latchDS0Drop. 
        DSP-OP devices can be cross connected in the central
        office in a daisy chain.  By this, the user has
        capability to put any of the devices in the chain in
        loopback mode.  A value of 1 results in no iteration
        and will cause the very first device in chain to go 
        into loop back.  A value of 2 will result into one
        iteration and will cause the second device to
        go into loopback and so on.  This tests the channels
        across multiple devices connected in a chain. "
    ::= { cbConfEntry 13 }

cbRowStatus OBJECT-TYPE
    SYNTAX RowStatus
--    Rsyntax INTEGER {
--        active(1),
--        notInService(2),
--        notReady(3),
--        createAndGo(4),
--        createAndWait(5),
--        destroy(6)
--        }
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "The status of this conceptual row.  This object is used for
         create or modify or deleting an entry from this table.
        
         To create a row in this table, a manager must set this
         object to either createAndGo(4) or createAndWait(5).
        
        Until instances of all corresponding columns are appropriately
        configured, the value of the corresponding instance of the
        cbRowStatus is notReady(3).
        
        An entry can be deleted by setting this object to destroy(6).
        
        STARTING BERT: Two approaches:
        
         1. set this object to createAndGo(4) with all the mandatory
        objects set to valid values.
        
         2. Set this object to createAndWait(4).  Reading this object
         at this stage returns notReady(3).
        
         Set all the other required objects with valid values.
        
        Set this object to active(1).
        
        STOP/RESTART BERT:
        
        The BERT can be stopped by setting this object to 
         notInService(2).  After setting it to notInService(2),
         some parameters can be modified and BERT can be started
        by setting this object to active(1).
        
        STOP BERT:
        
        An entry can be deleted by setting this object 
        to destroy(6).
        Deleting an entry stops the BERT test. "
    ::= { cbConfEntry 14 }

cbDs0BitMap OBJECT-TYPE
    SYNTAX OCTET STRING(SIZE(1..4))
        -- BITS are:
        --   dsZero1(0)
        --   dsZero2(1)
        --   dsZero3(2)
        --   dsZero4(3)
        --   dsZero5(4)
        --   dsZero6(5)
        --   dsZero7(6)
        --   dsZero8(7)
        --   dsZero9(8)
        --   dsZero10(9)
        --   dsZero11(10)
        --   dsZero12(11)
        --   dsZero13(12)
        --   dsZero14(13)
        --   dsZero15(14)
        --   dsZero16(15)
        --   dsZero17(16)
        --   dsZero18(17)
        --   dsZero19(18)
        --   dsZero20(19)
        --   dsZero21(20)
        --   dsZero22(21)
        --   dsZero23(22)
        --   dsZero24(23)
        --   dsZero25(24)
        --   dsZero26(25)
        --   dsZero27(26)
        --   dsZero28(27)
        --   dsZero29(28)
        --   dsZero30(29)
        --   dsZero31(30)
    ACCESS read-write
    STATUS mandatory
    DESCRIPTION
        "This object is only used IF the interface type is DS1
         (ifType is 18 on ifTable).
         This object is used to indicate which DS0 is involved
         on the BERT.
         The defualt value (DEFVAL) is valid and should be used 
         for implementation purposes. But the DEFVAL is commented  
         out due to known mib compiler problems associated with  
         DEFVAL clauses in objects using BITS SYNTAX."
    ::= { cbConfEntry 15 }

cbStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF CbStatsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "This table contains BERT related real time counters.
        Counters in this table are reset to zero every time
        BERT is started on this interface. "
    ::= { ciscoBertConfig 2 }

cbStatsEntry OBJECT-TYPE
    SYNTAX CbStatsEntry
    ACCESS not-accessible
    STATUS mandatory
    DESCRIPTION
        "Any entry in BERT statistic table.  For each instances of 
        cbConfTable there will be an entry in the cbStatsTable.  The
        objects in this table are valid only if cbOperStatus is 
        inSync(2). "
    INDEX { ifIndex }
    ::= { cbStatsTable 1 }

CbStatsEntry ::= SEQUENCE {
    cbTxBitCountLower Counter,
    cbTxBitCountUpper Counter,
    cbHCTxBitCounts Counter,
    cbRxBitCountLower Counter,
    cbRxBitCountUpper Counter,
    cbHCRxBitCounts Counter,
    cbRxBitErrCountLower Counter,
    cbRxBitErrCountUpper Counter,
    cbHCRxBitErrCounts Counter,
    cbSyncLossCounts Counter,
    cbPatternLossCounts Counter,
    cbFrameLossCounts Counter,
    cbESsCounts Counter,
    cbSESsCounts Counter,
    cbEFSsCounts Counter,
    cbErrorInjectCounts Counter
    }

cbTxBitCountLower OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of bits transmitted."
    ::= { cbStatsEntry 1 }

cbTxBitCountUpper OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of times the associated cbTxBitCountLower object has
         wrapped (i.e. restarted from zero)."
    ::= { cbStatsEntry 2 }

cbHCTxBitCounts OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of bits transmitted.  This object is
         a 64-bit version of cbTxBitCounts. "
    ::= { cbStatsEntry 3 }

cbRxBitCountLower OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of bits received. "
    ::= { cbStatsEntry 4 }

cbRxBitCountUpper OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of times the associated cbRxBitCountLower counter has
         wrapped (i.e. restarted from zero)."
    ::= { cbStatsEntry 5 }

cbHCRxBitCounts OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of bits received.  This object is 
        64-bit version of cbRxBitCounts. "
    ::= { cbStatsEntry 6 }

cbRxBitErrCountLower OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The total number of bit errors detected in the received 
        pattern. "
    ::= { cbStatsEntry 7 }

cbRxBitErrCountUpper OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of times the associated cbRxBitErrCountLower counter has
         wrapped (i.e. restarted from zero)."
    ::= { cbStatsEntry 8 }

cbHCRxBitErrCounts OBJECT-TYPE
    SYNTAX --?? syntax is not convertable to SMIv1
           Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of bit errors detected in the received pattern.
        This is the 64-bit version of cbRxBitErrCounts. "
    ::= { cbStatsEntry 9 }

cbSyncLossCounts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This is the count of number of times that synchronization has 
         been lost since the BERT was started or restarted. "
    ::= { cbStatsEntry 10 }

cbPatternLossCounts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of 1 second intervals during the BER test in
         which pattern synchronization was not maintained for the
        entire second. "
    ::= { cbStatsEntry 11 }

cbFrameLossCounts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of 1 second intervals during the BER test in
        which frame synchronization was not maintained for the
        entire second. "
    ::= { cbStatsEntry 12 }

cbESsCounts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "Number of 1 second interval during the BER test that at least
         one bit error was detected in the received data pattern. "
    ::= { cbStatsEntry 13 }

cbSESsCounts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of 1 second intervals during the BER test that
         the Bit Error Rate was greater than 10^-3. "
    ::= { cbStatsEntry 14 }

cbEFSsCounts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "The number of 1 second intervals during the BER test that 
         there were not errors detected and pattern synchronization
         was maintained. "
    ::= { cbStatsEntry 15 }

cbErrorInjectCounts OBJECT-TYPE
    SYNTAX Counter
    ACCESS read-only
    STATUS mandatory
    DESCRIPTION
        "This object contains the number of times error was injected."
    ::= { cbStatsEntry 16 }

ciscoBertConfigGroup OBJECT IDENTIFIER ::= { ciscoBertMIBGroups 1 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Collection of objects related to BERT Configuration and
--    BERT status.
--  objects
--    cbTestPattern, cbUserPattern, cbBertTxPatternInv, 
--    cbBertRxPatternInv, cbSingleBitErrorInsert, 
--    cbErrorInsertionRate, cbDuration, cbOperStatus, 
--    cbFailedReason, cbStartDateAndTime, cbDS0DPCodeIteration, 
--    cbRowStatus

ciscoBertLoopbackGroup OBJECT IDENTIFIER ::= { ciscoBertMIBGroups 2 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Collection of objects related to Loopback configuration
--    for the BERT.
--  objects
--    cbLoopback, cbLoopbackCode

ciscoBertStatsGroup OBJECT IDENTIFIER ::= { ciscoBertMIBGroups 3 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Collection of objects related to BERT Statistics.
--  objects
--    cbTxBitCountLower, cbTxBitCountUpper, cbRxBitCountLower, 
--    cbRxBitCountUpper, cbRxBitErrCountLower, cbRxBitErrCountUpper, 
--    cbSyncLossCounts, cbPatternLossCounts, cbFrameLossCounts, 
--    cbESsCounts, cbSESsCounts, cbEFSsCounts, cbErrorInjectCounts

ciscoBertHCStatsGroup OBJECT IDENTIFIER ::= { ciscoBertMIBGroups 4 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    Statistics objects which can hold Counter64 value.
--  objects
--    cbHCTxBitCounts, cbHCRxBitCounts, cbHCRxBitErrCounts

ciscoBertConfigGroupDs1 OBJECT IDENTIFIER ::= { ciscoBertMIBGroups 5 }
-- OBJECT-GROUP
--  Status
--    mandatory
--  Descr
--    This group include objects only for DS1 Bert.
--  objects
--    cbDs0BitMap

ciscoBertMIBCompliance OBJECT IDENTIFIER ::= { ciscoBertMIBCompliances 1 }
-- MODULE-COMPLIANCE
--  Status
--    mandatory
--  Descr
--    The Compliance statement for cisco BERT management group.
--  Module
--    >>current<<
--   MandGroup
--    ciscoBertConfigGroup
--   MandGroup
--    ciscoBertStatsGroup
--   OptGroup
--    ciscoBertHCStatsGroup
--   OptGroup
--    ciscoBertLoopbackGroup
--   OptGroup
--    ciscoBertConfigGroupDs1


END

