-- *****************************************************************
-- raisecom-aps-mib.mib:  Raisecom APS MIB file
--
-- 6 2011, zhangfeng
--
-- Copyright (c) 1994-2009, 2009 by Raisecom, Inc.					
-- All rights reserved.
-- 
-- *****************************************************************
RAISECOM-APS-MIB  DEFINITIONS ::= BEGIN

IMPORTS
	   raisecomAgent
		   FROM RAISECOM-BASE-MIB 
	   MODULE-IDENTITY, OBJECT-TYPE, Integer32,
       Unsigned32, Gauge32, NOTIFICATION-TYPE
           FROM SNMPv2-SMI                  -- RFC2578
 	   RowStatus,TruthValue
           FROM SNMPv2-TC                   -- RFC2579
       EnableVar,Vlanset
           FROM SWITCH-TC;  
                 
	raisecomAps MODULE-IDENTITY
		LAST-UPDATED    "201106020000Z"
		ORGANIZATION    "Raisecom, Inc."
		CONTACT-INFO
                "       Raise Systems
                        
                Postal: Beijing,
                        China

                   Tel: 86-010-82884499

                E-mail: zhangfeng_rj2@raisecom.com"
        DESCRIPTION
                "description of aps module managed object."
                ::= { raisecomAgent 37} 
  
  raisecomApsBaseGroup            OBJECT IDENTIFIER ::= { raisecomAps 1 }
  raisecomApsAssociationGroup     OBJECT IDENTIFIER ::= { raisecomAps 2 }
  raisecomApsFailureDetGroup	  OBJECT IDENTIFIER ::= { raisecomAps 3 }
  raisecomApsNotifications        OBJECT IDENTIFIER ::= { raisecomAps 4 }
      
  --------------------- raisecomApsBaseGroup--------------------------
  --------------------------------------------------------------------
  ----------------------raisecomApsTrapEnable-------------------------
  raisecomApsTrapEnable        OBJECT-TYPE
	SYNTAX      EnableVar
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
            "Indicates whether traps for aps
 	         should be generated or not." 
    DEFVAL { disable }
    ::= { raisecomApsBaseGroup 1 }

  --------------------- raisecomApsCfgTable---------------------------
  raisecomApsCfgTable OBJECT-TYPE
		SYNTAX SEQUENCE OF RaisecomApsCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of aps configuration and associated properties."
        ::= { raisecomApsBaseGroup 2}

  raisecomApsCfgEntry OBJECT-TYPE
        SYNTAX RaisecomApsCfgEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for aps configuration and associated properties."
        INDEX { raisecomApsId }
        ::= { raisecomApsCfgTable 1 }

  RaisecomApsCfgEntry ::= SEQUENCE {  
		raisecomApsId                                      Unsigned32,
		raisecomApsName		                               OCTET STRING(SIZE (1..32)),
		raisecomApsType                                    INTEGER,
		raisecomApsWorkingPort                             Integer32,
		raisecomApsWorkingBlockVlanlist                    Vlanset,
		raisecomApsProtectionPort                          Integer32,     
		raisecomApsProtectionBlockVlanlist                 Vlanset,
		raisecomApsWorkingIngressAssociation               OCTET STRING(SIZE (1..32)),
		raisecomApsWorkingEgressAssociation                OCTET STRING(SIZE (1..32)),
		raisecomApsProtectionIngressAssociation            OCTET STRING(SIZE (1..32)),
		raisecomApsProtectionEgressAssociation             OCTET STRING(SIZE (1..32)),
		raisecomApsProtectionTypeAdmin                     Unsigned32,
		raisecomApsProtectionTypeOper                      Unsigned32,
		raisecomApsForceSwitch                             TruthValue,
 		raisecomApsManualSwitch                            TruthValue,
		raisecomApsManualSwitchtoWork                      TruthValue,
		raisecomApsLockout                                 TruthValue,
		raisecomApsClear                                   TruthValue,
		raisecomApsWtrTimer                                Unsigned32,
		raisecomApsHoldOffTimer                            Unsigned32,
		raisecomApsProtocolVlan                            INTEGER,
		raisecomApsStatus                                  INTEGER,
		raisecomApsDfopStatus                              INTEGER,
		raisecomApsRowStatus                               RowStatus
        } 

    raisecomApsId OBJECT-TYPE
        SYNTAX  Unsigned32(1..64)
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "An index uniquely identifies a aps. This value can't be modified after created."
        ::= { raisecomApsCfgEntry 1 }
   
    raisecomApsName OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE (1..32))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Name for the associtaed APS."  
        DEFVAL { 1 }
        ::= { raisecomApsCfgEntry 2 }

	raisecomApsType OBJECT-TYPE
		SYNTAX  INTEGER{
						ether-aps(1),
						mpls-aps(2)
					   }
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
            "The configured aps type. APS has two types, one for ehternet aps, and the other for mpls aps."  
        ::= { raisecomApsCfgEntry 3 }
        
    raisecomApsWorkingPort OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The port of working transport entity. This oid is used for ethernet aps only."
        ::= { raisecomApsCfgEntry 4 }
       
    raisecomApsWorkingBlockVlanlist OBJECT-TYPE
        SYNTAX      Vlanset  
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "The block Vlan list for working entity. This oid is used for ethernet aps only."
        ::= { raisecomApsCfgEntry 5 }

    raisecomApsProtectionPort OBJECT-TYPE
        SYNTAX  Integer32
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The port of protection.transport entity. This oid is used for ethernet aps only."
        ::= { raisecomApsCfgEntry 6 }
        
    raisecomApsProtectionBlockVlanlist OBJECT-TYPE
        SYNTAX      Vlanset 
        MAX-ACCESS  read-create
        STATUS      current
        DESCRIPTION
           "The block Vlan list for protection entity. This oid is used for ethernet aps only."
        ::= { raisecomApsCfgEntry 7 }

    raisecomApsWorkingIngressAssociation OBJECT-TYPE
    	SYNTAX OCTET STRING(SIZE(1..32))
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
           "The aps association name of working transport entity in the ingress direction. This oid is used for mpls aps only."
        ::= { raisecomApsCfgEntry 8 }

	raisecomApsWorkingEgressAssociation OBJECT-TYPE
    	SYNTAX OCTET STRING(SIZE(1..32))
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
           "The aps association name of working transport entity in the egress direction. This oid is used for mpls aps only."
        ::= { raisecomApsCfgEntry 9 }

	raisecomApsProtectionIngressAssociation OBJECT-TYPE
    	SYNTAX OCTET STRING(SIZE(1..32))
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
           "The aps association name of protection transport entity in the ingress direction. This oid is used for mpls aps only."
        ::= { raisecomApsCfgEntry 10 }

	raisecomApsProtectionEgressAssociation OBJECT-TYPE
    	SYNTAX OCTET STRING(SIZE(1..32))
    	MAX-ACCESS  read-create
    	STATUS      current
    	DESCRIPTION
           "The aps association name of protection transport entity in the egress direction. This oid is used for mpls aps only."
        ::= { raisecomApsCfgEntry 11 }


    raisecomApsProtectionTypeAdmin OBJECT-TYPE
        SYNTAX Unsigned32 (0..16)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "The protection type configured locally."  
         DEFVAL{ 15 }
        ::= { raisecomApsCfgEntry 12 } 
        
    raisecomApsProtectionTypeOper OBJECT-TYPE
        SYNTAX Unsigned32 (0..16)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The protection type coordinated with the far end."
        ::= { raisecomApsCfgEntry 13} 
                                                         
    raisecomApsForceSwitch OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Forces normal traffic signal to be selected from the protection transport entity."    
        DEFVAL{ false }
        ::= { raisecomApsCfgEntry 14}   
        
    raisecomApsManualSwitch OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "In the absence of a failure of a working or protection transport entity, forces normal 
            traffic signal to be selected from the protection transport entity."    
        DEFVAL{ false }
        ::= { raisecomApsCfgEntry 15 }     
        
    raisecomApsManualSwitchtoWork OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "In the absence of a failure of a working or protection transport entity, 
            forces normal traffic signal to be selected from the working transport entity."    
        DEFVAL{ false }
        ::= { raisecomApsCfgEntry 16 }  
        
    raisecomApsLockout OBJECT-TYPE
        SYNTAX  TruthValue
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This command prevents a working signal from being selected from the protection transport 
            entity. This effectively disables the protection group."    
        DEFVAL{ false }
        ::= { raisecomApsCfgEntry 17 }
          
    raisecomApsClear OBJECT-TYPE
        SYNTAX  EnableVar
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Clears the active near end Lockout of Protection, Forced Switch, Manual Switch, 
            or WTR state."    
        DEFVAL{ disable }
        ::= { raisecomApsCfgEntry 18 }  
      
    raisecomApsWtrTimer OBJECT-TYPE
        SYNTAX Unsigned32 (1..12)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "In revertive mode of operation, to prevent frequent operation of the protection switch 
            due to an intermittent defect, a failed working transport entity must become fault-free. 
            After the failed working transport entity meets this criterion, a fixed period of time 
            shall elapse before a normal traffic signal uses it again. This period, called 
            wait-to-restore (WTR) period, may be configured by the operator in 1 minute steps 
            between 1 and 12 minutes; the default value is 5 minutes."
        DEFVAL { 5 }
        ::= { raisecomApsCfgEntry 19 }
    
     raisecomApsHoldOffTimer OBJECT-TYPE
        SYNTAX  Unsigned32(0..100)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "When a new defect or more severe defect occurs (new SF), this event will not be 
            reported immediately to protection switching if the provisioned holdoff timer 
            value is non-zero. Instead, the holdoff timer will be started. When the holdoff 
            timer expires, whether a defect still exists on the trail that started the timer
            will be checked. If one does exist, that defect will be reported to protection 
            switching. Each protection group should have a provisionable holdoff timer. The 
            suggested range of the holdoff timer is 0 to 10 seconds in steps of 100 ms with 
            an accuracy of 5 ms."
        DEFVAL { 0 }
        ::= { raisecomApsCfgEntry 20 }     
     
    raisecomApsProtocolVlan OBJECT-TYPE
        SYNTAX  INTEGER(1..4094)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "Protocol vlan for APS packet encapsulation. This oid is used for ethernet aps only"
        DEFVAL { 1 }  
        ::= { raisecomApsCfgEntry 21 }   
       
     raisecomApsStatus OBJECT-TYPE
        SYNTAX INTEGER{
						nr-w(1),
						nr-p(2),
						lo(3),
						fs(4),
						sf-w(5),
						sf-p(6),
						ms(7),
						ms-w(8),
						wtr(9),
						dnr(10)

  				      }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Aps status.The default state is No Request (Working/Active Protection/Standby)."
        DEFVAL { 1 }
        ::= { raisecomApsCfgEntry 22 }     
        
   raisecomApsDfopStatus OBJECT-TYPE
        SYNTAX INTEGER{
 					    normal(1),
						dFOP-CM(2),
						dFOP-PM(3),
						dFOP-NR(4)
  				      }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "DFOP status.When the APS protocol is running regularly, the status in normal.If 
            failure of protocol is detected, the status is dFOP-CM,dFOP-PM or dFOP-NR according to
            the cause of dFOP.The default state is normal."
        DEFVAL { 1 }
        ::= { raisecomApsCfgEntry 23 }               
              
    raisecomApsRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object is responsible for managing the creation, deletion and modification of rows,
             which support active status and CreatAndGo, destroy operation."
       ::= { raisecomApsCfgEntry 24 }           
       
  -------------------- aps Statistics Table -------------------------------
  raisecomApsStatisticsTable OBJECT-TYPE
		SYNTAX SEQUENCE OF RaisecomApsStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Statistics Table of Aps Linear Protection Switching."
        ::= { raisecomApsBaseGroup 3}

  raisecomApsStatisticsEntry OBJECT-TYPE
        SYNTAX RaisecomApsStatisticsEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for aps statistics information."
        INDEX { raisecomApsId }
        ::= { raisecomApsStatisticsTable 1 }

  RaisecomApsStatisticsEntry ::= SEQUENCE {  
		raisecomApsStatisticsSwitchCounts     Unsigned32,
		raisecomApsStatisticsApsTx            Unsigned32,
		raisecomApsStatisticsApsRx            Unsigned32,
        raisecomApsStatisticsLastStatusOccur  TimeTicks,
		raisecomApsStatisticsLastSwitchOccur  TimeTicks,
		raisecomApsStatisticsLastDfop         TimeTicks,
		raisecomApsStatisticsClear            EnableVar
        } 
        
   raisecomApsStatisticsSwitchCounts OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Counts of switching from working transport entity to protection transport entity 
            or from protection transport entity to working transport entity."
        DEFVAL { 0 }
        ::= { raisecomApsStatisticsEntry 1 }  
        
    raisecomApsStatisticsApsTx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "APS packet number sent to the far end."
        DEFVAL { 0 }
        ::= { raisecomApsStatisticsEntry 2 } 
        
	raisecomApsStatisticsApsRx OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "APS packet number received from the far end."
        DEFVAL { 0 }
        ::= { raisecomApsStatisticsEntry 3 }
        
    raisecomApsStatisticsLastStatusOccur OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Time when last status changes."
        ::= { raisecomApsStatisticsEntry 4 }
     
    raisecomApsStatisticsLastSwitchOccur OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Time when last linear protection switching happens."
        ::= { raisecomApsStatisticsEntry 5 }  
        
    raisecomApsStatisticsLastDfop OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Time when last dFOP happens."
        ::= { raisecomApsStatisticsEntry 6 }

    raisecomApsStatisticsClear OBJECT-TYPE
        SYNTAX EnableVar
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Clear statistics information of linear protection."
        DEFVAL { disable }
        ::= { raisecomApsStatisticsEntry 7 }  
        
  -------------------- aps Peer Table -------------------------------
  raisecomApsPeerTable OBJECT-TYPE
		SYNTAX SEQUENCE OF RaisecomApsPeerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "aps information of the far end."
        ::= { raisecomApsBaseGroup 4}

  raisecomApsPeerEntry OBJECT-TYPE
        SYNTAX RaisecomApsPeerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for aps information of the far end."
        INDEX { raisecomApsId }
        ::= { raisecomApsPeerTable 1 }
                                                 
  RaisecomApsPeerEntry ::= SEQUENCE {    
		raisecomApsPeerProtectionType        Unsigned32,
		raisecomApsPeerStatus                INTEGER,
		raisecomApsRequestSignal             INTEGER,
		raisecomApsBridgedSignal             INTEGER
        } 
        
   raisecomApsPeerProtectionType OBJECT-TYPE
        SYNTAX Unsigned32(0..16)  
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The protection type of the far end."
        ::= { raisecomApsPeerEntry 1 } 
   
    raisecomApsPeerStatus OBJECT-TYPE
        SYNTAX INTEGER{
 					    nr-w(1),
						nr-p(2),
						lo(3),
						fs(4),
						sf-w(5),
						sf-p(6),
						ms(7),
						ms-w(8),
						wtr(9),
						dnr(10),
						sd(11),
						exer(12),
						rr(13)
  				      }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Aps status of the far end.The default state is 
            No Request (Working/Active Protection/Standby)."
        DEFVAL { 1 }
        ::= { raisecomApsPeerEntry 2 }  
        
     raisecomApsRequestSignal OBJECT-TYPE
        SYNTAX INTEGER{
 					     null(0),
						 normal-traffic-signal(1)
		  			  }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Request Signal from received APS packet."
        ::= { raisecomApsPeerEntry 3 }  
        
    raisecomApsBridgedSignal OBJECT-TYPE
        SYNTAX INTEGER{
 					     null(0),
						 normal-traffic-signal(1)
		  			  }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Bridged Signal from received APS packet."
        ::= { raisecomApsPeerEntry 4 } 

    --------------------raisecomApsAssociationGroup------------------------------
    -----------------------------------------------------------------------------
    --------------------raisecomApsAssociationTable------------------------------
    raisecomApsAssociationTable OBJECT-TYPE
		SYNTAX SEQUENCE OF RaisecomApsAssociationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of aps association configure information. This table is used for mpls aps only."
        ::= { raisecomApsAssociationGroup 1}

  raisecomApsAssociationEntry OBJECT-TYPE
        SYNTAX RaisecomApsAssociationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for aps association configure information."
        INDEX { raisecomApsAssociationName }
        ::= { raisecomApsAssociationTable 1 }

  RaisecomApsAssociationEntry ::= SEQUENCE {  
		raisecomApsAssociationName                      OCTET STRING(SIZE (1..32)),                
		raisecomApsAssociationMdName		            OCTET STRING(SIZE (1..16)),
		raisecomApsAssociationMdLevel                   Integer32,
		raisecomApsAssociationMaName                    OCTET STRING(SIZE (1..13)),         
		raisecomApsAssociationRowStatus                            RowStatus
        } 

  raisecomApsAssociationName OBJECT-TYPE
  		SYNTAX OCTET STRING(SIZE (1..32))
  		MAX-ACCESS not-accessible
  		STATUS current
        DESCRIPTION
            "The name of aps association."
        ::= { raisecomApsAssociationEntry 1 }

  raisecomApsAssociationMdName OBJECT-TYPE
  		SYNTAX OCTET STRING(SIZE (1..16))
  		MAX-ACCESS read-create
  		STATUS current
        DESCRIPTION
            "The Maintenance Domain name. Each Maintenance Domain has unique name amongst all those used or available
            to a service provider or operator. It facilitates easy identification of administrative responsibility
            for each Maintenance Domain."
        ::= { raisecomApsAssociationEntry 2 }

  raisecomApsAssociationMdLevel OBJECT-TYPE
	SYNTAX Integer32
  		MAX-ACCESS read-create
  		STATUS current
        DESCRIPTION
            "The Maintenance Domain Level."
        ::= { raisecomApsAssociationEntry 3 }

  raisecomApsAssociationMaName OBJECT-TYPE
  	SYNTAX OCTET STRING(SIZE (1..13))
  		MAX-ACCESS read-create
  		STATUS current
        DESCRIPTION
            "The Short Maintenance Association name. The type/format of this object is determined by the 
            value of the dot1agCfmMaNetNameType object. This name must be unique within a maintenance domain."
        ::= { raisecomApsAssociationEntry 4 }

  raisecomApsAssociationRowStatus OBJECT-TYPE
	SYNTAX RowStatus
  		MAX-ACCESS read-create
  		STATUS current
        DESCRIPTION
            "This object is responsible for managing the creation, detection and modification of rows, which
            support active status and CreatAndGo, destroy operation."
        ::= { raisecomApsAssociationEntry 5 }
  
    --------------------- raisecomApsFailureDetGroup-------------------------
    -------------------------------------------------------------------------
    ---------------------raisecomApsFailureDetTable--------------------------
    raisecomApsFailureDetTable OBJECT-TYPE
		SYNTAX SEQUENCE OF RaisecomApsFailureDetEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "A table of aps link failure detecton configuration. This table is used for ethernet aps only."
        ::= { raisecomApsFailureDetGroup 1}

    raisecomApsFailureDetEntry OBJECT-TYPE
        SYNTAX RaisecomApsFailureDetEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Table entry for aps link failure detecton configuration."
        INDEX { raisecomApsId, raisecomApsFdLink }  
        ::= { raisecomApsFailureDetTable 1 }

    RaisecomApsFailureDetEntry ::= SEQUENCE {  
		raisecomApsFdLink         INTEGER,
        raisecomApsFdType         INTEGER, 
        raisecomApsFdLinkStatus   INTEGER,
        raisecomApsFdSfType       INTEGER,
	    raisecomApsFdMdName       OCTET STRING,
        raisecomApsFdMaName       OCTET STRING,
        raisecomApsFdLocalMep     INTEGER,
        raisecomApsFdRemoteMep    INTEGER,
        raisecomApsMdLevel        Integer32
        } 
     
    raisecomApsFdLink OBJECT-TYPE
        SYNTAX  INTEGER{
 					     working(1),
						 protection(2)
		  			  }
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "Linear protection link type, identifies if the link is working entity
             or protection entity."  
        ::= { raisecomApsFailureDetEntry 1 }     
        
    raisecomApsFdType OBJECT-TYPE
        SYNTAX  INTEGER{
 					      physical-link(1),
 					      cc(2),
 					      both(3)
		  			  }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The failure detection type for the link."   
        DEFVAL { 1 } 
        ::= { raisecomApsFailureDetEntry 2 } 
      
    raisecomApsFdLinkStatus OBJECT-TYPE
        SYNTAX  INTEGER{
 					      ok(1),
 					      sf(2)
		  			  }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The link status."  
        ::= { raisecomApsFailureDetEntry 3 } 
    
    raisecomApsFdSfType OBJECT-TYPE
        SYNTAX  INTEGER{
 					      none(1),
 					      physical-link(2),
 					      cc(3),
 					      both(4)
                      }
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "The failure detect types which have triggered SF."    
        ::= { raisecomApsFailureDetEntry 4 } 
 
    raisecomApsFdMdName OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(1..16))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Maintenance Domain name. Each Maintenance Domain has unique name amongst all 
            those used or available to a service provider or operator.  It facilitates easy 
            identification of administrative responsibility for each Maintenance Domain."
        ::= { raisecomApsFailureDetEntry 5 }
    
    raisecomApsFdMaName OBJECT-TYPE
        SYNTAX  OCTET STRING(SIZE(1..13))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Short Maintenance Association name. The type/format of this object is determined 
            by the value of the dot1agCfmMaNetNameType object.  This name must be unique 
            within a maintenance domain."
        ::= { raisecomApsFailureDetEntry 6 } 
        
    raisecomApsFdLocalMep OBJECT-TYPE
        SYNTAX  INTEGER(1..8191)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Local MEPId of working or protection entity, identifying a specific MEP."
          ::= { raisecomApsFailureDetEntry 7 }

    raisecomApsFdRemoteMep OBJECT-TYPE
        SYNTAX  INTEGER(1..8191)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "Remote MEPId of working or protection entity, identifying a specific MEP."     
        ::= { raisecomApsFailureDetEntry 8 }
   
     raisecomApsMdLevel OBJECT-TYPE
        SYNTAX  Integer32 (0..7)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            "The Maintenance Domain Level."
        ::= { raisecomApsFailureDetEntry 9 }

    -------------------- Notification Definition section ------------------------    
  
    raisecomApsDfopTrap NOTIFICATION-TYPE
         OBJECTS {
           raisecomApsStatisticsLastDfop
           }
         STATUS  current
         DESCRIPTION
             "When dFOP happens."
         ::= { raisecomApsNotifications 1 }
   
   raisecomApsDfopClearTrap NOTIFICATION-TYPE
         OBJECTS {
           raisecomApsStatisticsLastDfop
           }
         STATUS  current
         DESCRIPTION
             "Comes to a new status from dFOP."
         ::= { raisecomApsNotifications 2 }
      
    raisecomApsSwitchTrap NOTIFICATION-TYPE
         OBJECTS {
           raisecomApsStatus
           }
         STATUS  current
         DESCRIPTION
             "Linear protection switching happens."
         ::= { raisecomApsNotifications 3 }
  
END
