-- *****************************************************************
-- CISCO-WAN-CES-PORT-MIB: CES(Circuit Emulation Service )
--  Port MIB for Circuit Eumation Service Functionality
--  in MGX products.
--
-- November 2002, Subra Hegde
--
-- Copyright (c) 2002 by cisco Systems, Inc.
-- All rights reserved.
-- *****************************************************************

CISCO-WAN-CES-PORT-MIB DEFINITIONS ::= BEGIN
IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE, 
        Integer32       FROM    SNMPv2-SMI
        MODULE-COMPLIANCE,
        OBJECT-GROUP      FROM    SNMPv2-CONF
        circuitEmulation  FROM    BASIS-MIB
        ciscoWan          FROM    CISCOWAN-SMI;

ciscoWanCesPortMIB MODULE-IDENTITY
        LAST-UPDATED    "200211130000Z"
        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-wanatm@cisco.com"
    DESCRIPTION
        "The MIB module to configure the Circuit Emulation
        Service(CES) ports."
 
    REVISION    "200211130000Z"
    DESCRIPTION
        "Initial version of the MIB.

        The content of this MIB was originally available
        in CISCO-WAN-AXIPOP-MIB defined using SMIv1.
        The applicable objects from CISCO-WAN-AXIPOP-MIB
        are defined using SMIv2 in this MIB. Also the
        descriptions of some of the objects have been 
        modified."
    ::= { ciscoWan 40 }


cesmPort                  OBJECT IDENTIFIER ::= { circuitEmulation 1 }  
cesmPortCnfGrp            OBJECT IDENTIFIER ::= { cesmPort 1 }

--
-- cesmPortCnfGrpTable : CES Port Configuration table
--

cesmPortCnfGrpTable	OBJECT-TYPE
	SYNTAX	   SEQUENCE OF CesmPortCnfGrpEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
	    "The config table is for CES logical port.
            This is used for configuring the port type 
            and number of DS0s and number of Subcircuits
            in DS0 on the CES port."
	::= { cesmPortCnfGrp 1 }

cesmPortCnfGrpEntry	OBJECT-TYPE
	SYNTAX	   CesmPortCnfGrpEntry
	MAX-ACCESS not-accessible
	STATUS	   current
	DESCRIPTION
            "An entry for each logical port. Each entry
            contains information on the port type, DS0s
            configured and number of DS0 subcircuits."
	INDEX	{ cesPortNum }
    ::= { cesmPortCnfGrpTable 1 }

CesmPortCnfGrpEntry ::=
	SEQUENCE {
            cesPortNum 	            Integer32,
   	    cesPortRowStatus        INTEGER,
	    cesPortLineNum 	    Integer32,
	    cesPortType             INTEGER,
	    cesPortDs0ConfigBitMap  Integer32,
            cesPortNumOfDs0Slot     Integer32,
      	    cesPortNumOfSCIPerDS0   Integer32,
            cesPortSpeed            Integer32,
	    cesPortState            INTEGER,
	    cesPortBERTEnable       INTEGER
	
         }

cesPortNum	OBJECT-TYPE
	SYNTAX	   Integer32 (1..2048) 
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	    "This object identifies the logical port number.
            The range support depends upon the type of the
            service module(Card).
              - 8 port T1 Card, range is 1..192.
              - 8 port E1 Card, range is 1..248.
              - 1 port T3 Card, range is 1..1.

             Range is caclulated as follows. This can be
             used for calculating the range for other type
             of cards.
                For T1 Card: (24 * Number of T1 Ports)
                For E1 Card: (31 * Number of E1 Ports)."
	::= { cesmPortCnfGrpEntry 1}

cesPortRowStatus  OBJECT-TYPE		
	SYNTAX	INTEGER {
		add (1),
		del (2),
		mod (3)
		}
	MAX-ACCESS read-write
        STATUS     current
        DESCRIPTION
            "This variable enables or modifies the port
		1 - add : Add a logical port
		2 - del : Delete a logical port
		3 - mod : Modify a logical port."
        ::= { cesmPortCnfGrpEntry 2 }

cesPortLineNum	OBJECT-TYPE
	SYNTAX	   Integer32 (1..128) 
	MAX-ACCESS read-write
	STATUS	   current
	DESCRIPTION
  	    "This object represents the line number to 
            which this port is associated.
            The supported range depends upon the type of 
            service module(card)."
	::= { cesmPortCnfGrpEntry 3 }

cesPortType	OBJECT-TYPE
	SYNTAX	INTEGER {
                    structured            (1),
                    unstructured          (2),
                    framingOnVcDisconnect (3),
                    strau                 (4)
            }
	MAX-ACCESS read-write
	STATUS	   current
	DESCRIPTION
	    "This object represents port type whether it is
            carrying  subrate circuits.

            structured    : This is  for SDT(Structured Data Transfer).
                            This type of port supports following
                            features: 
                             * intended to emulate point-to-point
                              fractional DS1 or E1 circuit.
                             * Synchronous timing
                             * Fractional(Nx64 Kbps)DS1/E1 service
                               (Contiguous timeslots only).You can
                               map an Nx64 Kbps channel to any Virtual
                               Channel(VC).

            unstructured  : This is for unstructured data transfer(UDT)
                           All the DS0 time slots are allocated.
                           This type of port supports following
                           features: 
                            * intended to emulate point-to-point
                              DS1 or E1 circuit.
                            * Synchronous and Asynchronous timing

            framingOnVcDisconnect : similar to unstructured during normal
                                    operation. In case of channel failure
                                    line data will be looped back towards
                                    line.
            strau          : only one DS0 time slot is allocated.

            The value strau(4) value is not supported in 
            CESM-8T1/E1 or CESM-T3E3.
            CESM-T3E3 card supports value unstructured(2) only."
	 ::= { cesmPortCnfGrpEntry 4 }

cesPortDs0ConfigBitMap	OBJECT-TYPE
	SYNTAX	   Integer32 (0..'ffffff'h) 
	MAX-ACCESS read-write
	STATUS     current
	DESCRIPTION
	    "This represents bit map of DS0s for a line which
	    are used to form this logical port. Bit 0 represents 
            DS0-1."
	::= { cesmPortCnfGrpEntry 5 }

cesPortNumOfDs0Slot 	OBJECT-TYPE
	SYNTAX	   Integer32 (1..32) 
	MAX-ACCESS read-write
	STATUS	   current
	DESCRIPTION
	    "This represents  number of DS0 time slots 
            configured to this Port. If the cesPortType is
            strau(4), then this can not have more than 1 DS0 time slot."
	::= { cesmPortCnfGrpEntry 6 }

cesPortNumOfSCIPerDS0 	OBJECT-TYPE
	SYNTAX	   Integer32 (1..8) 
	MAX-ACCESS read-write
	STATUS	   current
	DESCRIPTION
            "This object represents  number of subcircuit in 
            the DS0 time slot.
	    This is applicable only when cesPortType is
            strau(4).

              8 = there are 8 no .of 8kbps links  (1 bit)
              4 = there are 4 no .of 16kbps links (2 bit)
              2 = there are 2 no .of 32kbps links (4 bit)
            Currently not supported in CESM-8."
        DEFVAL { 4 }
        ::= { cesmPortCnfGrpEntry 7 }

cesPortSpeed       OBJECT-TYPE
        SYNTAX     Integer32 (0..44736)
        UNITS      "kbps"
    	MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "This object identifies the configured speed 
            of port.
                 Max speed for T1 = 1544
                 Max speed for E1 = 2038
                 Max speed for T3 = 44736
                 Max speed for E3 = 34368."
        ::= { cesmPortCnfGrpEntry 8 }

cesPortState OBJECT-TYPE
    SYNTAX  INTEGER {
                notConfigured         (1),
                active                (2),
                remoteLoopback        (3),
                failedDueToLine       (4),
                failedDueToSignalling (5),
                inactive              (6),
                inBert                (7),
                farEndRemoteLoopback  (8)
           }
    MAX-ACCESS read-only
    STATUS     current
    DESCRIPTION
        "This variable indicates the state of the
        logical port. 
        The possible values are :
          notConfigured  (1) : Port is not configured
          active         (2) : Port is in active state
          remoteLoopback (3) : Remote Loopback is set
          failedDueToLine(4) : Port failed due to some failure in 
                               physical line
          failedDueToSignalling(5) : Port failed due to some Signalling
                                    issues. 
          inactive       (6) : Port is not active
          inBert         (7) : Bit Error Rate Test(BERT) in progress.
          farEndRemoteLoopback(8): Far End is in loopback."
    DEFVAL { notConfigured }
    ::= { cesmPortCnfGrpEntry 9 }
 
cesPortBERTEnable	   OBJECT-TYPE
    SYNTAX  INTEGER {
                    disable (1),
                    enable  (2)
                        }
    MAX-ACCESS read-write
    STATUS     current
    DESCRIPTION
        "This variable enables/disables BERT.
        This object is not supported in CESM-T3E3."
    DEFVAL { disable }
    ::= { cesmPortCnfGrpEntry 10 }
 
	
--
--	Next available port
--

cesPortNextAvailable 	OBJECT-TYPE
	SYNTAX	   Integer32 (0..2048) 
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
	    "This variable contains the next UNUSED logical port number
	    of the possible 32 DS0s * n ports.  
	    This number can be used in channel config table, the 
	    cesportNextAvailable gets updated if the number gets
	    used to create a logical port.  
	    A '0' indicates that no more ports are available."
	::= { cesmPortCnfGrp 2 }

--- This will indicate the DS0 slots used by the ports
--- that belongs the particular line.
	

cesPortsUsedLine1 	OBJECT-TYPE
	SYNTAX	   Integer32 (0..'ffffff'h) 
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
           "Each bits set represents a DS0 that is used by all the
	   logical ports defined so far for that DS1, the most significant
	   byte is invalid for DS1
	   This is for line 1"
	::= { cesmPortCnfGrp 3 }

cesPortsUsedLine2 	OBJECT-TYPE
	SYNTAX	   Integer32 (0..'ffffff'h) 
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
            "Each bits set represents a DS0 that is used by all the
	    logical ports defined so far for that DS1, the most significant
	    byte is invalid for DS1
	    This is for line 2."
	::= { cesmPortCnfGrp 4 }

cesPortsUsedLine3 	OBJECT-TYPE
	SYNTAX	   Integer32 (0..'ffffff'h) 
	MAX-ACCESS read-only
	STATUS 	   current
	DESCRIPTION
            "Each bits set represents a DS0 that is used by all the
	    logical ports defined so far for that DS1, the most significant
	    byte is invalid for DS1
	    This is for line 3"
	::= { cesmPortCnfGrp 5 }

cesPortsUsedLine4 	OBJECT-TYPE
	SYNTAX	   Integer32 (0..'ffffff'h) 
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
        "Each bits set represents a DS0 that is used by all the
        logical ports defined so far for that DS1, the most significant
        byte is invalid for DS1.
        This is for line 4"
	::= { cesmPortCnfGrp 6 }

cesPortsUsedLine5 	OBJECT-TYPE
	SYNTAX	   Integer32 (0..'ffffff'h) 
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
            "Each bits set represents a DS0 that is used by all the
	    logical ports defined so far for that DS1, the most significant
	    byte is invalid for DS1
            This is for line 5"
	::= { cesmPortCnfGrp 7 }

cesPortsUsedLine6 	OBJECT-TYPE
	SYNTAX	   Integer32 (0..'ffffff'h) 
	MAX-ACCESS read-only
	STATUS     current
	DESCRIPTION
            "Each bits set represents a DS0 that is used by all the
	    logical ports defined so far for that DS1, the most significant
	    byte is invalid for DS1
	    This is for line 6"
	::= { cesmPortCnfGrp 8 }

cesPortsUsedLine7 	OBJECT-TYPE
	SYNTAX	   Integer32 (0..'ffffff'h) 
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
            "Each bits set represents a DS0 that is used by all the
	    logical ports defined so far for that DS1, the most significant
	    byte is invalid for DS1
	    This is for line 7"
	::= { cesmPortCnfGrp 9 }

cesPortsUsedLine8 	OBJECT-TYPE
	SYNTAX	   Integer32 (0..'ffffff'h) 
	MAX-ACCESS read-only
	STATUS	   current
	DESCRIPTION
	    "Each bits set represents a DS0 that is used by all the
	    logical ports defined so far for that DS1, the most significant
	    byte is invalid for DS1
	    This is for line 8"
	::= { cesmPortCnfGrp 10 }


-- conformance information

ciscoWanCesPortMIBConformance  OBJECT IDENTIFIER ::= { ciscoWanCesPortMIB 2 }

ciscoWanCesPortMIBGroups       OBJECT IDENTIFIER ::= 
                              { ciscoWanCesPortMIBConformance 1 }

ciscoWanCesPortMIBCompliances  OBJECT IDENTIFIER ::= 
                              { ciscoWanCesPortMIBConformance 2 }

-- compliance statements

ciscoWanCesPortCompliance MODULE-COMPLIANCE
    STATUS  current
    DESCRIPTION
        "The compliance statement for objects related
        to CES Logical Ports."
    MODULE  -- this module
        MANDATORY-GROUPS {
            ciscoWanCesPortConfGroup,
            ciscoWanCesPortDs0InDs1Group
        }

    GROUP ciscoWanCesPortsUsedGroup
    DESCRIPTION
        "This group is mandatory in the systems 
        where it is required to find the next
        logical port available to configure."
    ::= { ciscoWanCesPortMIBCompliances 1 }

ciscoWanCesPortsUsedGroup OBJECT-GROUP
    OBJECTS {
        cesPortNextAvailable
    }
    STATUS current
    DESCRIPTION 
        "The collection of objects which are 
        applicable for general information about
        logical ports."
    ::= { ciscoWanCesPortMIBGroups 1 }

ciscoWanCesPortConfGroup OBJECT-GROUP
    OBJECTS {
        cesPortNum,
   	cesPortRowStatus,
	cesPortLineNum,
	cesPortType,
	cesPortDs0ConfigBitMap,
        cesPortNumOfDs0Slot,
      	cesPortNumOfSCIPerDS0,
        cesPortSpeed,
	cesPortState,
	cesPortBERTEnable
      }
      STATUS current
      DESCRIPTION
          "The collection of objects which are used to represent
          Circuit Emulation Service Port information."
      ::= { ciscoWanCesPortMIBGroups 2 }
  
ciscoWanCesPortDs0InDs1Group OBJECT-GROUP
    OBJECTS {
        cesPortsUsedLine1,
        cesPortsUsedLine2,
        cesPortsUsedLine3,
        cesPortsUsedLine4,
        cesPortsUsedLine5,
        cesPortsUsedLine6,
        cesPortsUsedLine7,
        cesPortsUsedLine8
    }
    STATUS current
    DESCRIPTION 
        "The collection of objects related to information
        on DS0 time slots used in each DS1 line."
    ::= { ciscoWanCesPortMIBGroups 3 }

END
