-- *****************************************************************
-- QTECH-IGMP-FILTERINGPROFILE-MIB.mib:  Qtech IGMP profiles MIB file
--
-- Dec 2003, Billy
--
-- Copyright (c) 2003 by Qtech Networks Co.,Ltd.
-- All rights reserved.
-- 
-- *****************************************************************
--
QTECH-IGMP-FILTERINGPROFILE-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY,
        OBJECT-TYPE,
        Unsigned32,
        IpAddress
                FROM SNMPv2-SMI
        RowStatus
                FROM SNMPv2-TC              
        MODULE-COMPLIANCE,
        OBJECT-GROUP
                FROM SNMPv2-CONF
        qtechMgmt
                FROM QTECH-SMI;

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

                E-mail: service@qtech.com.cn"
        DESCRIPTION
                "This module defines qtech IGMP filtering profile mibs."
        REVISION      "200312090000Z"
        DESCRIPTION
                "Initial version of this MIB module."
        ::= { qtechMgmt 37}

qtechIgmpFilteringProfileMIBObjects OBJECT IDENTIFIER ::= { qtechIgmpFilteringProfileMIB 1 }

qtechIgmpFilteringMaxProfiles OBJECT-TYPE
        SYNTAX     Unsigned32
        MAX-ACCESS read-only
        STATUS     current
        DESCRIPTION
            "Indicates the maximum number of profiles supported by
            this device.  A value of zero indicates no limitation on
            the number of profiles."
        ::= { qtechIgmpFilteringProfileMIBObjects 1 }
        
qtechIgmpFilteringProfileActionTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIgmpFilteringProfileActionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "profile action table."
        ::= { qtechIgmpFilteringProfileMIBObjects 2}
    
qtechIgmpFilteringProfileActionEntry OBJECT-TYPE
        SYNTAX QtechIgmpFilteringProfileActionEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of profile table"
        INDEX { qtechIgmpFilteringProfileIndex }         
        ::= { qtechIgmpFilteringProfileActionTable 1}
        
QtechIgmpFilteringProfileActionEntry ::= 
        SEQUENCE {
        qtechIgmpFilteringProfileIndex Unsigned32,
        qtechIgmpFilteringProfileAction INTEGER,
        qtechIgmpFilteringProfileStatus INTEGER
        }

qtechIgmpFilteringProfileIndex OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION     
            ""
        ::= { qtechIgmpFilteringProfileActionEntry 1}  
        
qtechIgmpFilteringProfileAction OBJECT-TYPE
        SYNTAX INTEGER {
            permit(1),
	    deny(2)
	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION     
            "This object defines the action of this profile.
	     
	     If the object is set to deny(2):
             then all IGMP reports associated to IP multicast
             groups included in the profile identified by
             qtechIgmpFilteringProfileIndex will be dropped.

             If the object is set to permit(1):
             then all IGMP reports associated to IP multicast
             groups not included in the profile identified by
             qtechIgmpFilteringProfileIndex will be dropped."                        
        ::= { qtechIgmpFilteringProfileActionEntry 2}     
        
qtechIgmpFilteringProfileStatus OBJECT-TYPE
        SYNTAX INTEGER{
        	valid(1),
        	invalid(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION     
            "set this object to invalid(2) will remove current item"
        ::= { qtechIgmpFilteringProfileActionEntry 3}          

qtechIgmpFilteringProfileRangeTable OBJECT-TYPE
        SYNTAX SEQUENCE OF QtechIgmpFilteringProfileRangeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "IGMP filtering profile range table"
        ::= { qtechIgmpFilteringProfileMIBObjects 3}        
    
qtechIgmpFilteringProfileRangeEntry OBJECT-TYPE
        SYNTAX QtechIgmpFilteringProfileRangeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
            "list of profile table"
        INDEX { qtechIgmpFilteringProfileRangeIndex,
        	qtechIgmpFilteringProfieRangeQtechAddress }         
        ::= { qtechIgmpFilteringProfileRangeTable 1}
        
QtechIgmpFilteringProfileRangeEntry ::= 
        SEQUENCE {
        qtechIgmpFilteringProfileRangeIndex Unsigned32,
        qtechIgmpFilteringProfieRangeQtechAddress IpAddress,
        qtechIgmpFilteringProfieRangeEndAddress IpAddress,  
        qtechIgmpFilteringProfileRangeStatus RowStatus      
        }

qtechIgmpFilteringProfileRangeIndex OBJECT-TYPE
        SYNTAX Unsigned32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION     
            ""
        ::= { qtechIgmpFilteringProfileRangeEntry 1}               

qtechIgmpFilteringProfieRangeQtechAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object describes the qtech of the IP multicast 
             group address of a contiguous range which will be
             subjected to filtering operation."
        ::= { qtechIgmpFilteringProfileRangeEntry 2 }      
        
qtechIgmpFilteringProfieRangeEndAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "This object indicates the type of Internet
	     address used to determine the end address 
	     of IP multicast group for a profile."
        ::= { qtechIgmpFilteringProfileRangeEntry 3 }     
        
qtechIgmpFilteringProfileRangeStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
            "the item status"
        ::= { qtechIgmpFilteringProfileRangeEntry 4 }            
        
qtechIgmpFilteringProfileMIBConformance OBJECT IDENTIFIER ::= { qtechIgmpFilteringProfileMIB 2 }
qtechIgmpFilteringProfileMIBCompliances OBJECT IDENTIFIER ::= { qtechIgmpFilteringProfileMIBConformance 1 }
qtechIgmpFilteringProfileMIBGroups      OBJECT IDENTIFIER ::= { qtechIgmpFilteringProfileMIBConformance 2 }


-- compliance statements

qtechIgmpFilteringProfileMIBCompliance MODULE-COMPLIANCE
        STATUS  current
        DESCRIPTION
                "The compliance statement for entities which implement
                the Qtech Igmp filtering profile MIB"
        MODULE  -- this module
                MANDATORY-GROUPS { qtechIgmpFilteringProfileMIBGroup
                 }
        ::= { qtechIgmpFilteringProfileMIBCompliances 1 }
                
-- units of conformance

qtechIgmpFilteringProfileMIBGroup OBJECT-GROUP
        OBJECTS {
        	qtechIgmpFilteringMaxProfiles,
        	qtechIgmpFilteringProfileIndex,
        	qtechIgmpFilteringProfileAction,
        	qtechIgmpFilteringProfileStatus,
        	qtechIgmpFilteringProfileRangeIndex,
          qtechIgmpFilteringProfieRangeQtechAddress,
          qtechIgmpFilteringProfieRangeEndAddress,
          qtechIgmpFilteringProfileRangeStatus
        }
        STATUS  current
        DESCRIPTION
                "A collection of objects providing Igmp filtering profile configure ."
        ::= { qtechIgmpFilteringProfileMIBGroups 1 }
        
END
