-- Copyright (C) 2008, 2011 by Zhone Technologies.  All Rights Reserved.

-- ======================================================================
-- ==                                                                  ==
-- ==                    ZHN-DS0BUNDLE-MAPPING MIB                     ==
-- ==                                                                  ==
-- ==  Copyright (C) 2008, 2011 Zhone Technologies, Inc.               ==
-- ==  Confidential, Unpublished Property of Zhone Technologies.       ==
-- ==  Rights Reserved Under the Copyright Laws of the United States.  ==
-- ==                                                                  ==
-- ======================================================================
   
   
ZHNDS0BUNDLEMAPPING DEFINITIONS ::= BEGIN

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE
        FROM SNMPv2-SMI
    MODULE-COMPLIANCE, OBJECT-GROUP
        FROM SNMPv2-CONF
    DisplayString, RowStatus, TestAndIncr
         FROM SNMPv2-TC
    ifIndex, InterfaceIndex
         FROM IF-MIB
    zhoneWtn
         FROM Zhone;



zhnDs0BundleMapping MODULE-IDENTITY
    LAST-UPDATED "201109080000Z"  -- Sep 8, 2011
    ORGANIZATION "Zhone Technologies
                  MIB Working Group
                  Other information about group editing the MIB"
    CONTACT-INFO "Zhone Technologies, Inc.
                  Florida Design Center
                  8545 126th Avenue North
                  Largo, FL 33773
                  www.zhone.com

                  General Comments to: largo-mibwg-team@zhone.com

                  Editor(s)
                        Kathy Wilson"

    DESCRIPTION
        "This is the Zhone Enterprise MIB module for the Configuration 
         of DS0Bundle Channel Mappings.

         ==============================================================
         ==                                                          ==
         ==    Copyright (C) 2008, 2011 Zhone Technologies, Inc.     ==
         ==                                                          ==
         =============================================================="
        
    REVISION "201110060000Z"  -- Oct 6, 2011
    DESCRIPTION "Added "

    REVISION "201109080000Z"  -- Sep 8, 2011
    DESCRIPTION "Added conformance and compliance information."

    REVISION "200804030000Z"  -- April 3, 2008
    DESCRIPTION "Initial release."


::=  { zhoneWtn 35 } 

zhnDs0BundleMappingNotifications OBJECT IDENTIFIER ::= { zhnDs0BundleMapping 0 }
zhnDs0BundleMappingObjects       OBJECT IDENTIFIER ::= { zhnDs0BundleMapping 1 }
zhnDs0BundleMappingConformance   OBJECT IDENTIFIER ::= { zhnDs0BundleMapping 2 }


-- ***************************************************************
--    DS0 Bundle Configuration Mapping Table
-- ***************************************************************

zhnDs0BundleMappingTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF ZhnDs0BundleMappingEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "This table contains the DS0 bundle to DS1 channel 
	       timeslots mapping information."
       ::= { zhnDs0BundleMappingObjects 1 }

zhnDs0BundleMappingEntry OBJECT-TYPE
       SYNTAX  ZhnDs0BundleMappingEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "There is an row in this table for each continguous 
	       set of channels which are mapped to ds0Bundle."
       INDEX   { zhnDs0BundleName }
       ::= { zhnDs0BundleMappingTable 1 }

ZhnDs0BundleMappingEntry ::=
       SEQUENCE {
           zhnDs0BundleName                 DisplayString,
           zhnDs0BundleStartInterfaceName   DisplayString,
           zhnDs0BundleEndInterfaceName     DisplayString,
           zhnDs0BundleMappingRowStatus     RowStatus
       }

zhnDs0BundleName OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..255))
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
               "The name of the bundle which the channels will be   
		mapped to."
       ::= { zhnDs0BundleMappingEntry 1 }

zhnDs0BundleStartInterfaceName OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..255))
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "When configuring bundles, this object indicates the 
	        interface name of the starting ds0 channel assigned to
		the bundle."
       ::= { zhnDs0BundleMappingEntry 2 }

zhnDs0BundleEndInterfaceName OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..255))
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
               "When configuring bundles, this object indicates the 
	        interface name of the ending ds0 channel assigned to
		the bundle."
       ::= { zhnDs0BundleMappingEntry 3 }

zhnDs0BundleMappingRowStatus OBJECT-TYPE
       SYNTAX  RowStatus
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
               "This object is used to create and delete rows in
               this table."
       ::= { zhnDs0BundleMappingEntry 4 }


-- ***************************************************************
--    DS0 Channel Mapping Table
-- ***************************************************************

zhnDs0ChannelMappingTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF ZhnDs0ChannelMappingEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "This table contains the DS1 channel timeslot mapping to 
	       DS0 bundle mapping information."
       ::= { zhnDs0BundleMappingObjects 2 }

zhnDs0ChannelMappingEntry OBJECT-TYPE
       SYNTAX  ZhnDs0ChannelMappingEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "There is an row in this table for each T1/E1 port."
       INDEX   { zhnDs0ChannelNumber, zhnDs0ChannelDs1PortName }
       ::= { zhnDs0ChannelMappingTable 1 }

ZhnDs0ChannelMappingEntry ::=
       SEQUENCE {
           zhnDs0ChannelNumber               INTEGER,
           zhnDs0ChannelDs1PortName          DisplayString,
           zhnDs0ChannelMappingBundleName    DisplayString,
           zhnDs0ChannelMappingRowStatus     RowStatus
       }

zhnDs0ChannelNumber OBJECT-TYPE
       SYNTAX  INTEGER(0..31)
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "This object indicates the channel number of the ds0."
       ::= { zhnDs0ChannelMappingEntry 1 }

zhnDs0ChannelDs1PortName OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..255))
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "The name of the DS1/E1 interface for the channel."
       ::= { zhnDs0ChannelMappingEntry 2 }

zhnDs0ChannelMappingBundleName OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..255))
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
               "The name of the DS0 Bundle if the channel is assigned 
                to a bundle."
       ::= { zhnDs0ChannelMappingEntry 3 }

zhnDs0ChannelMappingRowStatus OBJECT-TYPE
       SYNTAX  RowStatus
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
               "This object is used to create and delete rows in
               this table."
       ::= { zhnDs0ChannelMappingEntry 4 }


-- DS0 ifIndex scalars

zhnDs0IfIndex  OBJECT-TYPE
     SYNTAX        InterfaceIndex
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
          "DS0 ifIndex for indexing into the standard DS0 and DS0 Bundle MIBs.
	   This object is set to zero for devices that do not instantiate an
	   interface for each DS0 supported."
       ::= { zhnDs0BundleMappingObjects 3 }

zhnDs1IfIndex  OBJECT-TYPE
     SYNTAX        InterfaceIndex
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
          "DS1 ifIndex for indexing into the standard DS0 and DS0 Bundle MIBs.
	   This object is set to zero for devices that do not instantiate an
	   interface for each DS0 supported."
       ::= { zhnDs0BundleMappingObjects 4 }



-- ***************************************************************
--    DS0 Bundle Configuration Information Table
-- ***************************************************************

zhnDs0BundleConfigTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF ZhnDs0BundleConfigEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "This table contains the DS0 bundle configuration
	       information. It contains the same information as the
	       standard DS0Bundle Mib, except that it maps bundle
	       indices to bundle names."
       ::= { zhnDs0BundleMappingObjects 5 }

zhnDs0BundleConfigEntry OBJECT-TYPE
       SYNTAX  ZhnDs0BundleConfigEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "There is an row in this table for each ds0Bundle
	       created."
       INDEX   { zhnDs0BundleConfigIndex }
       ::= { zhnDs0BundleConfigTable 1 }

ZhnDs0BundleConfigEntry ::=
       SEQUENCE {
           zhnDs0BundleConfigIndex          INTEGER,
           zhnDs0BundleConfigName           DisplayString,
           zhnDs0BundleConfigCircuitId      DisplayString
       }

zhnDs0BundleConfigIndex OBJECT-TYPE
       SYNTAX  INTEGER (0..2147483647)
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "A unique identifier for a ds0Bundle.  This is not
	        the same value as ifIndex."
       ::= { zhnDs0BundleConfigEntry 1 }

zhnDs0BundleConfigName OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..255))
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The name of the bundle for the specified bundle index."
       ::= { zhnDs0BundleConfigEntry 2 }

zhnDs0BundleConfigCircuitId OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..255))
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The dsx0BundleCircuitIdentifier in the DS0Bundle.mib.
	        It is included in this mib for convenience."
       ::= { zhnDs0BundleConfigEntry 3 }



-- ***************************************************************
--    DS0 Bundle Timeslot Table
-- ***************************************************************

zhnDs0TimeslotTable OBJECT-TYPE
       SYNTAX  SEQUENCE OF ZhnDs0BundleTimeslotEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "This table contains the DS0 bundle to DSX1 
	       timeslots mapping information. This table differs
	       from the zhnDs0BundleMappingTable in that it
	       is a three-dimensional table that can be indexed
	       by the Bundle Index, DS1 Line Index and Starting 
	       Timeslot. Thus supports devices that can create and
	       assign multiple bundles to a single DSX1 interface."
       ::= { zhnDs0BundleMappingObjects 6 }

zhnDs0TimeslotEntry OBJECT-TYPE
       SYNTAX  ZhnDs0TimeslotEntry
       MAX-ACCESS  not-accessible
       STATUS  current
       DESCRIPTION
               "There is an row in this table for each continguous 
	       set of timeslots of a DSX1 interface which are mapped 
	       to a single ds0Bundle."
       INDEX   { zhnDs0TimeslotBundleIndex, zhnDs0TimeslotDsx1LineIndex, zhnDs0TimeslotStartIndex }
       ::= { zhnDs0TimeslotTable 1 }

ZhnDs0TimeslotEntry ::=
       SEQUENCE {
           zhnDs0TimeslotBundleIndex           INTEGER,
           zhnDs0TimeslotBundleName            DisplayString,
           zhnDs0TimeslotDsx1LineIndex         INTEGER, 
           zhnDs0TimeslotStartIndex            INTEGER,
           zhnDs0TimeslotStartName             DisplayString,
           zhnDs0TimeslotEndIndex              INTEGER, 
           zhnDs0TimeslotEndName               DisplayString,
           zhnDs0TimeslotMappingRowStatus      RowStatus
       }

zhnDs0TimeslotBundleIndex OBJECT-TYPE
       SYNTAX  INTEGER
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The bundle index to which timeslots are mapped."
       ::= { zhnDs0TimeslotEntry 1 }

zhnDs0TimeslotBundleName OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..32))
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The name of the bundle to which timeslots are mapped."
       ::= { zhnDs0TimeslotEntry 2 }

zhnDs0TimeslotDsx1LineIndex OBJECT-TYPE
       SYNTAX  INTEGER
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The DSX1 line index to which timeslots are mapped."
       ::= { zhnDs0TimeslotEntry 3 }

zhnDs0TimeslotStartIndex OBJECT-TYPE
       SYNTAX  INTEGER
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The starting DS0 timeslot for the continguous set of timeslots 
	        of the DSX1 interface mapped to the bundle."
       ::= { zhnDs0TimeslotEntry 4 }

zhnDs0TimeslotStartName OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..32))
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The starting DS0 timeslot interface name for the continguous 
	        set of timeslots of the DSX1 interface mapped to the bundle."
       ::= { zhnDs0TimeslotEntry 5 }

zhnDs0TimeslotEndIndex OBJECT-TYPE
       SYNTAX  INTEGER
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The ending DS0 timeslot for the continguous set of timeslots 
	        of the DSX1 interface mapped to the bundle. When creating a 
		row in the zhnDs0TimeslotTable, the ending DS0 timeslot 
		index is optional. If not provided, the ending index is assumed 
		to be the starting index."
       ::= { zhnDs0TimeslotEntry 6 }

zhnDs0TimeslotEndName OBJECT-TYPE
       SYNTAX  DisplayString (SIZE (0..32))
       MAX-ACCESS  read-only
       STATUS  current
       DESCRIPTION
               "The ending DS0 timeslot interface name for the continguous 
	        set of timeslots of the DSX1 interface mapped to the bundle."
       ::= { zhnDs0TimeslotEntry 7 }

zhnDs0TimeslotMappingRowStatus OBJECT-TYPE
       SYNTAX  RowStatus
       MAX-ACCESS  read-create
       STATUS  current
       DESCRIPTION
               "This object is used to create and delete rows in
               this table."
       ::= { zhnDs0TimeslotEntry 8 }




-- ****************************************************************************
--
-- Conformance Information
--
zhnDs0BundleMappingGroups OBJECT IDENTIFIER ::= { zhnDs0BundleMappingConformance 1}
zhnDs0BundleMappingCompliances OBJECT IDENTIFIER ::= { zhnDs0BundleMappingConformance 2}
 
--
-- Compliance Statements
--

zhnDs0BundleMappingCompliance  MODULE-COMPLIANCE
  STATUS        current
  DESCRIPTION
        "The Compliance statement for SNMP entities which
         manage the Zhone CPE DS0 Bundles.
	 "
  MODULE  -- this module
  MANDATORY-GROUPS {
         zhnBundleMappingGroup, zhnChannelMappingGroup
  }

  ::= {zhnDs0BundleMappingCompliances 1}


--
-- Units of Conformance
--

zhnBundleMappingGroup OBJECT-GROUP
   OBJECTS {
           zhnDs0BundleEndInterfaceName,
           zhnDs0BundleMappingRowStatus
   }
   STATUS current
   DESCRIPTION
      "A collection of Zhone DS0 Bundle table objects that describe the 
       bundles configured for the device."
   ::= { zhnDs0BundleMappingGroups 1}


zhnChannelMappingGroup OBJECT-GROUP
   OBJECTS {
           zhnDs0ChannelMappingBundleName,
           zhnDs0ChannelMappingRowStatus
   }
   STATUS current
   DESCRIPTION
      "A collection of Zhone DS0 Channel Mapping table objects that identify
       the channels mapped to a bundle for a particular DS1 interface."
   ::= { zhnDs0BundleMappingGroups 2}

zhnBundleConfigGroup OBJECT-GROUP
   OBJECTS {
           zhnDs0BundleConfigIndex,
           zhnDs0BundleConfigName,
           zhnDs0BundleConfigCircuitId
   }
   STATUS current
   DESCRIPTION
      "A collection of Zhone DS0 Bundle table objects that identify
       the bundles configured for the device."
   ::= { zhnDs0BundleMappingGroups 3}


zhnBundleConfigGroup OBJECT-GROUP
   OBJECTS {
           zhnDs0TimeslotBundleName,
           zhnDs0TimeslotStartName,
           zhnDs0TimeslotEndIndex, 
           zhnDs0TimeslotEndName,
           zhnDs0TimeslotMappingRowStatus
   }
   STATUS current
   DESCRIPTION
      "A collection of Zhone DS0 Bundle Timeslot Mapping table objects that 
       map a set of contiguous DS0 timeslots to a bundle."
   ::= { zhnDs0BundleMappingGroups 4}


END

