NMS-IF-MIB  DEFINITIONS ::= BEGIN

	IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE
            FROM SNMPv2-SMI
        
     	Gauge,TimeTicks
      		FROM RFC1155-SMI
                  
        DisplayString
			FROM RFC1213-MIB
        nmsMgmt
            FROM NMS-SMI 
        PhysAddress 
            FROM SNMPv2-TC;
                        
nmsIfMIB  MODULE-IDENTITY
        LAST-UPDATED    "200509070000Z"
        ORGANIZATION    ""
        CONTACT-INFO
                	""
			
        DESCRIPTION
                "Analog Voice Interface MIB module.
                 This MIB manages the E&M, FXO, FXS         
                 Interfaces in the router.
                "
        ::= { nmsMgmt 63 }



nmsIfObjects   OBJECT IDENTIFIER ::= { nmsIfMIB 1 }  


--***************************************************************************
--The Aanalog Voice Interface Group
--***************************************************************************

          -- the Voice Interfaces group

          -- Implementation of the Voice Interfaces group is mandatory for
          -- all systems having VOICE interfaces
          -- the Voice Interfaces table

          -- The Voice Interfaces table contains information on the entity's
          -- Voice interfaces.  Each Voice interface is thought of as being
          -- attached to a `subnetwork'.  Note that this term should
          -- not be confused with `subnet' which refers to an
          -- addressing partitioning scheme used in the Internet suite
          -- of protocols.

          vifTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF VIfEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of voice interface entries.  The number of
                      entries is given by the value of ifNumber."
              ::= { nmsIfObjects 1 }

          vifEntry OBJECT-TYPE
              SYNTAX  VIfEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An interface entry containing objects at the
                      subnetwork layer and below for a particular
                      interface."
              INDEX   { vifIndex }
              ::= { vifTable 1 }

          VIfEntry ::=
              SEQUENCE {
                  vifIndex
                      INTEGER,
                  vifDescr
                      DisplayString,
                  vifType
                      INTEGER,
                  vifMtu
                      INTEGER,
                  vifSpeed
                      Gauge,
                  vifPhysAddress
                      PhysAddress,
                  vifAdminStatus
                      INTEGER,
                  vifOperStatus
                      INTEGER,
                  vifLastChange
                      TimeTicks
              }
          vifIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory

              DESCRIPTION
                      "A unique value for each voice interface.  Its value
                      ranges between 1 and the value of vifNumber.  The
                      value for each voice interface must remain constant at
                      least from one re-initialization of the entity's
                      network management system to the next re-
                      initialization."
              ::= { vifEntry 1 }

          vifDescr OBJECT-TYPE
              SYNTAX  DisplayString (SIZE (0..255))
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "A textual string containing information about the
                      voice interface.  This string should include the name of
                      the manufacturer, the product name and the version
                      of the hardware interface."
              ::= { vifEntry 2 }

          vifType OBJECT-TYPE
              SYNTAX  INTEGER {
                          other(1),          -- none of the following
                          voiceEM(100),       -- voice recEive and transMit
                   		  voiceFXO(101),      -- voice Foreign Exchange Office
                   		  voiceFXS(102)       -- voice Foreign Exchange Station
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The type of Voice interface, distinguished according to
                      the physical/link protocol(s) immediately `below'
                      the network layer in the protocol stack."
              ::= { vifEntry 3 }

          vifMtu OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The size of the largest datagram which can be
                      sent/received on the voice interface, specified in
                      octets.  in fact,for voice interface,this value should be 0"
              ::= { vifEntry 4 }

          vifSpeed OBJECT-TYPE
              SYNTAX  Gauge
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "contains a zero value."
              ::= { vifEntry 5 }

          vifPhysAddress OBJECT-TYPE
              SYNTAX  PhysAddress
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "contains an octet string of zero length."
              ::= { vifEntry 6 }

          vifAdminStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          up(1),       -- ready to pass packets
                   		  down(2),
                   		  testing(3)   -- in some test mode
                      }
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "The desired administrative status of the
                      Analog Telephony interface port."
              ::= { vifEntry 7 }

          vifOperStatus OBJECT-TYPE
              SYNTAX  INTEGER {
                          up(1),       -- ready to pass packets
                   		  down(2),
                   		  testing(3),  -- in some test mode
                   		  unknown(4),  -- status can not be determined
                                	   -- for some reason.
                   		  dormant(5)
                      }
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The current operational state of the interface.
                      The testing(3) state indicates that no operational
                      packets can be passed."
              ::= { vifEntry 8 }

          vifLastChange OBJECT-TYPE
              SYNTAX  TimeTicks
              ACCESS  read-only
              STATUS  mandatory
              DESCRIPTION
                      "The value of sysUpTime at the time the interface
                      entered its current operational state.  If the
                      current state was entered prior to the last re-
                      initialization of the local network management
                      subsystem, then this object contains a zero
                      value."
              ::= { vifEntry 9 }              
              
              

          ifStormControlTable OBJECT-TYPE
              SYNTAX  SEQUENCE OF IfStormControlEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "A list of interface entries.  The number of
                      entries is given by the value of ifNumber."
              ::= { nmsIfObjects 2 }

          ifStormControlEntry OBJECT-TYPE
              SYNTAX  IfStormControlEntry
              ACCESS  not-accessible
              STATUS  mandatory
              DESCRIPTION
                      "An interface entry containing objects at the
                      subnetwork layer and below for a particular
                      interface."
              INDEX   { ifIndex }
              ::= { ifStormControlTable 1 }

          IfStormControlEntry ::=
              SEQUENCE {
                  ifIndex
                      INTEGER,
                  ifStormControlBroadcast
                      INTEGER,
                  ifStormControlMulticast
                      INTEGER,
                  ifStormControlUnicast
                      INTEGER
              }
          ifIndex OBJECT-TYPE
              SYNTAX  INTEGER
              ACCESS  read-only
              STATUS  mandatory

              DESCRIPTION
                      "A unique value for each voice interface.  Its value
                      ranges between 1 and the value of vifNumber.  The
                      value for each voice interface must remain constant at
                      least from one re-initialization of the entity's
                      network management system to the next re-
                      initialization."
              ::= { ifStormControlEntry 1 }


          ifStormControlBroadcast OBJECT-TYPE
              SYNTAX  INTEGER(10..1000000)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Interface Storm Control Broadcast, range is 10-1000000kbps"
              ::= { ifStormControlEntry 2 }

          ifStormControlMulticast OBJECT-TYPE
              SYNTAX  INTEGER(10..1000000)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Interface Storm Control Multicast, range is 10-1000000kbps"
              ::= { ifStormControlEntry 3 }

          ifStormControlUnicast OBJECT-TYPE
              SYNTAX  INTEGER(10..1000000)
              ACCESS  read-write
              STATUS  mandatory
              DESCRIPTION
                      "Interface Storm Control Unicast, range is 10-1000000kbps"
              ::= { ifStormControlEntry 4 }

 --ifSfpParameterTable
             ifSfpParameterTable OBJECT-TYPE
                 SYNTAX  SEQUENCE OF ifSfpParameterEntry
                 ACCESS  not-accessible
                 STATUS  mandatory
                 DESCRIPTION
                          "A list of sfp property table entries."
                 ::= { nmsIfObjects 7 }

             ifSfpParameterEntry OBJECT-TYPE
                 SYNTAX ifSfpParameterEntry
                 ACCESS  not-accessible
                 STATUS  mandatory
                 DESCRIPTION
                          "A collection of additional objects in the
                          sfp property table."
                 INDEX { IfIndex }
             ::= { ifSfpParameterTable 1 }

             ifSfpParameterEntry ::=
                 SEQUENCE {
                     IfIndex
                         INTEGER,
                     txPower1
                         INTEGER,
                     rxPower1
                         INTEGER,   
                     temperature
                         INTEGER,
                     vlotage
                         INTEGER,
                     curr1
                         INTEGER,
                     vendname
                         OCTET STRING,
                     txPower2
                         INTEGER,
                     rxPower2
                         INTEGER,   
                     curr2
                         INTEGER,
                     txPower3
                         INTEGER,
                     rxPower3
                         INTEGER,   
                     curr3
                         INTEGER,
                     txPower4
                         INTEGER,
                     rxPower4
                         INTEGER,   
                     curr4
                         INTEGER
                         
                 }

             IfIndex OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "The only diid of port in System."
                 ::= { ifSfpParameterEntry 1 } 
        
             txPower1 OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "The tx power 1 of optical module. The unit is 1DBm."
                 ::= { ifSfpParameterEntry 2 } 
    
             rxPower1 OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "The rx power 1 of optical module. The unit is 1DBm."
                 ::= { ifSfpParameterEntry 3 } 
     
             temperature OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "Sfp module temperature. The unit is 1/256 degree."
                 ::= { ifSfpParameterEntry 4 } 
    
             vlotage OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "Sfp module volt. The unit is 0.1mV."
                 ::= { ifSfpParameterEntry 5 } 
    
             curr1 OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "Sfp module bias current 1. The unit is 2uA."
                 ::= { ifSfpParameterEntry 6 }
  
             vendname OBJECT-TYPE
                 SYNTAX  OCTET STRING
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "Sfp module vend name."
                 ::= { ifSfpParameterEntry 7 }
            txPower2 OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "The tx 2 power of optical module. The unit is 1DBm."
                 ::= { ifSfpParameterEntry 8 } 
            rxPower2 OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "The rx 2 power of optical module. The unit is 1DBm."
                 ::= { ifSfpParameterEntry 9 } 
            curr2 OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "Sfp module bias current 2. The unit is 2uA."
                 ::= { ifSfpParameterEntry 10 }
            txPower3 OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "The tx 3 power of optical module. The unit is 1DBm."
                 ::= { ifSfpParameterEntry 11 } 
            rxPower3 OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "The rx 3 power of optical module. The unit is 1DBm."
                 ::= { ifSfpParameterEntry 12 } 
            curr3 OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "Sfp module bias current 3. The unit is 2uA."
                 ::= { ifSfpParameterEntry 13 }
            txPower4 OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "The tx 4 power  of optical module. The unit is 1DBm."
                 ::= { ifSfpParameterEntry 14 } 
            rxPower4 OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "The rx 4 power of optical module. The unit is 1DBm."
                 ::= { ifSfpParameterEntry 15 } 
            curr4 OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "Sfp module bias current 4. The unit is 2uA."
                 ::= { ifSfpParameterEntry 16 }    
                               
 --cableDiagnoseTable
             cableDiagnoseTable OBJECT-TYPE
                 SYNTAX  SEQUENCE OF CableDiagnoseEntry
                 ACCESS  not-accessible
                 STATUS  mandatory
                 DESCRIPTION
                          "A interface list of cable diagnose table entries."
                 ::= { nmsIfObjects 8 }

             cableDiagnoseEntry OBJECT-TYPE
                 SYNTAX CableDiagnoseEntry
                 ACCESS  not-accessible
                 STATUS  mandatory
                 DESCRIPTION
                          "A collection of cable diagnose objects in the
                          interface table."
                 INDEX { ifIndex }
             ::= { cableDiagnoseTable 1 }

             CableDiagnoseEntry ::=
                 SEQUENCE {
                     ifIndex
                         INTEGER,
                     enable
                         INTEGER,
                     period
                         INTEGER,   
                     description 
                         OCTET STRING                      
                 }

             ifIndex OBJECT-TYPE
                 SYNTAX  INTEGER
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "The only diid of port in System."
                 ::= { cableDiagnoseEntry 1 } 
        
             enable OBJECT-TYPE
                 SYNTAX  INTEGER{
                                enable(1),
                                disable(2)
                                }
                 ACCESS  read-write
                 STATUS  mandatory
                 DESCRIPTION
                         "enable=1,disable=2."
                 ::= { cableDiagnoseEntry 2 } 
    
             period OBJECT-TYPE
                 SYNTAX  INTEGER(0..32767)
                 ACCESS  read-write
                 STATUS  mandatory
                 DESCRIPTION
                         "period=0 means manual scanning, the range of auto scanning period is 1-32767."
                 ::= { cableDiagnoseEntry 3 } 
        
             description OBJECT-TYPE
                 SYNTAX  OCTET STRING 
                 ACCESS  read-only
                 STATUS  mandatory
                 DESCRIPTION
                         "cable diagnoisis descpription."
                 ::= { cableDiagnoseEntry 4 } 
        
              
              
                 
END

