-- *****************************************************************
-- QTECH-VOICE-VLAN-MIB.mib:  Qtech Voice VLAN MIB file
--
-- June 2009, miaoshifu
--
-- Copyright (c) 2009 by Qtech Networks Co.,Ltd.
-- All rights reserved.
-- 
-- *****************************************************************
--

QTECH-VOICE-VLAN-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE
                FROM SNMPv2-SMI
        RowStatus,
        MacAddress
                FROM SNMPv2-TC
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        IfIndex
                FROM QTECH-TC        
        EnabledStatus
        	      FROM P-BRIDGE-MIB        
        qtechMgmt
                FROM QTECH-SMI;

qtechVoiceVlanMIB MODULE-IDENTITY
        LAST-UPDATED "200906180000Z"
        ORGANIZATION "Qtech Networks Co.,Ltd."
        CONTACT-INFO
                " 
                Tel: 4008-111-000 

                E-mail: service@qtech.com.cn"
        DESCRIPTION
                "This module defines qtech voice vlan mibs."
        REVISION      "200906180000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { qtechMgmt 52}

-- Voice VLAN

qtechVoiceVlanMIBObjects OBJECT IDENTIFIER ::= { qtechVoiceVlanMIB 1 }


qtechVoiceVlanOuiTable OBJECT-TYPE
		    SYNTAX  SEQUENCE OF QtechVoiceVlanOuiEntry
		    MAX-ACCESS not-accessible
		    STATUS   current
		    DESCRIPTION
		        " A table containing the mac address which can be identified by voice vlan "
		    ::= { qtechVoiceVlanMIBObjects 1 }

qtechVoiceVlanOuiEntry OBJECT-TYPE
		    SYNTAX  QtechVoiceVlanOuiEntry
		    MAX-ACCESS not-accessible
		    STATUS current
		    DESCRIPTION
		        " A table containing the mac address which can be identified by voice vlan "
        INDEX   { qtechVoiceVlanOuiAddress }		
        ::= { qtechVoiceVlanOuiTable 1}

QtechVoiceVlanOuiEntry	::=
	      SEQUENCE {
		            qtechVoiceVlanOuiAddress	MacAddress  ,
		            qtechVoiceVlanOuiMask	MacAddress  ,
		            qtechVoiceVlanOuiDescription	OCTET STRING  ,
		            qtechVoiceVlanOuiRowStatus  	RowStatus
		    }

qtechVoiceVlanOuiAddress OBJECT-TYPE
    		SYNTAX  MacAddress  
		    MAX-ACCESS read-only
		    STATUS current
		    DESCRIPTION
		        " Mac address can be identified by voice vlan "
		    ::= { qtechVoiceVlanOuiEntry 1 }

qtechVoiceVlanOuiMask OBJECT-TYPE
    		SYNTAX  MacAddress  
		    MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
		        " The mask of mac address "
		    ::= { qtechVoiceVlanOuiEntry 2 }

qtechVoiceVlanOuiDescription OBJECT-TYPE
    		SYNTAX  OCTET STRING (SIZE(0..30))
		    MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
		        " The description of oui "
		    ::= { qtechVoiceVlanOuiEntry 3 }

qtechVoiceVlanOuiRowStatus OBJECT-TYPE
    		SYNTAX  RowStatus  
		    MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
		        " Current operation status of the row  "
		    ::= { qtechVoiceVlanOuiEntry 4 }

qtechVoiceVlanEnabledId  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Voice vlan enable status: enabled (2..4094), disabled (0xffffffff) "
        ::= { qtechVoiceVlanMIBObjects 2 }

qtechVoiceVlanPortEnableTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF QtechVoiceVlanPortEnableEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
            " A list of voice vlan enable entries."
        ::= { qtechVoiceVlanMIBObjects  3  }

qtechVoiceVlanPortEnableEntry OBJECT-TYPE
        SYNTAX  QtechVoiceVlanPortEnableEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " list of interface voice vlan enable status."
        INDEX   { qtechVoiceVlanPortEnableIfIndex }		
        ::= { qtechVoiceVlanPortEnableTable 1}

QtechVoiceVlanPortEnableEntry ::=
        SEQUENCE {
		            qtechVoiceVlanPortEnableIfIndex  IfIndex,
		            qtechVoiceVlanPortStatus   EnabledStatus 
		    }

qtechVoiceVlanPortEnableIfIndex OBJECT-TYPE
        SYNTAX  IfIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " "
--      REFERENCE "ifIndex in RFC1213"            
	      ::= { qtechVoiceVlanPortEnableEntry 1 }

qtechVoiceVlanPortStatus OBJECT-TYPE
        SYNTAX  EnabledStatus
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             " Port voice vlan status"
        ::= { qtechVoiceVlanPortEnableEntry 2 }

qtechVoiceVlanAgingTime  OBJECT-TYPE
        SYNTAX  INTEGER (5..10000)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " Voice vlan aging time, the unit of which is minute"
	      DEFVAL      { 1440 }
        ::= { qtechVoiceVlanMIBObjects  4 }

qtechVoiceVlanSecurityState  OBJECT-TYPE
       SYNTAX  INTEGER
       {
        security (1),
        normal (2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION 
            " Voice vlan security mode status "
        ::= { qtechVoiceVlanMIBObjects 5 }

qtechVoiceVlanCos  OBJECT-TYPE
        SYNTAX  INTEGER (0..7)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Voice vlan cos"
	      DEFVAL      { 6 }
        ::= { qtechVoiceVlanMIBObjects  6 }    

qtechVoiceVlanDscp  OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
            " Voice vlan dscp"
	      DEFVAL      { 46 }
        ::= { qtechVoiceVlanMIBObjects  7 }               

qtechVoiceVlanPortModeTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF QtechVoiceVlanPortModeEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
            " A list of voice vlan mode entries."
        ::= { qtechVoiceVlanMIBObjects  8  }

qtechVoiceVlanPortModeEntry OBJECT-TYPE
        SYNTAX  QtechVoiceVlanPortModeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " An entry containing voice vlan mode information,
            which is applicable to a voice vlan enabled interface."
        INDEX   { qtechVoiceVlanPortIfIndex }		
        ::= { qtechVoiceVlanPortModeTable 1}

QtechVoiceVlanPortModeEntry ::=
        SEQUENCE {
		            qtechVoiceVlanPortIfIndex  IfIndex ,
		            qtechVoiceVlanPortMode	    INTEGER 
		    }

qtechVoiceVlanPortIfIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " The index of interface on which voice vlan function
            is enabled."
--      REFERENCE "ifIndex in RFC1213"            
	      ::= { qtechVoiceVlanPortModeEntry 1 }

qtechVoiceVlanPortMode OBJECT-TYPE
        SYNTAX  INTEGER
        	{
        	auto (1),
        	manual (2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             " Voice vlan configuration mode status, which is 
            applicable to a voice vlan enabled interface."
        ::= { qtechVoiceVlanPortModeEntry 2 }

qtechVoiceVlanMacTable OBJECT-TYPE
        SYNTAX  SEQUENCE OF QtechVoiceVlanMacEntry
        MAX-ACCESS not-accessible
        STATUS   current
        DESCRIPTION
            " A list of telephone device entries."
        ::= { qtechVoiceVlanMIBObjects  9  }

qtechVoiceVlanMacEntry OBJECT-TYPE
        SYNTAX  QtechVoiceVlanMacEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION 
            " An entry containing telephone device information,
            which is applicable to a voice vlan enabled interface."
        INDEX   { qtechVoiceVlanMacAddress, qtechVoiceVlanMacIfIndex }		
        ::= { qtechVoiceVlanMacTable 1}

QtechVoiceVlanMacEntry ::=
        SEQUENCE {
               qtechVoiceVlanMacAddress         MacAddress,
               qtechVoiceVlanMacIfIndex         IfIndex ,
               qtechVoiceVlanMacDescription     OCTET STRING 
        }

qtechVoiceVlanMacAddress OBJECT-TYPE
        SYNTAX  MacAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
             " Mac address can be identified by voice vlan."
        ::= { qtechVoiceVlanMacEntry 1 }

qtechVoiceVlanMacIfIndex OBJECT-TYPE
        SYNTAX IfIndex
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION 
            " The index of interface on which voice vlan function
            is enabled."
--      REFERENCE "ifIndex in RFC1213"            
        ::= { qtechVoiceVlanMacEntry 2 }

qtechVoiceVlanMacDescription OBJECT-TYPE
        SYNTAX  OCTET STRING (SIZE(0..30))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            " The description of telephone device."
        ::= { qtechVoiceVlanMacEntry 3 }


qtechVoiceVlanMIBConformance OBJECT IDENTIFIER ::= { qtechVoiceVlanMIB 2 }
qtechVoiceVlanMIBCompliances OBJECT IDENTIFIER ::= { qtechVoiceVlanMIBConformance 1 }
qtechVoiceVlanMIBGroups      OBJECT IDENTIFIER ::= { qtechVoiceVlanMIBConformance 2 }


-- compliance statements

qtechVoiceVlanMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech Voice Vlan MIB."
        MODULE  -- this module
                MANDATORY-GROUPS { 
                        qtechVoiceVlanMIBGroup
                 }
         ::= { qtechVoiceVlanMIBCompliances 1 }
         
-- units of conformance

qtechVoiceVlanMIBGroup OBJECT-GROUP
        OBJECTS {
            qtechVoiceVlanOuiAddress,
		        qtechVoiceVlanOuiMask,
		        qtechVoiceVlanOuiDescription,
		        qtechVoiceVlanOuiRowStatus,
		        qtechVoiceVlanEnabledId,
		        qtechVoiceVlanPortStatus,
		        qtechVoiceVlanAgingTime,
		        qtechVoiceVlanSecurityState, 
		        qtechVoiceVlanCos,
		        qtechVoiceVlanDscp,
		        qtechVoiceVlanPortMode,
                        qtechVoiceVlanMacAddress,
                        qtechVoiceVlanMacIfIndex,
                        qtechVoiceVlanMacDescription
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing voice vlan managment."
        ::= { qtechVoiceVlanMIBGroups 1 }
END
