------------------------------------------------------------
-- Version 1.0
-- Change history
-- 1.0
------------------------------------------------------------

VES1724-58V-MIB DEFINITIONS ::= BEGIN

    IMPORTS

	enterprises, TimeTicks
		FROM SNMPv2-SMI
	OBJECT-TYPE, IpAddress, Integer32, Counter32, Gauge32, Unsigned32, NOTIFICATION-TYPE, Counter64
		FROM SNMPv2-SMI
	DisplayString, PhysAddress, ifIndex
		FROM RFC1213-MIB
	RowStatus, TEXTUAL-CONVENTION
		FROM SNMPv2-TC
	VlanIndex, PortList, dot1qVlanIndex
		FROM Q-BRIDGE-MIB
	xdsl2LineAlarmConfProfileName, xdsl2LConfProfProfileName, xdsl2SCStatusDirection, xdsl2SCStatusBand, xdsl2LineBand
		FROM VDSL2-LINE-MIB
	InetAddressType, InetAddress, InetAddressIPv6
		FROM INET-ADDRESS-MIB;		-- RFC2851

	zyxel		OBJECT IDENTIFIER ::= { enterprises 890 }
	products	OBJECT IDENTIFIER ::= { zyxel 1 }
	accessSwitch  	OBJECT IDENTIFIER ::= { products 5 }
	vesSeries	OBJECT IDENTIFIER ::= { accessSwitch 12 }

    ves1724-58v MODULE-IDENTITY

    LAST-UPDATED "201706130000Z" -- 06/13, 2017
    ORGANIZATION ""
    CONTACT-INFO ""
    DESCRIPTION "ves1724-58v MIB"
    ::= { vesSeries 49 }

	acl					OBJECT IDENTIFIER ::= { ves1724-58v 1 }
	alarm					OBJECT IDENTIFIER ::= { ves1724-58v 2 }
	dhcp 					OBJECT IDENTIFIER ::= { ves1724-58v 3 }
	ge					OBJECT IDENTIFIER ::= { ves1724-58v 4 }
	hwmonitor				OBJECT IDENTIFIER ::= { ves1724-58v 5 }
	igmpmld					OBJECT IDENTIFIER ::= { ves1724-58v 6 }
	ip					OBJECT IDENTIFIER ::= { ves1724-58v 7 }
	lcm			 		OBJECT IDENTIFIER ::= { ves1724-58v 8 }
	login 					OBJECT IDENTIFIER ::= { ves1724-58v 9 }
	loopguard				OBJECT IDENTIFIER ::= { ves1724-58v 10 }
	interworking				OBJECT IDENTIFIER ::= { ves1724-58v 11 }
	pppoe					OBJECT IDENTIFIER ::= { ves1724-58v 12 }
	qos					OBJECT IDENTIFIER ::= { ves1724-58v 13 }
	service					OBJECT IDENTIFIER ::= { ves1724-58v 14 }
	snmp					OBJECT IDENTIFIER ::= { ves1724-58v 15 }
	sys					OBJECT IDENTIFIER ::= { ves1724-58v 16 }
	vdsl					OBJECT IDENTIFIER ::= { ves1724-58v 17 }
	voip					OBJECT IDENTIFIER ::= { ves1724-58v 18 }
-- { ves1724-58v 19 } is used by trap
	coa					OBJECT IDENTIFIER ::= { ves1724-58v 20 }
--	dua					OBJECT IDENTIFIER ::= { ves1724-58v 21 }
	pm					OBJECT IDENTIFIER ::= { ves1724-58v 22 }
-- { ves1724-58v 23 } is reserved by TIU-xx performance
-- { ves1724-58v 24 } is reserved by TIU-xx ifXExt
-- { ves1724-58v 25 } is reserved by TIU-xx tiuvxxConformance
	syslog					OBJECT IDENTIFIER ::= { ves1724-58v 26 }
	dot3ad					OBJECT IDENTIFIER ::= { ves1724-58v 27 }
--	sfpwhitelist				OBJECT IDENTIFIER ::= { ves1724-58v 28 }
	daisychain				OBJECT IDENTIFIER ::= { ves1724-58v 29 }

    smcast				OBJECT IDENTIFIER ::= { ves1724-58v 31 }
--------------------------------------------------------------------------------------------------------
-- acl
--------------------------------------------------------------------------------------------------------
-- aclMaxNumOfAclPerSystem
	aclMaxNumOfAclPerSystem OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
			"The maximum number of ACL per system."
    ::= { acl 1 }

-- aclSystemTable
	aclSystemTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AclSystemEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures references to specified ACL rule for whole system settings."
	::= { acl 2 }

	aclSystemEntry OBJECT-TYPE
	SYNTAX AclSystemEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { IMPLIED aclSystemProfileName }
	::= { aclSystemTable 1 }

		AclSystemEntry ::=
		SEQUENCE {
			aclSystemProfileName				DisplayString,
			aclSystemRowStaus 					RowStatus
		}

		aclSystemProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Configures references to specified ACL rule."
		::= { aclSystemEntry 1 }

    aclSystemRowStaus OBJECT-TYPE
		SYNTAX RowStatus
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Row status of the table entry."
		::= { aclSystemEntry 2 }

-- aclMaxNumOfAclPerPort
		aclMaxNumOfAclPerPort OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum number of ACL per port."
    ::= { acl 3 }

-- aclPortTable
	aclPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AclPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures references to specified ACL rule for the specified port."
	::= { acl 4 }

	aclPortEntry OBJECT-TYPE
	SYNTAX AclPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex, IMPLIED aclPortProfileName }
	::= { aclPortTable 1 }

	AclPortEntry ::=
		SEQUENCE {
			aclPortProfileName				DisplayString,
			aclPortRowStatus 				RowStatus
		}

		aclPortProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Configures references to specified ACL rule."
		::= { aclPortEntry 1 }

    	aclPortRowStatus OBJECT-TYPE
		SYNTAX RowStatus
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Row status of the table entry."
		::= { aclPortEntry 2 }

-- aclMaxNumOfAclProfiles
	aclMaxNumOfAclProfiles OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum number of ACL profiles supported by the system."
    ::= { acl 5 }

-- aclProfileTable
	aclProfileTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AclProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures ACL profile."
	::= { acl 6 }

	aclProfileEntry OBJECT-TYPE
	SYNTAX AclProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { IMPLIED aclProfileName }
	::= { aclProfileTable 1 }

	AclProfileEntry ::=
		SEQUENCE {
			aclProfileName								DisplayString,
			aclProfileActionMask					BITS,
			aclProfileFieldMask						BITS,
			aclProfileRuleEtype						INTEGER,
			aclProfileRuleSrcMac					PhysAddress,
			aclProfileRuleDestMac					PhysAddress,
			aclProfileRuleSrcOui					DisplayString,
			aclProfileRuleDestOui					DisplayString,
			aclProfileRuleInnerVlan				VlanIndex,
			aclProfileRuleOuterVlan  			VlanIndex,
			aclProfileRuleInnerPbit				INTEGER,
			aclProfileRuleOuterPbit  			INTEGER,
			aclProfileRuleSrcIpRange			IpAddress,
			aclProfileRuleSrcIpMask				INTEGER,
			aclProfileRuleDestIpRange			IpAddress,
			aclProfileRuleDestIpMask			INTEGER,
			aclProfileRuleSrcIp						IpAddress,
			aclProfileRuleDestIp					IpAddress,
			aclProfileRuleProtocol				INTEGER,
			aclProfileRuleIpPrecedence		INTEGER,
      aclProfileRuleDscp						INTEGER,
      aclProfileRuleSrcIpv6					InetAddress,
      aclProfileRuleDestIpv6				InetAddress,
      aclProfileRuleNextHeader			INTEGER,
      aclProfileRuleTrafficClass		INTEGER,
 			aclProfileRuleSrcL4StartPort	INTEGER,
			aclProfileRuleSrcL4EndPort		INTEGER,
 			aclProfileRuleDestL4StartPort	INTEGER,
			aclProfileRuleDestL4EndPort		INTEGER,
			aclProfileRuleSrcL4Port				INTEGER,
			aclProfileRuleDestL4Port			INTEGER,
			aclProfileActionRate					INTEGER,
			aclProfileActionInnerPbit		INTEGER,
			aclProfileActionOuterPbit		INTEGER,
			aclProfileActionDscp					INTEGER,
			aclProfileActionTrafficClass  INTEGER,
			aclProfileActionQos		  	INTEGER,
			aclProfileRowStatus 					RowStatus,
			aclProfilePriority          DisplayString
		}

		aclProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"'multicast' reserved."
		::= { aclProfileEntry 1 }

    aclProfileActionMask OBJECT-TYPE
    SYNTAX	BITS {
			drop(0),
			rateLimit(1),
			changeInnerPbit(2),
			changeOuterPbit(3),
			changeDscp(4),
			changeTrafficClass(5),
			changeQos(6)
		}
    MAX-ACCESS  read-create
    STATUS  current
    DESCRIPTION
        	"Defines action(s) for the ACL profile. Every acktion mask bit
		has its own referenced action parameter(s).
		drop(0) - no action paramter
		rateLimit(1) - aclProfileActionRate
		changeInnerPbit(2) - aclProfileActionInnerPbit
		changeOuterPbit(3) - aclProfileActionOuterPbit
		changeDscp(4) - aclProfileActionDscp
		changeTrafficClass(5) - aclProfileActionTrafficClass
		changeQos(6) - aclProfileActionQos
		"
        ::= { aclProfileEntry 2 }

    aclProfileFieldMask OBJECT-TYPE
    SYNTAX	BITS {
			etherType(0),
			sourceMac(1),
			destMac(2),
			sourceOui(3),
			destOui(4),
			innerVlan(5),
			outerVlan(6),
			innerPbit(7),
			outerPbit(8),
			sourceIpRange(9),
			destIpRange(10),
			sourceIp(11),
			destIp(12),
			protocol(13),
			ipPrecedence(14),
			dscp(15),
			sourceIpv6(16),
			destIpv6(17),
			nextHeader(18),
			trafficClass(19),
			sourceL4PortRange(20),
			destL4PortRange(21),
			sourceL4Port(22),
			destL4Port(23)
		}
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        	"Defines the compared fields mask for the ACL profile.
		Every field mask bit has its own referenced field parameter(s).
		etherType(0) - aclProfileRuleEtype
		sourceMac(1) - aclProfileRuleSrcMac
		destMac(2) - aclProfileRuleDestMac
		sourceOui(3) - aclProfileRuleSrcOui
		destOui(4) - aclProfileRuleDestOui
		innerVlan(5) - aclProfileRuleInnerVlan
		outerVlan(6) - aclProfileRuleOuterVlan
		innerPbit(7) - aclProfileRuleInnerPbit
		outerPbit(8) - aclProfileRuleOuterPbit
		sourceIpRange(9) - aclProfileRuleSrcIpRange, aclProfileRuleSrcIpMask
		destIpRange(10) - aclProfileRuleDestIpRange, aclProfileRuleDestIpMask
		sourceIp(11) - aclProfileRuleSrcIp
		destIp(12) - aclProfileRuleDestIp
		protocol(13) - aclProfileRuleProtocol
		ipPrecedence(14) - aclProfileRuleIpPrecedence
		dscp(15) - aclProfileRuleDscp
		sourceIpv6(16) - sourceIpv6
		destIpv6(17) - aclProfileRuleDestIpv6
		nextHeader(18) - aclProfileRuleNextHeader
		trafficClass(19) - aclProfileRuleTrafficClass
		sourceL4PortRange(20) - aclProfileRuleSrcL4StartPort, aclProfileRuleSrcL4EndPort
		destL4PortRange(21) - aclProfileRuleDestL4StartPort, aclProfileRuleDestL4EndPort
		sourceL4Port(22) - aclProfileRuleSrcL4Port
		destL4Port(23) - aclProfileRuleDestL4Port
		"
        ::= { aclProfileEntry 3 }

        aclProfileRuleEtype OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified Ether Type."
        ::= { aclProfileEntry 4 }

        aclProfileRuleSrcMac OBJECT-TYPE
        SYNTAX PhysAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified source MAC."
        ::= { aclProfileEntry 5 }

        aclProfileRuleDestMac OBJECT-TYPE
        SYNTAX PhysAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified destination MAC."
        ::= { aclProfileEntry 6 }

		aclProfileRuleSrcOui OBJECT-TYPE
		SYNTAX OCTET STRING
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Matches specified source MAC OUI."
		::= { aclProfileEntry 7 }

		aclProfileRuleDestOui OBJECT-TYPE
		SYNTAX OCTET STRING
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Matches specified destination MAC OUI."
		::= { aclProfileEntry 8 }

        aclProfileRuleInnerVlan OBJECT-TYPE
        SYNTAX VlanIndex (1..4093)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified inner VLAN ID."
        ::= { aclProfileEntry 9 }

        aclProfileRuleOuterVlan OBJECT-TYPE
        SYNTAX VlanIndex (1..4093)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified outer VLAN ID."
        ::= { aclProfileEntry 10 }

        aclProfileRuleInnerPbit OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified inner VLAN PBIT."
        ::= { aclProfileEntry 11 }

        aclProfileRuleOuterPbit OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified outer VLAN PBIT."
        ::= { aclProfileEntry 12 }

        aclProfileRuleSrcIpRange OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified source IP range."
        ::= { aclProfileEntry 13 }

        aclProfileRuleSrcIpMask OBJECT-TYPE
        SYNTAX INTEGER (16..31)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"The subnet mask of source IP range."
        ::= { aclProfileEntry 14 }

        aclProfileRuleDestIpRange OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified destination IP range."
        ::= { aclProfileEntry 15 }

        aclProfileRuleDestIpMask OBJECT-TYPE
        SYNTAX INTEGER (16..31)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"The subnet mask of destination IP range."
        ::= { aclProfileEntry 16 }

        aclProfileRuleSrcIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified source IP address."
        ::= { aclProfileEntry 17 }

        aclProfileRuleDestIp OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified destination IP address."
        ::= { aclProfileEntry 18 }

        aclProfileRuleProtocol OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IP protocol."
        ::= { aclProfileEntry 19 }

        aclProfileRuleIpPrecedence OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IP precedence."
        ::= { aclProfileEntry 20 }

        aclProfileRuleDscp OBJECT-TYPE
        SYNTAX INTEGER (0..63)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IP DSCP."
        ::= { aclProfileEntry 21 }

        aclProfileRuleSrcIpv6 OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        	"Matches specified source IPv6 address."
        ::= { aclProfileEntry 22 }

        aclProfileRuleDestIpv6 OBJECT-TYPE
        SYNTAX  InetAddress
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        	"Matches specified destination IPv6 address."
        ::= { aclProfileEntry 23 }

        aclProfileRuleNextHeader OBJECT-TYPE
        SYNTAX INTEGER (1..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IPv6 next header."
        ::= { aclProfileEntry 24 }

        aclProfileRuleTrafficClass OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified IPv6 traffic class."
        ::= { aclProfileEntry 25 }

        aclProfileRuleSrcL4StartPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 source port range."
        ::= { aclProfileEntry 26 }

        aclProfileRuleSrcL4EndPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 source port range."
        ::= { aclProfileEntry 27 }

        aclProfileRuleDestL4StartPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 dest port range."
        ::= { aclProfileEntry 28 }

        aclProfileRuleDestL4EndPort OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 dest port range."
        ::= { aclProfileEntry 29 }

        aclProfileRuleSrcL4Port OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 source port."
        ::= { aclProfileEntry 30 }

        aclProfileRuleDestL4Port OBJECT-TYPE
        SYNTAX INTEGER (0..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Matches specified layer 4 dest port."
        ::= { aclProfileEntry 31 }

        aclProfileActionRate OBJECT-TYPE
        SYNTAX INTEGER (32..100000)
        UNITS "kbps"
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Limits receiving rate of matched packets."
        ::= { aclProfileEntry 32 }

        aclProfileActionInnerPbit OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Change inner VLAN pbit of matched packets."
        ::= { aclProfileEntry 33 }

        aclProfileActionOuterPbit OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Change outer VLAN pbit of matched packets."
        ::= { aclProfileEntry 34 }

        aclProfileActionDscp OBJECT-TYPE
        SYNTAX INTEGER (0..63)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Change IP DSCP of matched packets."
        ::= { aclProfileEntry 35 }

        aclProfileActionTrafficClass OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Change IPv6 traffic class of matched packets."
        ::= { aclProfileEntry 36 }

        aclProfileActionQos OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"Change Qos of matched packets."
        ::= { aclProfileEntry 37 }

        aclProfileRowStatus OBJECT-TYPE
        SYNTAX  RowStatus
        MAX-ACCESS  read-create
        STATUS  current
        DESCRIPTION
        	"Row status of the table entry. 'multicast' reserved."
        ::= { aclProfileEntry 38 }

        aclProfilePriority OBJECT-TYPE
        SYNTAX  OCTET STRING
        MAX-ACCESS  read-only
        STATUS  current
        DESCRIPTION
        	"Priority of the ACL profile in hexadecimal."
        ::= { aclProfileEntry 39 }

-- aclMulticast
    aclMulticast OBJECT IDENTIFIER ::= { acl 7 }
    	aclUnsolicited OBJECT-TYPE
    	SYNTAX INTEGER {
	    	dropMulticastTraffic(1),
	    	noDropMulticastTraffic(2)
	    }
    	MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	      	"Control filter to drop unknown multicast traffic
	      	 Drop unknown multicast traffic(1)
	      	 No drop unknown multicast traffic(2)
	      	"
	        ::= { aclMulticast 1 }

	    aclUpstream OBJECT-TYPE
	    SYNTAX INTEGER {
	    	dropMulticastTraffic(1),
	    	noDropMulticastTraffic(2)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Control filter to drop unknown multicast traffic from upstream direction
			 Drop multicast traffic from upstream direction (1)
			 No drop multicast traffic from upstream direction (2)
			"
	    ::= { aclMulticast 2 }

-- aclStormControl
    aclStormControl OBJECT IDENTIFIER ::= { acl 8 }

    aclBroadcast OBJECT-TYPE
        SYNTAX INTEGER (2..100000)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Configure rate limit for broadcast storm
                 <rate> 2~100000 kbps"
        ::= { aclStormControl 1 }

	    aclDlf OBJECT-TYPE
        SYNTAX INTEGER (2..100000)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Configure rate limit for DLF (unknown unicast and multicast) storm
                 <rate> 2~100000 kbps"
         ::= { aclStormControl 2 }

-- { acl 9 } is reserved by TIU-xx aclProfileActionTable

--------------------
-- dot1x
--------------------
	dot1x OBJECT IDENTIFIER ::= { acl 20 }

	dot1xEnable OBJECT-TYPE
	SYNTAX 	INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable/disable the 802.1x function."
	::= { dot1x 1 }

	dot1xAuthMethod OBJECT-TYPE
	SYNTAX 	INTEGER {
			userprofile(1),
			radius(2)
		}
        MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configure the method for dot1x authentication.
		 userprofile: use local configured user to authenticate user
		 radius: use remote radius server to authenticate user."
	::= { dot1x 2 }

-- Radius Server Table

	dot1xRadiusServerTable OBJECT-TYPE
   	SYNTAX SEQUENCE OF Dot1xRadiusServerEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "A table that contains Radius Server information for 802.1x."
    	::= { dot1x 3 }

    	dot1xRadiusServerEntry OBJECT-TYPE
        SYNTAX Dot1xRadiusServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"The entry of Radius Server table."
        INDEX  { dot1xRadiusServerIndex }
        ::= { dot1xRadiusServerTable 1 }

   	Dot1xRadiusServerEntry ::=
        	SEQUENCE {
            		dot1xRadiusServerIndex	INTEGER,
            		dot1xRadiusServerIp		IpAddress,
            		dot1xRadiusServerPort	INTEGER,
            		dot1xRadiusServerSecret	DisplayString
    		}

        dot1xRadiusServerIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The identity of the RADIUS server."
        ::= { dot1xRadiusServerEntry 1 }

	dot1xRadiusServerIp OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The IP address of the Radius Server."
	::= { dot1xRadiusServerEntry 2 }

	dot1xRadiusServerPort OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The UDP port of the Radius Server."
	::= { dot1xRadiusServerEntry 3 }

	dot1xRadiusServerSecret OBJECT-TYPE
	SYNTAX DisplayString (SIZE (1..31))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The shared secret of the Radius Server."
	::= { dot1xRadiusServerEntry 4 }

-- dot1x Port Table

        dot1xPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Dot1xPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes 802.1x port configuration."
        ::= { dot1x 4 }

		dot1xPortEntry OBJECT-TYPE
        SYNTAX Dot1xPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in dot1xPortTable."
        INDEX { ifIndex }
        ::= { dot1xPortTable 1 }

        Dot1xPortEntry ::=
        	SEQUENCE {
        	dot1xPortRadiusServerIndex INTEGER,
			dot1xPortEnable	  	INTEGER,
			dot1xPortCircuitIDEnable INTEGER,
			dot1xPortCircuitIDInfo DisplayString
           	}

        dot1xPortRadiusServerIndex OBJECT-TYPE
        SYNTAX INTEGER (1..16)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"The index of the RADIUS server in dot1xRadiusServerTable"
        ::= { dot1xPortEntry 1 }

        dot1xPortEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Enable/disable 802.1x for the port."
         ::= { dot1xPortEntry 2 }

        dot1xPortCircuitIDEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Enable/disable insert the circuit ID information."
         ::= { dot1xPortEntry 3 }

    	dot1xPortCircuitIDInfo OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..127))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Configures Dot1X circuit ID format
		 Info is composed by the following components
		 special characters except % =>  ~`!@#$^&*()-=_+{}<>?,./
		 %%: equals character %
		 %0x00~%0xFF: represents byte value
		 %pname: configured port name
		 %pid: port index
		 %chvpi: channel vpi
		 %chvci: channel vci
		 %slotid: slot index of the logic port
		 %svlan: SVLAN ID which Dot1X client runs on
		 %cvlan: CVLAN ID which Dot1X client runs on
		 %hname: host device name
		 %cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX X=0~F
		 %cmac2: MAC address of client, represents as XXXXXXXXXXXX X=0~F
		 %cmac3: : MAC address of client, represents as Byte
		 %dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX X=0~F
		 %dmac2: MAC address of host device, represents as XXXXXXXXXXXX X=0~F
		 %dmac3: MAC address of host device, represents as Byte
		 %phtype: ATM: atm   Ethernet: eth
		 %hmodel: model name of host device
		 %fwid: host device firmware ID
		 %blank: blank character"
        ::= { dot1xPortEntry 4 }

-- dot1x User Profile Table

        dot1xUserProfileTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Dot1xUserProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes user profile setting for 802.1x configuration."
        ::= { dot1x 5 }

		dot1xUserProfileEntry OBJECT-TYPE
        SYNTAX Dot1xUserProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in dot1xUserProfileTable."
        INDEX { IMPLIED dot1xUserProfileName }
        ::= { dot1xUserProfileTable 1 }

        Dot1xUserProfileEntry ::=
        	SEQUENCE {
        	dot1xUserProfileName DisplayString,
			dot1xUserProfilePassword	  	DisplayString,
			dot1xUserProfileRowStatus RowStatus
           	}

    	dot1xUserProfileName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Name of Dot1X user profile"
        ::= { dot1xUserProfileEntry 1 }

		dot1xUserProfilePassword OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..95))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
		"Configure the password.
		Can input with plain text or ciphertext.
		plain text: Up to 31 printable characters.
		ciphertext: 95 characters with special format and generated by device from plain text."
		::= { dot1xUserProfileEntry 2 }

        dot1xUserProfileRowStatus OBJECT-TYPE
	    SYNTAX  RowStatus
	    MAX-ACCESS  read-create
	    STATUS  current
	    DESCRIPTION
	    	"Row status of the table entry."
	    ::= { dot1xUserProfileEntry 3 }


-- dot1x  Stats Port Table

        dot1xStatsPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Dot1xStatsPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes port statistics of 802.1x ."
        ::= { dot1x 6 }

		dot1xStatsPortEntry OBJECT-TYPE
        SYNTAX Dot1xStatsPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in dot1xStatsPortTable."
        INDEX { ifIndex }
        ::= { dot1xStatsPortTable 1 }

        Dot1xStatsPortEntry ::=
        	SEQUENCE {
			dot1xStatsPortReAuthCount	  	INTEGER
		   	}

        dot1xStatsPortReAuthCount OBJECT-TYPE
        SYNTAX  INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Display how many times each port re-authroize"
        ::= { dot1xStatsPortEntry 1 }

-- aclFieldPriorityTable
	aclFieldPriorityTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AclFieldPriorityEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures ACL field priority table."
	::= { acl 21 }

	aclFieldPriorityEntry OBJECT-TYPE
	SYNTAX AclFieldPriorityEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { IMPLIED aclFieldPriorityIndex }
	::= { aclFieldPriorityTable 1 }

	AclFieldPriorityEntry ::=
		SEQUENCE {
			aclFieldPriorityIndex		INTEGER,
			aclFieldPriorityValue		DisplayString
		}

	aclFieldPriorityIndex OBJECT-TYPE
		SYNTAX INTEGER {
			sourceMac(1),
			destMac(2),
			sourceOui(3),
			destOui(4),
			sourceIpAddress(5),
			sourceIpRange(6),
			destIpAddress(7),
			destIpRange(8),
			sourceIpv6(9),
			destIpv6(10),
			sourceL4Port(11),
			sourceL4PortRange(12),
			destL4Port(13),
			destL4PortRange(14),
			outerVlan(15),
			innerVlan(16),
			outerPbit(17),
			innerPbit(18),
			etherType(19),
			nextHeader(20),
			trafficClass(21),
			ipPrecedence(22),
			dscp(23),
			protocol(24)
		}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The field index of field priority table."
		::= { aclFieldPriorityEntry 1 }

		aclFieldPriorityValue OBJECT-TYPE
		SYNTAX OCTET STRING
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The field priority of field priority table.
			Accept range:01 to ff in hex."
		::= { aclFieldPriorityEntry 2 }

-- aclPacketTypeFilterTable
	aclPacketTypeFilterTable OBJECT-TYPE
	SYNTAX SEQUENCE OF AclPacketTypeFilterEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures ACL packet type filter table."
	::= { acl 22 }

	aclPacketTypeFilterEntry OBJECT-TYPE
	SYNTAX AclPacketTypeFilterEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex, aclPacketTypeFilterVlanId }
	::= { aclPacketTypeFilterTable 1 }

	AclPacketTypeFilterEntry ::=
		SEQUENCE {
			aclPacketTypeFilterVlanId         VlanIndex,
			aclPacketTypeFilterActionMask			BITS,
			aclPacketTypeFilterRowStatus     	RowStatus
		}

	aclPacketTypeFilterVlanId OBJECT-TYPE
	SYNTAX VlanIndex (1..4093)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Packet type filter VLAN ID."
	::= { aclPacketTypeFilterEntry 1 }

	aclPacketTypeFilterActionMask OBJECT-TYPE
	SYNTAX	BITS {
		dropIgmp(0),
		dropEapol(1),
		dropDhcp(2),
		dropNetBios(3),
		dropArp(4),
		dropIp(5),
		dropPppoe(6),
		pppoeOnly(7)
	}
	MAX-ACCESS  read-create
	STATUS  current
	DESCRIPTION
	    	"Defines action(s) for the packet filter.
	    	At least one bit must be set."
	    ::= { aclPacketTypeFilterEntry 2 }

	aclPacketTypeFilterRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Row status of the table entry.
		Remove the entry to accept all packet type for the vlan."
	::= { aclPacketTypeFilterEntry 3 }

--------------------------------------------------------------------------------------------------------
-- alarm
--------------------------------------------------------------------------------------------------------

		alarmOps		OBJECT IDENTIFIER ::= { alarm 1 }

        curAlarmClearTargetTrapOid OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set target alarm Trap OID for clearing one current alarm."
        ::= { alarmOps 1 }

        curAlarmClearTargetIndex1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set target alarm index1 for clearing one current alarm."
        ::= { alarmOps 2 }

        curAlarmClearTargetIndex2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set target alarm index2 for clearing one current alarm."
        ::= { alarmOps 3 }

        curAlarmClearTargetIndex3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Set target alarm index3 for clearing one current alarm."
        ::= { alarmOps 4 }

        alarmOperation OBJECT-TYPE
        SYNTAX INTEGER {
	    clearOneCurrAlarm(1),
	    clearAllCurrAlarm(2),
	    clearAllHistoricalAlarm(3)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Its value will be set to zero after operation finished."
        ::= { alarmOps 5 }

 -- currAlarmTable

        currAlarmTable OBJECT-TYPE
        SYNTAX SEQUENCE OF CurrAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Displays current alarm."
        ::= { alarm 2 }

		currAlarmEntry OBJECT-TYPE
        SYNTAX CurrAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX { currAlarmIndex }
        ::= { currAlarmTable 1 }

        CurrAlarmEntry ::=
        	SEQUENCE {
				currAlarmIndex				INTEGER,
				currAlarmCondId				INTEGER,
				currAlarmOccurTime			TimeTicks,
				currAlarmTrapOid			OBJECT IDENTIFIER,
				currAlarmParam1				INTEGER,
				currAlarmParam2				INTEGER,
				currAlarmParam3				INTEGER,
				currAlarmParam4				INTEGER,
				currAlarmParam5				INTEGER,
				currAlarmParam6				INTEGER,
				currAlarmParam7				INTEGER,
				currAlarmParam8				INTEGER,
				currAlarmParam9				DisplayString,
				currAlarmTimeDescr			DisplayString,
				currAlarmSeverity			INTEGER,
				currAlarmDescr				DisplayString
           	}

        currAlarmIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Index of the alarm."
        ::= { currAlarmEntry 1 }

        currAlarmCondId OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	""
         ::= { currAlarmEntry 2 }

        currAlarmOccurTime OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Alarm occurence time (in hundredths of a second) since the system was last re-initialized."
        ::= { currAlarmEntry 3 }

        currAlarmTrapOid OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Trap OID of the alarm."
        ::= { currAlarmEntry 4 }

        currAlarmParam1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 1st parameter of the alarm."
        ::= { currAlarmEntry 5 }

        currAlarmParam2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 2nd parameter of the alarm."
        ::= { currAlarmEntry 6 }

        currAlarmParam3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 3rd parameter of the alarm."
        ::= { currAlarmEntry 7 }

        currAlarmParam4 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 4th parameter of the alarm."
        ::= { currAlarmEntry 8 }

        currAlarmParam5 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 5th parameter of the alarm."
        ::= { currAlarmEntry 9 }

        currAlarmParam6 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 6th parameter of the alarm."
        ::= { currAlarmEntry 10 }

        currAlarmParam7 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 7th parameter of the alarm."
        ::= { currAlarmEntry 11 }

        currAlarmParam8 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 8th parameter of the alarm."
        ::= { currAlarmEntry 12 }

        currAlarmParam9 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 9th parameter of the alarm."
        ::= { currAlarmEntry 13 }

        currAlarmTimeDescr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The string representation of occurence time (YYYY/MM/DD HH:MM:SS)."
        ::= { currAlarmEntry 14 }

        currAlarmSeverity OBJECT-TYPE
        SYNTAX INTEGER {
        					critical(1),
        					major(2),
        					minor(3),
        					warning(4)
        				}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The severity of the alarm."
        ::= { currAlarmEntry 15 }

        currAlarmDescr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The description of the alarm."
        ::= { currAlarmEntry 16 }


-- histAlarmTable

        histAlarmTable OBJECT-TYPE
        SYNTAX SEQUENCE OF HistAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Displays alarm history."
        ::= { alarm 3 }

	histAlarmEntry OBJECT-TYPE
        SYNTAX HistAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX { histAlarmIndex }
        ::= { histAlarmTable 1 }

        HistAlarmEntry ::=
        	SEQUENCE {
				histAlarmIndex					INTEGER,
				histAlarmCondId					INTEGER,
				histAlarmOccurTime				TimeTicks,
				histAlarmTrapOid				OBJECT IDENTIFIER,
				histAlarmParam1					INTEGER,
				histAlarmParam2					INTEGER,
				histAlarmParam3					INTEGER,
				histAlarmParam4					INTEGER,
				histAlarmParam5					INTEGER,
				histAlarmParam6					INTEGER,
				histAlarmParam7					INTEGER,
				histAlarmParam8					INTEGER,
				histAlarmParam9					DisplayString,
				histAlarmTimeDescr				DisplayString,
				histAlarmSeverity				INTEGER,
				histAlarmDescr					DisplayString
           	}

        histAlarmIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Index of the alarm."
        ::= { histAlarmEntry 1 }

        histAlarmCondId OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	""
         ::= { histAlarmEntry 2 }

        histAlarmOccurTime OBJECT-TYPE
        SYNTAX TimeTicks
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Alarm occurence time (in hundredths of a second) since the system was last re-initialized."
        ::= { histAlarmEntry 3 }

        histAlarmTrapOid OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "Trap OID of the alarm."
        ::= { histAlarmEntry 4 }

        histAlarmParam1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 1st parameter of the alarm."
        ::= { histAlarmEntry 5 }

        histAlarmParam2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 2nd parameter of the alarm."
        ::= { histAlarmEntry 6 }

        histAlarmParam3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 3rd parameter of the alarm."
        ::= { histAlarmEntry 7 }

        histAlarmParam4 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 4th parameter of the alarm."
        ::= { histAlarmEntry 8 }

        histAlarmParam5 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 5th parameter of the alarm."
        ::= { histAlarmEntry 9 }

        histAlarmParam6 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 6th parameter of the alarm."
        ::= { histAlarmEntry 10 }

        histAlarmParam7 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 7th parameter of the alarm."
        ::= { histAlarmEntry 11 }

        histAlarmParam8 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 8th parameter of the alarm."
        ::= { histAlarmEntry 12 }

        histAlarmParam9 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The 9th parameter of the alarm."
        ::= { histAlarmEntry 13 }

        histAlarmTimeDescr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The string representation of occurence time (YYYY/MM/DD HH:MM:SS)."
        ::= { histAlarmEntry 14 }

        histAlarmSeverity OBJECT-TYPE
        SYNTAX INTEGER {
        					critical(1),
        					major(2),
        					minor(3),
        					warning(4),
        					event(5)
        				}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The severity of the alarm."
        ::= { histAlarmEntry 15 }

        histAlarmDescr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The description of the alarm."
        ::= { histAlarmEntry 16 }


-- alarmConfTable

        alarmConfTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AlarmConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Configures specified alarm definition.
        	No show event alarm."
        ::= { alarm 4 }

	alarmConfEntry OBJECT-TYPE
        SYNTAX AlarmConfEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX { alarmConfTrapOid }
        ::= { alarmConfTable 1 }

        AlarmConfEntry ::=
        	SEQUENCE {
				alarmConfTrapOid				OBJECT IDENTIFIER,
				alarmConfSeverity				INTEGER,
				alarmConfLogFacility			INTEGER,
				alarmConfTarget					INTEGER
           	}

        alarmConfTrapOid OBJECT-TYPE
        SYNTAX OBJECT IDENTIFIER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"alarm condition code"
         ::= { alarmConfEntry 1 }

	alarmConfSeverity OBJECT-TYPE
        SYNTAX INTEGER  {
        							critical(1),
        							major(2),
        							minor(3),
        							warning(4),
        							event(5)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "alarm severity.
                event(5): No permit editing the severity of alarm with event severity.
                          Read-only. No permit editing the alarm severity to be event.
                "
	::= { alarmConfEntry 2 }

        alarmConfLogFacility OBJECT-TYPE
        SYNTAX INTEGER {
        						local1(1),
        						local2(2),
        						local3(3),
       					 		local4(4),
       					 		local5(5),
      							local6(6),
        						local7(7)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "alarm syslog-facility"
         ::= { alarmConfEntry 3 }

        alarmConfTarget OBJECT-TYPE
        SYNTAX INTEGER {
        					snmp(1),
        					syslog(2),
        					all(3),
        					none(4)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "alarm issue target"
         ::= { alarmConfEntry 4 }



-- alarmSeveritySystem
        alarmSeveritySystem OBJECT-TYPE
        SYNTAX INTEGER {
        					critical(1),
        					major(2),
        					minor(3),
        					warning(4)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Configures the minimum severity level to send out alarm notification (SNMP trap and SYSLOG) for overall system."
--                "Configures the minimum severity level to send out alarm notification (SNMP trap) for overall system."
         ::= { alarm 5 }

-- alarmSeverityPortTable

        alarmSeverityPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF AlarmSeverityPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Configures the minimum severity level to send out alarm notification (SNMP trap and SYSLOG) for each port."
--        	"Configures the minimum severity level to send out alarm notification (SNMP trap) for each port."
        ::= { alarm 6 }

		alarmSeverityPortEntry OBJECT-TYPE
		SYNTAX AlarmSeverityPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
        INDEX { ifIndex }
        ::= { alarmSeverityPortTable 1 }

        AlarmSeverityPortEntry ::=
        	SEQUENCE {
						alarmSeverityPortThresh	INTEGER
           	}

        alarmSeverityPortThresh OBJECT-TYPE
        SYNTAX INTEGER {
        						critical(1),
        						major(2),
        						minor(3),
        						warning(4)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                ""
         ::= { alarmSeverityPortEntry 1 }

-- alarmControl
		alarmControl		OBJECT IDENTIFIER ::= { alarm 7 }

        sysAlarmSuppressEnable OBJECT-TYPE
        SYNTAX INTEGER {
        		enable(1),
        		disable(2)
        		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Enable means no alarm trap will be sent. Only trap of alarm with event severity can be reported.
        	Disable means no suppress."
        ::= { alarmControl 1 }

--        alarmControlPortTable OBJECT-TYPE
--        SYNTAX SEQUENCE OF AlarmControlPortEntry
--        MAX-ACCESS not-accessible
--        STATUS current
--        DESCRIPTION
--        	"Controls alarm reporting interval in specified port"
--        ::= { alarmControl 2 }
--
--		alarmControlPortEntry OBJECT-TYPE
--		SYNTAX AlarmControlPortEntry
--		MAX-ACCESS not-accessible
--		STATUS current
--		DESCRIPTION
--			""
--        INDEX { ifIndex }
--        ::= { alarmControlPortTable 1 }
--
--        AlarmControlPortEntry ::=
--        	SEQUENCE {
--				alarmControlLineAlarmControlInterval	INTEGER,
--				alarmControlLineAlarmControlEnable		INTEGER
--           	}
--
--        alarmControlLineAlarmControlInterval OBJECT-TYPE
--        SYNTAX INTEGER (10..600)
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--        	"The unit is seconds. This is used when line alarm control is enabled. This controls when alarms shall be reported."
--        ::= { alarmControlPortEntry 1 }
--
--        alarmControlLineAlarmControlEnable OBJECT-TYPE
--        SYNTAX INTEGER {
--        		enable(1),
--        		disable(2)
--        		}
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--        	"Enable means no alarm shall be reported instantaneously.
--        	In this case, alarms shall be reported in interval.
--        	Disable means alarm shall be reported instantaneously."
--        ::= { alarmControlPortEntry 2 }

-- externalAlarmTable

        externalAlarmTable OBJECT-TYPE
        SYNTAX SEQUENCE OF ExternalAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Configures alarm input description."
        ::= { alarm 8 }

	externalAlarmEntry OBJECT-TYPE
        SYNTAX ExternalAlarmEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX { externalAlarmIndex }
        ::= { externalAlarmTable 1 }

        ExternalAlarmEntry ::=
        	SEQUENCE {
				externalAlarmIndex	INTEGER,
				externalAlarmName	DisplayString
           	}

        externalAlarmIndex OBJECT-TYPE
        SYNTAX INTEGER (1..4)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "External alarm index"
        ::= { externalAlarmEntry 1 }

        externalAlarmName OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..31))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "External alarm name"
         ::= { externalAlarmEntry 2 }

--------------------------------------------------------------------------------------------------------
-- dhcp
--------------------------------------------------------------------------------------------------------
	dhcpSnoop		OBJECT IDENTIFIER ::= { dhcp 2 }
-- dhcpL2ag
	dhcpL2agTable OBJECT-TYPE
        SYNTAX SEQUENCE OF DhcpL2agEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A table that contains DHCP L2 agent configuration."
        ::= { dhcp 1 }

	dhcpL2agEntry OBJECT-TYPE
        SYNTAX DhcpL2agEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of dhcpL2agTable."
        INDEX { dhcpL2agVlanId }
        ::= { dhcpL2agTable 1 }

        DhcpL2agEntry ::=
           SEQUENCE {
				dhcpL2agVlanId					VlanIndex,
				dhcpL2agMode					INTEGER,
        		dhcpL2agLdraEnable				INTEGER,
        		dhcpL2agOpt18CircuitIDEnable	INTEGER,
				dhcpL2agOpt18CircuitIDInfo		DisplayString,
				dhcpL2agOpt37RemoteIDEnable     INTEGER,
				dhcpL2agOpt37RemoteIDInfo		DisplayString,
				dhcpL2agOpt82CircuitIDEnable	INTEGER,
				dhcpL2agOpt82CircuitIDInfo		DisplayString,
				dhcpL2agOpt82RemoteIDEnable		INTEGER,
				dhcpL2agOpt82RemoteIDInfo		DisplayString,
				dhcpL2agRowStatus				RowStatus
           	}

	dhcpL2agVlanId OBJECT-TYPE
        SYNTAX VlanIndex (1..4093)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
		"Specify the VLAN with DHCP transparent or DHCP L2 Agent function"
    	::= { dhcpL2agEntry 1 }

	dhcpL2agMode OBJECT-TYPE
        SYNTAX INTEGER {
			dhcpTransparent(1),
			dhcpL2Agent(2)
        }
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
		"Specify the DHCP mode
		dhcpTransparent(1) - DHCP packets are transparent
		dhcpL2Agent(2) - DHCP L2 Agent function is enabled"
    	::= { dhcpL2agEntry 2 }

	dhcpL2agLdraEnable OBJECT-TYPE
        SYNTAX INTEGER {
			enable(1),
			disable(2)
        }
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
		"Enable/disable LightWeight DHCPv6 Relay agent in l2agent mode"
    	::= { dhcpL2agEntry 3 }

	dhcpL2agOpt18CircuitIDEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Enable/disable insert the option18 circuit ID to DHCP packet in l2agent mode."
        ::= { dhcpL2agEntry 4 }

    dhcpL2agOpt18CircuitIDInfo OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..127))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"User specific DHCP option18 circuit ID info.
		Info is composed by the following components
		special characters except % =>  ~`!@#$^&*()-=_+{}<>?,./
		%%: equals character %
		%0x00~%0xFF: represents byte value
		%pname: configured port name
		%pid: port index
		%chvpi: channel vpi
		%chvci: channel vci
		%slotid: slot index of the logic port
		%svlan: SVLAN ID which DHCP client runs on
		%cvlan: CVLAN ID which DHCP client runs on
		%hname: host device name
		%cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%cmac2: MAC address of client, represents as XXXXXXXXXXXX where X=0~F
		%cmac3: MAC address of client, represents as Byte
		%dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%dmac2: MAC address of host device, represents as XXXXXXXXXXXX where X=0~F
		%dmac3: MAC address of host device, represents as Byte
		%phtype: represents as atm in ATM or represents as eth in Ethernet
		%hmodel: model name of host device
		%fwid: host device firmware ID
		%blank: blank character"
        ::= { dhcpL2agEntry 5 }


	dhcpL2agOpt37RemoteIDEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Enable/disable insert the option37 remote ID to DHCP packet in l2agent mode."
        ::= { dhcpL2agEntry 6 }

    dhcpL2agOpt37RemoteIDInfo OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..127))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"User specific DHCP option37 remote ID info.
		Info is composed by the following components
		special characters except % =>  ~`!@#$^&*()-=_+{}<>?,./
		%%: equals character %
		%0x00~%0xFF: represents byte value
		%pname: configured port name
		%pid: port index
		%chvpi: channel vpi
		%chvci: channel vci
		%slotid: slot index of the logic port
		%svlan: SVLAN ID which DHCP client runs on
		%cvlan: CVLAN ID which DHCP client runs on
		%hname: host device name
		%cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%cmac2: MAC address of client, represents as XXXXXXXXXXXX where X=0~F
		%cmac3: MAC address of client, represents as Byte
		%dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%dmac2: MAC address of host device, represents as XXXXXXXXXXXX where X=0~F
		%dmac3: MAC address of host device, represents as Byte
		%phtype: represents as atm in ATM or represents as eth in Ethernet
		%hmodel: model name of host device
		%fwid: host device firmware ID
		%blank: blank character"
        ::= { dhcpL2agEntry 7 }

	dhcpL2agOpt82CircuitIDEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Enable/disable insert the option82 circuit ID to DHCP packet in l2agent mode."
        ::= { dhcpL2agEntry 8 }

    dhcpL2agOpt82CircuitIDInfo OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..127))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"User specific DHCP option82 circuit ID info.
		Info is composed by the following components
		special characters except % =>  ~`!@#$^&*()-=_+{}<>?,./
		%%: equals character %
		%0x00~%0xFF: represents byte value
		%pname: configured port name
		%pid: port index
		%chvpi: channel vpi
		%chvci: channel vci
		%slotid: slot index of the logic port
		%svlan: SVLAN ID which DHCP client runs on
		%cvlan: CVLAN ID which DHCP client runs on
		%hname: host device name
		%cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%cmac2: MAC address of client, represents as XXXXXXXXXXXX where X=0~F
		%cmac3: MAC address of client, represents as Byte
		%dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%dmac2: MAC address of host device, represents as XXXXXXXXXXXX where X=0~F
		%dmac3: MAC address of host device, represents as Byte
		%phtype: represents as atm in ATM or represents as eth in Ethernet
		%hmodel: model name of host device
		%fwid: host device firmware ID
		%blank: blank character"
        ::= { dhcpL2agEntry 9 }


	dhcpL2agOpt82RemoteIDEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Enable/disable insert the option82 remote ID to DHCP packet in l2agent mode."
        ::= { dhcpL2agEntry 10 }

    dhcpL2agOpt82RemoteIDInfo OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..127))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"User specific DHCP option82 remote ID info.
		Info is composed by the following components
		special characters except % =>  ~`!@#$^&*()-=_+{}<>?,./
		%%: equals character %
		%0x00~%0xFF: represents byte value
		%pname: configured port name
		%pid: port index
		%chvpi: channel vpi
		%chvci: channel vci
		%slotid: slot index of the logic port
		%svlan: SVLAN ID which DHCP client runs on
		%cvlan: CVLAN ID which DHCP client runs on
		%hname: host device name
		%cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%cmac2: MAC address of client, represents as XXXXXXXXXXXX where X=0~F
		%cmac3: MAC address of client, represents as Byte
		%dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%dmac2: MAC address of host device, represents as XXXXXXXXXXXX where X=0~F
		%dmac3: MAC address of host device, represents as Byte
		%phtype: represents as atm in ATM or represents as eth in Ethernet
		%hmodel: model name of host device
		%fwid: host device firmware ID
		%blank: blank character"
        ::= { dhcpL2agEntry 11 }

    dhcpL2agRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Row status of the table entry."
        ::= { dhcpL2agEntry 12 }

----------------------------------------
-- dhcpSnoop
----------------------------------------

-- dhcpSnoopPortTable
	dhcpSnoopPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DhcpSnoopPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A table that contains DHCP Snoop configuration for specified UNI ports."
	::= { dhcpSnoop 1 }

	dhcpSnoopPortEntry OBJECT-TYPE
	SYNTAX DhcpSnoopPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures DHCP snooping for specified ports."
	INDEX { ifIndex }
	::= { dhcpSnoopPortTable 1 }

	DhcpSnoopPortEntry ::=
		SEQUENCE {
			dhcpSnoopPortIpMacBindingEnable		INTEGER,
			dhcpSnoopPortMaxLeaseCount	INTEGER,
			dhcpSnoopPortDbFlush	INTEGER
		}

	dhcpSnoopPortIpMacBindingEnable OBJECT-TYPE
	SYNTAX INTEGER {
			enable(1),
			disable(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enables IP-MAC binding on specified UNI ports."
	::= { dhcpSnoopPortEntry 1 }

	dhcpSnoopPortMaxLeaseCount OBJECT-TYPE
	SYNTAX INTEGER (1..32)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures DHCP Snooping database max lease count for specified UNI ports."
	::= { dhcpSnoopPortEntry 2 }

	dhcpSnoopPortDbFlush OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Set 1 to flush DHCP database for specified UNI ports."
	::= { dhcpSnoopPortEntry 3 }

-- dhcpSnoopOverflowMode
	dhcpSnoopOverflowMode OBJECT-TYPE
    SYNTAX  INTEGER {
			denynewlease(1),
			removeoldestlease(2)
	}
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures DHCP Snooping database overflow handling mode."
	DEFVAL { removeoldestlease }
    ::= { dhcpSnoop 2 }

-- dhcpSnoopDbTable
	dhcpSnoopDbTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DhcpSnoopDbEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A table that contains DHCP Snoop database on specified UNI ports."
	::= { dhcpSnoop 3 }

	dhcpSnoopDbEntry OBJECT-TYPE
	SYNTAX DhcpSnoopDbEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Show DHCP database on specified ports."
	INDEX { ifIndex, dhcpSnoopDbIpType, IMPLIED dhcpSnoopDbIp }
	::= { dhcpSnoopDbTable 1 }

	DhcpSnoopDbEntry ::=
		SEQUENCE {
       		dhcpSnoopDbIpType	InetAddressType,
			dhcpSnoopDbIp		InetAddress,
			dhcpSnoopDbVid		VlanIndex,
			dhcpSnoopDbMac		PhysAddress
	}

	dhcpSnoopDbIpType OBJECT-TYPE
	SYNTAX InetAddressType {ipv4(1), ipv6(2)}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"IP address type, IPv6 or IPv4."
	::= { dhcpSnoopDbEntry 1 }

	dhcpSnoopDbIp OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the IP address in the DHCP database on specified UNI ports."
	::= { dhcpSnoopDbEntry 2 }

	dhcpSnoopDbVid OBJECT-TYPE
	SYNTAX VlanIndex (1..4093)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the vid in the DHCP database on specified UNI ports."
	::= { dhcpSnoopDbEntry 3 }

	dhcpSnoopDbMac OBJECT-TYPE
	SYNTAX PhysAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the MAC address in the DHCP database on specified UNI ports."
	::= { dhcpSnoopDbEntry 4 }

-- dhcpSnoopStatsTable
	dhcpSnoopStatsTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DhcpSnoopStatsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A table that contains DHCP stats on specified UNI ports."
	::= { dhcpSnoop 4 }

	dhcpSnoopStatsEntry OBJECT-TYPE
	SYNTAX DhcpSnoopStatsEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"show DHCP stats on specified ports."
	INDEX { ifIndex }
	::= { dhcpSnoopStatsTable 1 }

	DhcpSnoopStatsEntry ::=
		SEQUENCE {
			dhcpSnoopStatsOverFlow      Counter32,
			dhcpSnoopStatsV4Discover     Counter32,
			dhcpSnoopStatsV4Offer       Counter32,
			dhcpSnoopStatsV4Request     Counter32,
			dhcpSnoopStatsV4Ack          Counter32,
			dhcpSnoopStatsV4Release    Counter32,
			dhcpSnoopStatsV6Solicit      Counter32,
			dhcpSnoopStatsV6Advertise     Counter32,
			dhcpSnoopStatsV6Request      Counter32,
			dhcpSnoopStatsV6Reply        Counter32,
			dhcpSnoopStatsV6Renew         Counter32,
			dhcpSnoopStatsV6Rebind       Counter32,
			dhcpSnoopStatsV6Release      Counter32,
			dhcpSnoopStatsV6RelayForward Counter32,
			dhcpSnoopStatsV6RelayReply   Counter32,
			dhcpSnoopStatsClear           INTEGER
	}

	dhcpSnoopStatsOverFlow OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the counter when occurs overflow in DHCPv4 and DHCPv6."
	::= { dhcpSnoopStatsEntry 1 }

	dhcpSnoopStatsV4Discover OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv4 Discover packets."
	::= { dhcpSnoopStatsEntry 2 }

	dhcpSnoopStatsV4Offer OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv4 Offer packets."
	::= { dhcpSnoopStatsEntry 3 }

	dhcpSnoopStatsV4Request OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv4 Request packets."
	::= { dhcpSnoopStatsEntry 4 }

	dhcpSnoopStatsV4Ack OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv4 Ack packets."
	::= { dhcpSnoopStatsEntry 5 }

	dhcpSnoopStatsV4Release OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv4 Release packets."
	::= { dhcpSnoopStatsEntry 6 }

	dhcpSnoopStatsV6Solicit OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv6 Solicit packets."
	::= { dhcpSnoopStatsEntry 7 }

	dhcpSnoopStatsV6Advertise OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv6 Advertise packets."
	::= { dhcpSnoopStatsEntry 8 }

	dhcpSnoopStatsV6Request OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv6 Request packets."
	::= { dhcpSnoopStatsEntry 9 }

	dhcpSnoopStatsV6Reply OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv6 Reply packets."
	::= { dhcpSnoopStatsEntry 10 }

	dhcpSnoopStatsV6Renew OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv6 Renew packets."
	::= { dhcpSnoopStatsEntry 11 }

	dhcpSnoopStatsV6Rebind OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv6 Rebind packets."
	::= { dhcpSnoopStatsEntry 12 }

	dhcpSnoopStatsV6Release OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv6 Release packets."
	::= { dhcpSnoopStatsEntry 13 }

	dhcpSnoopStatsV6RelayForward OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv6 Relay Forward packets."
	::= { dhcpSnoopStatsEntry 14 }

	dhcpSnoopStatsV6RelayReply OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Show the number of DHCPv6 Relay Reply packets."
	::= { dhcpSnoopStatsEntry 15 }

	dhcpSnoopStatsClear OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Set 1 to clear all the counter in dhcpSnoopStatsTable."
	::= { dhcpSnoopStatsEntry 16 }

-- dhcpTest
	dhcpTest		OBJECT IDENTIFIER ::= { dhcp 4 }

	dhcpTestPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting the port of the test DHCP session."
	::= { dhcpTest 1 }

	dhcpTestChannel OBJECT-TYPE
	SYNTAX  INTEGER {
			ptm(1),
			atm(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting the channel type of the test DHCP session."
	::= { dhcpTest 2 }

	dhcpTestUniVlanMode OBJECT-TYPE
	SYNTAX  INTEGER {
			untag(1),
			tag(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting the UNI VLAN mode of the test DHCP session."
	::= { dhcpTest 3 }

	dhcpTestUniVlan OBJECT-TYPE
	SYNTAX VlanIndex (1..4093)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting the UNI VLAN of the test DHCP session."
	::= { dhcpTest 4 }
   
   	dhcpTestType OBJECT-TYPE
	SYNTAX  INTEGER {
			v4(1),
			v6(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting the type of the test DHCP session."
	::= { dhcpTest 5 }

    dhcpTestOps OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Set the object to 1 to test DHCP session."
	::= { dhcpTest 6 }

   	dhcpTestStatus OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Display status of testing DHCP session."
	::= { dhcpTest 7 }

--------------------------------------------------------------------------------------------------------
-- ge
--------------------------------------------------------------------------------------------------------

-- geConfTable

    geConfTable	OBJECT-TYPE
    SYNTAX SEQUENCE OF GeConfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"Configures for the specified GE-NNI ports."
    ::= { ge 1 }

    geConfEntry	OBJECT-TYPE
    SYNTAX GeConfEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	""
    INDEX { ifIndex }
    ::= { geConfTable 1 }

    GeConfEntry ::=
    	SEQUENCE {
    		geConfName			DisplayString,
    		geConfSpeedDuplex	INTEGER,
    		geConfAlarmProf		DisplayString,
		geLinkStatus		INTEGER,
		geUtilTxCurrentPercent Unsigned32,
		geUtilTxCurrentSpeed   Unsigned32,
		geUtilRxCurrentPercent Unsigned32,
		geUtilRxCurrentSpeed   Unsigned32,
		geUtilTxIssueLvl1Threshold Unsigned32,
		geUtilTxIssueLvl2Threshold Unsigned32,
		geUtilRxIssueLvl1Threshold Unsigned32,
		geUtilRxIssueLvl2Threshold Unsigned32,
		geUtilSampleSeconds  Unsigned32
    	}

    geConfName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Sets a name for the port(s)."
    ::= { geConfEntry 1 }

    geConfSpeedDuplex OBJECT-TYPE
    SYNTAX INTEGER {
    	auto(1),
    	halfx10(2),
    	fullx10(3),
    	halfx100(4),
    	fullx100(5),
    	fullx1000(6),
    	fiberx1000(7)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Configures GE speed and duplex mode
    	auto(1) - auto negotiation (both Copper and SFP PHY)
    	halfx10(2) - 10Base-T half duplex mode (Copper)
    	fullx10(3) - 10Base-T full duplex mode (Copper)
    	halfx100(4) - 100Base-TX half duplex mode (Copper)
    	fullx100(5) - 100Base-TX full duplex mode (Copper)
    	fullx1000(6) - 1000Base-T full duplex mode (Copper)
    	fiberx1000(7) - 1000Base-X full duplex mode (SFP)"
    ::= { geConfEntry 2 }

    geConfAlarmProf OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Sets ENET alarm profile for the port(s)."
    ::= { geConfEntry 3 }

    geLinkStatus OBJECT-TYPE
    SYNTAX INTEGER {
		inactive(0),
		linkdown(1),
    	halfx10(2),
    	fullx10(3),
    	halfx100(4),
    	fullx100(5),
    	fullx1000(6),
    	fiberx1000(7)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"displays GE speed and duplex mode
		inactive(0) - inactive
		linkdown(1) - link down
    	halfx10(2) - 10Base-T half duplex mode (Copper)
    	fullx10(3) - 10Base-T full duplex mode (Copper)
    	halfx100(4) - 100Base-TX half duplex mode (Copper)
    	fullx100(5) - 100Base-TX full duplex mode (Copper)
    	fullx1000(6) - 1000Base-T full duplex mode (Copper)
    	fiberx1000(7) - 1000Base-X full duplex mode (SFP)"
    ::= { geConfEntry 4 }

    geUtilTxCurrentPercent OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"GE current utilization in 0.01 percentage(100 = 1.00%)."
    ::= { geConfEntry 5 }

    geUtilTxCurrentSpeed OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"GE current utilization in kbps."
    ::= { geConfEntry 6 }

    geUtilRxCurrentPercent OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"GE current utilization in 0.01 percentage(100 = 1.00%)."
    ::= { geConfEntry 7 }

    geUtilRxCurrentSpeed OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"GE current utilization in kbps."
    ::= { geConfEntry 8 }

    geUtilTxIssueLvl1Threshold OBJECT-TYPE
    SYNTAX Unsigned32 (0..100)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"GE utilization alarm issue level one threshold for tx direction, the threshold value of level two should be
	higher than level one."
    ::= { geConfEntry 9 }

    geUtilTxIssueLvl2Threshold OBJECT-TYPE
    SYNTAX Unsigned32 (0..100)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"GE utilization alarm issue level two threshold for tx direction, the threshold value of level two should be
	higher than level one."
    ::= { geConfEntry 10 }

    geUtilRxIssueLvl1Threshold OBJECT-TYPE
    SYNTAX Unsigned32 (0..100)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"GE utilization alarm level one threshold for rx direction, the threshold value of level two should be
	higher than level one."
    ::= { geConfEntry 11 }

    geUtilRxIssueLvl2Threshold OBJECT-TYPE
    SYNTAX Unsigned32 (0..100)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"GE utilization alarm level two threshold for rx direction, the threshold value of level two should be
	higher than level one."
    ::= { geConfEntry 12 }

    geUtilSampleSeconds OBJECT-TYPE
    SYNTAX Unsigned32 (1..300)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Sample seconds of GE utilization alarm"
    ::= { geConfEntry 13 }
-- geOps

    geOps	OBJECT IDENTIFIER ::= { ge 2 }

    geTarget OBJECT-TYPE
    SYNTAX PortList
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Target GE ifindex to clear packet statistics."
    ::= { geOps 1 }

    geOperation OBJECT-TYPE
    SYNTAX INTEGER {
    	clearCurrPerformance(2),
    	clearCurr15MinPerformance(3),
    	clearHist15MinPerformance(4),
       	clearCurr1DayPerformance(5),
    	clearHist1DayPerformance(6)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"clearFxsCurrPerformance(2) -  clear current performance on the target GE ifindex specified by geTarget.
    	 clearFxsCurr15MinPerformance(3) - clear current 15 minutes performance on the target GE ifindex specified by geTarget.
    	 clearFxsHist15MinPerformance(4) -  clear history 15 minutes performance on the target GE ifindex specified by geTarget.
    	 clearFxsCurr1DayPerformance(5) - clear current 1 day performance on the target GE ifindex specified by geTarget.
    	 clearFxsHist1DayPerformance(6) -  clear history 1 day performance on the target GE ifindex specified by geTarget."
    ::= { geOps 2 }

-- geDdmiTable

    geDdmiTable	OBJECT-TYPE
    SYNTAX SEQUENCE OF GeDdmiEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"Displays current DDMI status on GE-NNI port."
    ::= { ge 3 }

    geDdmiEntry	OBJECT-TYPE
    SYNTAX GeDdmiEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	""
    INDEX { ifIndex }
    ::= { geDdmiTable 1 }

    GeDdmiEntry ::=
    	SEQUENCE {
    		geDdmiTemp			INTEGER,
    		geDdmiVolt			INTEGER,
    		geDdmiTxCurr		INTEGER,
    		geDdmiTxPower		INTEGER,
    		geDdmiRxPower		INTEGER
    	}

    geDdmiTemp OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Internally  measured  transceiver  temperature in 10^(-4) Celsius."
    ::= { geDdmiEntry 1 }

    geDdmiVolt OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Internally  measured  transceiver  supply  voltage in 10^(-4) Volts."
    ::= { geDdmiEntry 2 }

    geDdmiTxCurr OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured TX bias current in 10^(-4) mA."
    ::= { geDdmiEntry 3 }

	geDdmiTxPower OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured TX output power in 10^(-4) mW."
    ::= { geDdmiEntry 4 }

	geDdmiRxPower OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Measured RX received optical power in 10^(-4) mW."
    ::= { geDdmiEntry 5 }

-- geSfpInfoTable

    geSfpInfoTable	OBJECT-TYPE
    SYNTAX SEQUENCE OF GeSfpInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"Displays current SFP information status on GE-NNI port."
    ::= { ge 4 }

    geSfpInfoEntry	OBJECT-TYPE
    SYNTAX GeSfpInfoEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	""
    INDEX { ifIndex }
    ::= { geSfpInfoTable 1 }

    GeSfpInfoEntry ::=
    	SEQUENCE {
    		geSfpInfoVendor				DisplayString,
    		geSfpInfoVendorPn			DisplayString,
    		geSfpInfoVendorRev			DisplayString,
    		geSfpInfoVendorSn			DisplayString,
    		geSfpInfoDateCode			DisplayString
    	}

    geSfpInfoVendor OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"SFP vendor name."
    ::= { geSfpInfoEntry 1 }

    geSfpInfoVendorPn OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"SFP vendor PN(Part number)."
    ::= { geSfpInfoEntry 2 }

    geSfpInfoVendorRev OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"SFP vendor Rev(Revision level for part number)."
    ::= { geSfpInfoEntry 3 }

	geSfpInfoVendorSn OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"SFP vendor SN(Serial number)."
    ::= { geSfpInfoEntry 4 }

	geSfpInfoDateCode OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"SFP vendor's manufacturing date code."
    ::= { geSfpInfoEntry 5 }

--------------------------------------------------------------------------------------------------------
-- hwmonitor
--------------------------------------------------------------------------------------------------------

-- fanConfTable

   	fanConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FanConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configure the limit value of fan module, currently only control card has fan,
		an alarm will be raised if the sensing value higher or lower than these value."
	::= { hwmonitor 1 }

	fanConfEntry OBJECT-TYPE
	SYNTAX FanConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { fanConfIndex }
	::= { fanConfTable 1 }

	FanConfEntry ::=
		SEQUENCE {
			fanConfIndex				INTEGER,
			fanConfHighThreshold			INTEGER,
			fanConfLowThreshold			INTEGER
		}

	fanConfIndex OBJECT-TYPE
	SYNTAX INTEGER (1..4)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"FAN module index"
	::= { fanConfEntry 1 }

	fanConfHighThreshold OBJECT-TYPE
	SYNTAX INTEGER (0..15000)
	UNITS "RPM"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"FAN speed high threshold"
	::= { fanConfEntry 2 }


	fanConfLowThreshold OBJECT-TYPE
	SYNTAX INTEGER (0..15000)
	UNITS "RPM"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"FAN speed low threshold"
	::= { fanConfEntry 3 }

-- temperatureConfTable

    temperatureConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF TemperatureConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configure the limit value of temperature module, an alarm will be raised
		if the sensing value higher or lower than these value."
	::= { hwmonitor 2 }

	temperatureConfEntry OBJECT-TYPE
	SYNTAX TemperatureConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { slotModuleIdVes1724-58v, temperatureConfIndex }
	::= { temperatureConfTable 1 }

	TemperatureConfEntry ::=
		SEQUENCE {
			temperatureConfIndex				INTEGER,
			temperatureConfHighThreshold			INTEGER,
			temperatureConfLowThreshold			INTEGER
		}

	temperatureConfIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Temperature sensor index"
	::= { temperatureConfEntry 1 }

	temperatureConfHighThreshold OBJECT-TYPE
	SYNTAX INTEGER (-50..120)
	UNITS "degree Celsius"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Temperature high threshold"
	::= { temperatureConfEntry 2 }


	temperatureConfLowThreshold OBJECT-TYPE
	SYNTAX INTEGER (-50..120)
	UNITS "degree Celsius"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Temperature low threshold"
	::= { temperatureConfEntry 3 }

-- voltageConfTable

    voltageConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VoltageConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configure the limit value of voltage module, an alarm will be raised
		if the sensing value higher or lower than these value."
	::= { hwmonitor 3 }

	voltageConfEntry OBJECT-TYPE
	SYNTAX VoltageConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { slotModuleIdVes1724-58v, voltageConfIndex }
	::= { voltageConfTable 1 }

	VoltageConfEntry ::=
		SEQUENCE {
			voltageConfIndex				INTEGER,
			voltageConfHighThreshold			INTEGER,
			voltageConfLowThreshold			INTEGER
		}

	voltageConfIndex OBJECT-TYPE
	SYNTAX INTEGER (1..10)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Voltage sendor index"
	::= { voltageConfEntry 1 }

	voltageConfHighThreshold OBJECT-TYPE
	SYNTAX INTEGER (0..25000)
	UNITS "mV"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Voltage high threshold"
	::= { voltageConfEntry 2 }


	voltageConfLowThreshold OBJECT-TYPE
	SYNTAX INTEGER (0..25000)
	UNITS "mV"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Voltage low threshold"
	::= { voltageConfEntry 3 }

--fanStatsTable

	fanStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF FanStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "A table that contains rpm information about the fans."
    ::= { hwmonitor 4 }

    fanStatsEntry OBJECT-TYPE
    SYNTAX FanStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        ""
    INDEX  { fanConfIndex }
    ::= { fanStatsTable 1 }

    FanStatsEntry ::=
    	SEQUENCE {
        	fanRpmCurValue		INTEGER,
		fanRpmMaxValue		INTEGER,
		fanRpmMinValue		INTEGER,
		fanRpmAvgValue		INTEGER,
		fanRpmDescr		DisplayString
         }

	fanRpmCurValue OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The current rpm of the fan."
    ::= { fanStatsEntry 1 }

    fanRpmMaxValue OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum rpm ever performed by the fan."
    ::= { fanStatsEntry 2 }

    fanRpmMinValue OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The minimum rpm ever performed by the fan."
    ::= { fanStatsEntry 3 }

    fanRpmAvgValue OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The average rpm performed by the fan."
    ::= { fanStatsEntry 4 }

    fanRpmDescr OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The description of the fan (e.g. location, function, etc.)."
    ::= { fanStatsEntry 5 }

--temperatureStatsTable

	temperatureStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF TemperatureStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
		"A table that contains temperature information."
    ::= { hwmonitor 5 }

    temperatureStatsEntry OBJECT-TYPE
    SYNTAX TemperatureStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        ""
    INDEX { slotModuleIdVes1724-58v, temperatureConfIndex }
    ::= { temperatureStatsTable 1 }

    TemperatureStatsEntry ::=
    	SEQUENCE {
        	temperatureCurValue	INTEGER,
			temperatureMaxValue	INTEGER,
			temperatureMinValue	INTEGER,
			temperatureAvgValue	INTEGER,
			temperatureDescr	DisplayString
         }

    temperatureCurValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
        "The current temperature detected by the sensor."
    ::= { temperatureStatsEntry 1 }

    temperatureMaxValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum temperature ever detected by the sensor."
    ::= { temperatureStatsEntry 2 }

    temperatureMinValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The minimum temperature ever detected by the sensor."
    ::= { temperatureStatsEntry 3 }

	temperatureAvgValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "Celsius"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The average temperature detected by the sensor."
    ::= { temperatureStatsEntry 4 }

    temperatureDescr OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The description of the temperature sensor (e.g. location, function, etc.)."
    ::= { temperatureStatsEntry 5 }

--voltageStatsTable

	voltageStatsTable OBJECT-TYPE
    SYNTAX SEQUENCE OF VoltageStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
		"A table that contains voltage information about the system."
    ::= { hwmonitor 6 }

    voltageStatsEntry OBJECT-TYPE
    SYNTAX VoltageStatsEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
		""
    INDEX { slotModuleIdVes1724-58v, voltageConfIndex }
    ::= { voltageStatsTable 1 }

    VoltageStatsEntry ::=
    	SEQUENCE {
      		voltageCurValue		INTEGER,
			voltageMaxValue		INTEGER,
			voltageMinValue		INTEGER,
			voltageAvgValue		INTEGER,
			voltageNominalValue	INTEGER,
			voltageDescr		DisplayString
        }

    voltageCurValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "milli-voltage"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The current voltage detected by the sensor."
    ::= { voltageStatsEntry 1 }

    voltageMaxValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "milli-voltage"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum voltage ever detected by the sensor."
    ::= { voltageStatsEntry 2 }

    voltageMinValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "milli-voltage"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The minimum voltage ever detected by the sensor."
    ::= { voltageStatsEntry 3 }

    voltageAvgValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "milli-voltage"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The average voltage detected by the sensor."
    ::= { voltageStatsEntry 4 }

    voltageNominalValue OBJECT-TYPE
    SYNTAX INTEGER
    UNITS "milli-voltage"
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The nominal voltage which the power should supply."
    ::= { voltageStatsEntry 5 }

    voltageDescr OBJECT-TYPE
    SYNTAX DisplayString
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The description of the voltage (e.g. location, nominal value, etc.)."
    ::= { voltageStatsEntry 6 }

	batterySaving OBJECT-TYPE
    SYNTAX BITS {          
          input1(0),
          input2(1),
          input3(2),
	      input4(3)
    }
	MAX-ACCESS read-write
       STATUS current
       DESCRIPTION
	" Each bit corresponds to a method.
	BIT 1: input1
	BIT 2: input2
	BIT 3: input3
	BIT 4: input4
	"
       ::= { hwmonitor 7 }

-- externalBattery
    externalBattery OBJECT IDENTIFIER ::= { hwmonitor 8 }

	externalBatteryStats OBJECT IDENTIFIER ::= { externalBattery 1 }

		externalBatteryStatsTemperature OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The battery temperature detected by external device. Sensing range -19 to 105 degree.
				 the unit is degree Celsius.
				 If battery sensor absence or temperature out of range, this MIB field will return -99."
        ::= { externalBatteryStats 1 }

		externalBatteryStatsVoltage OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "The battery voltage detected by external device.
				the unit is mV."
        ::= { externalBatteryStats 2 }

	externalBatteryConf OBJECT IDENTIFIER ::= { externalBattery 2 }

        externalBatteryConfTempHighThreshold OBJECT-TYPE
        SYNTAX INTEGER (-10..50)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Battery higher the threshold will issue alarm.
				the unit is degree Celsius."
         ::= { externalBatteryConf 1 }	

        externalBatteryConfTempLowThreshold OBJECT-TYPE
        SYNTAX INTEGER (-10..50)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
                "Battery lower the threshold will issue alarm.
				the unit is degree Celsius."
         ::= { externalBatteryConf 2 }      
         
        externalBatteryConfDcCriticThreshold OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "If battery voltage is equal to or lower than this threshold, issue dc critic alarm. If battery voltage is higher than this threshold, clear dc critic alarm.
				the unit is mV. If not use charge power, this MIB field is not supported and will return 0 V."
         ::= { externalBatteryConf 3 }	
         
        externalBatteryConfDcLowThreshold OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "If battery voltage is equal to or lower than this threshold, issue dc low alarm. If battery voltage is higher than this threshold, clear dc low alarm.
				the unit is mV. If not use charge power, this MIB field is not supported and will return 0 V."
         ::= { externalBatteryConf 4 }	      

        externalBatteryConfDcErrThreshold OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "If battery voltage is lower than this threshold, issue dc error alarm. If battery voltage is equal to or higher than this threshold, clear dc error alarm.
				the unit is mV. If not use charge power, this MIB field is not supported and will return 0 V."
         ::= { externalBatteryConf 5 }	


--------------------------------------------------------------------------------------------------------
-- igmpmld
--------------------------------------------------------------------------------------------------------


	groupPrivilege		OBJECT IDENTIFIER ::= { igmpmld 10 }
	mvlan		OBJECT IDENTIFIER ::= { igmpmld 11 }
	group			OBJECT IDENTIFIER ::= { igmpmld 12 }
	igmpmldStatistics	OBJECT IDENTIFIER ::= { igmpmld 13 }
	igmpmldLogs		OBJECT IDENTIFIER ::= { igmpmld 14 }
	igmpmldOps		OBJECT IDENTIFIER ::= { igmpmld 15 }
	igmpmldTest		OBJECT IDENTIFIER ::= { igmpmld 17 }

--igmpmldMode

	igmpmldMode OBJECT-TYPE
    SYNTAX  INTEGER{
       disable(0),
       transparent(1),
       snooping(2),
       proxy(3),
       proxyReport(4)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"IGMP or MLD packet handling mode.
	disable(0) -	disable IGMP or MLD function
	transparent(1) - packets are transparent
	snooping(2) - packets are handled IGMP or MLD snopping function
	proxy(3) - packets are handled IGMP or MLD proxy function
	proxyReport(4) - packets are handled IGMP or MLD proxy Report function
	"
    ::= { igmpmld 1 }

--igmpmldVersion

	igmpmldVersion OBJECT-TYPE
    SYNTAX  INTEGER{
       igmpv2(1),
       igmpv3(2),
       mldv1(3),
       mldv2(4),
       igmpv2AndMldv1(5),
       igmpv2AndMldv2(6),
       igmpv3AndMldv1(7),
       igmpv3AndMldv2(8)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures IGMP/MLD protocol version."
    ::= { igmpmld 2 }

 --igmpmldLeaveMode

	igmpmldLeaveMode OBJECT-TYPE
    SYNTAX  INTEGER{
       fastLeave(1),
       lastMemberQuery(2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures IGMP/MLD leave message handling mode"
    ::= { igmpmld 3 }

--igmpmldLastMemberQueryInterval

	igmpmldLastMemberQueryInterval OBJECT-TYPE
    SYNTAX  INTEGER (100..1000)
    UNITS "ms"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures last member query interval 100~1000 in ms, in step of 100"
    ::= { igmpmld 4 }

 --igmpmldLastMemberQueryRobustness

	igmpmldLastMemberQueryRobustness OBJECT-TYPE
    SYNTAX  INTEGER (1..5)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures last member query robusteness."
    ::= { igmpmld 5 }

--igmpmldGeneralQueryInterval

	igmpmldGeneralQueryInterval OBJECT-TYPE
    SYNTAX  INTEGER (10..300)
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures genery query query interval."
    ::= { igmpmld 6 }

--igmpmldGeneralQueryRobustness

	igmpmldGeneralQueryRobustness OBJECT-TYPE
    SYNTAX  INTEGER (1..5)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures genery query robustness."
    ::= { igmpmld 7 }

--igmpmldGeneralQueryMaxRespTime

    igmpmldGeneralQueryMaxRespTime OBJECT-TYPE
    SYNTAX  INTEGER (1..10)
    UNITS "seconds"
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures genery query maximum response time."
    ::= { igmpmld 8 }

-- igmpmldConfPortTable

	igmpmldConfPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldConfPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"igmp/mld Conf Port Table."
	::= { igmpmld 9 }

	igmpmldConfPortEntry OBJECT-TYPE
	SYNTAX IgmpmldConfPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { igmpmldConfPortTable 1 }

	IgmpmldConfPortEntry ::=
		SEQUENCE {
			igmpmldConfPortMaxGroupCount				INTEGER,
			igmpmldConfPortPrivilegeEnable			INTEGER,
			igmpmldConfPortCacEnable				INTEGER,
			igmpmldConfPortCacMaxBandwidth				INTEGER
		}

	igmpmldConfPortMaxGroupCount OBJECT-TYPE
	SYNTAX INTEGER (1..32)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures maximum group counts on the specified UNI ports."
	::= { igmpmldConfPortEntry 1 }

	igmpmldConfPortPrivilegeEnable OBJECT-TYPE
	SYNTAX INTEGER{
		enable(1) ,
		disable(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enables group privilege checking on specified UNI ports."
	::= { igmpmldConfPortEntry 2 }


	igmpmldConfPortCacEnable OBJECT-TYPE
	SYNTAX INTEGER {
	   enable(1),
	   disable(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable/Disable CAC bandwidth control."
	::= { igmpmldConfPortEntry 3 }

	igmpmldConfPortCacMaxBandwidth OBJECT-TYPE
	SYNTAX INTEGER (0..100)
	UNITS "Mbps"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures maximum CAC bandwidth on the specified UNI ports."
	::= { igmpmldConfPortEntry 4 }

----------------------------------------
-- groupPrivilege
----------------------------------------

--igmpmldMaxNumOfGroupPrivilegeProfiles

	igmpmldMaxNumOfGroupPrivilegeProfiles OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"The maximum number of group privilege profiles supported by the system."
    ::= { groupPrivilege 1 }

-- igmpmldGroupPrivilegeProfileTable

	igmpmldGroupPrivilegeProfileTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldGroupPrivilegeProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Multicast group privilege profile table"
	::= { groupPrivilege 2 }

	igmpmldGroupPrivilegeProfileEntry OBJECT-TYPE
	SYNTAX IgmpmldGroupPrivilegeProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { igmpmldGroupPrivilegeProfileName, igmpmldGroupPrivilegeProfileIndex }
	::= { igmpmldGroupPrivilegeProfileTable 1 }

	IgmpmldGroupPrivilegeProfileEntry ::=
		SEQUENCE {
			igmpmldGroupPrivilegeProfileName				DisplayString,
			igmpmldGroupPrivilegeProfileIndex				INTEGER,
			igmpmldGroupPrivilegeProfileAddressType         InetAddressType,
			igmpmldGroupPrivilegeProfileStartIp             InetAddress,
			igmpmldGroupPrivilegeProfileEndIp               InetAddress,
			igmpmldGroupPrivilegeProfilePrivilege           INTEGER,
			igmpmldGroupPrivilegeProfilePrivilegePreviewLength 		INTEGER,
			igmpmldGroupPrivilegeProfilePrivilegePreviewInterval 	INTEGER,
			igmpmldGroupPrivilegeProfilePrivilegePreviewCount		INTEGER,
			igmpmldGroupPrivilegeProfilePrivilegePreviewReset		INTEGER,
			igmpmldGroupPrivilegeProfileCacBandwidth        INTEGER,
			igmpmldGroupPrivilegeProfileRowStatus           RowStatus
		}

	igmpmldGroupPrivilegeProfileName OBJECT-TYPE
	SYNTAX DisplayString (SIZE (1..31))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Profile name"
	::= { igmpmldGroupPrivilegeProfileEntry 1 }

	igmpmldGroupPrivilegeProfileIndex OBJECT-TYPE
	SYNTAX INTEGER (1..16)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Configures a privilege entry of specified group privilege profile."
	::= { igmpmldGroupPrivilegeProfileEntry 2 }

	igmpmldGroupPrivilegeProfileAddressType OBJECT-TYPE
	SYNTAX InetAddressType {ipv4(1), ipv6(2)}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"The type of address format used for the
         igmpmldGroupPrivilegeProfileStartIp object and
		 igmpmldGroupPrivilegeProfileEndIp object."
	::= { igmpmldGroupPrivilegeProfileEntry 3 }

    igmpmldGroupPrivilegeProfileStartIp OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"ipv4: 224.0.0.0 ~ 239.255.255.255,
		 ipv6: ff00::0 ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"
	::= { igmpmldGroupPrivilegeProfileEntry 4 }

    igmpmldGroupPrivilegeProfileEndIp OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"ipv4: 224.0.0.0 ~ 239.255.255.255,
		 ipv6: ff00::0 ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"
	::= { igmpmldGroupPrivilegeProfileEntry 5 }

	igmpmldGroupPrivilegeProfilePrivilege OBJECT-TYPE
	SYNTAX INTEGER{
		forbid(0),
		permit(1),
		preview(2)
	}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"forbid: deny groups delivery
		permit: allows groups delivery.
		preview: allows groups preview."
	::= { igmpmldGroupPrivilegeProfileEntry 6 }

	igmpmldGroupPrivilegeProfilePrivilegePreviewLength OBJECT-TYPE
	SYNTAX INTEGER (10..300)
	UNITS "seconds"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION "length timer of preview privilege"
	::= { igmpmldGroupPrivilegeProfileEntry 7 }

	igmpmldGroupPrivilegeProfilePrivilegePreviewInterval OBJECT-TYPE
	SYNTAX INTEGER (10..300)
	UNITS "seconds"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION "interval timer of preview privilege"
	::= { igmpmldGroupPrivilegeProfileEntry 8 }

	igmpmldGroupPrivilegeProfilePrivilegePreviewCount OBJECT-TYPE
	SYNTAX INTEGER (1..10)
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION "preview count"
	::= { igmpmldGroupPrivilegeProfileEntry 9 }

	igmpmldGroupPrivilegeProfilePrivilegePreviewReset OBJECT-TYPE
	SYNTAX INTEGER (30..86400)
	UNITS "seconds"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION "reset timer of preview privilege"
	::= { igmpmldGroupPrivilegeProfileEntry 10 }


	igmpmldGroupPrivilegeProfileCacBandwidth OBJECT-TYPE
	SYNTAX INTEGER (0..100)
	UNITS "Mbps"
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Multicast channel bandwidth for channel specified"
	::= { igmpmldGroupPrivilegeProfileEntry 11 }

	igmpmldGroupPrivilegeProfileRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Row status of the table entry.
		To destroy the whole profile directly, use igmpmldGroupPrivilegeProfileIndex 0 to indicate this case."
	::= { igmpmldGroupPrivilegeProfileEntry 12 }

-- igmpmldGroupPrivilegePortTable

	igmpmldGroupPrivilegePortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldGroupPrivilegePortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures group privilege profile to UNI ports"
	::= { groupPrivilege 3 }

	igmpmldGroupPrivilegePortEntry OBJECT-TYPE
	SYNTAX IgmpmldGroupPrivilegePortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex, IMPLIED igmpmldGroupPrivilegeProfileName  }

	::= { igmpmldGroupPrivilegePortTable 1 }

	IgmpmldGroupPrivilegePortEntry ::=
		SEQUENCE {
			igmpmldGroupPrivilegePortEntryRowStatus			RowStatus
		}

	igmpmldGroupPrivilegePortEntryRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Row status of the table entry."
	::= { igmpmldGroupPrivilegePortEntry 1 }

----------------------------------------
-- mvlan
----------------------------------------

--igmpmldMaxNumOfMvlan

	igmpmldMaxNumOfMvlan OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"The maximum number of MVLAN supported by the system."
    ::= { mvlan 1 }

-- igmpmldMvlanTable

	igmpmldMvlanTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldMvlanEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	::= { mvlan 2 }

	igmpmldMvlanEntry OBJECT-TYPE
	SYNTAX IgmpmldMvlanEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { igmpmldMvlanId }
	::= { igmpmldMvlanTable 1 }

	IgmpmldMvlanEntry ::=
		SEQUENCE {
			igmpmldMvlanId				VlanIndex,
			igmpmldMvlanRowStatus		RowStatus,
			igmpmldMvlanTr101fw			INTEGER
		}

	igmpmldMvlanId OBJECT-TYPE
	SYNTAX VlanIndex (1..4093)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Specified MVLAN ID."
	::= { igmpmldMvlanEntry 1 }

    igmpmldMvlanRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Row status of the table entry."
	::= { igmpmldMvlanEntry 2 }

	igmpmldMvlanTr101fw OBJECT-TYPE
	SYNTAX INTEGER{
		disable(0),
		enable(1)
	}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Configures if enables this mvlan to transparent forward in TR-101 mode.
		Ignores this configuration in CTC mode.
		disable: MVLAN vid of IGMP/MLD report will be changed to this vid if group
		         address hit one of entry of MVLAN mapping table.
		enable: this configuration enables transparent forwarding of IGMP/MLD
		        messages on this VLAN. This is available in TR-101 mode only."
	::= { igmpmldMvlanEntry 3 }

-- igmpmldMvlanPortTable

	igmpmldMvlanPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldMvlanPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Joins specified UNI ports to MVLAN."
	::= { mvlan 3 }

	igmpmldMvlanPortEntry OBJECT-TYPE
	SYNTAX IgmpmldMvlanPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex ,igmpmldMvlanId }

	::= { igmpmldMvlanPortTable 1 }

	IgmpmldMvlanPortEntry ::=
		SEQUENCE {
			igmpmldMvlanPortEgressType		INTEGER,
			igmpmldMvlanPortUniVlan			VlanIndex,
			igmpmldMvlanPortRowStatus		RowStatus
		}

    igmpmldMvlanPortEgressType OBJECT-TYPE
	SYNTAX INTEGER{
	     untag(1),
	     tag(2),
	     replaceByUniVlan(3),
	     transparent(4)
	}
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Specifies the egress tagging type for the specified MVLAN packets.
		untag(1): egress untagged
		tag(2): egress tagged with the same VLAN as MVLAN ID
		replaceByUniVlan(3): egress tagged with VLAN ID specified in igmpmldMvlanPortUniVlan
		transparent(4): bind MVLAN with transparent VLAN model and no multicast group created by JOIN report
		"
	::= { igmpmldMvlanPortEntry 1 }

	igmpmldMvlanPortUniVlan OBJECT-TYPE
	SYNTAX VlanIndex (1..4093)
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Specifies the egress VLAN ID if igmpmldMvlanPortEgressType
		is configured as replaceByUniVlan(3), but the value is not
		concerned in other cases"
	::= { igmpmldMvlanPortEntry 2 }

    igmpmldMvlanPortRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Row status of the table entry."
	::= { igmpmldMvlanPortEntry 3 }

-- igmpmldMvlanMapTable

	igmpmldMvlanMapTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldMvlanMapEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures N:1 VLAN mapping by group address for TR-101 mode only.
		The MVLAN table is not editable when tr101-fw is specified for the MVLAN."
	::= { mvlan 4 }

	igmpmldMvlanMapEntry OBJECT-TYPE
	SYNTAX IgmpmldMvlanMapEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { igmpmldMvlanId, igmpmldMvlanMapIndex }
	::= { igmpmldMvlanMapTable 1 }

	IgmpmldMvlanMapEntry ::=
		SEQUENCE {
			igmpmldMvlanMapIndex			INTEGER,
			igmpmldMvlanMapStartIp			InetAddress,
			igmpmldMvlanMapEndIp			InetAddress,
			igmpmldMvlanMapRowStatus		RowStatus
		}

	igmpmldMvlanMapIndex OBJECT-TYPE
	SYNTAX INTEGER (1..16)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Configures a mapping entry of mvlan map table."
	::= { igmpmldMvlanMapEntry 1 }

	igmpmldMvlanMapStartIp OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"ipv4: 224.0.0.0 ~ 239.255.255.255,
		 ipv6: ff00::0 ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"
	::= { igmpmldMvlanMapEntry 2 }

	igmpmldMvlanMapEndIp OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"ipv4: 224.0.0.0 ~ 239.255.255.255,
		 ipv6: ff00::0 ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff"
	::= { igmpmldMvlanMapEntry 3 }

	igmpmldMvlanMapRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Row status of the table entry."
	::= { igmpmldMvlanMapEntry 4 }

----------------------------------------
-- group
----------------------------------------

-- igmpmldMvlanGroupTable

        igmpmldMvlanGroupTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpmldMvlanGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes igmpmld group by mvlan information, for TR-101 mode only."
        ::= { group 3 }

		igmpmldMvlanGroupEntry OBJECT-TYPE
        SYNTAX IgmpmldMvlanGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in igmpmldMvlanGroupTable."
        INDEX { igmpmldMvlanGroupId, igmpmldMvlanGroupAddressType, IMPLIED igmpmldMvlanGroupAddress }
        ::= { igmpmldMvlanGroupTable 1 }

        IgmpmldMvlanGroupEntry ::=
        	SEQUENCE {
        	igmpmldMvlanGroupId							VlanIndex,
			igmpmldMvlanGroupAddressType				InetAddressType,
			igmpmldMvlanGroupAddress					InetAddress,
			igmpmldMvlanGroupNumberOfMembers			INTEGER,
			igmpmldMvlanGroupNumberOfNewJoinedMembers	Counter32,
			igmpmldMvlanGroupNumberOfLeftMembers		Counter32
           	}

		igmpmldMvlanGroupId OBJECT-TYPE
		SYNTAX VlanIndex (1..4093)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Specified MVLAN ID."
		::= { igmpmldMvlanGroupEntry 1 }

        igmpmldMvlanGroupAddressType OBJECT-TYPE
        SYNTAX InetAddressType {ipv4(1), ipv6(2)}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The type of address format used for the
			igmpmldGroupAddress object."
        ::= { igmpmldMvlanGroupEntry 2 }

        igmpmldMvlanGroupAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "igmpmld group address"
        ::= { igmpmldMvlanGroupEntry 3 }

        igmpmldMvlanGroupNumberOfMembers OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "number Of group members"
        ::= { igmpmldMvlanGroupEntry 4 }

        igmpmldMvlanGroupNumberOfNewJoinedMembers OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "number Of new joined members"
        ::= { igmpmldMvlanGroupEntry 5 }

        igmpmldMvlanGroupNumberOfLeftMembers OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "number Of left members"
        ::= { igmpmldMvlanGroupEntry 6 }

-- igmpmldMvlanGroupPortTable

        igmpmldMvlanGroupPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpmldMvlanGroupPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes igmpmld Group port by mvlan information, for TR-101 mode only."
        ::= { group 4 }

		igmpmldMvlanGroupPortEntry OBJECT-TYPE
        SYNTAX IgmpmldMvlanGroupPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in igmpmldGroupPortTable."
        INDEX { ifIndex, igmpmldMvlanGroupId, igmpmldMvlanGroupAddressType, IMPLIED igmpmldMvlanGroupAddress }
        ::= { igmpmldMvlanGroupPortTable 1 }

        IgmpmldMvlanGroupPortEntry ::=
        	SEQUENCE {
			igmpmldMvlanGroupCreateTime    DisplayString,
			igmpmldMvlanGroupPortBandwidth INTEGER,
			igmpmldMvlanGroupPortPrivilege INTEGER,
			igmpmldMvlanGroupPortState INTEGER
			}

        igmpmldMvlanGroupCreateTime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "createTime of igmpmld group"
        ::= { igmpmldMvlanGroupPortEntry 1 }

        igmpmldMvlanGroupPortBandwidth OBJECT-TYPE
        SYNTAX INTEGER (0..100)
		UNITS "Mbps"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "bandwidth of igmpmld group"
        ::= { igmpmldMvlanGroupPortEntry 2 }

		igmpmldMvlanGroupPortPrivilege OBJECT-TYPE
        SYNTAX INTEGER {
			forbid(0),
			preview(1),
			permit(2)
		}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "privilege of igmpmld group"
        ::= { igmpmldMvlanGroupPortEntry 3 }

        igmpmldMvlanGroupPortState OBJECT-TYPE
        SYNTAX INTEGER {
			null(0),
			active(1),
			lastMemberQuery(2),
			preview(3),
			previewLastMemberQuery(4),
			previewForbid(5)
		}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "state of igmpmld group"
        ::= { igmpmldMvlanGroupPortEntry 4 }

----------------------------------------
-- statistics
----------------------------------------

-- igmpmldStatsTable

        igmpmldStatisticsRxQuery OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP query messages received."
        ::= { igmpmldStatistics 1 }

        igmpmldStatisticstTxQuery OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP query messages transmitted."
        ::= { igmpmldStatistics 2 }

        igmpmldStatisticsRxReport OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP report messages received."
        ::= { igmpmldStatistics 3 }

        igmpmldStatisticsTxReport OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP report messages transmitted."
        ::= { igmpmldStatistics 4 }


-- igmpmldStatsPortTable

        igmpmldStatisticsPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IgmpmldStatisticsPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table includes IGMP/MLD port statistics information"
        ::= { igmpmldStatistics 5 }

		igmpmldStatisticsPortEntry OBJECT-TYPE
        SYNTAX IgmpmldStatisticsPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in igmpmldStatisticsPortTable"
        INDEX { ifIndex }
        ::= { igmpmldStatisticsPortTable 1 }

        IgmpmldStatisticsPortEntry ::=
        	SEQUENCE {
			igmpmldStatisticsPortChannelCreateSuccess 	Counter32,
			igmpmldStatisticsPortChannelCreateFail 		Counter32,
			igmpmldStatisticsPortChannelRemoveLeave		Counter32,
			igmpmldStatisticsPortChannelRemoveTimeout	Counter32,
			igmpmldStatisticsPortQueryRx		 		Counter32,
			igmpmldStatisticsPortQueryTx 				Counter32,
			igmpmldStatisticsPortGeneralQueryIgmpv2Tx	Counter32,
			igmpmldStatisticsPortGeneralQueryIgmpv3Tx	Counter32,
			igmpmldStatisticsPortGeneralQueryMldv1Tx 	Counter32,
			igmpmldStatisticsPortGeneralQueryMldv2Tx	Counter32,
			igmpmldStatisticsPortSpecificQueryIgmpv2Tx	Counter32,
			igmpmldStatisticsPortSpecificQueryIgmpv3Tx	Counter32,
			igmpmldStatisticsPortSpecificQueryMldv1Tx 	Counter32,
			igmpmldStatisticsPortSpecificQueryMldv2Tx	Counter32,
			igmpmldStatisticsPortReportRx		 		Counter32,
			igmpmldStatisticsPortReportTx 				Counter32,
			igmpmldStatisticsPortReportJoinIgmpv2Rx 	Counter32,
			igmpmldStatisticsPortReportLeaveIgmpv2Rx	Counter32,
			igmpmldStatisticsPortReportDropIgmp			Counter32,
			igmpmldStatisticsPortCompatibleMode			INTEGER,
			igmpmldStatisticsPortReportJoinMldv1Rx 		Counter32,
			igmpmldStatisticsPortReportLeaveMldv1Rx		Counter32,
			igmpmldStatisticsPortReportDropMld			Counter32,
			igmpmldStatisticsPortReportIgmpv3Rx			Counter32,
			igmpmldStatisticsPortReportMldv2Rx			Counter32,
			igmpmldStatisticsPortQueryDropIgmp			Counter32,
			igmpmldStatisticsPortQueryDropMld			Counter32,
			igmpmldStatisticsPortGeneralQueryIgmpv2Rx	Counter32,
			igmpmldStatisticsPortGeneralQueryIgmpv3Rx	Counter32,
			igmpmldStatisticsPortGeneralQueryMldv1Rx 	Counter32,
			igmpmldStatisticsPortGeneralQueryMldv2Rx	Counter32,
			igmpmldStatisticsPortSpecificQueryIgmpv2Rx	Counter32,
			igmpmldStatisticsPortSpecificQueryIgmpv3Rx	Counter32,
			igmpmldStatisticsPortSpecificQueryMldv1Rx 	Counter32,
			igmpmldStatisticsPortSpecificQueryMldv2Rx	Counter32,
			igmpmldStatisticsPortReportJoinIgmpv2Tx 	Counter32,
			igmpmldStatisticsPortReportLeaveIgmpv2Tx	Counter32,
			igmpmldStatisticsPortReportJoinMldv1Tx 		Counter32,
			igmpmldStatisticsPortReportLeaveMldv1Tx		Counter32,
			igmpmldStatisticsPortReportIgmpv3Tx			Counter32,
			igmpmldStatisticsPortReportMldv2Tx			Counter32
			}

        igmpmldStatisticsPortChannelCreateSuccess OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of channel group created successfully"
        ::= { igmpmldStatisticsPortEntry 1 }

        igmpmldStatisticsPortChannelCreateFail OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of channel group created fail"
        ::= { igmpmldStatisticsPortEntry 2 }

		igmpmldStatisticsPortChannelRemoveLeave OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of channel group removed due to user leave"
        ::= { igmpmldStatisticsPortEntry 3 }

        igmpmldStatisticsPortChannelRemoveTimeout OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of channel group removed due to time out"
        ::= { igmpmldStatisticsPortEntry 4 }

        igmpmldStatisticsPortQueryRx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP query messages received."
        ::= { igmpmldStatisticsPortEntry 5 }

		igmpmldStatisticsPortQueryTx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP query messages transmitted."
        ::= { igmpmldStatisticsPortEntry 6 }

		igmpmldStatisticsPortGeneralQueryIgmpv2Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv2 general query messages transmitted."
        ::= { igmpmldStatisticsPortEntry 7 }

        igmpmldStatisticsPortGeneralQueryIgmpv3Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv3 general query messages transmitted."
        ::= { igmpmldStatisticsPortEntry 8 }

		igmpmldStatisticsPortGeneralQueryMldv1Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv1 general query messages transmitted."
        ::= { igmpmldStatisticsPortEntry 9 }

		igmpmldStatisticsPortGeneralQueryMldv2Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv2 general query messages transmitted."
        ::= { igmpmldStatisticsPortEntry 10 }

        igmpmldStatisticsPortSpecificQueryIgmpv2Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv2 specific query messages transmitted."
        ::= { igmpmldStatisticsPortEntry 11 }

		igmpmldStatisticsPortSpecificQueryIgmpv3Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv3 specific query messages transmitted."
        ::= { igmpmldStatisticsPortEntry 12 }

        igmpmldStatisticsPortSpecificQueryMldv1Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv1 specific query messages transmitted."
        ::= { igmpmldStatisticsPortEntry 14 }

        igmpmldStatisticsPortSpecificQueryMldv2Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv2 specific query messages transmitted."
        ::= { igmpmldStatisticsPortEntry 15 }

		igmpmldStatisticsPortReportRx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP/MLD report messages received"
        ::= { igmpmldStatisticsPortEntry 16 }

		igmpmldStatisticsPortReportTx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP/MLD report messages transmitted"
        ::= { igmpmldStatisticsPortEntry 17 }

        igmpmldStatisticsPortReportJoinIgmpv2Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv2 join type report messages received."
        ::= { igmpmldStatisticsPortEntry 18 }

		igmpmldStatisticsPortReportLeaveIgmpv2Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv2 leave type report messages received."
        ::= { igmpmldStatisticsPortEntry 19 }

        igmpmldStatisticsPortReportDropIgmp OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP dropped report messages "
        ::= { igmpmldStatisticsPortEntry 20 }

		igmpmldStatisticsPortCompatibleMode OBJECT-TYPE
        SYNTAX INTEGER{
			none(0),
			igmpOnly(1),
			mldOnly(2),
			igmpAndMld(3)
		}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The old version compatible mode of specific port.
		 The uplink ports (enet1 & enet2) share the same mode."
        ::= { igmpmldStatisticsPortEntry 21 }

        igmpmldStatisticsPortReportJoinMldv1Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv1 join type report messages received."
        ::= { igmpmldStatisticsPortEntry 22 }

        igmpmldStatisticsPortReportLeaveMldv1Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv1 leave type report messages received."
        ::= { igmpmldStatisticsPortEntry 23 }

		igmpmldStatisticsPortReportDropMld OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLD dropped report messages "
        ::= { igmpmldStatisticsPortEntry 24 }

        igmpmldStatisticsPortReportIgmpv3Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv3 report messages received."
        ::= { igmpmldStatisticsPortEntry 25 }

        igmpmldStatisticsPortReportMldv2Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv2 report messages received."
        ::= { igmpmldStatisticsPortEntry 26 }

        igmpmldStatisticsPortQueryDropIgmp OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMP dropped query messages "
        ::= { igmpmldStatisticsPortEntry 27 }

        igmpmldStatisticsPortQueryDropMld OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLD dropped query messages "
        ::= { igmpmldStatisticsPortEntry 28 }
		
		igmpmldStatisticsPortGeneralQueryIgmpv2Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv2 general query messages received."
        ::= { igmpmldStatisticsPortEntry 29 }

        igmpmldStatisticsPortGeneralQueryIgmpv3Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv3 general query messages received."
        ::= { igmpmldStatisticsPortEntry 30 }

		igmpmldStatisticsPortGeneralQueryMldv1Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv1 general query messages received."
        ::= { igmpmldStatisticsPortEntry 31 }

		igmpmldStatisticsPortGeneralQueryMldv2Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv2 general query messages received."
        ::= { igmpmldStatisticsPortEntry 32 }

        igmpmldStatisticsPortSpecificQueryIgmpv2Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv2 specific query messages received."
        ::= { igmpmldStatisticsPortEntry 33 }

		igmpmldStatisticsPortSpecificQueryIgmpv3Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv3 specific query messages received."
        ::= { igmpmldStatisticsPortEntry 34 }

        igmpmldStatisticsPortSpecificQueryMldv1Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv1 specific query messages received."
        ::= { igmpmldStatisticsPortEntry 35 }

        igmpmldStatisticsPortSpecificQueryMldv2Rx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv2 specific query messages received."
        ::= { igmpmldStatisticsPortEntry 36 }

        igmpmldStatisticsPortReportJoinIgmpv2Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv2 join type report messages transmitted."
        ::= { igmpmldStatisticsPortEntry 37 }

		igmpmldStatisticsPortReportLeaveIgmpv2Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv2 leave type report messages transmitted."
        ::= { igmpmldStatisticsPortEntry 38 }

        igmpmldStatisticsPortReportJoinMldv1Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv1 join type report messages transmitted."
        ::= { igmpmldStatisticsPortEntry 39 }

        igmpmldStatisticsPortReportLeaveMldv1Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv1 leave type report messages transmitted."
        ::= { igmpmldStatisticsPortEntry 40 }

        igmpmldStatisticsPortReportIgmpv3Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of IGMPv3 report messages transmitted."
        ::= { igmpmldStatisticsPortEntry 41 }

        igmpmldStatisticsPortReportMldv2Tx OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION "The total number of MLDv2 report messages transmitted."
        ::= { igmpmldStatisticsPortEntry 42 }

----------------------------------------
-- logs
----------------------------------------


	igmpmldLogsPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF IgmpmldLogsPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This table includes IGMP/MLD port statistics information"
	::= { igmpmldLogs 1 }

	igmpmldLogsPortEntry OBJECT-TYPE
	SYNTAX IgmpmldLogsPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"An entry in igmpmldStatisticsPortTable"
	INDEX { ifIndex,igmpmldLogsPortTime,igmpmldLogsPortSerialNo }
	::= { igmpmldLogsPortTable 1 }

	IgmpmldLogsPortEntry ::=
		SEQUENCE {
		igmpmldLogsPortTime				Unsigned32,
		igmpmldLogsPortSerialNo			INTEGER,
		igmpmldLogsPortEvent 				INTEGER,
		igmpmldLogsPortGroupAddressType	InetAddressType,
		igmpmldLogsPortGroupAddress		InetAddress
		}

	igmpmldLogsPortTime OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION "The time of a log entry"
	::= { igmpmldLogsPortEntry 1 }

	igmpmldLogsPortSerialNo OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION "The serial number is used to identify the order of logs in the same seconds"
	::= { igmpmldLogsPortEntry 2 }

	igmpmldLogsPortEvent OBJECT-TYPE
	SYNTAX INTEGER{
		join(0),
		leave(1),
		drop(2)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	  "The event type of a log entry:
	   join(0) - event of user join a multicast group
	   leave(1) - event of user leave a multicast group
	   drop(2) - event of system drop a multicast goup
	   "
	::= { igmpmldLogsPortEntry 3 }


	igmpmldLogsPortGroupAddressType OBJECT-TYPE
	SYNTAX InetAddressType {ipv4(1), ipv6(2)}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION "The type of address format used for the igmpmldLogsPortGroupAddress"
	::= { igmpmldLogsPortEntry 4 }


	igmpmldLogsPortGroupAddress OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION "The group address of a log entry"
	::= { igmpmldLogsPortEntry 5 }



----------------------------------------
-- igmpmldOps
----------------------------------------

    igmpmldTarget OBJECT-TYPE
    SYNTAX PortList
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Specifies the target NNI or UNI ifindex for igmpmldmldOperation"
    ::= { igmpmldOps 1 }

    igmpmldOperation OBJECT-TYPE
    SYNTAX INTEGER {
		clearIGMPMLDPacketStatistics(1),
		clearIGMPMLDPacketStatisticsOnSpecifiedUNIPorts(2),
		clearIGMPMLDLogOnSpecifiedUNIPorts(3),
		clearIGMPMLDPacketStatisticsOnSpecifiedNNIPorts(4)
	}
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Clear packet statistics
			clearIGMPMLDPacketStatistics(1) - clear system-wized packet counters
			clearIGMPMLDPacketStatisticsOnSpecifiedUNIports(2) - clear packet counter on specified UNI ifindex
			clearIGMPMLDPacketStatisticsOnSpecifiedNNIports(4) - clear packet counter on specified NNI ifindex
		Clear Logs
			clearIGMPMLDLogOnSpecifiedUNIPorts(3) - clear IGMP/MLD logs on specified UNI ifindex
	"
    ::= { igmpmldOps 2 }

--igmpmldPbit
	igmpmldPbit OBJECT-TYPE
    SYNTAX  INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Configures IGMP/MLD packet priority bit in proxy mode."
    ::= { igmpmld 16 }

	
--------------------------------------------------------------------------------------------------------
-- ip
--------------------------------------------------------------------------------------------------------

		ipArp		 	OBJECT IDENTIFIER ::= { ip 1 }
		ipInband	 	OBJECT IDENTIFIER ::= { ip 2 }
		ipOutband 	OBJECT IDENTIFIER ::= { ip 3 }
		ipRoute 		OBJECT IDENTIFIER ::= { ip 5 }
		ipStatistic  OBJECT IDENTIFIER ::= { ip 6 }
		ipv6Destination  OBJECT IDENTIFIER ::= { ip 7 }
		ipv6Neighbor  OBJECT IDENTIFIER ::= { ip 8 }
		ipv6Prefix  OBJECT IDENTIFIER ::= { ip 9 }

		ipArpOps OBJECT-TYPE
        SYNTAX INTEGER {
        							flushTheARPxTableEntries(1)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Flush ARP table."
        ::= { ipArp 1 }

		ipArpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IpArpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Display the arp table."
        ::= { ipArp 2 }

        ipArpEntry OBJECT-TYPE
        SYNTAX IpArpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipAddress}
        ::= { ipArpTable 1 }

        IpArpEntry ::=
			SEQUENCE {
				ipAddress				IpAddress,
				macAddress				PhysAddress,
				ipInterface				DisplayString
           	}

        ipAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The IP that is learned in ARP table."
        ::= { ipArpEntry 1 }

        macAddress OBJECT-TYPE
        SYNTAX PhysAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The correspond mac address of the ipAddress."
        ::= { ipArpEntry 2 }

        ipInterface OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The interface that the ipAddress is learned."
        ::= { ipArpEntry 3 }

--ipInband

        ipInbandAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets the in-band management interface
		IP address (1.0.0.0 ~ 223.255.255.255)."
        ::= { ipInband 1 }

        ipInbandNetmask OBJECT-TYPE
        SYNTAX INTEGER (1..30)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets the in-band management interface subnet mask."
        ::= { ipInband 2 }

        ipInbandMgmtVlan OBJECT-TYPE
        SYNTAX VlanIndex (1..4093)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets in-band mangement VLAN (1~4093)."
        ::= { ipInband 3 }

        ipInbandGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets the in-band default gateway's IP address (1.0.0.0 ~ 223.255.255.255)."
        ::= { ipInband 4 }

        ipv6InbandAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures in-band management interface with
		global IPv6 address (2000:: ~ 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)
		or IPv6 address with all zeros (::)."
        ::= { ipInband 5 }

        ipv6InbandNetmask OBJECT-TYPE
        SYNTAX INTEGER (0..127)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures in-band management interface IPv6 global address
		subnet mask."
        ::= { ipInband 6 }

        ipv6InbandGateway OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures global IPv6 address (2000:: ~ 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff) or
        	IPv6 address with all zeros (::) for the inband IPv6 default outgoing gateway."
        ::= { ipInband 7 }

	    ipInbandDhcpBootpEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable DHCP client to MGMT inband interface. disable(2) is only for status display."
	    ::= { ipInband 8 }

	    ipInbandDhcpOperation OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	release(1),
	    	renew(2)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Performs DHCP operations on MGMT inband interface.
			release: release dynamic IP address
			renew: renew dynamic IP address
			Value changes to be zero after setting successfully"
	    ::= { ipInband 9 }

        ipInbandMgmtPbit OBJECT-TYPE
        SYNTAX INTEGER (0..7)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets in-band mangement pbit."
        ::= { ipInband 10 }

        ipv6InbandLinkLocalAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"In-of-band IPv6 Link-local Address"
        ::= { ipInband 11 }

        ipOutbandAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets the out-of-band management interface
		IP address (1.0.0.0 ~ 223.255.255.255)."
        ::= { ipOutband 1 }

        ipOutbandNetmask OBJECT-TYPE
        SYNTAX INTEGER (1..30)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets the out-of-band management interface subnet mask."
        ::= { ipOutband 2 }

        ipv6OutbandAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures out-of-band management interface with
		IPv6 global address (2000:: ~ 3fff:ffff:ffff:ffff:ffff:ffff:ffff:ffff)
		or IPv6 address with all zeros (::)."
        ::= { ipOutband 3 }

        ipv6OutbandNetmask OBJECT-TYPE
        SYNTAX INTEGER (0..127)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures  out-of-band management interface IPv6 global address
		subnet mask."
        ::= { ipOutband 4 }

        ipv6OutbandLinkLocalAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Out-of-band IPv6 Link-local Address"
        ::= { ipOutband 5 }

        ipv6DefaultMgmt OBJECT-TYPE
        SYNTAX INTEGER {
        								inband(1),
        								outband(2)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Sets which traffic flow (in-band or out-of-band) the Switch sends
		packet originating from itself (such as SNMP traps) or packets
		with unknown source."
        ::= { ip 4 }

-- ip route
        ipMaxNumOfStaticRoutes OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"The maximum number of static routes supported by the system."
        ::= { ipRoute 1 }

        ipStaticRouteTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IpStaticRouteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Configures a static route."
        ::= { ipRoute 2 }

        ipStaticRouteEntry OBJECT-TYPE
        SYNTAX IpStaticRouteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipStaticRouteDest, ipStaticRouteMask }
        ::= { ipStaticRouteTable 1 }

        IpStaticRouteEntry ::=
			SEQUENCE {
				ipStaticRouteDest					IpAddress,
				ipStaticRouteMask					INTEGER,
				ipStaticRouteNextHop			IpAddress,
				ipStaticRouteRowStatus			RowStatus,
				ipStaticRouteIfName				DisplayString
           	}

        ipStaticRouteDest OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination subnet address 0.0.0.0 ~ 223.255.255.255"
        ::= { ipStaticRouteEntry 1 }

        ipStaticRouteMask OBJECT-TYPE
        SYNTAX INTEGER (1..32)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination subnet mask"
        ::= { ipStaticRouteEntry 2 }

        ipStaticRouteNextHop OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
			"Next hop address 0.0.0.0 ~ 223.255.255.255"
        ::= { ipStaticRouteEntry 3 }

        ipStaticRouteRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	""
        ::= { ipStaticRouteEntry 4 }

        ipStaticRouteIfName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination interface name"
        ::= { ipStaticRouteEntry 5 }

       ipRouteTable OBJECT-TYPE
        SYNTAX SEQUENCE OF IpRouteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Display routing table."
        ::= { ipRoute 3 }

        ipRouteEntry OBJECT-TYPE
        SYNTAX IpRouteEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipRouteDest, ipRouteMask }
        ::= { ipRouteTable 1 }

        IpRouteEntry ::=
			SEQUENCE {
				ipRouteDest				IpAddress,
				ipRouteMask				INTEGER,
				ipRouteNextHop			IpAddress,
				ipRouteIfName			DisplayString
           	}

        ipRouteDest OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination subnet address 0.0.0.0 ~ 223.255.255.255"
        ::= { ipRouteEntry 1 }

        ipRouteMask OBJECT-TYPE
        SYNTAX INTEGER (1..32)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination subnet mask"
        ::= { ipRouteEntry 2 }

        ipRouteNextHop OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Next hop address 0.0.0.0 ~ 223.255.255.255"
        ::= { ipRouteEntry 3 }

        ipRouteIfName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Destination interface name"
        ::= { ipRouteEntry 4 }


        ipv6DefaultRouterInbandTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6DefaultRouterInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 inband default-router."
        ::= { ipRoute 4 }

        ipv6DefaultRouterInbandEntry OBJECT-TYPE
        SYNTAX Ipv6DefaultRouterInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6DefaultRouterInbandAddress }
        ::= { ipv6DefaultRouterInbandTable 1 }

        Ipv6DefaultRouterInbandEntry ::=
			SEQUENCE {
				ipv6DefaultRouterInbandAddress		InetAddress,
				ipv6DefaultRouterInbandPreference		DisplayString,
				ipv6DefaultRouterInbandLifetime		INTEGER,
				ipv6DefaultRouterInbandExpire			DisplayString,
				ipv6DefaultRouterInbandFlag			DisplayString
           	}

        ipv6DefaultRouterInbandAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 default-router inband Address."
        ::= { ipv6DefaultRouterInbandEntry 1 }

        ipv6DefaultRouterInbandPreference OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 default-router inband Preference"
        ::= { ipv6DefaultRouterInbandEntry 2 }

        ipv6DefaultRouterInbandLifetime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 default-router inband lifetime
			 (Unit: sec)"
        ::= { ipv6DefaultRouterInbandEntry 3 }

        ipv6DefaultRouterInbandExpire OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Show IPv6 default-router inband expire"
        ::= { ipv6DefaultRouterInbandEntry 4 }

        ipv6DefaultRouterInbandFlag OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Show IPv6 default-router inband flag"
        ::= { ipv6DefaultRouterInbandEntry 5 }


        ipv6DefaultRouterOutbandTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6DefaultRouterOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 outband default-router."
        ::= { ipRoute 5 }

        ipv6DefaultRouterOutbandEntry OBJECT-TYPE
        SYNTAX Ipv6DefaultRouterOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6DefaultRouterOutbandAddress }
        ::= { ipv6DefaultRouterOutbandTable 1 }

        Ipv6DefaultRouterOutbandEntry ::=
			SEQUENCE {
				ipv6DefaultRouterOutbandAddress		InetAddress,
				ipv6DefaultRouterOutbandPreference		DisplayString,
				ipv6DefaultRouterOutbandLifetime		INTEGER,
				ipv6DefaultRouterOutbandExpire			DisplayString,
				ipv6DefaultRouterOutbandFlag			DisplayString
           	}

        ipv6DefaultRouterOutbandAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 default-router outband Address."
        ::= { ipv6DefaultRouterOutbandEntry 1 }

        ipv6DefaultRouterOutbandPreference OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 default-router outband Preference"
        ::= { ipv6DefaultRouterOutbandEntry 2 }

        ipv6DefaultRouterOutbandLifetime OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 default-router outband lifetime.
			 (Unit: sec)"
        ::= { ipv6DefaultRouterOutbandEntry 3 }

        ipv6DefaultRouterOutbandExpire OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Show IPv6 default-router outband expire"
        ::= { ipv6DefaultRouterOutbandEntry 4 }

        ipv6DefaultRouterOutbandFlag OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Show IPv6 default-router outband flag"
        ::= { ipv6DefaultRouterOutbandEntry 5 }

        ipv6RouteInbandTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6RouteInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 inband route"
        ::= { ipRoute 6 }

        ipv6RouteInbandEntry OBJECT-TYPE
        SYNTAX Ipv6RouteInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6RouteInbandAddress, ipv6RouteInbandMask }
        ::= { ipv6RouteInbandTable 1 }

        Ipv6RouteInbandEntry ::=
			SEQUENCE {
				ipv6RouteInbandAddress		InetAddress,
				ipv6RouteInbandMask			INTEGER,
				ipv6RouteInbandName			DisplayString
           	}

        ipv6RouteInbandAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband route Address."
        ::= { ipv6RouteInbandEntry 1 }

        ipv6RouteInbandMask OBJECT-TYPE
		SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband route address mask."
        ::= { ipv6RouteInbandEntry 2 }


        ipv6RouteInbandName OBJECT-TYPE
		SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband route Gateway/Interface Name"
        ::= { ipv6RouteInbandEntry 3 }

        ipv6RouteOutbandTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6RouteOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 outband route"
        ::= { ipRoute 7 }

        ipv6RouteOutbandEntry OBJECT-TYPE
        SYNTAX Ipv6RouteOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6RouteOutbandAddress }
        ::= { ipv6RouteOutbandTable 1 }

        Ipv6RouteOutbandEntry ::=
			SEQUENCE {
				ipv6RouteOutbandAddress		InetAddress,
				ipv6RouteOutbandMask			INTEGER,
				ipv6RouteOutbandName		DisplayString
           	}

        ipv6RouteOutbandAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband route Address."
        ::= { ipv6RouteOutbandEntry 1 }

       ipv6RouteOutbandMask OBJECT-TYPE
		SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband route address mask."
        ::= { ipv6RouteOutbandEntry 2 }

        ipv6RouteOutbandName OBJECT-TYPE
		SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 Outband route Gateway/Interface Name"
        ::= { ipv6RouteOutbandEntry 3 }

-- ip statistic
       ipInOctetCount OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 1 }

       ipInUnicastCount OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 2 }

       ipInMulticastCount OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 3 }

       ipInDiscardCount OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 4 }

       ipInErrorCount OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 5 }

       ipInUnknowProtocolCount OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 6 }

       ipOutOctetCount OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 7 }

       ipOutUnicastCount OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 8 }

       ipOutMulticastCount OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 9 }

       ipOutDiscardCount OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 10 }

       ipOutErrorCount OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			""
        ::= { ipStatistic 11 }


-- ipv6 Destination
        ipv6DestInbandTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6DestInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 inband destination"
        ::= { ipv6Destination 1 }

        ipv6DestInbandEntry OBJECT-TYPE
        SYNTAX Ipv6DestInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6DestInbandDestAddress }
        ::= { ipv6DestInbandTable 1 }

        Ipv6DestInbandEntry ::=
			SEQUENCE {
				ipv6DestInbandDestAddress		InetAddress,
				ipv6DestInbandNextHopAddress			InetAddress
           	}

        ipv6DestInbandDestAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband destination Address."
        ::= { ipv6DestInbandEntry 1 }

        ipv6DestInbandNextHopAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband destination next hop address."
        ::= { ipv6DestInbandEntry 2 }


        ipv6DestOutbandTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6DestOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 outband destination"
        ::= { ipv6Destination 2 }

        ipv6DestOutbandEntry OBJECT-TYPE
        SYNTAX Ipv6DestOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6DestOutbandDestAddress }
        ::= { ipv6DestOutbandTable 1 }

        Ipv6DestOutbandEntry ::=
			SEQUENCE {
				ipv6DestOutbandDestAddress		InetAddress,
				ipv6DestOutbandNextHopAddress			InetAddress
           	}

        ipv6DestOutbandDestAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband destination Address."
        ::= { ipv6DestOutbandEntry 1 }

        ipv6DestOutbandNextHopAddress OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband destination next hop address."
        ::= { ipv6DestOutbandEntry 2 }

-- ipv6 Neighbor
        ipv6NeighborInbandTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6NeighborInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 inband neighbor"
        ::= { ipv6Neighbor 1 }

        ipv6NeighborInbandEntry OBJECT-TYPE
        SYNTAX Ipv6NeighborInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6NeighborInbandNeighbor }
        ::= { ipv6NeighborInbandTable 1 }

        Ipv6NeighborInbandEntry ::=
			SEQUENCE {
				ipv6NeighborInbandNeighbor				InetAddress,
				ipv6NeighborInbandLinklayerAddress		PhysAddress,
				ipv6NeighborInbandExpire                DisplayString,
				ipv6NeighborInbandFlags                 DisplayString
           	}

        ipv6NeighborInbandNeighbor OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband neighbor address."
        ::= { ipv6NeighborInbandEntry 1 }

        ipv6NeighborInbandLinklayerAddress OBJECT-TYPE
        SYNTAX PhysAddress (SIZE (6))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband neighbor linklayer address.
			00:00:00:00:00:00 means incomplete"
        ::= { ipv6NeighborInbandEntry 2 }

        ipv6NeighborInbandExpire OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband neighbor expire."
        ::= { ipv6NeighborInbandEntry 3 }

        ipv6NeighborInbandFlags OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband neighbor flag."
        ::= { ipv6NeighborInbandEntry 4 }


        ipv6NeighborOutbandTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6NeighborOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 outband neighbor"
        ::= { ipv6Neighbor 2 }

        ipv6NeighborOutbandEntry OBJECT-TYPE
        SYNTAX Ipv6NeighborOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6NeighborOutbandNeighbor }
        ::= { ipv6NeighborOutbandTable 1 }

        Ipv6NeighborOutbandEntry ::=
			SEQUENCE {
				ipv6NeighborOutbandNeighbor				InetAddress,
				ipv6NeighborOutbandLinklayerAddress		PhysAddress,
				ipv6NeighborOutbandExpire                DisplayString,
				ipv6NeighborOutbandFlags                 DisplayString
           	}

        ipv6NeighborOutbandNeighbor OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband neighbor address."
        ::= { ipv6NeighborOutbandEntry 1 }

        ipv6NeighborOutbandLinklayerAddress OBJECT-TYPE
        SYNTAX PhysAddress (SIZE (6))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband neighbor linklayer address.
			 00:00:00:00:00:00 means incomplete"
        ::= { ipv6NeighborOutbandEntry 2 }

        ipv6NeighborOutbandExpire OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband neighbor expire."
        ::= { ipv6NeighborOutbandEntry 3 }

        ipv6NeighborOutbandFlags OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband neighbor flag."
        ::= { ipv6NeighborOutbandEntry 4 }

-- ipv6 Prefix
        ipv6PrefixInbandTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6PrefixInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 inband prefix"
        ::= { ipv6Prefix 1 }

        ipv6PrefixInbandEntry OBJECT-TYPE
        SYNTAX Ipv6PrefixInbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6PrefixInbandPrefix, ipv6PrefixInbandPrefixLength}
        ::= { ipv6PrefixInbandTable 1 }

        Ipv6PrefixInbandEntry ::=
			SEQUENCE {
				ipv6PrefixInbandPrefix       InetAddress,
				ipv6PrefixInbandPrefixLength       INTEGER,
				ipv6PrefixInbandVLtime       DisplayString,
				ipv6PrefixInbandPLtime       DisplayString,
				ipv6PrefixInbandExpire       DisplayString,
				ipv6PrefixInbandOnlink       INTEGER,
				ipv6PrefixInbandAutonomous   INTEGER
           	}

        ipv6PrefixInbandPrefix OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband prefix address."
        ::= { ipv6PrefixInbandEntry 1 }

        ipv6PrefixInbandPrefixLength OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband prefix length."
        ::= { ipv6PrefixInbandEntry 2 }


        ipv6PrefixInbandVLtime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband prefix vltime."
        ::= { ipv6PrefixInbandEntry 3 }

        ipv6PrefixInbandPLtime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband prefix pltime."
        ::= { ipv6PrefixInbandEntry 4 }

        ipv6PrefixInbandExpire OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband prefix expire."
        ::= { ipv6PrefixInbandEntry 5 }

        ipv6PrefixInbandOnlink OBJECT-TYPE
        SYNTAX INTEGER {
            	false(0),
            	true(1)
        	}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband prefix onlink."
        ::= { ipv6PrefixInbandEntry 6 }

        ipv6PrefixInbandAutonomous OBJECT-TYPE
        SYNTAX INTEGER {
            	false(0),
            	true(1)
        	}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 inband prefix autonomous."
        ::= { ipv6PrefixInbandEntry 7 }

        ipv6PrefixOutbandTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF Ipv6PrefixOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			"Show IPv6 outband prefix"
        ::= { ipv6Prefix 2 }

        ipv6PrefixOutbandEntry OBJECT-TYPE
        SYNTAX Ipv6PrefixOutbandEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX  { ipv6PrefixOutbandPrefix, ipv6PrefixOutbandPrefixLength}
        ::= { ipv6PrefixOutbandTable 1 }

        Ipv6PrefixOutbandEntry ::=
			SEQUENCE {
				ipv6PrefixOutbandPrefix       InetAddress,
				ipv6PrefixOutbandPrefixLength       INTEGER,
				ipv6PrefixOutbandVLtime       DisplayString,
				ipv6PrefixOutbandPLtime       DisplayString,
				ipv6PrefixOutbandExpire       DisplayString,
				ipv6PrefixOutbandOnlink       INTEGER,
				ipv6PrefixOutbandAutonomous   INTEGER
           	}

        ipv6PrefixOutbandPrefix OBJECT-TYPE
        SYNTAX InetAddress
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband prefix address."
        ::= { ipv6PrefixOutbandEntry 1 }

        ipv6PrefixOutbandPrefixLength OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband prefix length."
        ::= { ipv6PrefixOutbandEntry 2 }

        ipv6PrefixOutbandVLtime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband prefix vltime."
        ::= { ipv6PrefixOutbandEntry 3 }

        ipv6PrefixOutbandPLtime OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband prefix pltime."
        ::= { ipv6PrefixOutbandEntry 4 }

        ipv6PrefixOutbandExpire OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband prefix expire."
        ::= { ipv6PrefixOutbandEntry 5 }

        ipv6PrefixOutbandOnlink OBJECT-TYPE
        SYNTAX INTEGER {
            	false(0),
            	true(1)
        	}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband prefix expire."
        ::= { ipv6PrefixOutbandEntry 6 }

        ipv6PrefixOutbandAutonomous OBJECT-TYPE
        SYNTAX INTEGER {
            	false(0),
            	true(1)
        	}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
			"Show IPv6 outband prefix autonomous."
        ::= { ipv6PrefixOutbandEntry 7 }


--------------------------------------------------------------------------------------------------------
-- lcm
--------------------------------------------------------------------------------------------------------

-- Slot Module Table

	slotModuleTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SlotModuleEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table which contains the slot information in a chassis."
	::= { lcm 1 }

	slotModuleEntry OBJECT-TYPE
	SYNTAX SlotModuleEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { slotModuleIdVes1724-58v }
	::= { slotModuleTable 1 }

	SlotModuleEntry ::=
		SEQUENCE {
			slotModuleIdVes1724-58v			INTEGER,
			slotModuleRealType		INTEGER,
-- remove slotModuleProvType, slotModuleAdminState, slotModuleReset, and slotModuleDriverInfo in T730.mib which dont support in T730
--			slotModuleProvType		INTEGER,
			slotModuleDescr			DisplayString,
			slotModuleStatus		INTEGER,
			slotModuleAlarmStatus	INTEGER,
			slotModuleHWVersion		DisplayString,
			slotModuleSerialNumber	DisplayString,
			slotModuleCleiCode		DisplayString,
			slotModuleUpTime		INTEGER
--			slotModuleAdminState	INTEGER,
--			slotModuleReset		INTEGER,
--			slotModuleDriverInfo	DisplayString	
		}

	slotModuleIdVes1724-58v OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Identity of the slot.
		2 ~ 5: slot 2 ~ slot 5
		1: control card"
	::= { slotModuleEntry 1 }

	slotModuleRealType OBJECT-TYPE
	SYNTAX	INTEGER{
		empty(0),
		msc(1),
		alc(2),
		vlc(3),
		vop(4),
		unknown(8)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Card type of the plug-in card."
	::= { slotModuleEntry 2 }

	-- slotModuleProvType OBJECT-TYPE
	-- SYNTAX	INTEGER{
		-- null(0),
		-- lal(2),
		-- lvl(3),
		-- lvo(4)
	-- }
	-- MAX-ACCESS read-write
	-- STATUS current
	-- DESCRIPTION
		-- "Provisioned card type."
	-- ::= { slotModuleEntry 3 }

	slotModuleDescr OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The descriptions of the plug-in card."
	::= { slotModuleEntry 4 }

	slotModuleStatus OBJECT-TYPE
	SYNTAX INTEGER {
		empty(0),
		init(1),
		provisioning(2),
		active(3),
		failure(4),
		disabled(5),
		unknown(6)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The module state of the plug-in card."
	::= { slotModuleEntry 5 }

	slotModuleAlarmStatus	OBJECT-TYPE
	SYNTAX INTEGER {
		hasAlarm(1),
		noAlarm(2)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"This variable indicates the alarm status of the module and would be aligned with MSC/line-card alarm LED.
		hasAlarm(1) there is at least one critical current alarm realted to the module
		noAlarm(2) there are no critical current alarms related to the module"
	::= { slotModuleEntry 6 }

	slotModuleHWVersion OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The hardware version of the plug-in card"
	::= { slotModuleEntry 7 }

	slotModuleSerialNumber OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The serial number of the plug-in card"
	::= { slotModuleEntry 8 }

	slotModuleCleiCode OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The CLEI code of the plug-in card"
	::= { slotModuleEntry 9 }

	slotModuleUpTime OBJECT-TYPE
	SYNTAX	INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The time (in seconds) since the plug-in card was last re-initialized."
	::= { slotModuleEntry 10 }

	-- slotModuleAdminState OBJECT-TYPE
	-- SYNTAX	INTEGER {
		-- enable(1),
		-- disable(2)
		-- }
	-- MAX-ACCESS read-write
	-- STATUS current
	-- DESCRIPTION
		-- "Enable/disable specified slot"
	-- ::= { slotModuleEntry 11 }

	-- slotModuleReset OBJECT-TYPE
	-- SYNTAX	INTEGER {
		-- noAction(0),
		-- reset(1)
		-- }
	-- MAX-ACCESS read-write
	-- STATUS current
	-- DESCRIPTION
		-- "Write reset(1) to reset the slot. Always return noAction(0)."
	-- ::= { slotModuleEntry 12 }

	-- slotModuleDriverInfo OBJECT-TYPE
	-- SYNTAX DisplayString
	-- MAX-ACCESS read-only
	-- STATUS current
	-- DESCRIPTION
	-- 	"The driver information of the plug-in card"
	-- ::= { slotModuleEntry 13 }
--------------------------------------------------------------------------------------------------------
-- login
--------------------------------------------------------------------------------------------------------
	loginMaxNumOfUsers OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The maximum number of login user accounts supported by the system."
	::= { login 1 }

	loginUserTable	OBJECT-TYPE
    SYNTAX SEQUENCE OF LoginUserEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	"Login account configuration table."
    ::= { login 2 }

    loginUserEntry	OBJECT-TYPE
    SYNTAX LoginUserEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	""
    INDEX { IMPLIED loginUserName }
    ::= { loginUserTable 1 }

    LoginUserEntry ::=
    	SEQUENCE {
    		loginUserName		DisplayString,
    		loginUserPassword	DisplayString,
    		loginUserPrivilege	INTEGER,
    		loginUserRowStatus	RowStatus
    	}

    loginUserName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (1..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"Name of user account."
    ::= { loginUserEntry 1 }

    loginUserPassword OBJECT-TYPE
    SYNTAX DisplayString (SIZE (1..95))
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
    	"Password of user account.
    	Can input with plain text or ciphertext.
    	plain text: Up to 31 printable characters.
    	ciphertext: 95 characters with special format and generated by device from plain text."
    ::= { loginUserEntry 2 }

    loginUserPrivilege OBJECT-TYPE
    SYNTAX INTEGER (0..14)
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
    	"Assigns a privilege level to the specified account. The privilege level is applied the next time the user logs in."
    DEFVAL { 1 }
    ::= { loginUserEntry 3 }

    loginUserRowStatus OBJECT-TYPE
    SYNTAX RowStatus
    MAX-ACCESS read-create
    STATUS current
    DESCRIPTION
    	""
    ::= { loginUserEntry 4 }

--AAA_SERVICE is enable, authenticating is via aaa authentication
--so hide "loginPrecedence"
--	loginPrecedence OBJECT-TYPE
--	SYNTAX INTEGER {
--		localOnly(1)
--		,localAndRadius(2),
--		radiusOnly(3)
--	}
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--		"Sets the login precedence.
--
--		local-only: authenticate via local user account DB"
--		"local-and-radius: authenticate via local first, then via RADIUS server
--		radius-only: authenticate via RADIUS server"
--	::= { login 3 }
--------------------------------------------------------------------------------------------------------
-- loopguard
--------------------------------------------------------------------------------------------------------
	loopguardConfPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF LoopguardConfPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Loop guard configuration table"
	::= { loopguard 1 }

	loopguardConfPortEntry OBJECT-TYPE
	SYNTAX LoopguardConfPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { loopguardConfPortTable 1 }

	LoopguardConfPortEntry ::=
		SEQUENCE {
			loopguardConfPortEnable			INTEGER,
			loopguardConfPortPolicy			INTEGER,
			loopguardConfPortRecoverTime	INTEGER,
			loopguardConfPortUniVlan		VlanIndex,
			loopguardConfPortPbit			INTEGER
		}

	loopguardConfPortEnable OBJECT-TYPE
	SYNTAX INTEGER {
		enable(1),
		disable(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable/Disable loop guard function for specific port."
	::= { loopguardConfPortEntry 1 }

	loopguardConfPortPolicy OBJECT-TYPE
	SYNTAX INTEGER {
		fix(1),
		dynamic(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures the policy when loop condition is detected.

		fix : shutdown the port, user needs to enable the port manually
		dynamic : shutdown the port, and recovered after recover time"
	::= { loopguardConfPortEntry 2 }

	loopguardConfPortRecoverTime OBJECT-TYPE
	SYNTAX INTEGER (60..600)
	UNITS "seconds"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures the recover time for dynamic policy."
	::= { loopguardConfPortEntry 3 }

	loopguardConfPortUniVlan OBJECT-TYPE
	SYNTAX VlanIndex (0..4093)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"1~4093 : Configures the UNI VLAN that the loopguard detection packets carried.
		0 : Sets loopguard detection packets carry no VLAN tag.
		    If set loopguardConfPortUniVlan with 0 only, the loopguardConfPortPbit will be automatically set to default value 6.
		    If set (loopguardConfPortUniVlan, loopguardConfPortPbit) with (0, x), the x must be set with default value 6."
	::= { loopguardConfPortEntry 4 }

	loopguardConfPortPbit OBJECT-TYPE
	SYNTAX INTEGER (0..7)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures pbit that the loopguard detection packets carried.
		If set loopguardConfPortUniVlan with 0 only, the loopguardConfPortPbit will be automatically set to default value 6.
		If set (loopguardConfPortUniVlan, loopguardConfPortPbit) with (0, x), the x must be set with default value 6."
	::= { loopguardConfPortEntry 5 }

	loopguardStatsSysStatus OBJECT-TYPE
	SYNTAX INTEGER {
		enable(1),
		disable(2)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays if there is any DSL port on the device loopguard enabled."
	::= { loopguard 2 }

	loopguardStatsPortTable OBJECT-TYPE
	SYNTAX SEQUENCE OF LoopguardStatsPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Loop guard UNI port statistics table"
	::= { loopguard 3 }

	loopguardStatsPortEntry OBJECT-TYPE
	SYNTAX LoopguardStatsPortEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { loopguardStatsPortTable 1 }

	LoopguardStatsPortEntry ::=
		SEQUENCE {
			loopguardStatsPortLinkedState			INTEGER,
			loopguardStatsPortTxPkts				Counter32,
			loopguardStatsPortRxPkts				Counter32,
			loopguardStatsPortBadPkts				Counter32,
			loopguardStatsPortShutdownTime          DisplayString,
			loopguardStatsPortOperation				INTEGER
		}

	loopguardStatsPortLinkedState OBJECT-TYPE
	SYNTAX INTEGER {
		active(1),
		inactive(2)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays linked state on specific UNI port."
	::= { loopguardStatsPortEntry 1 }

	loopguardStatsPortTxPkts OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays counter of transmited loopguard probe packet on specific UNI port."
	::= { loopguardStatsPortEntry 2 }

	loopguardStatsPortRxPkts OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays counter of received loopguard probe packet on specific UNI port."
	::= { loopguardStatsPortEntry 3 }

	loopguardStatsPortBadPkts OBJECT-TYPE
	SYNTAX Counter32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays counter of received bad loopguard probe packet on specific UNI port.
		The bad loopguard probe packet will not trigger loopguard block port mechanism.
		loopguardStatsPortRxPkts minus loopguardStatsPortBadPkts represents the number of received loopguard packet which will trigger loopguard block port mechanism.
		The bad loopguard probe packet includes the loopguard packet with incorrect checksum, the loopguard packet with time-out time stamp, and the loopguard packet with wrong content in TLV fields."
	::= { loopguardStatsPortEntry 4 }

	loopguardStatsPortShutdownTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Displays port shutdown time for loopguard detection on specific UNI port."
	::= { loopguardStatsPortEntry 5 }

	loopguardStatsPortOperation OBJECT-TYPE
	SYNTAX INTEGER {
		clearLoopguardStatistics(1)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"1 : Clears loopguard statistics (packet counter) on specific UNI port."
	::= { loopguardStatsPortEntry 6 }

--------------------------------------------------------------------------------------------------------
-- interworking
--------------------------------------------------------------------------------------------------------
	atmvc				OBJECT IDENTIFIER ::= { interworking 1 }
	portIsolation		OBJECT IDENTIFIER ::= { interworking 2 }
	vlanGlobal			OBJECT IDENTIFIER ::= { interworking 3 }
	vlanUplink			OBJECT IDENTIFIER ::= { interworking 4 }
	vlanTransparent		OBJECT IDENTIFIER ::= { interworking 5 }
	vlanTrunk			OBJECT IDENTIFIER ::= { interworking 6 }
	vlanTranslation		OBJECT IDENTIFIER ::= { interworking 7 }
	vlanTls				OBJECT IDENTIFIER ::= { interworking 8 }
	fdb					OBJECT IDENTIFIER ::= { interworking 9 }
-- { interworking 10 } is used by mtu
    mirror				OBJECT IDENTIFIER ::= { interworking 11}

----------------------------------------
-- atmvc
----------------------------------------
-- atmMaxNumOfVcPerPort
    	atmMaxNumOfVcPerPort OBJECT-TYPE
    	SYNTAX INTEGER
    	MAX-ACCESS read-only
    	STATUS current
    	DESCRIPTION
			"The maximum number of VC per port."
    	::= { atmvc 1 }

-- atmvcTable
		atmvcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF AtmvcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"ATM VC configuration table"
		::= { atmvc 2 }

		atmvcEntry OBJECT-TYPE
		SYNTAX AtmvcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, atmvcVpi, atmvcVci}
		::= { atmvcTable 1 }

		AtmvcEntry ::=
			SEQUENCE {
				atmvcVpi				INTEGER,
				atmvcVci				INTEGER,
				atmvcPriority           INTEGER,
				atmvcEncap				INTEGER,
				atmvcRowStatus         	RowStatus,
				atmvcMvlan              INTEGER,
				atmvcPvid								INTEGER,
				atmvcPbit								INTEGER,
				atmvcVlanTrunk								INTEGER
			}

	    	atmvcVpi OBJECT-TYPE
	    	SYNTAX INTEGER (0..255)
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
				""
	    	::= { atmvcEntry 1 }

	    	atmvcVci OBJECT-TYPE
	    	SYNTAX INTEGER (32..65535)
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
				""
	    	::= { atmvcEntry 2 }

	    	atmvcPriority OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"The QoS priority of the ATM VC. The QoS priority must be unique
				 in the VCs in the same UNI port."
	    	::= { atmvcEntry 3 }

		    atmvcEncap OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	llc(1),
		    	vc(2)
			}
		    MAX-ACCESS read-create
		    STATUS current
		    DESCRIPTION
				"llc: LLC encapsulation
				vc: VC-MUX encapsulation"
		    ::= { atmvcEntry 4 }

	    	atmvcRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { atmvcEntry 7 }

	    	atmvcMvlan OBJECT-TYPE
		    	SYNTAX  INTEGER {
		    	join(1),
		    	nojoin(2)
			}
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"this pvc join mvlan or not."
			::= { atmvcEntry 8 }

	    atmvcPvid OBJECT-TYPE
		  SYNTAX  INTEGER (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Join the VC into VLAN TRUNK untagged mode or not. 
				NNI S-tag VLAN ID.
				If atmvcVlanTrunk is nojoin(2), return 1."
			::= { atmvcEntry 9 }

	    atmvcPbit OBJECT-TYPE
		  SYNTAX  INTEGER (0..7)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Join the VC into VLAN TRUNK untagged mode or not. 
				NNI S-tag pbit.
				If atmvcVlanTrunk is nojoin(2), return 0."
			::= { atmvcEntry 10 }

	    atmvcVlanTrunk OBJECT-TYPE
		  SYNTAX  INTEGER {
		    	join(1),
		    	nojoin(2)
			}
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Join the VC into VLAN TRUNK untagged mode or not."
			::= { atmvcEntry 11 }

-- atmOamF5Table
		atmOamF5Table OBJECT-TYPE
		SYNTAX SEQUENCE OF AtmOamF5Entry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"ATM Oam F5 test configuration table"
		::= { atmvc 3 }

		atmOamF5Entry OBJECT-TYPE
		SYNTAX AtmOamF5Entry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, atmvcVpi, atmvcVci}
		::= { atmOamF5Table 1 }

		AtmOamF5Entry ::=
			SEQUENCE {
				atmOamF5Test			INTEGER,
				atmOamF5TestResult	INTEGER
			}

		  atmOamF5Test OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	done(1),
		    	test(2)
			}
		  	MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
				"Write test(2) to start OAM F5 test.
				the value will be test(2) is the test is still on going.
				the value will be done(1) after test is done."
		    ::= { atmOamF5Entry 1 }

		  atmOamF5TestResult OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	none(1),
		    	ongoing(2),
		    	successful(3),
		    	failed(4)
		 	}
				MAX-ACCESS read-only
		    STATUS current
		    DESCRIPTION
				"OAM F5 test result"
		    ::= { atmOamF5Entry 2 }

----------------------------------------
-- portIsolation
----------------------------------------
-- portIsolationEnable
		portIsolationEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable/Disable isolation between UNI ports"
	    ::= { portIsolation 1 }


-- portIsolationVlanTable
		portIsolationVlanTable OBJECT-TYPE
		SYNTAX SEQUENCE OF PortIsolationVlanEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Configures port isolation vlan."
		::= { portIsolation 2 }

		portIsolationVlanEntry OBJECT-TYPE
		SYNTAX PortIsolationVlanEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { portIsolationVlanVid }
		::= { portIsolationVlanTable 1 }

		PortIsolationVlanEntry ::=
		SEQUENCE {
			portIsolationVlanVid            VlanIndex,
			portIsolationVlanRowStatus     	RowStatus
		}

		portIsolationVlanVid OBJECT-TYPE
		SYNTAX VlanIndex (1..4093)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Isolated VLAN ID."
		::= { portIsolationVlanEntry 1 }

		portIsolationVlanRowStatus OBJECT-TYPE
		SYNTAX RowStatus
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Row status of the table entry."
		::= { portIsolationVlanEntry 2 }


----------------------------------------
-- vlanGlobal
----------------------------------------
-- vlanStagTpid
		vlanStagTpid OBJECT-TYPE
		SYNTAX  Unsigned32 (32768..65535)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures S-tag TPID value"
		::= { vlanGlobal 1 }

-- vlanSingleTagMode
		vlanSingleTagMode OBJECT-TYPE
		SYNTAX  INTEGER {
			stag(1),
			ctag(2)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures vlan single tag mode"
		::= { vlanGlobal 2 }

----------------------------------------
-- vlanUplink
----------------------------------------
-- vlanUplinkTable
		vlanUplinkTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanUplinkEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Joins/leaves specified NNI ports to a VLAN.
			If an GE uplink port joined all VLAN via vlanUplinkJoinAllTable,
			join to individual VLAN is not allowed"

		::= { vlanUplink 1 }

		vlanUplinkEntry OBJECT-TYPE
		SYNTAX VlanUplinkEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, vlanUplinkVlanId }
		::= { vlanUplinkTable 1 }

		VlanUplinkEntry ::=
			SEQUENCE {
				vlanUplinkVlanId				VlanIndex,
				vlanUplinkRowStatus         	RowStatus
			}

			vlanUplinkVlanId OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"VLAN ID"
			::= { vlanUplinkEntry 1 }

	    	vlanUplinkRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanUplinkEntry 2 }

		vlanUplinkJoinAllTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanUplinkJoinAllEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Joins/leaves specified NNI ports to all VLAN.
			If an GE uplink port joined any VLAN via vlanUplinkTable,
			enable Join All VLAN is not allowed"

		::= { vlanUplink 2 }

		vlanUplinkJoinAllEntry OBJECT-TYPE
		SYNTAX VlanUplinkJoinAllEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex }
		::= { vlanUplinkJoinAllTable 1 }

		VlanUplinkJoinAllEntry ::=
			SEQUENCE {
				vlanUplinkJoinAllEnable		INTEGER
			}

	    	vlanUplinkJoinAllEnable OBJECT-TYPE
			SYNTAX INTEGER {
			    enable(1),
			    disable(2)
			    }
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Join all VLAN."
			::= { vlanUplinkJoinAllEntry 2 }

		vlanUplinkMaxNumOfUntagPerPort OBJECT-TYPE
		SYNTAX  INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
				"The maximum number of VLAN untag setting per enet port."
		::= { vlanUplink 3 }
	
		vlanUplinkUntagTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanUplinkUntagEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Configures untag VLAN on specified NNI ports."

		::= { vlanUplink 4 }
		
		vlanUplinkUntagEntry OBJECT-TYPE
		SYNTAX VlanUplinkUntagEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, vlanUplinkUntagVlanId }
		::= { vlanUplinkUntagTable 1 }
		
		VlanUplinkUntagEntry ::=
			SEQUENCE {
				vlanUplinkUntagVlanId		INTEGER,
				vlanUplinkUntagVlanPbit		INTEGER,
				vlanUplinkUntagRowStatus	RowStatus
			}

		vlanUplinkUntagVlanId OBJECT-TYPE
			SYNTAX INTEGER (1..4093)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Configures the joined vlan that is untag in egress direction and port pvid in ingress for certain enet port. 
				If a NNI port had joined all VLAN, vlan uplink untag takes higher priority."
			::= { vlanUplinkUntagEntry 1 }
			
		vlanUplinkUntagVlanPbit OBJECT-TYPE
			SYNTAX INTEGER (0..7)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Pbit for untag VLAN."
			::= { vlanUplinkUntagEntry 2 }
			
		vlanUplinkUntagRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry. When dot3ad is enabled, vlan-untag setting will be synchronized between GE 1 and GE 2."
			::= { vlanUplinkUntagEntry 3 }

----------------------------------------
-- vlanTransparent
----------------------------------------
-- vlanTransparentPortTable
		vlanTransparentPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTransparentPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Enable/disable VLAN transparent on the specified UNI PTM ports."
		::= { vlanTransparent 1 }

		vlanTransparentPortEntry OBJECT-TYPE
		SYNTAX VlanTransparentPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex }
		::= { vlanTransparentPortTable 1 }

		VlanTransparentPortEntry ::=
			SEQUENCE {
				vlanTransparentPortRowStatus         	RowStatus
			}

	    	vlanTransparentPortRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				""
			::= { vlanTransparentPortEntry 1 }

-- vlanTransparentVcTable
		vlanTransparentVcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTransparentVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Enable/disable VLAN transparent on the specified UNI ATM virtual circuit."
		::= { vlanTransparent 2 }

		vlanTransparentVcEntry OBJECT-TYPE
		SYNTAX VlanTransparentVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, atmvcVpi, atmvcVci }
		::= { vlanTransparentVcTable 1 }

		VlanTransparentVcEntry ::=
			SEQUENCE {
				vlanTransparentVcRowStatus         	RowStatus
			}

	    	vlanTransparentVcRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				""
			::= { vlanTransparentVcEntry 1 }


----------------------------------------
-- vlanTrunk
----------------------------------------
-- vlanTrunkUntagPortTable
		vlanTrunkUntagPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkUntagPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects untagged packet in the specified UNI PTM ports
			to the specified S VLAN or S + C VLAN on NNI ports."
		::= { vlanTrunk 1 }

		vlanTrunkUntagPortEntry OBJECT-TYPE
		SYNTAX VlanTrunkUntagPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex }
		::= { vlanTrunkUntagPortTable 1 }

		VlanTrunkUntagPortEntry ::=
			SEQUENCE {
				vlanTrunkUntagPortMode    		INTEGER,
				vlanTrunkUntagPortNniSvlan      VlanIndex,
				vlanTrunkUntagPortNniSpbit      INTEGER,
				vlanTrunkUntagPortNniCvlan      VlanIndex,
				vlanTrunkUntagPortNniCpbit      INTEGER,
				vlanTrunkUntagPortRowStatus     RowStatus
			}

			vlanTrunkUntagPortMode OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	sVlan(1),
		    	sPlusCxVlan(2)
			}
		    MAX-ACCESS read-create
		    STATUS current
		    DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
		    ::= { vlanTrunkUntagPortEntry 1 }

			vlanTrunkUntagPortNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S-tag VLAN ID"
		    ::= { vlanTrunkUntagPortEntry 2 }

	    	vlanTrunkUntagPortNniSpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"NNI S-tag pbit"
	    	::= { vlanTrunkUntagPortEntry 3 }

			vlanTrunkUntagPortNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI C-tag VLAN ID.
				 if vlanTrunkUntagPortMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTrunkUntagPortEntry 4 }

	    	vlanTrunkUntagPortNniCpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"NNI C-tag pbit.
				 if vlanTrunkUntagPortMode is sVlan(1),
				 the value will be ignored and always return 0."
	    	::= { vlanTrunkUntagPortEntry 5 }

	    	vlanTrunkUntagPortRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanTrunkUntagPortEntry 6 }

-- vlanTrunkUntagEtypePortTable
		vlanTrunkUntagEtypePortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkUntagEtypePortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects untagged packet from the specified UNI PTM ports
			to the specified S VLAN or S + C VLAN on NNI ports per Etyer Type
			field in the packet."
		::= { vlanTrunk 2 }

		vlanTrunkUntagEtypePortEntry OBJECT-TYPE
		SYNTAX VlanTrunkUntagEtypePortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, vlanTrunkUntagEtypePortEtype}
		::= { vlanTrunkUntagEtypePortTable 1 }

		VlanTrunkUntagEtypePortEntry ::=
			SEQUENCE {
				vlanTrunkUntagEtypePortEtype   	     Unsigned32,
				vlanTrunkUntagEtypePortMode    	     INTEGER,
				vlanTrunkUntagEtypePortNniSvlan      VlanIndex,
				vlanTrunkUntagEtypePortNniSpbit      INTEGER,
				vlanTrunkUntagEtypePortNniCvlan      VlanIndex,
				vlanTrunkUntagEtypePortNniCpbit      INTEGER,
				vlanTrunkUntagEtypePortRowStatus     RowStatus
			}

			vlanTrunkUntagEtypePortEtype OBJECT-TYPE
		    SYNTAX  Unsigned32 (0..65535)
		    MAX-ACCESS read-only
		    STATUS current
		    DESCRIPTION
				"Ether type"
		    ::= { vlanTrunkUntagEtypePortEntry 1 }

			vlanTrunkUntagEtypePortMode OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	sVlan(1),
		    	sPlusCxVlan(2)
			}
		    MAX-ACCESS read-create
		    STATUS current
		    DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
		    ::= { vlanTrunkUntagEtypePortEntry 2 }

			vlanTrunkUntagEtypePortNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S-tag VLAN ID"
		    ::= { vlanTrunkUntagEtypePortEntry 3 }

	    	vlanTrunkUntagEtypePortNniSpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"NNI S-tag pbit"
	    	::= { vlanTrunkUntagEtypePortEntry 4 }

			vlanTrunkUntagEtypePortNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI C-tag VLAN ID.
				 if vlanTrunkUntagEtypePortMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTrunkUntagEtypePortEntry 5 }

	    	vlanTrunkUntagEtypePortNniCpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"NNI C-tag pbit.
				 if vlanTrunkUntagEtypePortMode is sVlan(1),
				 the value will be ignored and always return 0."
	    	::= { vlanTrunkUntagEtypePortEntry 6 }

	    	vlanTrunkUntagEtypePortRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanTrunkUntagEtypePortEntry 7 }

-- vlanTrunkTagPortTable
		vlanTrunkTagPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkTagPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects uni-vid tagged packet in the specified UNI PTM ports to the
			S(uni-vid) VLAN if S VLAN is not specified or S(svid) + C(uni-vid) on NNI
			ports if S VLAN is specified."
		::= { vlanTrunk 3 }

		vlanTrunkTagPortEntry OBJECT-TYPE
		SYNTAX VlanTrunkTagPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, vlanTrunkTagPortUniNniVlan }
		::= { vlanTrunkTagPortTable 1 }

		VlanTrunkTagPortEntry ::=
			SEQUENCE {
				vlanTrunkTagPortUniNniVlan      VlanIndex,
				vlanTrunkTagPortMode      		INTEGER,
				vlanTrunkTagPortNniSvlan      	VlanIndex,
				vlanTrunkTagPortRowStatus     	RowStatus
			}

			vlanTrunkTagPortUniNniVlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"UNI VLAN ID. This VLAN is also used as S VLAN ID or C VLAN ID
				depends on which NNI VLAN tagging mode is configured."
		    ::= { vlanTrunkTagPortEntry 1 }

	    	vlanTrunkTagPortMode OBJECT-TYPE
	    	SYNTAX INTEGER {
	    		sVlan(1),
	    		sPlusCxVlan(2)
	    	}
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
	    	::= { vlanTrunkTagPortEntry 2 }

			vlanTrunkTagPortNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID. This field is used when vlanTrunkTagPortMode
				is configured as sPlusCxVlan(2)."
		    ::= { vlanTrunkTagPortEntry 3 }

	    	vlanTrunkTagPortRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanTrunkTagPortEntry 4 }

-- vlanTrunkUntagVcTable
		vlanTrunkUntagVcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkUntagVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects untagged packet in the specified UNI ATM virtual circuits to
			the specified S VLAN or S + C VLAN on NNI ports."
		::= { vlanTrunk 4 }

		vlanTrunkUntagVcEntry OBJECT-TYPE
		SYNTAX VlanTrunkUntagVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, atmvcVpi, atmvcVci }
		::= { vlanTrunkUntagVcTable 1 }

		VlanTrunkUntagVcEntry ::=
			SEQUENCE {
				vlanTrunkUntagVcMode    		INTEGER,
				vlanTrunkUntagVcNniSvlan      	VlanIndex,
				vlanTrunkUntagVcNniSpbit      	INTEGER,
				vlanTrunkUntagVcNniCvlan      	VlanIndex,
				vlanTrunkUntagVcNniCpbit      	INTEGER,
				vlanTrunkUntagVcRowStatus     	RowStatus
			}

			vlanTrunkUntagVcMode OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	sVlan(1),
		    	sPlusCxVlan(2)
			}
		    MAX-ACCESS read-create
		    STATUS current
		    DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
		    ::= { vlanTrunkUntagVcEntry 1 }

			vlanTrunkUntagVcNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S-tag VLAN ID"
		    ::= { vlanTrunkUntagVcEntry 2 }

	    	vlanTrunkUntagVcNniSpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"NNI S-tag pbit"
	    	::= { vlanTrunkUntagVcEntry 3 }

			vlanTrunkUntagVcNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI C-tag VLAN ID.
				 if vlanTrunkUntagVcMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTrunkUntagVcEntry 4 }

	    	vlanTrunkUntagVcNniCpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"NNI C-tag pbit.
				 if vlanTrunkUntagVcMode is sVlan(1),
				 the value will be ignored and always return 0."
	    	::= { vlanTrunkUntagVcEntry 5 }

	    	vlanTrunkUntagVcRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanTrunkUntagVcEntry 6 }


-- vlanTrunkUntagEtypeVcTable
		vlanTrunkUntagEtypeVcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkUntagEtypeVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects untagged packet from the specified UNI ATM virtual circuits
			to the specified S VLAN or S + C VLAN on NNI ports per Etyer Type field in
			the packet."
		::= { vlanTrunk 5 }

		vlanTrunkUntagEtypeVcEntry OBJECT-TYPE
		SYNTAX VlanTrunkUntagEtypeVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, atmvcVpi, atmvcVci, vlanTrunkUntagEtypeVcEtype}
		::= { vlanTrunkUntagEtypeVcTable 1 }

		VlanTrunkUntagEtypeVcEntry ::=
			SEQUENCE {
				vlanTrunkUntagEtypeVcEtype   	     Unsigned32,
				vlanTrunkUntagEtypeVcMode    	     INTEGER,
				vlanTrunkUntagEtypeVcNniSvlan      VlanIndex,
				vlanTrunkUntagEtypeVcNniSpbit      INTEGER,
				vlanTrunkUntagEtypeVcNniCvlan      VlanIndex,
				vlanTrunkUntagEtypeVcNniCpbit      INTEGER,
				vlanTrunkUntagEtypeVcRowStatus     RowStatus
			}

			vlanTrunkUntagEtypeVcEtype OBJECT-TYPE
		    SYNTAX  Unsigned32 (0..65535)
		    MAX-ACCESS read-only
		    STATUS current
		    DESCRIPTION
				"Ether type"
		    ::= { vlanTrunkUntagEtypeVcEntry 1 }

			vlanTrunkUntagEtypeVcMode OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	sVlan(1),
		    	sPlusCxVlan(2)
			}
		    MAX-ACCESS read-create
		    STATUS current
		    DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
		    ::= { vlanTrunkUntagEtypeVcEntry 2 }

			vlanTrunkUntagEtypeVcNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S-tag VLAN ID"
		    ::= { vlanTrunkUntagEtypeVcEntry 3 }

	    	vlanTrunkUntagEtypeVcNniSpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"NNI S-tag pbit"
	    	::= { vlanTrunkUntagEtypeVcEntry 4 }

			vlanTrunkUntagEtypeVcNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI C-tag VLAN ID.
				 if vlanTrunkUntagEtypeVcMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTrunkUntagEtypeVcEntry 5 }

	    	vlanTrunkUntagEtypeVcNniCpbit OBJECT-TYPE
	    	SYNTAX INTEGER (0..7)
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"NNI C-tag pbit.
				 if vlanTrunkUntagEtypeVcMode is sVlan(1),
				 the value will be ignored and always return 0."
	    	::= { vlanTrunkUntagEtypeVcEntry 6 }

	    	vlanTrunkUntagEtypeVcRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanTrunkUntagEtypeVcEntry 7 }

-- vlanTrunkTagVcTable
		vlanTrunkTagVcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTrunkTagVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects uni-vid tagged packet in the specified UNI ATM virtual
			circuits to the S(uni-vid) VLAN if svlan is not specified or S(svid) +
			C(uni-vid) on NNI ports if svlan is specified."
		::= { vlanTrunk 6 }

		vlanTrunkTagVcEntry OBJECT-TYPE
		SYNTAX VlanTrunkTagVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex,  atmvcVpi, atmvcVci, vlanTrunkTagVcUniNniVlan }
		::= { vlanTrunkTagVcTable 1 }

		VlanTrunkTagVcEntry ::=
			SEQUENCE {
				vlanTrunkTagVcUniNniVlan      	VlanIndex,
				vlanTrunkTagVcMode      		INTEGER,
				vlanTrunkTagVcNniSvlan      	VlanIndex,
				vlanTrunkTagVcRowStatus     	RowStatus
			}

			vlanTrunkTagVcUniNniVlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"UNI VLAN ID. This VLAN is also used as S VLAN ID or C VLAN ID
				depends on which NNI VLAN tagging mode is configured."
		    ::= { vlanTrunkTagVcEntry 1 }

	    	vlanTrunkTagVcMode OBJECT-TYPE
	    	SYNTAX INTEGER {
	    		sVlan(1),
	    		sPlusCxVlan(2)
	    	}
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
	    	::= { vlanTrunkTagVcEntry 2 }

			vlanTrunkTagVcNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID. This field is used when vlanTrunkTagPortMode
				is configured as sPlusCxVlan(2)."
		    ::= { vlanTrunkTagVcEntry 3 }

	    	vlanTrunkTagVcRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanTrunkTagVcEntry 4 }


----------------------------------------
-- vlanTranslation
----------------------------------------
-- vlanTranslationPortTable
		vlanTranslationPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTranslationPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects uni-vid tagged packet in the specified UNI PTM ports to the
			S(svid) VLAN or S(svid) + C(cvid) on NNI ports."
		::= { vlanTranslation 1 }

		vlanTranslationPortEntry OBJECT-TYPE
		SYNTAX VlanTranslationPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, vlanTranslationPortUniVlan }
		::= { vlanTranslationPortTable 1 }

		VlanTranslationPortEntry ::=
			SEQUENCE {
				vlanTranslationPortUniVlan      	VlanIndex,
				vlanTranslationPortMode      		INTEGER,
				vlanTranslationPortNniSvlan      	VlanIndex,
				vlanTranslationPortNniCvlan      	VlanIndex,
				vlanTranslationPortRowStatus     	RowStatus
			}

			vlanTranslationPortUniVlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"UNI VLAN ID"
		    ::= { vlanTranslationPortEntry 1 }

	    	vlanTranslationPortMode OBJECT-TYPE
	    	SYNTAX INTEGER {
	    		sVlan(1),
	    		sPlusCxVlan(2)
	    	}
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
	    	::= { vlanTranslationPortEntry 2 }

			vlanTranslationPortNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID"
		    ::= { vlanTranslationPortEntry 3 }

			vlanTranslationPortNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI C VLAN ID.
				 if vlanTranslationPortMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTranslationPortEntry 4 }

	    	vlanTranslationPortRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanTranslationPortEntry 5 }

-- vlanTranslationVcTable
		vlanTranslationVcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTranslationVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Cross-connects uni-vid tagged packet in the specified UNI ATM virtual
			circuits to the  S(svid) VLAN or S(svid) + C(cvid) on NNI ports."
		::= { vlanTranslation 2}

		vlanTranslationVcEntry OBJECT-TYPE
		SYNTAX VlanTranslationVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex,  atmvcVpi, atmvcVci, vlanTranslationVcUniVlan }
		::= { vlanTranslationVcTable 1 }

		VlanTranslationVcEntry ::=
			SEQUENCE {
				vlanTranslationVcUniVlan      	VlanIndex,
				vlanTranslationVcMode      		INTEGER,
				vlanTranslationVcNniSvlan      	VlanIndex,
				vlanTranslationVcNniCvlan      	VlanIndex,
				vlanTranslationVcRowStatus     	RowStatus
			}

			vlanTranslationVcUniVlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"UNI VLAN ID"
		    ::= { vlanTranslationVcEntry 1 }

	    	vlanTranslationVcMode OBJECT-TYPE
	    	SYNTAX INTEGER {
	    		sVlan(1),
	    		sPlusCxVlan(2)
	    	}
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"Configures NNI VLAN tagging mode.
				sVlan(1) - S tag only
				sPlusCxVlan(2) - S plus C tag
				"
	    	::= { vlanTranslationVcEntry 2 }

			vlanTranslationVcNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID"
		    ::= { vlanTranslationVcEntry 3 }

			vlanTranslationVcNniCvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID.
				 if vlanTranslationVcMode is sVlan(1),
				 the value will be ignored and always return 0."
		    ::= { vlanTranslationVcEntry 4 }

	    	vlanTranslationVcRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanTranslationVcEntry 5 }

	   

----------------------------------------
-- vlanTls
----------------------------------------
-- vlanTlsPortTable
		vlanTlsPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTlsPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Enables Transparent LAN service on the specified UNI PTM ports. The
			packets are tagged with S tag on NNI ports."
		::= { vlanTls 1 }

		vlanTlsPortEntry OBJECT-TYPE
		SYNTAX VlanTlsPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex }
		::= { vlanTlsPortTable 1 }

		VlanTlsPortEntry ::=
			SEQUENCE {
				vlanTlsPortNniSvlan			VlanIndex,
				vlanTlsPortNniSpbit			INTEGER,
				vlanTlsPortNniForceSpbit	INTEGER,
				vlanTlsPortRowStatus		RowStatus
			}

			vlanTlsPortNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID"
		    ::= { vlanTlsPortEntry 1 }

		    vlanTlsPortNniSpbit OBJECT-TYPE
			SYNTAX INTEGER (0..7)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S PBIT. Used when vlanTlsPortNniForceSpbit is set to enable(1)"
		    ::= { vlanTlsPortEntry 2 }

		    vlanTlsPortNniForceSpbit OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Force SPBIT per vlanTlsPortNniSpbit"
		    ::= { vlanTlsPortEntry 3 }

	    	vlanTlsPortRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanTlsPortEntry 4 }
-- vlanTlsVcTable
		vlanTlsVcTable OBJECT-TYPE
		SYNTAX SEQUENCE OF VlanTlsVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Enables Transparent LAN service on the specified UNI ATM virtual circuits.
			The packets is tagged with S tag on NNI ports."
		::= { vlanTls 2 }

		vlanTlsVcEntry OBJECT-TYPE
		SYNTAX VlanTlsVcEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, atmvcVpi, atmvcVci }
		::= { vlanTlsVcTable 1 }

		VlanTlsVcEntry ::=
			SEQUENCE {
				vlanTlsVcNniSvlan		VlanIndex,
				vlanTlsVcNniSpbit		INTEGER,
				vlanTlsVcNniForceSpbit	INTEGER,
				vlanTlsVcRowStatus		RowStatus
			}

			vlanTlsVcNniSvlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S VLAN ID"
		    ::= { vlanTlsVcEntry 1 }

		    vlanTlsVcNniSpbit OBJECT-TYPE
			SYNTAX INTEGER (0..7)
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"NNI S PBIT. Used when vlanTlsVcNniForceSpbit is set to enable(1)"
		    ::= { vlanTlsVcEntry 2 }

		    vlanTlsVcNniForceSpbit OBJECT-TYPE
			SYNTAX INTEGER {
				enable(1),
				disable(2)
			}
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Force SPBIT per vlanTlsVcNniSpbit"
		    ::= { vlanTlsVcEntry 3 }

	    	vlanTlsVcRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { vlanTlsVcEntry 4 }


----------------------------------------
-- fdb
----------------------------------------
-- fdbAgingTime
	    fdbAgingTime OBJECT-TYPE
	    SYNTAX INTEGER (10..3600)
	    UNITS "second"
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Configures FDB aging time"
		::= { fdb 1 }

-- fdbOps
        fdbOps	OBJECT IDENTIFIER ::= { fdb 2 }
			fdbTarget OBJECT-TYPE
	        SYNTAX PortList
	        MAX-ACCESS read-write
	        STATUS current
	        DESCRIPTION
	        	"Specifies the target UNI/NNI ifindex for fdbOperation"
	        ::= { fdbOps 1 }

	    	fdbOperation OBJECT-TYPE
	    	SYNTAX INTEGER {
	    		flushFDBxAddressTable(1),
	    		flushFDBAddressTableForSpecifiedUNIxPorts(2)
	    	}
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Flush FDB
				flushFDBxAddressTable(1) - flush all entries in FDB table
				flushFDBAddressTableForSpecifiedUNIxPorts(1) - flush entries on specified UNI/NNI ports in FDB table
				"
	    	::= { fdbOps 2 }

-- fdbPortConfTable
		fdbPortConfTable OBJECT-TYPE
		SYNTAX SEQUENCE OF FdbPortConfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		::= { fdb 3 }

		fdbPortConfEntry OBJECT-TYPE
		SYNTAX FdbPortConfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex }
		::= { fdbPortConfTable 1 }

		FdbPortConfEntry ::=
			SEQUENCE {
				fdbPortConfMaxNumOfMacEntries	INTEGER,
				fdbPortConfMacMode		INTEGER
			}

	    	fdbPortConfMaxNumOfMacEntries OBJECT-TYPE
	    	SYNTAX INTEGER (1..32)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures FDB maximum MAC entry counts for speicifed UNI ports"
	    	::= { fdbPortConfEntry 1 }

	    	fdbPortConfMacMode OBJECT-TYPE
	    	SYNTAX INTEGER {
	    	    dynamicAndStaticMac(1),
	    	    staticMacOnly(2)
		    }
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures FDB MAC learning mode

				dynamicAndStaticMac(1) - allow both static and dynamic MAC
				staticMacOnly(2) - allow static MAC only"
	    	::= { fdbPortConfEntry 2 }

-- remove fdbMaxNumOfMacEntriesPerSystem since meaningless
-- fdbMaxNumOfMacEntriesPerSystem
--	    fdbMaxNumOfMacEntriesPerSystem OBJECT-TYPE
--	    SYNTAX INTEGER
--	    MAX-ACCESS read-only
--	    STATUS current
--	    DESCRIPTION
--			"The maximum number of static MAC entries supported by the system."
--		::= { fdb 4 }

-- fdbPortUniVlanConfTable
		fdbPortUniVlanConfTable OBJECT-TYPE
		SYNTAX SEQUENCE OF FdbPortUniVlanConfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		::= { fdb 5 }

		fdbPortUniVlanConfEntry OBJECT-TYPE
		SYNTAX FdbPortUniVlanConfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, fdbPortVlanConfUniVlan }
		::= { fdbPortUniVlanConfTable 1 }

		FdbPortUniVlanConfEntry ::=
			SEQUENCE {
				fdbPortVlanConfUniVlan             VlanIndex,
				fdbPortVlanConfMaxNumOfMacEntries  INTEGER,
				fdbPortVlanConfRowStatus           RowStatus
			}

	        fdbPortVlanConfUniVlan OBJECT-TYPE
			SYNTAX VlanIndex (1..4093)
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"speicifed UNI VLAN"
		    ::= { fdbPortUniVlanConfEntry 1 }

	        fdbPortVlanConfMaxNumOfMacEntries OBJECT-TYPE
	    	SYNTAX INTEGER (1..32)
	    	MAX-ACCESS read-create
	    	STATUS current
	    	DESCRIPTION
				"Configures FDB maximum MAC entry counts for speicifed UNI ports and UNI VLAN"
	    	::= { fdbPortUniVlanConfEntry 2 }

	    	fdbPortVlanConfRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { fdbPortUniVlanConfEntry 3 }

-- fdbStaticMacTable
		fdbStaticMacTable OBJECT-TYPE
		SYNTAX SEQUENCE OF FdbStaticMacEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Configures static MAC entry on specified UNI ports."
		::= { fdb 6 }

		fdbStaticMacEntry OBJECT-TYPE
		SYNTAX FdbStaticMacEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { ifIndex, fdbStaticMacMode, fdbStaticMacPhysAddress, fdbStaticMacVlanId }
		::= { fdbStaticMacTable 1 }

		FdbStaticMacEntry ::=
			SEQUENCE {
				fdbStaticMacMode				INTEGER,
				fdbStaticMacVlanId			VlanIndex,
				fdbStaticMacPhysAddress			PhysAddress,
				fdbStaticMacRowStatus			RowStatus
			}

		fdbStaticMacMode OBJECT-TYPE
		SYNTAX INTEGER {
			svl(1),
			ivl(2)
		}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"svl(1) - shared VLAN mode. fdbStaticMacVlanId should be 0.
			 ivl(2) - individual VLAN mode. fdbStaticMacVlanId specifies the
			          VLAN ID 1 ~ 4093."
		::= { fdbStaticMacEntry 1 }

		fdbStaticMacVlanId OBJECT-TYPE
		SYNTAX VlanIndex (0..4093)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"if fdbStaticMacMode is svl(1), the value shall be 0
			 if fdbStaticMacMode is ivl(2),
			  1 ~ 4093, determined by VLAN model
			  VLAN model        |  <vlan>
			  ----------------------------------
			  Trunk uni-vlan    | uni-vid
			  Trunk uni-untag   | svlan
			  Trunk etype(S)    | svlan
			  Trunk etype(S+C)  | cvlan
			  Translation       | uni-vid
			  Transparent       | no support
			  TLS               | no support"
		::= { fdbStaticMacEntry 2 }

	    	fdbStaticMacPhysAddress OBJECT-TYPE
	    	SYNTAX PhysAddress (SIZE (6))
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
				"MAC address"
	    	::= { fdbStaticMacEntry 3 }

	    	fdbStaticMacRowStatus OBJECT-TYPE
			SYNTAX RowStatus
			MAX-ACCESS read-create
			STATUS current
			DESCRIPTION
				"Row status of the table entry."
			::= { fdbStaticMacEntry 4 }

-- fdbMacLearningVlanTable
		fdbMacLearningVlanTable OBJECT-TYPE
		SYNTAX SEQUENCE OF FdbMacLearningVlanEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"MAC learning entry sorted by VLAN ID."
		::= { fdb 7 }

		fdbMacLearningVlanEntry OBJECT-TYPE
		SYNTAX FdbMacLearningVlanEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			""
		INDEX { fdbMacLearningVlanMode, fdbMacLearningVlanNniSVlan, fdbMacLearningVlanNniCVlan, fdbMacLearningVlanPhysAddress}
		::= { fdbMacLearningVlanTable 1 }

		FdbMacLearningVlanEntry ::=
			SEQUENCE {
				fdbMacLearningVlanMode			INTEGER,
				fdbMacLearningVlanNniSVlan		VlanIndex,
				fdbMacLearningVlanNniCVlan		VlanIndex,
				fdbMacLearningVlanPhysAddress	PhysAddress,
				fdbMacLearningVlanUniVlan		VlanIndex,
				fdbMacLearningVlanPort			INTEGER,
				fdbMacLearningVlanType			INTEGER
			}

		fdbMacLearningVlanMode OBJECT-TYPE
		SYNTAX  INTEGER {
		    sVlan(1),
		    sPlusCxVlan(2),
		    untag(3)
		    }
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
			"VLAN Mode
			sVlan(1) - S tag only
			sPlusCxVlan(2) - S plus C tag
			untag(3) - untag"
	    	::= { fdbMacLearningVlanEntry 1 }

		fdbMacLearningVlanNniSVlan OBJECT-TYPE
		SYNTAX  VlanIndex (0..4093)
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
			"NNI S VLAN ID 0 ~ 4093."
	    	::= { fdbMacLearningVlanEntry 2 }

		fdbMacLearningVlanNniCVlan OBJECT-TYPE
		SYNTAX  VlanIndex (0..4093)
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
			"NNI C VLAN ID 1 ~ 4093.
			if fdbMacLearningVlanMode is sVlan(1), this OID is don't care,
			and the returned value is always 0"
	    	::= { fdbMacLearningVlanEntry 3 }

		fdbMacLearningVlanPhysAddress OBJECT-TYPE
		SYNTAX  PhysAddress (SIZE (6))
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
			"MAC address"
	    	::= { fdbMacLearningVlanEntry 4 }

		fdbMacLearningVlanUniVlan OBJECT-TYPE
		SYNTAX  VlanIndex (0..4093)
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
			"UNI VLAN ID 0 ~ 4093, 0 stands for no VLAN tag.
			 This field for the MAC learned by Uplink port (whose ifIndex belongs to Uplink port) is meaningless and please ignore it."
	    	::= { fdbMacLearningVlanEntry 5 }

		fdbMacLearningVlanPort OBJECT-TYPE
		SYNTAX  INTEGER
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
			"ifIndex the MAC is learnt on"
	    	::= { fdbMacLearningVlanEntry 6 }

		fdbMacLearningVlanType OBJECT-TYPE
		SYNTAX  INTEGER {
		    dynamic(1),
		    staic(2)
		    }
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
			"MAC learning type"
	    	::= { fdbMacLearningVlanEntry 7 }

-- fdbAntiSpoofing
	    fdbAntiSpoofing OBJECT-TYPE
	    SYNTAX INTEGER {
	    enable(1),
	    disable(2)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	    "Enable/Disable fdb anti-spoofing.
	    enable: the anti-spoofing mac will be learned on the first port which receives the packet with it as source mac. When anti-spoofing is detected, anti-spoofing alarm will be issued.
	    disable: the anti-spoofing mac will be learned on the latest port which receives the packet with it as source mac. When anti-spoofing is detected, anti-spoofing alarm will be issued."
	    ::= { fdb 8 }

-- fdbSpoofingAction
	    fdbSpoofingAction OBJECT-TYPE
	    SYNTAX INTEGER {
	    enable(1),
	    disable(2)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
	    "Enable/Disable spoofing action function.
	    enable: disable port when anti-spoofing is detected.
	    disable: do nothing when anti-spoofing is detected."
	    ::= { fdb 9 }

-- mtu
		mtu OBJECT-TYPE
		SYNTAX  INTEGER (512..2000)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures maximum transmission unit.
			Unit is bytes"
		::= { interworking 10 }

--------------------
-- mirror
--------------------
-- mirrorPortTable
	mirrorPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MirrorPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	""
        ::= { mirror 1 }

	mirrorPortEntry OBJECT-TYPE
        SYNTAX MirrorPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in mirrorPortTable."
        INDEX { ifIndex }
        ::= { mirrorPortTable 1 }

	MirrorPortEntry ::= SEQUENCE {
	        mirrorPortDestPort      INTEGER,
	        mirrorPortDestPortVpi	INTEGER,
	        mirrorPortDestPortVci	INTEGER,
        	mirrorPortDirection 	INTEGER,
        	mirrorPortRowStatus		RowStatus
        }

	mirrorPortDestPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Setting destination port of the mirroring."
	::= { mirrorPortEntry 1 }

   	mirrorPortDestPortVpi OBJECT-TYPE
   	SYNTAX INTEGER (0..255)
   	MAX-ACCESS read-create
   	STATUS current
   	DESCRIPTION
	"Setting destination vpi if the destination channel is an ATM-VC, leave this field as zero if
	the destination channel is other type."
   	::= { mirrorPortEntry 2 }

   	mirrorPortDestPortVci OBJECT-TYPE
   	SYNTAX INTEGER (32..65535)
   	MAX-ACCESS read-create
   	STATUS current
   	DESCRIPTION
	"Setting destination vci if the destination channel is an ATM-VC, leave this field as zero if
	the destination channel is other type."
   	::= { mirrorPortEntry 3 }

	mirrorPortDirection OBJECT-TYPE
    	SYNTAX  INTEGER{
    			ingress(0),
    			egress(1),
    			both(2)
    	}
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
        	"Set to 'ingress' to mirror ingress traffic,
        	'egress' to mirror egress traffic,
        	'both' to mirror bi-directional traffic"
    	::= { mirrorPortEntry 4 }

   	mirrorPortRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Row status of the table entry."
	::= { mirrorPortEntry 5 }

-- mirrorVcTable
	mirrorVcTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MirrorVcEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	""
        ::= { mirror 2 }

	mirrorVcEntry OBJECT-TYPE
        SYNTAX MirrorVcEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in mirrorVcTable."
        INDEX { ifIndex, atmvcVpi, atmvcVci }
        ::= { mirrorVcTable 1 }

	MirrorVcEntry ::= SEQUENCE {
	        mirrorVcDestPort      INTEGER,
	        mirrorVcDestPortVpi	INTEGER,
	        mirrorVcDestPortVci	INTEGER,
        	mirrorVcDirection 	INTEGER,
        	mirrorVcRowStatus   RowStatus
        }

	mirrorVcDestPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"Setting destination port of the mirroring."
	::= { mirrorVcEntry 1 }

   	mirrorVcDestPortVpi OBJECT-TYPE
   	SYNTAX INTEGER (0..255)
   	MAX-ACCESS read-create
   	STATUS current
   	DESCRIPTION
	"Setting destination vpi if the destination channel is an ATM-VC, leave this field as zero if
	the destination channel is other type."
   	::= { mirrorVcEntry 2 }

   	mirrorVcDestPortVci OBJECT-TYPE
   	SYNTAX INTEGER (32..65535)
   	MAX-ACCESS read-create
   	STATUS current
   	DESCRIPTION
	"Setting destination vci if the destination channel is an ATM-VC, leave this field as zero if
	the destination channel is other type."
   	::= { mirrorVcEntry 3 }

	mirrorVcDirection OBJECT-TYPE
    	SYNTAX  INTEGER{
    			ingress(0),
    			egress(1),
    			both(2)
    	}
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
        	"Set to 'none' to disable mirroring in this port
        	'ingress' to mirror ingress traffic,
        	'egress' to mirror egress traffic,
        	'both' to mirror bi-directional traffic"
    	::= { mirrorVcEntry 4 }

   	mirrorVcRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
		"Row status of the table entry."
	::= { mirrorVcEntry 5 }

-- mirrorPortStatsTable
--mirrorPortStatsTable OBJECT-TYPE
--    SYNTAX SEQUENCE OF MirrorPortStatsEntry
--    MAX-ACCESS not-accessible
--    STATUS current
--    DESCRIPTION
--    	""
--    ::= { mirror 3 }
--
--mirrorPortStatsEntry OBJECT-TYPE
--    SYNTAX MirrorPortStatsEntry
--    MAX-ACCESS not-accessible
--    STATUS current
--    DESCRIPTION
--    	"An entry in mirrorPortStatsTable."
--    INDEX { ifIndex }
--    ::= { mirrorPortStatsTable 1 }
--
--MirrorPortStatsEntry ::= SEQUENCE {
--        mirrorPortIngressForwardPkts      INTEGER,
--        mirrorPortIngressMtuDropPkts      INTEGER,
--		mirrorPortIngressTxQueueDropPkts  INTEGER,
--		mirrorPortIngressForwardBytes     INTEGER,
--		mirrorPortIngressDeniedPkts		  INTEGER,
--		mirrorPortIngressPolicerNonConformingPkts	INTEGER,
--		mirrorPortEgressForwardPkts       INTEGER,
--        mirrorPortEgressMtuDropPkts       INTEGER,
--		mirrorPortEgressTxQueueDropPkts   INTEGER,
--		mirrorPortEgressForwardBytes      INTEGER,
--		mirrorPortEgressDeniedPkts		  INTEGER,
--		mirrorPortEgressPolicerNonConformingPkts	INTEGER,
--		mirrorPortEgHostForwardPkts       INTEGER,
--		mirrorPortEgHostBufferDrop        INTEGER,
--        mirrorPortEgHostMtuDropPkts       INTEGER,
--        mirrorPortEgHostTtlDropPkts		  INTEGER,
--		mirrorPortEgHostTxQueueDropPkts   INTEGER,
--		mirrorPortEgHostMplsDrop          INTEGER,
--		mirrorPortEgHostDeniedPkts		  INTEGER,
--		mirrorPortEgHostGroupFilteredPkts		    INTEGER,
--
--       }
--
--mirrorPortIngressForwardPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Forwarded packets(Ingress) to the destination port."
--::= { mirrorPortStatsEntry 1 }
--
--mirrorPortIngressMtuDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to MTU violation."
--::= { mirrorPortStatsEntry 2 }
--
--mirrorPortIngressTxQueueDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to congestion in transmit queue."
--::= { mirrorPortStatsEntry 3 }
--
--mirrorPortIngressForwardBytes OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Forwarded bytes(Ingress) to the destination port."
--::= { mirrorPortStatsEntry 4 }
--
--mirrorPortIngressDeniedPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Denied packets(Ingress)."
--::= { mirrorPortStatsEntry 5 }
--
--mirrorPortIngressPolicerNonConformingPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of packets dropped by the interworking policer."
--::= { mirrorPortStatsEntry 6 }
--
--mirrorPortEgressForwardPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Forwarded packets(Egress) to the destination port."
--::= { mirrorPortStatsEntry 7 }
--
--mirrorPortEgressMtuDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to MTU violation."
--::= { mirrorPortStatsEntry 8 }
--
--mirrorPortEgressTxQueueDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to congestion in transmit queue."
--::= { mirrorPortStatsEntry 9 }
--
--mirrorPortEgressForwardBytes OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Forwarded bytes(egress) to the destination port."
--::= { mirrorPortStatsEntry 10 }
--
--mirrorPortEgressDeniedPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Counter of packets denied."
--::= { mirrorPortStatsEntry 11 }
--
--mirrorPortEgressPolicerNonConformingPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of packets dropped by the interworking policer."
--::= { mirrorPortStatsEntry 12 }
--
--mirrorPortEgHostForwardPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Forwarded packets(Egress Host) to the destination port."
--::= { mirrorPortStatsEntry 13 }
--
--mirrorPortEgHostBufferDrop OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to congestion."
--::= { mirrorPortStatsEntry 14 }
--
--mirrorPortEgHostMtuDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to MTU violation."
--::= { mirrorPortStatsEntry 15 }
--
--mirrorPortEgHostTtlDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to TTL violation."
--::= { mirrorPortStatsEntry 16 }
--
--mirrorPortEgHostTxQueueDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to congestion in transmit queue."
--::= { mirrorPortStatsEntry 17 }
--
--mirrorPortEgHostMplsDrop OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to MPLS error."
--::= { mirrorPortStatsEntry 18 }
--
--mirrorPortEgHostDeniedPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Counter of packets denied."
--::= { mirrorPortStatsEntry 19 }
--
--mirrorPortEgHostGroupFilteredPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Counter of group filtered packets."
--::= { mirrorPortStatsEntry 20 }
--
-- mirrorVcStatsTable
--mirrorVcStatsTable OBJECT-TYPE
--    SYNTAX SEQUENCE OF MirrorVcStatsEntry
--    MAX-ACCESS not-accessible
--    STATUS current
--    DESCRIPTION
--    	""
--    ::= { mirror 4 }
--
--mirrorVcStatsEntry OBJECT-TYPE
--    SYNTAX MirrorVcStatsEntry
--    MAX-ACCESS not-accessible
--    STATUS current
--    DESCRIPTION
--    	"An entry in mirrorVcStatsTable."
--    INDEX { ifIndex, atmvcVpi, atmvcVci }
--    ::= { mirrorVcStatsTable 1 }
--
--MirrorVcStatsEntry ::= SEQUENCE {
--        mirrorVcIngressForwardPkts      INTEGER,
--        mirrorVcIngressMtuDropPkts      INTEGER,
--		mirrorVcIngressTxQueueDropPkts  INTEGER,
--		mirrorVcIngressForwardBytes     INTEGER,
--		mirrorVcIngressDeniedPkts		INTEGER,
--		mirrorVcIngressPolicerNonConformingPkts	INTEGER,
--		mirrorVcEgressForwardPkts       INTEGER,
--        mirrorVcEgressMtuDropPkts       INTEGER,
--		mirrorVcEgressTxQueueDropPkts   INTEGER,
--		mirrorVcEgressForwardBytes      INTEGER,
--		mirrorVcEgressDeniedPkts		INTEGER,
--		mirrorVcEgressPolicerNonConformingPkts	INTEGER,
--		mirrorVcEgHostForwardPkts       INTEGER,
--		mirrorVcEgHostBufferDrop        INTEGER,
--        mirrorVcEgHostMtuDropPkts       INTEGER,
--        mirrorVcEgHostTtlDropPkts	    INTEGER,
--		mirrorVcEgHostTxQueueDropPkts   INTEGER,
--		mirrorVcEgHostMplsDrop          INTEGER,
--		mirrorVcEgHostDeniedPkts	    INTEGER,
--		mirrorVcEgHostGroupFilteredPkts		  	INTEGER,
--       }
--
--mirrorVcIngressForwardPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Forwarded packets(Ingress) to the destination ATM VC channel."
--::= { mirrorVcStatsEntry 1 }
--
--mirrorVcIngressMtuDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to MTU violation."
--::= { mirrorVcStatsEntry 2 }
--
--mirrorVcIngressTxQueueDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to congestion in transmit queue."
--::= { mirrorVcStatsEntry 3 }
--
--mirrorVcIngressForwardBytes OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Forwarded bytes(Ingress) to the destination ATM VC channel."
--::= { mirrorVcStatsEntry 4 }
--
--mirrorVcIngressDeniedPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Counter of packets denied."
--::= { mirrorVcStatsEntry 5 }
--
--mirrorVcIngressPolicerNonConformingPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of packets dropped by the interworking policer."
--::= { mirrorVcStatsEntry 6 }
--
--mirrorVcEgressForwardPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Forwarded packets(Egress) to the destination ATM VC channel."
--::= { mirrorVcStatsEntry 7 }
--
--mirrorVcEgressMtuDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to MTU violation."
--::= { mirrorVcStatsEntry 8 }
--
--mirrorVcEgressTxQueueDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to congestion in transmit queue."
--::= { mirrorVcStatsEntry 9 }
--
--mirrorVcEgressForwardBytes OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Forwarded bytes(egress) to the destination ATM VC channel."
--::= { mirrorVcStatsEntry 10 }
--
--mirrorVcEgressDeniedPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Counter of packets denied."
--::= { mirrorVcStatsEntry 11 }
--
--mirrorVcEgressPolicerNonConformingPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of packets dropped by the interworking policer."
--::= { mirrorVcStatsEntry 12 }
--
--mirrorVcEgHostForwardPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Forwarded packets(Egress Host) to the destination ATM VC channel."
--::= { mirrorVcStatsEntry 13 }
--
--mirrorVcEgHostBufferDrop OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to congestion."
--::= { mirrorVcStatsEntry 14 }
--
--mirrorVcEgHostMtuDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to MTU violation."
--::= { mirrorVcStatsEntry 15 }
--
--mirrorVcEgHostTtlDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to TTL violation."
--::= { mirrorVcStatsEntry 16 }
--
--mirrorVcEgHostTxQueueDropPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to congestion in transmit queue."
--::= { mirrorVcStatsEntry 17 }
--
--mirrorVcEgHostMplsDrop OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Number of dropped packets due to MPLS error."
--::= { mirrorVcStatsEntry 18 }
--
--mirrorVcEgHostDeniedPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Counter of packets denied."
--::= { mirrorVcStatsEntry 19 }
--
--mirrorVcEgHostGroupFilteredPkts OBJECT-TYPE
--SYNTAX INTEGER
--MAX-ACCESS read-only
--STATUS current
--DESCRIPTION
--"Counter of group filtered packets."
--::= { mirrorVcStatsEntry 20 }
--

--------------------------------------------------------------------------------------------------------
-- pppoe
--------------------------------------------------------------------------------------------------------
-- pppoeAgentTable
	pppoeAgentTable OBJECT-TYPE
        SYNTAX SEQUENCE OF PppoeAgentEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A table that contains PPPoE intermediate agent configuration."
        ::= { pppoe 1 }

	pppoeAgentEntry OBJECT-TYPE
        SYNTAX PppoeAgentEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry of pppoeAgentTable."
        INDEX { pppoeAgentVlanId }
        ::= { pppoeAgentTable 1 }

        PppoeAgentEntry ::=
           SEQUENCE {
           		pppoeAgentVlanId				VlanIndex,
          		pppoeAgentMode					INTEGER,
          		pppoeAgentCircuitIDEnable		INTEGER,
        		pppoeAgentCircuitIDInfo			DisplayString,
        		pppoeAgentRemoteIDEnable		INTEGER,
        		pppoeAgentRemoteIDInfo			DisplayString,
        		pppoeAgentRowStatus				RowStatus
           	}

	pppoeAgentVlanId OBJECT-TYPE
        SYNTAX  VlanIndex (1..4093)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"Specify the VLAN ID for the pppoeAgent configuration"
        ::= { pppoeAgentEntry 1 }

	pppoeAgentMode OBJECT-TYPE
        SYNTAX  INTEGER {
			pppoeTransparent(1),
			pppoeIA(2)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"pppoeTransparent(1) - PPPoE frames are transparent
		 pppoeIA(2) - PPPoE intermediate agent function is enabled"
        ::= { pppoeAgentEntry 2 }

	pppoeAgentCircuitIDEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Enable/disable insert the circuit ID to PPPoE packet in intermediate agent mode."
        ::= { pppoeAgentEntry 3 }

    pppoeAgentCircuitIDInfo OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..127))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"User specific PPPoE circuit ID info.
		Info is composed by the following components
		special characters except % =>  ~`!@#$^&*()-=_+{}<>?,./
		%%: equals character %
		%0x00~%0xFF: represents byte value
		%pname: configured port name
		%pid: port index
		%chvpi: channel vpi
		%chvci: channel vci
		%slotid: slot index of the logic port
		%svlan: SVLAN ID which PPPoE client runs on
		%cvlan: CVLAN ID which PPPoE client runs on
		%hname: host device name
		%cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%cmac2: MAC address of client, represents as XXXXXXXXXXXX where X=0~F
		%cmac3: MAC address of client, represents as Byte
		%dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%dmac2: MAC address of host device, represents as XXXXXXXXXXXX where X=0~F
		%dmac3: MAC address of host device, represents as Byte
		%phtype: represents as atm in ATM or represents as eth in Ethernet
		%hmodel: model name of host device
		%fwid: host device firmware ID
		%blank: blank character"
        ::= { pppoeAgentEntry 4 }

	pppoeAgentRemoteIDEnable OBJECT-TYPE
        SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Enable/disable insert the remote ID to PPPoE packet in intermediate agent mode."
        ::= { pppoeAgentEntry 5 }

    pppoeAgentRemoteIDInfo OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..127))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"User specific PPPoE remote ID info.
		Info is composed by the following components
		special characters except % =>  ~`!@#$^&*()-=_+{}<>?,./
		%%: equals character %
		%0x00~%0xFF: represents byte value
		%pname: configured port name
		%pid: port index
		%chvpi: channel vpi
		%chvci: channel vci
		%slotid: slot index of the logic port
		%svlan: SVLAN ID which PPPoE client runs on
		%cvlan: CVLAN ID which PPPoE client runs on
		%hname: host device name
		%cmac1: MAC address of client, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%cmac2: MAC address of client, represents as XXXXXXXXXXXX where X=0~F
		%cmac3: MAC address of client, represents as Byte
		%dmac1: MAC address of host device, represents as XX:XX:XX:XX:XX:XX where X=0~F
		%dmac2: MAC address of host device, represents as XXXXXXXXXXXX where X=0~F
		%dmac3: MAC address of host device, represents as Byte
		%phtype: represents as atm in ATM or represents as eth in Ethernet
		%hmodel: model name of host device
		%fwid: host device firmware ID
		%blank: blank character"
        ::= { pppoeAgentEntry 6 }

    pppoeAgentRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
		"Row status of the table entry."
        ::= { pppoeAgentEntry 7 }

-- pppoeTest
    pppoeTest	OBJECT IDENTIFIER ::= { pppoe 2  }

	pppoeTestPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting the port of the test PPPoE session."
	::= { pppoeTest 1 }

	pppoeTestVlanMode OBJECT-TYPE
	SYNTAX  INTEGER {
			untag(1),
			singletag(2),
			doubletag(3)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting the VLAN mode of the test PPPoE session."
	::= { pppoeTest 2 }

	pppoeTestSvid OBJECT-TYPE
	SYNTAX VlanIndex (1..4093)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting the SVID of the test PPPoE session."
	::= { pppoeTest 3 }

	pppoeTestCvid OBJECT-TYPE
	SYNTAX VlanIndex (1..4093)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Setting the CVID of the test PPPoE session."
	::= { pppoeTest 4 }

    pppoeTestOps OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
	"Set the object to 1 to test PPPoE session."
	::= { pppoeTest 5 }

   	pppoeTestStatus OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"Display status of testing PPPoE session."
	::= { pppoeTest 6 }

--------------------------------------------------------------------------------------------------------
-- qos
--------------------------------------------------------------------------------------------------------

-- qosAtmVcShapingEnable
	qosAtmVcShapingEnable OBJECT-TYPE
    SYNTAX  INTEGER {
    	enable(1),
		disable(2)
	}
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Enable/Disable per-VC shaping for ATM VC."
    ::= { qos 1 }

-- qosMaxNumOfShapingProfiles
	qosMaxNumOfShapingProfiles OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"The maximum number of shaping profiles supported by the system."
    ::= { qos 2 }

-- qosShapingProfile
	qosShapingProfileTable OBJECT-TYPE
	SYNTAX SEQUENCE OF QosShapingProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures shaping profiles."
	::= { qos 3 }

	qosShapingProfileEntry OBJECT-TYPE
	SYNTAX QosShapingProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { IMPLIED qosShapingProfileName }
	::= { qosShapingProfileTable 1 }

	QosShapingProfileEntry ::=
		SEQUENCE {
			qosShapingProfileName					DisplayString,
			qosShapingProfileQueue7MaxRate				INTEGER,
			qosShapingProfileQueue6MaxRate				INTEGER,
			qosShapingProfileQueue5MaxRate				INTEGER,
			qosShapingProfileQueue4MaxRate				INTEGER,
			qosShapingProfileQueue3MaxRate				INTEGER,
			qosShapingProfileQueue2MaxRate				INTEGER,
			qosShapingProfileQueue1MaxRate				INTEGER,
			qosShapingProfileQueue0MaxRate				INTEGER,
			qosShapingProfileQueue7Depth				INTEGER,
			qosShapingProfileQueue6Depth				INTEGER,
			qosShapingProfileQueue5Depth				INTEGER,
			qosShapingProfileQueue4Depth				INTEGER,
			qosShapingProfileQueue3Depth				INTEGER,
			qosShapingProfileQueue2Depth				INTEGER,
			qosShapingProfileQueue1Depth				INTEGER,
			qosShapingProfileQueue0Depth				INTEGER,
			qosShapingProfileRowStatus				RowStatus
		}

		qosShapingProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		UNITS "kbps"
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Profile name"
		::= { qosShapingProfileEntry 1 }

    	qosShapingProfileQueue7MaxRate OBJECT-TYPE
    	SYNTAX INTEGER (32..100000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The maximum rate of queue 7."
    	::= { qosShapingProfileEntry 2 }

    	qosShapingProfileQueue6MaxRate OBJECT-TYPE
    	SYNTAX INTEGER (32..100000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The maximum rate of queue 6."
    	::= { qosShapingProfileEntry 3 }

    	qosShapingProfileQueue5MaxRate OBJECT-TYPE
    	SYNTAX INTEGER (32..100000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The maximum rate of queue 5."
    	::= { qosShapingProfileEntry 4 }

    	qosShapingProfileQueue4MaxRate OBJECT-TYPE
    	SYNTAX INTEGER (32..100000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The maximum rate of queue 4."
    	::= { qosShapingProfileEntry 5 }

    	qosShapingProfileQueue3MaxRate OBJECT-TYPE
    	SYNTAX INTEGER (32..100000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The maximum rate of queue 3."
    	::= { qosShapingProfileEntry 6 }

    	qosShapingProfileQueue2MaxRate OBJECT-TYPE
    	SYNTAX INTEGER (32..100000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The maximum rate of queue 2."
    	::= { qosShapingProfileEntry 7 }

    	qosShapingProfileQueue1MaxRate OBJECT-TYPE
    	SYNTAX INTEGER (32..100000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The maximum rate of queue 1."
    	::= { qosShapingProfileEntry 8 }

    	qosShapingProfileQueue0MaxRate OBJECT-TYPE
    	SYNTAX INTEGER (32..100000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The maximum rate of queue 0."
    	::= { qosShapingProfileEntry 9 }

    	qosShapingProfileQueue7Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 7."
    	::= { qosShapingProfileEntry 10 }

    	qosShapingProfileQueue6Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 6."
    	::= { qosShapingProfileEntry 11 }

    	qosShapingProfileQueue5Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 5."
    	::= { qosShapingProfileEntry 12 }

    	qosShapingProfileQueue4Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 4."
    	::= { qosShapingProfileEntry 13 }

    	qosShapingProfileQueue3Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 3."
    	::= { qosShapingProfileEntry 14 }

    	qosShapingProfileQueue2Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 2."
    	::= { qosShapingProfileEntry 15 }

    	qosShapingProfileQueue1Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 1."
    	::= { qosShapingProfileEntry 16 }

    	qosShapingProfileQueue0Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 0."
    	::= { qosShapingProfileEntry 17 }

    	qosShapingProfileRowStatus OBJECT-TYPE
		SYNTAX RowStatus
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Row status of the table entry."
		::= { qosShapingProfileEntry 18 }

-- qosMaxNumOfVcShapingProfiles
    qosMaxNumOfVcShapingProfiles OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"The maximum number of VC shaping profiles supported by the system."
    ::= { qos 6 }

-- qosVcShapingProfile
	qosVcShapingProfileTable OBJECT-TYPE
	SYNTAX SEQUENCE OF QosVcShapingProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures ATM shaping profiles."
	::= { qos 7 }

	qosVcShapingProfileEntry OBJECT-TYPE
	SYNTAX QosVcShapingProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { IMPLIED qosVcShapingProfileName }
	::= { qosVcShapingProfileTable 1 }

	QosVcShapingProfileEntry ::=
		SEQUENCE {
			qosVcShapingProfileName						DisplayString,
			qosVcShapingProfileMaxRate					INTEGER,
			qosVcShapingProfileQueueDepth					INTEGER,
			qosVcShapingProfileRowStatus 				RowStatus
		}

		qosVcShapingProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Profile name"
		::= { qosVcShapingProfileEntry 1 }

    	qosVcShapingProfileMaxRate OBJECT-TYPE
    	SYNTAX INTEGER (32..100000)
    	UNITS "kbps"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The max rate of VC shaping profile."
    	::= { qosVcShapingProfileEntry 2 }

    	qosVcShapingProfileQueueDepth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of VC shaping profile."
    	::= { qosVcShapingProfileEntry 3 }

     	qosVcShapingProfileRowStatus OBJECT-TYPE
		SYNTAX RowStatus
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Row status of the table entry."
		::= { qosVcShapingProfileEntry 4 }

-- qosPortConfTable
	qosPortConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF QosPortConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures referenced QoS algorithm and QoS profile to UNI ports"
	::= { qos 8 }

	qosPortConfEntry OBJECT-TYPE
	SYNTAX QosPortConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { qosPortConfTable 1 }

	QosPortConfEntry ::=
		SEQUENCE {
			qosPortConfShapingProfile					DisplayString,
			qosPortConfAlgorithm 						INTEGER,
			qosPortConfMaxRate						INTEGER,
			qosPortConfWeightProfile					DisplayString
		}

		qosPortConfShapingProfile OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures shaping profile on specified UNI port."
		::= { qosPortConfEntry 1 }

        qosPortConfAlgorithm OBJECT-TYPE
        SYNTAX  INTEGER {
			sp(1),
			wfq(2),
			spWfq(3),
			shaping(4)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
			"Configures QoS algorighm on specified UNI port."
        ::= { qosPortConfEntry 3 }

    	qosPortConfMaxRate OBJECT-TYPE
    	SYNTAX INTEGER (32..100000)
    	UNITS "kbps"
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures maximum rate on specified UNI port."
    	::= { qosPortConfEntry 4 }

		qosPortConfWeightProfile OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures weight profile on specified UNI port."
		::= { qosPortConfEntry 5 }

-- qosVcConfTable
	qosVcConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF QosVcConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	::= { qos 9 }

	qosVcConfEntry OBJECT-TYPE
	SYNTAX QosVcConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex, atmvcVpi, atmvcVci }
	::= { qosVcConfTable 1 }

	QosVcConfEntry ::=
		SEQUENCE {
			qosVcConfShapingProfile					DisplayString
		}

		qosVcConfShapingProfile OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures ATM shaping profile on specified ATM VC."
		::= { qosVcConfEntry 1 }

-- queueMapping

	queueMapping		OBJECT IDENTIFIER ::= { qos 10 }

    queueMappingPbit7QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 7 mapping to specified queue ID."
	DEFVAL { 7 }
    ::= { queueMapping 1 }

    queueMappingPbit6QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 6 mapping to specified queue ID."
	DEFVAL { 6 }
    ::= { queueMapping 2 }

    queueMappingPbit5QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 5 mapping to specified queue ID."
	DEFVAL { 5 }
    ::= { queueMapping 3 }

    queueMappingPbit4QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 4 mapping to specified queue ID."
	DEFVAL { 4 }
    ::= { queueMapping 4 }

    queueMappingPbit3QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 3 mapping to specified queue ID."
	DEFVAL { 3 }
    ::= { queueMapping 5 }

    queueMappingPbit2QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 2 mapping to specified queue ID."
	DEFVAL { 2 }
    ::= { queueMapping 6 }

    queueMappingPbit1QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 1 mapping to specified queue ID."
	DEFVAL { 1 }
    ::= { queueMapping 7 }

    queueMappingPbit0QueueId OBJECT-TYPE
    SYNTAX INTEGER (0..7)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures pbit 0 mapping to specified queue ID."
	DEFVAL { 0 }
    ::= { queueMapping 8 }

-- dscp
		dscp		OBJECT IDENTIFIER ::= { qos 11 }
		-- dscpMappingTable
		dscpMappingTable OBJECT-TYPE
		SYNTAX SEQUENCE OF DscpMappingEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
				"The table contains DSCP mapping configuration."
		::= { dscp 1 }

		dscpMappingEntry OBJECT-TYPE
		SYNTAX DscpMappingEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"An entry of dscpMappingTable."
		INDEX { dscpSrcCodePoint }
		::= { dscpMappingTable 1 }

		DscpMappingEntry ::=
			SEQUENCE {
				dscpSrcCodePoint	INTEGER,
				dscpMapPriority		INTEGER
			}

			dscpSrcCodePoint OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"The DSCP source code point used for mapping."
			::= { dscpMappingEntry 1 }

			dscpMapPriority OBJECT-TYPE
			SYNTAX INTEGER (0..7)
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The mapping p bits that will replace the source p bits in the incoming packet."
			::= { dscpMappingEntry 2 }

		-- dscpPortTable
		dscpPortTable OBJECT-TYPE
		SYNTAX SEQUENCE OF DscpPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"The table contains DSCP mapping configuration for the xDSL and ethernet ports."
		::= { dscp 2 }

		dscpPortEntry OBJECT-TYPE
		SYNTAX DscpPortEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"An entry of dscpPortTable."
		INDEX { ifIndex }
		::= { dscpPortTable 1 }

		DscpPortEntry ::=
			SEQUENCE {
				dscpStatusEnable	INTEGER
			}

			dscpStatusEnable OBJECT-TYPE
			SYNTAX INTEGER {
					enable(1),
					disable(2)
				}
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"The DSCP port status."
			::= { dscpPortEntry 1 }

-- qosMaxNumOfWeightProfiles
    qosMaxNumOfWeightProfiles OBJECT-TYPE
    SYNTAX  INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"The maximum number of weight profiles supported by the system."
    ::= { qos 12 }

-- qosWeightProfile
	qosWeightProfileTable OBJECT-TYPE
	SYNTAX SEQUENCE OF QosWeightProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
			"Configures weight profiles."
	::= { qos 13 }

	qosWeightProfileEntry OBJECT-TYPE
	SYNTAX QosWeightProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { IMPLIED qosWeightProfileName }
	::= { qosWeightProfileTable 1 }

	QosWeightProfileEntry ::=
		SEQUENCE {
			qosWeightProfileName						DisplayString,
			qosWeightProfileQueue7Weight				INTEGER,
			qosWeightProfileQueue6Weight				INTEGER,
			qosWeightProfileQueue5Weight				INTEGER,
			qosWeightProfileQueue4Weight				INTEGER,
			qosWeightProfileQueue3Weight				INTEGER,
			qosWeightProfileQueue2Weight				INTEGER,
			qosWeightProfileQueue1Weight				INTEGER,
			qosWeightProfileQueue0Weight				INTEGER,
			qosWeightProfileQueue7Depth				INTEGER,
			qosWeightProfileQueue6Depth				INTEGER,
			qosWeightProfileQueue5Depth				INTEGER,
			qosWeightProfileQueue4Depth				INTEGER,
			qosWeightProfileQueue3Depth				INTEGER,
			qosWeightProfileQueue2Depth				INTEGER,
			qosWeightProfileQueue1Depth				INTEGER,
			qosWeightProfileQueue0Depth				INTEGER,
			qosWeightProfileRowStatus 					RowStatus
		}

		qosWeightProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Name of Weight profile. This is a table index."
		::= { qosWeightProfileEntry 1 }

    	qosWeightProfileQueue7Weight OBJECT-TYPE
    	SYNTAX INTEGER (1..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 7."
    	::= { qosWeightProfileEntry 2 }

    	qosWeightProfileQueue6Weight OBJECT-TYPE
    	SYNTAX INTEGER (1..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 6."
    	::= { qosWeightProfileEntry 3 }

    	qosWeightProfileQueue5Weight OBJECT-TYPE
    	SYNTAX INTEGER (1..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 5."
    	::= { qosWeightProfileEntry 4 }

    	qosWeightProfileQueue4Weight OBJECT-TYPE
    	SYNTAX INTEGER (1..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 4."
    	::= { qosWeightProfileEntry 5 }

    	qosWeightProfileQueue3Weight OBJECT-TYPE
    	SYNTAX INTEGER (1..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 3."
    	::= { qosWeightProfileEntry 6 }

    	qosWeightProfileQueue2Weight OBJECT-TYPE
    	SYNTAX INTEGER (1..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 2."
    	::= { qosWeightProfileEntry 7 }

    	qosWeightProfileQueue1Weight OBJECT-TYPE
    	SYNTAX INTEGER (1..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 1."
    	::= { qosWeightProfileEntry 8 }

    	qosWeightProfileQueue0Weight OBJECT-TYPE
    	SYNTAX INTEGER (1..50)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The weight setting of queue 0."
    	::= { qosWeightProfileEntry 9 }

    	qosWeightProfileQueue7Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 7."
    	::= { qosWeightProfileEntry 10 }

    	qosWeightProfileQueue6Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 6."
    	::= { qosWeightProfileEntry 11 }

    	qosWeightProfileQueue5Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 5."
    	::= { qosWeightProfileEntry 12 }

    	qosWeightProfileQueue4Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 4."
    	::= { qosWeightProfileEntry 13 }

    	qosWeightProfileQueue3Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 3."
    	::= { qosWeightProfileEntry 14 }

    	qosWeightProfileQueue2Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 2."
    	::= { qosWeightProfileEntry 15 }

    	qosWeightProfileQueue1Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 1."
    	::= { qosWeightProfileEntry 16 }

    	qosWeightProfileQueue0Depth OBJECT-TYPE
    	SYNTAX INTEGER (16..255)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"The queue depth of queue 0."
    	::= { qosWeightProfileEntry 17 }

    	qosWeightProfileRowStatus OBJECT-TYPE
		SYNTAX RowStatus
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Row status of the table entry."
		::= { qosWeightProfileEntry 18 }


--------------------------------------------------------------------------------------------------------
-- service-(Secured Client)
-------------------------------------------------------------------------------------------------------
-- Secured Client IP Table

        securedClientIpTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SecuredClientIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"A table that contains information about IPv4 secured clients."
        ::= { service 2 }

        securedClientIpEntry OBJECT-TYPE
        SYNTAX SecuredClientIpEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A list of secured client entry."
        INDEX { securedClientIpIndex }
        ::= { securedClientIpTable 1 }

        SecuredClientIpEntry ::=
        	SEQUENCE {
			securedClientIpIndex			INTEGER,
			securedClientIpStartIpAddress		IpAddress,
			securedClientIpEndIpAddress		IpAddress,
			securedClientIpService			BITS,
			securedClientIpEnable			INTEGER
           	}

        securedClientIpIndex OBJECT-TYPE
        SYNTAX INTEGER (1..16)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The index of the entry."
        ::= { securedClientIpEntry 1 }

        securedClientIpStartIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The start IP address (0.0.0.0 ~ 223.255.255.255) of the secured client settings."
        ::= { securedClientIpEntry 2 }

        securedClientIpEndIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The end IP address (0.0.0.0 ~ 223.255.255.255) of the secured client settings."
        ::= { securedClientIpEntry 3 }

        securedClientIpService OBJECT-TYPE
      	SYNTAX BITS {
          icmp(0),
          telnet(1),
          ftp(2),
          snmp(3),
          http(4),
          ssh(5),
          https(6),
          voip(7)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Each bit corresponds to a service. The bit is settings to 1 if the
		service is enabled, and settings to 0 if the service is disabled.
		The various bit positions are:
		BIT 0: icmp
		BIT 1: telnet
		BIT 2: ftp
		BIT 3: snmp
		BIT 4: http
		BIT 5: ssh
		BIT 6: https
		BIT 7: voip.
		"
        ::= { securedClientIpEntry 4 }

        securedClientIpEnable OBJECT-TYPE
        SYNTAX INTEGER {
        	enable(1),
        	disable(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable the entry."
        ::= { securedClientIpEntry 5 }

-- Secured Client IPv6 Table

        securedClientIpv6Table OBJECT-TYPE
        SYNTAX SEQUENCE OF SecuredClientIpv6Entry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"A table that contains information about IPv6 secured clients."
        ::= { service 3 }

        securedClientIpv6Entry OBJECT-TYPE
        SYNTAX SecuredClientIpv6Entry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"A list of IPv6 secured client entry."
        INDEX { securedClientIpv6Index }
        ::= { securedClientIpv6Table 1 }

        SecuredClientIpv6Entry ::=
        	SEQUENCE {
			securedClientIpv6Index			INTEGER,
			securedClientIpv6IpAddress		InetAddressIPv6,
			securedClientIpv6IpMask			INTEGER,
			securedClientIpv6Service		BITS,
			securedClientIpv6Enable			INTEGER
           	}

        securedClientIpv6Index OBJECT-TYPE
        SYNTAX INTEGER (1..16)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"The index of the entry."
        ::= { securedClientIpv6Entry 1 }

        securedClientIpv6IpAddress OBJECT-TYPE
        SYNTAX InetAddressIPv6
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"The IP address (:: ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff) of the IPv6 secured client settings."
        ::= { securedClientIpv6Entry 2 }

        securedClientIpv6IpMask OBJECT-TYPE
        SYNTAX INTEGER (0..128)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
			"The Mask of the IPv6 secured client settings."
        ::= { securedClientIpv6Entry 3 }

        securedClientIpv6Service OBJECT-TYPE
      	SYNTAX BITS {
          icmp(0),
          telnet(1),
          ftp(2),
          snmp(3),
          http(4),
          https(6)          
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Each bit corresponds to a service. The bit is settings to 1 if the
		service is enabled, and settings to 0 if the service is disabled.
		The various bit positions are:
		BIT 0: icmp
		BIT 1: telnet
		BIT 2: ftp
		BIT 3: snmp
		BIT 4: http
		BIT 6: https
		"
        ::= { securedClientIpv6Entry 4 }

        securedClientIpv6Enable OBJECT-TYPE
        SYNTAX INTEGER {
        	enable(1),
        	disable(2)
        }
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Enable/disable the entry."
        ::= { securedClientIpv6Entry 5 }

--------------------------------------------------------------------------------------------------------
-- snmp
--------------------------------------------------------------------------------------------------------

-- 1.trapDestTable

	snmpTrapDestTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF SnmpTrapDestEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "Sets the IP addresses of up to four SNMP managers (stations to send your SNMP traps to).
                You can configure up to four managers."
    	::= { snmp 1 }

    	snmpTrapDestEntry OBJECT-TYPE
        SYNTAX SnmpTrapDestEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	""
        INDEX { snmpTrapDestIndex }
        ::= { snmpTrapDestTable 1 }

   	SnmpTrapDestEntry ::=
        	SEQUENCE {
        			snmpTrapDestIndex			INTEGER,
        			snmpTrapDestIpAddressType	InetAddressType,
            		snmpTrapDestIpAddress		InetAddress,
            		snmpTrapDestUdpPort			INTEGER,
            		snmpTrapDestVersion			INTEGER,
            		snmpTrapDestUserName		DisplayString
    	   	}

	snmpTrapDestIndex OBJECT-TYPE
	SYNTAX INTEGER (1..4)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"index of the table"
	::= { snmpTrapDestEntry 1 }

	snmpTrapDestIpAddressType OBJECT-TYPE
    	SYNTAX  InetAddressType {
                 ipv4(1),
                 ipv6(2)
    	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"SNMP trap destination IP address type"
	::= { snmpTrapDestEntry 2 }

	snmpTrapDestIpAddress OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"SNMP trap destination IP address
		<ipv4-address> 0.0.0.0 ~ 223.255.255.255
		<ipv6-address> :: ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
		Limit: snmpTrapDestIpAddressType must be set before snmpTrapDestIpAddress."
	::= { snmpTrapDestEntry 3 }

	snmpTrapDestUdpPort OBJECT-TYPE
	SYNTAX INTEGER (1..65535)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"SNMP manager UDP port."
	::= { snmpTrapDestEntry 4 }

	snmpTrapDestVersion OBJECT-TYPE
	SYNTAX  INTEGER {
			v1(1),
			v2c(2),
			v3(3)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"SNMP version."
	::= { snmpTrapDestEntry 5 }

	snmpTrapDestUserName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..31))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Must match an existing account on the Switch."
	::= { snmpTrapDestEntry 6 }

-- 2.snmpGetCommunity
	snmpGetCommunity OBJECT-TYPE
	SYNTAX DisplayString (SIZE (0..31))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Sets the get community. Only for SNMPv2c or lower."
	::= { snmp 2 }

-- 3.snmpSetCommunity
	snmpSetCommunity OBJECT-TYPE
	SYNTAX DisplayString (SIZE (1..95))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Sets the set community. Only for SNMPv2c or lower.
		Can input with plain text or ciphertext. Show ciphertext.
		plain text: 1 ~ 31 printable characters.
		ciphertext: 95 characters with special format and generated by device from plain text."
	::= { snmp 3 }

-- 4.snmpTrapCommunity
	snmpTrapCommunity OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..31))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Sets the trap community. Only for SNMPv2c or lower."
	::= { snmp 4 }

-- 5.snmpUserTable

	snmpUserTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF SnmpUserEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "Sets the authentication level for SNMP v3 user authentication.
                Optionally, specifies the authentication and encryption methods for communication with the SNMP manager."
    	::= { snmp 5 }

    	snmpUserEntry OBJECT-TYPE
        SYNTAX SnmpUserEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	""
        INDEX { IMPLIED snmpUserName }
        ::= { snmpUserTable 1 }

   	SnmpUserEntry ::=
        	SEQUENCE {
            		snmpUserName		DisplayString,
            		snmpUserSecurityLevel	INTEGER,
            		snmpUserAuthProtocol	INTEGER,
            		snmpUserPrivProtocol	INTEGER
    	   	}

	snmpUserName OBJECT-TYPE
	SYNTAX DisplayString (SIZE(1..31))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"User name"
	::= { snmpUserEntry 1 }

	snmpUserSecurityLevel OBJECT-TYPE
	SYNTAX  INTEGER {
			noauth(1),
			auth(2),
			priv(3)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"noauth: Use the username as the password string sent to the SNMP manager.
		This is equivalent to the Get, Set and Trap Community in SNMP v2c. This is the lowest security level.
		auth: Implement an authentication algorithm for SNMP messages sent by this user.
		priv: Implement authentication and encryption for SNMP messages sent by this user. This is the highest security level."
	::= { snmpUserEntry 2 }

	snmpUserAuthProtocol OBJECT-TYPE
	SYNTAX  INTEGER {
			md5(1),
			sha(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Specify MD5 or SHA authentication algorithm."
	::= { snmpUserEntry 3 }

	snmpUserPrivProtocol OBJECT-TYPE
	SYNTAX 	INTEGER {
			des(1),
			aes(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Specify DES or AES encryption algorithm."
	::= { snmpUserEntry 4 }

-- 6.snmpVersion
	snmpVersion OBJECT-TYPE
	SYNTAX 	INTEGER {
			v2c(1),
			v3(2),
			v3v2c(3)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Sets the SNMP version to use for communication with the SNMP manager.
		v2c: v2c only
		v3: v3 only
		v3v2c: v2c and v3. version 3 read/write, version 2 read only."
	::= { snmp 6 }

-- { snmp 7 } reserved by TIU-xx snmpProfileUserTable
-- { snmp 8 } reserved by TIU-xx snmpProfileTable

--------------------------------------------------------------------------------------------------------
-- sys
--------------------------------------------------------------------------------------------------------

        sysBootupFwVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Display the version of the currently running firmware."
        ::= { sys 1 }

        sysImage1FwVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Displays the version of the currently installed 1st firmware image on the flash memory."
        ::= { sys 2 }

		sysImage2FwVersion OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Displays the version of the currently installed 2nd firmware image on the flash memory."
        ::= { sys 3 }

		sysBootupImage OBJECT-TYPE
        SYNTAX INTEGER {
        							ras0(1),
        							ras1(2)
        				}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Current firmware image the system booted up."
        ::= { sys 4 }

		sysBootupConfig OBJECT-TYPE
        SYNTAX INTEGER {
        								config1(1),
        								config2(2)
        				}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Current configuration file the system booted up."
        ::= { sys 5 }

 		sysOps		 	OBJECT IDENTIFIER ::= { sys 6 }

		sysTarget OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Specifies target UNI or NNI ifindex for sysOperation.
        	From left to right, the nth bit is 1 that means ifindex n is target port.
        	ex: # 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 = ifindex 201
        	ex: # 0x80 = ifindex 1"
        ::= { sysOps 1 }

		sysOperation OBJECT-TYPE
        SYNTAX INTEGER {
									sysReset(1),
									saveConfigToBootConfig(2),
									loadFactoryDefault(5),
									loadFactoryDefaultByPort(6),
									loadFactoryDefaultInterfaceSystem(7),
									configCopyByPort(8)
        				}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"The agent will reset the object's value to zero when the operation is done.
			
			To perform erase port config with attributes,
			besides sysTarget, sysAttributeSelect also need to be set.
			
			Operation loadFactoryDefaultInterfaceSystem(7) will erase system(interface)
			config, user can set sysAttributeSelect to perform erase system(interface)
			config with attributes.
			
			To perform config port copy (configCopyByPort),
			sysSource and sysTarget must be set.
			
			To perform config port copy with attributes,
			besides sysSource and sysTarget, sysAttributeSelect also need to be set."
        ::= { sysOps 2 }

		sysSource OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Specifies source UNI or NNI ifindex for sysOperation.
        	sysSource need to be set when performing config port copy, and note that only one port can be set.
        	From left to right, the nth bit is 1 that means ifindex n is target port.
        	ex: # 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x80 = ifindex 201
        	ex: # 0x80 = ifindex 1"
        ::= { sysOps 3 }

		sysAttributeSelect OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"When erasing or copying port config, user can select specific attribute to erase/copy.
			If user enter zero-length string, 0x00 (all bits are not set) or 0xFF (all bits are set) 
			indicates all attributes are selected, in this situation, system will perform erase/copy 
			all configurations.
			
			When erasing multiple ports from different interfaces, only check each interface with 
			their attributes bit to perform config erasing, so does config copy.
			
			Config erase example
				sysTarget = 201 (voip port 1)
				            301 (dsl port 1)
				sysAttributeSelect = # 0x00 0x00 0x00 0x00 0x00 0x80 (voip-alarm)
				In this case, system will erase all config setting of dsl port 1, 
				only remove voip alarm related setting from voip port 1.
			
			Config copy example
				sysSource = 201 (voip port 1)
				sysTarget = 202 (voip port 2)
				sysAttributeSelect = # 0x20 (dsl-acl)
				In this case, system will copy all config from voip port 1 to port 2,
				ignoring dsl attribute setting.
			
			Attribute List
			dsl-loopguard(0)
			dsl-alarm(1)
			dsl-acl(2)
			dsl-packet-filter(3)
			dsl-smcast(4)
			dsl-atm-vc(5)
			dsl-vlan-transparent(6)
			dsl-vlan-trunk(7)
			dsl-vlan-translation(8)
			dsl-vlan-tls(9)
			dsl-qos(10)
			dsl-igmp(11)
			dsl-vdsl(12)
			dsl-dhcp(13)
			dsl-fdb(14)
			dsl-dscp(15)
			dsl-dot1x(16)
			
			genni-acl(20)
			genni-alarm(21)
			genni-vlan-uplink(22)
			genni-stp(23)
			
			voip-alarm(40)
			voip-h248(41)
			voip-sip(42)
			voip-dsp(43)
			voip-pots(44)
			
			system-acl(60)
			system-alarm(61)
			
			ex. # 0x00 0x10 = dsl-igmp(11)
			    # 0x00 0x00 0x02 = genni-vlan-uplink(22)
			    # 0x00 0x00 0x00 0x00 0x00 0x80 = voip-alarm(40)
			    # 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x04 = system-alarm(61)
			    # 0x00 0x00 0x00... = select all bits
			    # 0xff 0xff 0xff... = select all bits"
			
--			fe-loopguard(80)
--			fe-alarm(81)
--			fe-acl(82)
--			fe-packet-type(83)
--			fe-smcast(84)
--			fe-vlan-transparent(85)
--			fe-vlan-trunk(86)
--			fe-vlan-translation(87)
--			fe-vlan-tls(88)
--			fe-qos(89)
--			fe-igmp(90)
--			fe-fe(91)
--			fe-dhcp(92)
--			fe-fdb(93)
--			fe-dscp(94)
--			fe-dot1x(95)
			
        ::= { sysOps 4 }

-- sysTimeSetup

	sysTimeSetup 	OBJECT IDENTIFIER ::= { sys 7 }

	sysTimeServerMode OBJECT-TYPE
	SYNTAX INTEGER {
		none(1),
		daytime(2),
		time(3),
		ntp(4)
	}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The mechanism of Time Server when the system boots up."
	::= { sysTimeSetup 1 }

	sysTimeServerIPType OBJECT-TYPE
	SYNTAX InetAddressType {
		ipv4(1),
		ipv6(2)
	}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The IP Address type"
	::= { sysTimeSetup 2 }

	sysTimeServerIP OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The IP Address of Time Server"
	::= { sysTimeSetup 3 }

	sysTimeSystemTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The system time in hh/mm/ss format
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { sysTimeSetup 4 }

	sysTimeSystemDate OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The system date in mm/dd/yyyy format
		mm: 1 ~ 12
		dd: 1 ~ 31
		yyyy: 1970 ~ 2037"
	::= { sysTimeSetup 5 }

	sysTimeSystemTimeZone OBJECT-TYPE
	SYNTAX INTEGER {
		utcMinus1200(1),
		utcMinus1100(5),
		utcMinus1000(9),
		utcMinus0930(11),
		utcMinus0900(13),
		utcMinus0800(17),
		utcMinus0700(21),
		utcMinus0600(25),
		utcMinus0500(29),
		utcMinus0430(31),
		utcMinus0400(33),
		utcMinus0330(35),
		utcMinus0300(37),
		utcMinus0200(41),
		utcMinus0100(45),
		utc0000(49),
		utcPlus0100(53),
		utcPlus0200(57),
		utcPlus0300(61),
		utcPlus0330(63),
		utcPlus0400(65),
		utcPlus0430(67),
		utcPlus0500(69),
		utcPlus0530(71),
		utcPlus0545(72),
		utcPlus0600(73),
		utcPlus0630(75),
		utcPlus0700(77),
		utcPlus0800(81),
		utcPlus0830(83),
		utcPlus0845(84),
		utcPlus0900(85),
		utcPlus0930(87),
		utcPlus1000(89),
		utcPlus1030(91),
		utcPlus1100(93),
		utcPlus1200(97),
		utcPlus1245(100),
		utcPlus1300(101),
		utcPlus1400(105)
		}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The system time zone"
	::= { sysTimeSetup 6 }

	sysTimeServerSynchronize OBJECT-TYPE
	SYNTAX INTEGER {
		synchronize(1)
		}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Synchronize current system time with time server"
	::= { sysTimeSetup 7 }

	sysTimeDaylightSaveEnable OBJECT-TYPE
	SYNTAX INTEGER {
		enable(1),
		disable(2)
		}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Enables/Disables daylight saving on the Switch."
	::= { sysTimeSetup 8 }

	sysTimeDaylightSaveStartDateWeek OBJECT-TYPE
	SYNTAX INTEGER (1..5)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving start-date week."
	::= { sysTimeSetup 9 }

	sysTimeDaylightSaveStartDateDay OBJECT-TYPE
	SYNTAX INTEGER {
		sun(1),
		mon(2),
		tue(3),
		wed(4),
		thu(5),
		fri(6),
		sat(7)
	}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving start-date day."
	::= { sysTimeSetup 10 }

	sysTimeDaylightSaveStartDateMonth OBJECT-TYPE
	SYNTAX INTEGER (1..12)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving start-date month."
	::= { sysTimeSetup 11 }

	sysTimeDaylightSaveStartDateClock OBJECT-TYPE
	SYNTAX INTEGER (0..23)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving start-date o'clock."
	::= { sysTimeSetup 12 }

	sysTimeDaylightSaveEndDateWeek OBJECT-TYPE
	SYNTAX INTEGER (1..5)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving end-date week."
	::= { sysTimeSetup 13 }

	sysTimeDaylightSaveEndDateDay OBJECT-TYPE
	SYNTAX INTEGER {
		sun(1),
		mon(2),
		tue(3),
		wed(4),
		thu(5),
		fri(6),
		sat(7)
	}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving end-date day."
	::= { sysTimeSetup 14 }

	sysTimeDaylightSaveEndDateMonth OBJECT-TYPE
	SYNTAX INTEGER (1..12)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving end-date month."
	::= { sysTimeSetup 15 }

	sysTimeDaylightSaveEndDateClock OBJECT-TYPE
	SYNTAX INTEGER (0..23)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Configures daylight saving end-date o'clock."
	::= { sysTimeSetup 16 }

	sysTimeServerLastSynchronizeStatus OBJECT-TYPE
	SYNTAX INTEGER {
		idle(1),
		successfully(2),
		failed(3),
		ongoing(4)
		}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The status of the last synchronization with time server"
	::= { sysTimeSetup 17 }

	sysTimeServerLastSynchronizeTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Last time synchronization with time server"
	::= { sysTimeSetup 18 }



-- sysCmSync

--	sysCmSync 	OBJECT IDENTIFIER ::= { sys 8 }
--
--	sysCmSyncUrl OBJECT-TYPE
--	SYNTAX DisplayString
--	MAX-ACCESS	read-write
--	STATUS	current
--	DESCRIPTION
--		"The FTP URL to get/put CM file.
--		The format is ftp://<user>:<password>@<host>[:<port>]/<path and filename>"
--	::= { sysCmSync 1 }
--
--	sysCmSyncCommand OBJECT-TYPE
--	SYNTAX INTEGER {
--		cmBackupIndication(1),
--		cmRestoreIndication(2)
--	}
--	MAX-ACCESS	read-write
--	STATUS	current
--	DESCRIPTION
--		"After setting FTP URL in sysCmSyncUrl,
--		EMS issues cmBackupIndication(1) to ask EAN sync CM file to EMS.
--		EMS issues cmRestoreIndication(2) to ask EAN sync CM file from EMS.
--		EAN returns the last value configured"
--	::= { sysCmSync 2 }
--
--	sysCmSyncStatus OBJECT-TYPE
--	SYNTAX INTEGER {
--		cmUploading(1),
--		cmUploadedSuccessfully(2),
--		cmUploadedTimeout(3),
--		cmGeneratingFileError(4),
--		cmDownloading(5),
--		cmDownloadedSuccessfully(6),
--		cmDownloadedTimeout(7),
--		cmValidatingFileError(8),
--		cmValidatingFileSuccessfully(9),
--		idle(10),
--		cmApplyingFileError(11),
--		cmApplyingFileSuccessfully(12)
--	}
--	MAX-ACCESS	read-only
--	STATUS	current
--	DESCRIPTION
--		"EAN returns cmUploading(1) if the uploading process is on going.
--		EAN returns cmUploadedSuccessfully(2) if the uploading process is done.
--		EAN returns cmUploadedTimeout(3) if the uploading process is timeout.
--		EAN returns cmGeneratingFileError(4) if the EAN failed to generate CM file.
--		EAN returns cmDownloading(5) if the downloading process is on going.
--		EAN returns cmDownloadedSuccessfully(6) if the downloading process is done.
--		EAN returns cmDownloadedTimeout(7) if the downloading process is timeout.
--		EAN returns cmValidatingFileError(8) if the downloaded CM file validating error.
--		EAN returns cmValidatingFileSuccessfully(9) if the downloaded CM file validating successful.
--		EAN returns idle(10) if no CM sync process was requested after EAN booted up.
--		EAN returns cmApplyingFileError(11) if failed to apply downloaded CM file.
--		EAN returns cmApplyingFileSuccessfully(12) if apply downloaded CM file successfully."
--	::= { sysCmSync 3 }
--
--	sysCmSyncRefCounter OBJECT-TYPE
--	SYNTAX INTEGER
--	MAX-ACCESS	read-only
--	STATUS	current
--	DESCRIPTION
--		"CM sync reference counter for ves1724-58v and EAN.
--		ves1724-58v increase the counter everytime it got configuration request
--		either from SNMP or CLI. EMS gets back the counter after it finished
--		configuration change. The counter must be synchronized if EMS didn't
--		change any configuration. If the counter is not synchronized, the
--		configuration between EMS and ves1724-58v must resync."
--	::= { sysCmSync 4 }

-- sysPmSync

	sysPmSync 	OBJECT IDENTIFIER ::= { sys 9 }

	sysPmSyncUrl OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"The FTP URL to sync PM file from ves1724-58v to EMS. The URL only contians
		the path to put the PM file.
		The format is ftp://<user>:<password>@<host>[:<port>]/<path>

		The PM file name format is <IP>_<time>. For example: 192.168.1.1_1316565000
		<time> is the start time of the 15 min period. The unit is second.
		In the notification, the URL also contains the file name."
	::= { sysPmSync 1 }

	sysPmSyncEnable OBJECT-TYPE
	SYNTAX INTEGER {
		enable(1),
		disable(2)
	}
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"If sysPmSyncEnable is enable(1), EAN sync PM file to EMS every
		15 min. The file location and file name is per sysPmSyncUrl."
	::= { sysPmSync 2 }

	sysPmSyncDelay OBJECT-TYPE
	SYNTAX INTEGER (1..899)
	MAX-ACCESS	read-write
	STATUS	current
	DESCRIPTION
		"Sets the delay time of PM file uploading after 15-min boundary"
	::= { sysPmSync 3 }

	sysPmSyncStatus OBJECT-TYPE
	SYNTAX INTEGER {
		idle(1),
		uploaded(2),
		uploading(3),
		uploadingTimeout(4),
		uploadingSuccessfully(5)
	}
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"Returns the PM sync state machine state.
		 idle(1) - PM sync disabled
		 uploaded(2) - PM sync enabled or PM file uploaded down
		 uploading(3) - PM file is uploading
		 uploadingTimeout(4) - PM file uploading timeout
		 uploadingSuccessfully(5) - PM file uploading successfully"
	::= { sysPmSync 4 }

-- sysFwUpgrade

--	sysFwUpgrade 	OBJECT IDENTIFIER ::= { sys 10 }

--	sysFwUpgradeUrl OBJECT-TYPE
--	SYNTAX DisplayString
--	MAX-ACCESS	read-write
--	STATUS	current
--	DESCRIPTION
--		"The FTP URL to sync FW image from EMS to ves1724-58v.
--		The format is ftp://<user>:<password>@<host>[:<port>]/<path and file name>"
--	::= { sysFwUpgrade 1 }

--	sysFwUpgradeCommand OBJECT-TYPE
--	SYNTAX INTEGER {
--		swDownloadIndication(1),
--		swInstallIndication(2),
--		swCommitIndication(3),
--		swRestoreIndication(4),
--		swRevertIndication(5)
--	}
--	MAX-ACCESS	read-write
--	STATUS	current
--	DESCRIPTION
--		"EMS issues swDownloadIndication(1) - to ask EAN download SW from EMS
--		 EMS issues swInstallIndication(2) - to ask EAN install the downloaded SW image
--		 EMS issues swCommitIndication(3) - to ask EAN accept the installed SW image
--		 EMS issues swRestoreIndication(4) - to ask EAN restore SW image
--		 EMS issues swRevertIndication(5) - to ask EAN revert to old SW image
--		 EAN returns last value configured"
--	::= { sysFwUpgrade 2 }

--	sysFwUpgradeStatus OBJECT-TYPE
--	SYNTAX INTEGER {
--		swDownloading(1),
--		swDownloadedSuccessfully(2),
--		swDownloadedTimeout(3),
--		swImageFileError(4),
--		//swInstalling(5),
--		swInstallingError(6),
--		swInstallSuccessfully(7),
--		swRestoreSuccessfully(8),
--		swRevertSuccessfully(9),
--		idle(10),
--		unKnownError(11)
--	}
--	MAX-ACCESS	read-only
--	STATUS	current
--	DESCRIPTION
--		"EAN returns swDownloading(1) - if the downloading process is on going.
--		 EAN returns swDownloadedSuccessfully(2) - if the downloading process is successfully.
--		 EAN returns swDownloadedTimeout(3) - if the downloading process is timeout.
--		 EAN returns swImageFileError(4) - if the downloaded image file has error CRC.
--		 EAN returns swInstallingError(6) - if EAN failed to installing downloaded image file.
--		 EAN returns swInstallSuccessfully(7) - if EAN installed downloaded image file successfully.
--		 EAN returns swRestoreSuccessfully(8) - if EAN restored SW successfully.
--		 EAN returns swRevertSuccessfully(9) - if EAN reverted to old SW successfully.
--		 EAN returns idle(10) - if EAN didn't get any SW downloading command after system booted up.
--		 EAN returns unKnownError(11) - if the installing process is terminated due to NE restart by unknown reason"
--	::= { sysFwUpgrade 3 }

--	sysFwUpgradeVersion OBJECT-TYPE
--	SYNTAX DisplayString
--	MAX-ACCESS read-only
--	STATUS current
--	DESCRIPTION
--		"Display the version of uploaded/installed/reverted/restored firmware."
--	::= { sysFwUpgrade 4 }

-- sysNniType

	sysNniType OBJECT-TYPE
	SYNTAX INTEGER {
		ge(1),
		gpon(2)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The NNI port type. GE or GPON uplink."
	::= { sys 11 }

-- { sys 12 } is reserved by TIU-xx sysProductData
-- { sys 13 } is reserved by TIU-xx sysMaintenance

-------------------------------
-- aaa
-------------------------------
aaa			OBJECT IDENTIFIER ::= { sys 14 }

authen			OBJECT IDENTIFIER ::= { aaa 1 }
acct			OBJECT IDENTIFIER ::= { aaa 2 }
author			OBJECT IDENTIFIER ::= { aaa 3 }
radius			OBJECT IDENTIFIER ::= { aaa 4 }
tacacsplus		OBJECT IDENTIFIER ::= { aaa 5 }

-- authen

	loginMethod1 OBJECT-TYPE
		SYNTAX  INTEGER {
				local(1),
				radius(2),
				tacacsplus(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The first method of login authentication"
		::= { authen 1 }

	loginMethod2 OBJECT-TYPE
		SYNTAX  INTEGER {
				none(0),
				local(1),
				radius(2),
				tacacsplus(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The second method of enable authentication."
		::= { authen 2 }

	loginMethod3 OBJECT-TYPE
		SYNTAX  INTEGER {
				none(0),
				local(1),
				radius(2),
				tacacsplus(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The third method of enable authentication."
		::= { authen 3 }

	enableMethod1 OBJECT-TYPE
		SYNTAX  INTEGER {
				enable(1),
				tacacsplus(2),
				radius(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The first method of enable authentication."
		::= { authen 4 }

	enableMethod2 OBJECT-TYPE
		SYNTAX  INTEGER {
				none(0),
				enable(1),
				tacacsplus(2),
				radius(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The second method of enable authentication."
		::= { authen 5 }
		
	enableMethod3 OBJECT-TYPE
		SYNTAX  INTEGER {
				none(0),
				enable(1),
				tacacsplus(2),
				radius(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The third method of enable authentication."
		::= { authen 6 }


-- acct
	systemMethod OBJECT-TYPE
		SYNTAX  INTEGER {
				none(0),
				radius(1),
				tacacsplus(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"set the accounting method for system level recording"
		::= { acct 1 }

	execMethod OBJECT-TYPE
		SYNTAX  INTEGER {
				none(0),
				radius(1),
				tacacsplus(2)

		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"set the accounting method for exec level accounting."
		::= { acct 2 }

	execMode OBJECT-TYPE
		SYNTAX  INTEGER {
				start_stop(1),
				stop_only(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"set the update mode for exec level accounting.
			 start-stop: Send start, stop event to server during administrator log in and
			 			 log out the shell, and periodically update the session status to server.
			 stop-only: Send only stop event to server when the administrator ends the session."
		::= { acct 3 }

	commandsPrivilege OBJECT-TYPE
		SYNTAX  INTEGER (0..14)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"set the command privilege level(1~14) for accounting
			 command privilege 0 means disable "
		::= { acct 4 }

	updatePeriod OBJECT-TYPE
		SYNTAX  INTEGER (1..2147483647)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"set the update interval of accounting, 1~2147483647 minutes"
		::= { acct 5 }

	commandsMethod OBJECT-TYPE
		SYNTAX  INTEGER {
				tacacsplus(0)
		}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"show the accounting method for commands level accounting."
		::= { acct 6 }


-- author

	authorPrivModeTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF AuthorPrivModeEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "This table is to configure the mode of authorization for each privilege"
    	::= { author 1 }

    	authorPrivModeEntry OBJECT-TYPE
        SYNTAX AuthorPrivModeEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of authorPrivModeEntry."
        INDEX { authorPrivilege  }
        ::= { authorPrivModeTable 1 }

   	AuthorPrivModeEntry ::=
        	SEQUENCE {
            		authorPrivilege		INTEGER,
            		authorMode			INTEGER
      	   	}


	authorPrivilege OBJECT-TYPE
		SYNTAX  INTEGER (1..14)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Set the privilege level for authorization, every command will have its assigned privilege,
			  authorization happens when user executes a command which privilege is specified here.
			  Accepted value is 1~14 "
		::= { authorPrivModeEntry 1 }

	authorMode OBJECT-TYPE
		SYNTAX  INTEGER {
				local(0),
				tacacsplus(1),
				tacacsplus_then_local(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Set the authorization mode when authorization occurred.
			 none: no authorization
			 local: commands will be authorized with default privilege
			 tacacs+: authorization will be sent to remote tacacs+ server.
			 tacacs+ then none: authorization will be granted if there is no response from tacacs+ server.
			 tacacs+ then local: local authorization will take place if there is no reponse from tacacs+ server."
		::= { authorPrivModeEntry 2 }


-- radius
radiusAuthen		OBJECT IDENTIFIER ::= { radius 1 }
radiusAcct			OBJECT IDENTIFIER ::= { radius 2 }

	-- radiusAuthen
	radiusAuthenRedundantMode OBJECT-TYPE
		SYNTAX  INTEGER {
				index_priority(1),
				round_robin(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configure the strategy of server selection.
			 index priority:  the device tries to contact with the first server, if no response
			 				  then the device tries to contact with the second server.
			 round robin: to alternate between the servers that it sends message to."
		::= { radiusAuthen 1 }

	radiusAuthenTimeoutPeriod OBJECT-TYPE
		SYNTAX  INTEGER (1..300)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Set the timeout interval in seconds that the device waits for response from the server.
			 1~300 seconds
			 When two servers configured and mode is index-priority, the actual timeout will be half of the configuration value."
		::= { radiusAuthen 2 }

	radiusAuthenServerTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF RadiusAuthenServerEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                ""
    	::= { radiusAuthen 3 }

    	radiusAuthenServerEntry OBJECT-TYPE
        SYNTAX RadiusAuthenServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of radiusAuthenServerTable."
        INDEX { radiusAuthenServerIndex  }
        ::= { radiusAuthenServerTable 1 }

   	RadiusAuthenServerEntry ::=
        	SEQUENCE {
            		radiusAuthenServerIndex		INTEGER,
            		radiusAuthenServerIP			IpAddress,
            		radiusAuthenServerPort		INTEGER,
            		radiusAuthenServerSecret		DisplayString
    	   	}

	radiusAuthenServerIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index of the server."
	::= { radiusAuthenServerEntry 1 }

	radiusAuthenServerIP OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The IP address of specified radius server."
	::= { radiusAuthenServerEntry 2 }

	radiusAuthenServerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The UDP port of specified radius server"
	::= { radiusAuthenServerEntry 3 }

	radiusAuthenServerSecret OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"A string key shared with the radius server"
	::= { radiusAuthenServerEntry 4 }

	-- radiusAcct
	radiusAcctRedundantMode OBJECT-TYPE
		SYNTAX  INTEGER {
				index_priority(1),
				round_robin(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configure the strategy of server selection.
			 index priority:  the device tries to contact with the first server, if no response
			 				  then the device tries to contact with the second server.
			 round robin: to alternate between the servers that it sends message to."
		::= { radiusAcct 1 }

	radiusAcctTimeoutPeriod OBJECT-TYPE
		SYNTAX  INTEGER (1..60)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Set the timeout interval in seconds that the device waits for response from the server.
		 1~60 seconds.
		 When two servers configured and mode is index-priority, the actual timeout will be half of the configuration value."
		::= { radiusAcct 2 }

	radiusAcctServerTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF RadiusAcctServerEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                ""
    	::= { radiusAcct 3 }

    	radiusAcctServerEntry OBJECT-TYPE
        SYNTAX RadiusAcctServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of radiusAcctServerTable."
        INDEX { radiusAcctServerIndex  }
        ::= { radiusAcctServerTable 1 }

   	RadiusAcctServerEntry ::=
        	SEQUENCE {
            		radiusAcctServerIndex		INTEGER,
            		radiusAcctServerIP			IpAddress,
            		radiusAcctServerPort		INTEGER,
            		radiusAcctServerSecret		DisplayString
    	   	}

	radiusAcctServerIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index of the server."
	::= { radiusAcctServerEntry 1 }

	radiusAcctServerIP OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The IP address of specified radius server."
	::= { radiusAcctServerEntry 2 }

	radiusAcctServerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The UDP port of specified radius server"
	::= { radiusAcctServerEntry 3 }

	radiusAcctServerSecret OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"A string key shared with the radius server"
	::= { radiusAcctServerEntry 4 }


-- tacacsplus
tacacsplusAuthen		OBJECT IDENTIFIER ::= { tacacsplus 1 }
tacacsplusAcct			OBJECT IDENTIFIER ::= { tacacsplus 2 }
tacacsplusAuthor		OBJECT IDENTIFIER ::= { tacacsplus 3 }

	-- tacacsplusAuthen
	tacacsplusAuthenRedundantMode OBJECT-TYPE
		SYNTAX  INTEGER {
				index_priority(1),
				round_robin(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configure the strategy of server selection.
			 index priority:  the device tries to contact with the first server, if no response
			 				  then the device tries to contact with the second server.
			 round robin: to alternate between the servers that it sends message to."

		::= { tacacsplusAuthen 1 }

	tacacsplusAuthenTimeoutPeriod OBJECT-TYPE
		SYNTAX  INTEGER (1..300)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Set the timeout interval in seconds that the device waits for response from the server.
		 	1~300 seconds.
		 	When two servers configured and mode is index-priority, the actual timeout will be half of the configuration value."
		::= { tacacsplusAuthen 2 }

	tacacsplusAuthenServerTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF TacacsplusAuthenServerEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                ""
    	::= { tacacsplusAuthen 3 }

    	tacacsplusAuthenServerEntry OBJECT-TYPE
        SYNTAX TacacsplusAuthenServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of tacacsplusAuthServerTable."
        INDEX { tacscsplusAuthenServerIndex   }
        ::= { tacacsplusAuthenServerTable 1 }

   	TacacsplusAuthenServerEntry ::=
        	SEQUENCE {
            		tacscsplusAuthenServerIndex		INTEGER,
            		tacscsplusAuthenServerIP		IpAddress,
            		tacscsplusAuthenServerPort		INTEGER,
            		tacscsplusAuthenServerSecret	DisplayString
    	   	}

	tacscsplusAuthenServerIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index of the server."
	::= { tacacsplusAuthenServerEntry 1 }

	tacscsplusAuthenServerIP OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The IP address of specified tacacs+ server."
	::= { tacacsplusAuthenServerEntry 2 }

	tacscsplusAuthenServerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The TCP port of specified tacacs+ server"
	::= { tacacsplusAuthenServerEntry 3 }

	tacscsplusAuthenServerSecret OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"A string key shared with the tacacs+ server"
	::= { tacacsplusAuthenServerEntry 4 }

	-- tacacsplusAcct
	tacacsplusAcctRedundantMode OBJECT-TYPE
		SYNTAX  INTEGER {
				index_priority(1),
				round_robin(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configure the strategy of server selection.
			 index priority:  the device tries to contact with the first server, if no response
			 				  then the device tries to contact with the second server.
			 round robin: to alternate between the servers that it sends message to."
		::= { tacacsplusAcct 1 }

	tacacsplusAcctTimeoutPeriod OBJECT-TYPE
		SYNTAX  INTEGER (1..60)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Set the timeout interval in seconds that the device waits for response from the server.
		 	1~60 seconds.
		 	When two servers configured and mode is index-priority, the actual timeout will be half of the configuration value."
		::= { tacacsplusAcct 2 }

	tacacsplusAcctServerTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF TacacsplusAcctServerEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                ""
    	::= { tacacsplusAcct 3 }

    	tacacsplusAcctServerEntry OBJECT-TYPE
        SYNTAX TacacsplusAcctServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of tacacsplusAcctServerTable."
        INDEX { tacacsplusAcctServerIndex  }
        ::= { tacacsplusAcctServerTable 1 }

   	TacacsplusAcctServerEntry ::=
        	SEQUENCE {
            		tacacsplusAcctServerIndex		INTEGER,
            		tacacsplusAcctServerIP			IpAddress,
            		tacacsplusAcctServerPort		INTEGER,
            		tacacsplusAcctServerSecret		DisplayString
    	   	}

	tacacsplusAcctServerIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index of the server."
	::= { tacacsplusAcctServerEntry 1 }

	tacacsplusAcctServerIP OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The IP address of specified tacacs+ server."
	::= { tacacsplusAcctServerEntry 2 }

	tacacsplusAcctServerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The TCP port of specified tacacs+ server"
	::= { tacacsplusAcctServerEntry 3 }

	tacacsplusAcctServerSecret OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"A string key shared with the tacacs+ server"
	::= { tacacsplusAcctServerEntry 4 }


-- tacacsplusAuthor
	tacacsplusAuthorRedundantMode OBJECT-TYPE
		SYNTAX  INTEGER {
				index_priority(1),
				round_robin(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configure the strategy of server selection.
			 index priority:  the device tries to contact with the first server, if no response
			 				  then the device tries to contact with the second server.
			 round robin: to alternate between the servers that it sends message to."
		::= { tacacsplusAuthor 1 }

	tacacsplusAuthorTimeoutPeriod OBJECT-TYPE
		SYNTAX  INTEGER (1..300)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Timeout period (second) of command authorization via TACACS+. 1~300 seconds
			When two servers configured and mode is index-priority, the actual timeout will be half of the configuration value."
		::= { tacacsplusAuthor 2 }

	tacacsplusAuthorServerTable OBJECT-TYPE
    	SYNTAX SEQUENCE OF TacacsplusAuthorServerEntry
    	MAX-ACCESS not-accessible
    	STATUS current
    	DESCRIPTION
                "This table is supported by R5.06 and later versions."
    	::= { tacacsplusAuthor 3 }

    	tacacsplusAuthorServerEntry OBJECT-TYPE
        SYNTAX TacacsplusAuthorServerEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of tacacsplusAuthorServerEntry.
        	This table is supported by R5.06 and later versions."
        INDEX { tacacsplusAuthorServerIndex   }
        ::= { tacacsplusAuthorServerTable 1 }

   	TacacsplusAuthorServerEntry ::=
        	SEQUENCE {
            		tacacsplusAuthorServerIndex		INTEGER,
            		tacacsplusAuthorServerIP		IpAddress,
            		tacacsplusAuthorServerPort		INTEGER,
            		tacacsplusAuthorServerSecret	DisplayString
    	   	}

	tacacsplusAuthorServerIndex OBJECT-TYPE
	SYNTAX INTEGER (1..2)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The index of the server."
	::= { tacacsplusAuthorServerEntry 1 }

	tacacsplusAuthorServerIP OBJECT-TYPE
	SYNTAX IpAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"TACACS+ server IP for command authorization."
	::= { tacacsplusAuthorServerEntry 2 }

	tacacsplusAuthorServerPort OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"TACACS+ server port for command authorization."
	::= { tacacsplusAuthorServerEntry 3 }

	tacacsplusAuthorServerSecret OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"TACACS+ server secret key for command authorization."
	::= { tacacsplusAuthorServerEntry 4 }

-- author , NOT SUPPORT YET.
--	authorCmdMethodTable OBJECT-TYPE
--    	SYNTAX SEQUENCE OF AuthorCmdMethodEntry
--  	MAX-ACCESS not-accessible
--  	STATUS current
--	DESCRIPTION
--              "This table is supported by R5.06 and later versions."
--  	::= { author 1 }

--  	authorCmdMethodEntry OBJECT-TYPE
--     SYNTAX AuthorCmdMethodEntry
--      MAX-ACCESS not-accessible
--      STATUS current
--      DESCRIPTION
--      	"An entry of authorCmdMethodEntry."
--      INDEX { ifIndex   }
--      ::= { authorCmdMethodTable 1 }

-- 	AuthorCmdMethodEntry ::=
--      	SEQUENCE {
--          		authorCmdMethod		INTEGER
--  	   	}

--	authorCmdMethod OBJECT-TYPE
--	SYNTAX INTEGER {
--				none(1),
--				local(2),
--				tacacsPlus(3),
--				tacacsPlus_then_none(4),
--				tacacsPlus_then_local(5)
--			}
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--		"Method mode of command authorization in each privilege level."
--	::= { authorCmdMethodEntry 1 }

	sysPowerSource OBJECT-TYPE
	SYNTAX INTEGER {
			ac(1),
			dc(2)
		}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Current power source."
	::= { sys 15 }

	sysLoginMessage OBJECT-TYPE
	SYNTAX DisplayString (SIZE(0..128))
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Sets the location information for console, TELNET, SSH, and WEBGUI."
	::= { sys 17 }

-------------------------------
-- sysConfiglog
-------------------------------
sysConfiglog			OBJECT IDENTIFIER ::= { sys 19 }            

	sysConfigLastChangeTime OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The string representation of occurence time of last configuration change."
	    ::= { sysConfiglog 1 }
	
	sysConfigLastChangeSession OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The string representation of session type of last configuration change."
	    ::= { sysConfiglog 2 }
	
	sysConfigLastChangeUser OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The string representation of user of last configuration change."
	    ::= { sysConfiglog 3 }

	sysConfigLastChangeLocation OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The string representation of location (it's IP address in most situation) of last configuration change."
	    ::= { sysConfiglog 4 }	
        
-------------------------------
-- sysReboot
-------------------------------
sysReboot OBJECT IDENTIFIER ::= {sys 20}        

  	sysRebootAction OBJECT-TYPE
        SYNTAX INTEGER {
        		Commit(1),
                     Cancel(2)
        	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Performs actions to the scheduled reboot."
        ::= { sysReboot 1 }
        
  	sysRebootTimer OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "sec"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"5~86400 seconds, 0: reboot immediately."
        ::= { sysReboot 2 }
          

--------------------------------------------------------------------------------------------------------
-- vdsl
--------------------------------------------------------------------------------------------------------

-- selt
		selt		OBJECT IDENTIFIER ::= { vdsl 1 }

		seltTarget OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"IfIndex of the port which would be performed single end loopback test."
		::= { selt 1 }

		seltOps OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The manager sets the object to 1 to start the selt
        	and the agent clears the object to zero when selt is not in progress."
		::= { selt 2 }

		seltStatus OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Status description of the selt result."
		::= { selt 3 }

		seltCableType OBJECT-TYPE
		SYNTAX INTEGER {
									pe_0_dot_4_mm(1),
									pe_0_dot_5_mm(2)
							}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The cable type that selt result indicates.
			 The two kind of cable type are PE 0.4mm and PE 0.5mm."
		::= { selt 4 }

		seltLoopEstimateLengthFt OBJECT-TYPE
		SYNTAX INTEGER
		UNITS "feet"
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The estimated loop length that selt result indicates."
		::= { selt 5 }

		seltLoopEstimateLengthMeter OBJECT-TYPE
		SYNTAX INTEGER
		UNITS "meter"
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The estimated loop length that selt result indicates."
		::= { selt 6 }

		seltLoopTerminal OBJECT-TYPE
		SYNTAX INTEGER{
			open(1),
			short(2)
		}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The loop terminal that selt result indicates."
		::= { selt 7 }

		seltAttenuation180khz OBJECT-TYPE
		SYNTAX DisplayString
		UNITS "dB"
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The estimated attenuation in dB at 180 kHz."
		::= { selt 8 }
		
		seltAttenuation300khz OBJECT-TYPE
		SYNTAX DisplayString
		UNITS "dB"
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The estimated attenuation in dB at 300 kHz"
		::= { selt 9 }


-- vdslOps

    vdslOps	OBJECT IDENTIFIER ::= { vdsl 2 }

    vdslTarget OBJECT-TYPE
    SYNTAX PortList
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"Target DSL ifindex to clear packet statistics."
    ::= { vdslOps 1 }

    vdslOperation OBJECT-TYPE
    SYNTAX INTEGER {
    	clearCurrPerformance(2),
    	clearCurr15MinPerformance(3),
    	clearHist15MinPerformance(4),
       	clearCurr1DayPerformance(5),
    	clearHist1DayPerformance(6),
    	clearCurrStatPerformance(7),
    	clearCurr15MinStatPerformance(8),
    	clearHist15MinStatPerformance(9),
       	clearCurr1DayStatPerformance(10),
    	clearHist1DayStatPerformance(11)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
    	"clearCurrPerformance:  Clear current performance on the target DSL ifindex specified by vdslTarget.
    	 clearCurr15MinPerformance: Clear current 15 minutes performance on the target DSL ifindex specified by vdslTarget.
    	 clearHist15MinPerformance: Clear history 15 minutes performance on the target DSL ifindex specified by vdslTarget.
    	 clearCurr1DayPerformance: Clear current 1 day performance on the target DSL ifindex specified by vdslTarget.
    	 clearHist1DayPerformance: Clear history 1 day performance on the target DSL ifindex specified by vdslTarget.
    	 clearCurrStatPerformance: Clear current statistics performance on the target DSL ifindex specified by vdslTarget.
    	 clearCurr15MinStatPerformance: Clear current 15 minutes statistics performance on the target DSL ifindex specified by vdslTarget.
    	 clearHist15MinStatPerformance: Clear history 15 minutes statistics performance on the target DSL ifindex specified by vdslTarget.
    	 clearCurr1DayStatPerformance: Clear current 1 day statistics performance on the target DSL ifindex specified by vdslTarget.
    	 clearHist1DayStatPerformance: Clear history 1 day statistics performance on the target DSL ifindex specified by vdslTarget."
    ::= { vdslOps 2 }

-- Subscriber Port Table
        subrPortTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SubrPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table includes subscriber attributes for the port."
        ::= { vdsl 3 }

	subrPortEntry OBJECT-TYPE
        SYNTAX SubrPortEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in subrPortTable."
        INDEX { ifIndex }
        ::= { subrPortTable 1 }

        SubrPortEntry ::=
        	SEQUENCE {
			subrPortName	DisplayString,
			subrPortAlarmProf	DisplayString
		}

        subrPortName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..31))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Name of the subscriber."
        ::= { subrPortEntry 1 }

        subrPortAlarmProf OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..31))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"Alarm profile for the subscriber port(s)."
        ::= { subrPortEntry 2 }

-- vdsl2Profile

    vdsl2Profile	OBJECT IDENTIFIER ::= { vdsl 4 }

-- Vdsl2LineProfileExtendedTable

        vdsl2LineConfProfileExtendedTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Vdsl2LineConfProfileExtendedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains information on the VDSL2 line profile extension configuration."
        ::= { vdsl2Profile 1 }

		vdsl2LineConfProfileExtendedEntry OBJECT-TYPE
        SYNTAX Vdsl2LineConfProfileExtendedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in vdsl2LineProfileExtendedEntry."
        INDEX { xdsl2LConfProfProfileName }
        ::= { vdsl2LineConfProfileExtendedTable 1 }

        Vdsl2LineConfProfileExtendedEntry ::=
        	SEQUENCE {
			vdsl2LineConfProfileDpboEPsdID		INTEGER,
			vdsl2LineConfProfileBitSwapDs		INTEGER,
			vdsl2LineConfProfileBitSwapUs		INTEGER,
			vdsl2LineConfProfileTransmissionType   BITS,
	      	vdsl2LineConfProfileProfileName   DisplayString
           	}

        vdsl2LineConfProfileDpboEPsdID OBJECT-TYPE
		SYNTAX  INTEGER {
				psd_co(1),
				psd_flat(2),
				psd_cab_ansi(3),
				psd_cab_etsi(4),
				psd_exch_etsi(5),
				psd_exch_ansi(6)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"standard psd shape id for psd toolbox"
		::= { vdsl2LineConfProfileExtendedEntry 1 }

		vdsl2LineConfProfileBitSwapDs OBJECT-TYPE
		SYNTAX  INTEGER {
				enable(1),
				disable(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Enable or disable downstream bit swap."
		::= { vdsl2LineConfProfileExtendedEntry 2 }

		vdsl2LineConfProfileBitSwapUs OBJECT-TYPE
		SYNTAX  INTEGER {
				enable(1),
				disable(2)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Enable or disable upstream bit swap."
		::= { vdsl2LineConfProfileExtendedEntry 3 }

		vdsl2LineConfProfileTransmissionType OBJECT-TYPE
      	SYNTAX BITS {
          vdsl2(0),
          adsl2plus(1),
          adsl2(2),
          gdmt(3),
          t1413(4),
          glite(5),
          annexM(6),
          annexL(7),
          annexJ(8),
          annexI(9)
        }
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"The transmission mode when link up."
		::= { vdsl2LineConfProfileExtendedEntry 4 }

	    vdsl2LineConfProfileProfileName OBJECT-TYPE
	    SYNTAX DisplayString
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	       "The line profile name."
	    ::= { vdsl2LineConfProfileExtendedEntry 5 }

-- vdsl2LineAlarmConfProfileExtendedTable

        vdsl2LineAlarmConfProfileExtendedTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Vdsl2LineAlarmConfProfileExtendedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains information on the VDSL2 line alarm profile extension configuration."
        ::= { vdsl2Profile 2 }

		vdsl2LineAlarmConfProfileExtendedEntry OBJECT-TYPE
        SYNTAX Vdsl2LineAlarmConfProfileExtendedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in vdsl2LineAlarmConfProfileExtendedEntry."
        INDEX { xdsl2LineAlarmConfProfileName  }
        ::= { vdsl2LineAlarmConfProfileExtendedTable 1 }

        Vdsl2LineAlarmConfProfileExtendedEntry ::=
        	SEQUENCE {
			vdsl2LineAlarmConfProfileXtucThresh15MinLofs		Unsigned32,
			vdsl2LineAlarmConfProfileXturThresh15MinLofs		Unsigned32,
			vdsl2LineAlarmConfProfileXturThresh15MinLprs   			Unsigned32,
			vdsl2LineAlarmConfProfileProfileName				DisplayString           	}

        vdsl2LineAlarmConfProfileXtucThresh15MinLofs OBJECT-TYPE
		SYNTAX  Unsigned32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"A threshold for the xdsl2PMLCurr15MLofs counter, when xdsl2PMLCurrUnit is xtuc 1.
			The value 0 means that no threshold is specified for the associated counter.
			Units:seconds"
		::= { vdsl2LineAlarmConfProfileExtendedEntry 1 }

		vdsl2LineAlarmConfProfileXturThresh15MinLofs OBJECT-TYPE
		SYNTAX  Unsigned32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"A threshold for the xdsl2PMLCurr15MLofs counter, when xdsl2PMLCurrUnit is xtur 2.
			The value 0 means that no threshold is specified for the associated counter.
			Units:seconds"
		::= { vdsl2LineAlarmConfProfileExtendedEntry 2 }

		vdsl2LineAlarmConfProfileXturThresh15MinLprs OBJECT-TYPE
		SYNTAX  Unsigned32
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"A threshold for the xdsl2PMLCurr15MLprs counter.
			The value 0 means that no threshold is specified for the associated counter.
			Units:seconds"
		::= { vdsl2LineAlarmConfProfileExtendedEntry 3 }

		vdsl2LineAlarmConfProfileProfileName OBJECT-TYPE
	    SYNTAX DisplayString
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "The alarm line profile name."
	    ::= { vdsl2LineAlarmConfProfileExtendedEntry 4 }

-- vdsl2ChanConfProfileExtendedTable

        vdsl2ChanConfProfileExtendedTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Vdsl2ChanConfProfileExtendedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains information on the VDSL2 channel profile extension configuration."
        ::= { vdsl2Profile 3 }

		vdsl2ChanConfProfileExtendedEntry OBJECT-TYPE
        SYNTAX Vdsl2ChanConfProfileExtendedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in vdsl2ChanConfProfileExtendedEntry."
        INDEX { vdsl2ChanConfProfileProfileName  }
        ::= { vdsl2ChanConfProfileExtendedTable 1 }

        Vdsl2ChanConfProfileExtendedEntry ::=
        	SEQUENCE {
			vdsl2ChanConfProfilePhyRDs		INTEGER,
			vdsl2ChanConfProfilePhyRUs		INTEGER,
	        vdsl2ChanConfProfileProfileName				DisplayString           	}

        vdsl2ChanConfProfilePhyRDs OBJECT-TYPE
		SYNTAX  INTEGER {
				enable(1),
				disable(2),
				auto(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configure downstream PhyR mode."
		::= { vdsl2ChanConfProfileExtendedEntry 1 }

		vdsl2ChanConfProfilePhyRUs OBJECT-TYPE
		SYNTAX  INTEGER {
				enable(1),
				disable(2),
				auto(3)
			}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configure upstream PhyR mode."
		::= { vdsl2ChanConfProfileExtendedEntry 2 }

	    vdsl2ChanConfProfileProfileName OBJECT-TYPE
	    SYNTAX DisplayString
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	       "The channel profile name."
	    ::= { vdsl2ChanConfProfileExtendedEntry 3 }

-- vdsl2Stats

    vdsl2Stats	OBJECT IDENTIFIER ::= { vdsl 5 }

	-- xdsl2LineBandExtendedTable
	xdsl2LineBandExtendedTable OBJECT-TYPE
        SYNTAX SEQUENCE OF Xdsl2LineBandExtendedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"This table show tx power of band."
        ::= { vdsl2Stats 1 }

        xdsl2LineBandExtendedEntry OBJECT-TYPE
        SYNTAX Xdsl2LineBandExtendedEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of xdsl2LineBandExtendedTable."
        INDEX { ifIndex,  xdsl2LineBand }
        ::= { xdsl2LineBandExtendedTable 1 }

        Xdsl2LineBandExtendedEntry ::=
        	SEQUENCE {
            xdsl2LineBandTxPower			INTEGER
           }

		xdsl2LineBandTxPower OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Xdsl line band Tx power (in unit of 0.1 Dbm, -1280 indicates that power is empty)"
		::= { xdsl2LineBandExtendedEntry 1 }

-- { vdsl 6 } is reserved by TIU-xx xdsl2ExtPM
-- { vdsl 7 } is reserved by TIU-xx gvector

-- ldm
		ldm		OBJECT IDENTIFIER ::= { vdsl 8 }
     	xdsl2ExtendedStatus	OBJECT IDENTIFIER ::= { ldm 1 }

-- Force Port Setting Table
		forcePortSettingTable OBJECT-TYPE
		SYNTAX SEQUENCE OF ForcePortSettingEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
		    "This table includes force port settings for the port."
		::= { vdsl 9 }

		forcePortSettingEntry OBJECT-TYPE
		SYNTAX ForcePortSettingEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"An entry in forcePortSettingTable."
		INDEX { ifIndex }
		::= { forcePortSettingTable 1 }

		ForcePortSettingEntry ::=
		SEQUENCE {
				forcePortTransType	INTEGER,
				forcePortAnnexM	INTEGER,
				forcePortAnnexL	INTEGER,
				forcePortAnnexI	INTEGER,
				forcePortAnnexJ	INTEGER,
				forcePortPmMode INTEGER,
				forcePortL0Time INTEGER,
				forcePortL2Time INTEGER,
				forcePortL2PwrDnStep INTEGER,
				forcePortL2PwrDnMax INTEGER,
				forcePortTxPwrMode INTEGER,
				forcePortMinInpDs INTEGER,
				forcePortMinInpUs INTEGER,
				forcePortMaxUsTxPwr INTEGER,
				forcePortMaxDsTxPwr INTEGER,
				forcePortMaxUsRxPwr INTEGER
		}

		forcePortTransType OBJECT-TYPE
		SYNTAX  INTEGER {
			profile(0),
			auto(1),
			vdsl2(2),
			adsl2plus(3),
			adsl2(4),
			gdmt(5),
			glite(6),
			t1413(7)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures allowed transmission type. 
			The setting is undefined and system takes settings for transmission type, Annex M, L, I, J, power management, and TX power mode from profile. 
			If it is set, the settings will be from port settings.
			auto: auto selectionn transmission type.
			others: allow specified protocol only."
		::= { forcePortSettingEntry 1 }

		forcePortAnnexM OBJECT-TYPE
		SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
		MAX-ACCESS read-write
		    STATUS current
		DESCRIPTION
			"Enable/Disable Annex M. This is ADSL specific setting."
		::= { forcePortSettingEntry 2 }

		forcePortAnnexL OBJECT-TYPE
		SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Enable/Disable Annex L. This is ADSL specific setting."
		::= { forcePortSettingEntry 3 }

		forcePortAnnexI OBJECT-TYPE
		SYNTAX  INTEGER {
			enable(1),
			disable(2)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Enable/Disable Annex I. This is ADSL specific setting."
		::= { forcePortSettingEntry 4 }
	
		forcePortAnnexJ OBJECT-TYPE
		SYNTAX  INTEGER {
				enable(1),
				disable(2)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Enable/Disable Annex J. This is ADSL specific setting."
		::= { forcePortSettingEntry 5 }
	
		forcePortPmMode OBJECT-TYPE
		SYNTAX  INTEGER {
				disable(0),
				allowL3(1),
				allowL2(2),
				allowBoth(3)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Configures Power Management operating mode.
		(used for ADSL2 and ADSL2+ protocol)
	
		disable: disable power management.
		allowL3: dsl could autonomously transmit to idle (L3) state
		allowL2: dsl could autonomously transmit to low power (L2) state
		allowBoth: dsl could autonomously transmit to idle (L3) state and low power (L2) state"
		::= { forcePortSettingEntry 6 }

		forcePortL0Time OBJECT-TYPE
		SYNTAX  INTEGER (0..255)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Configures Power Management parameters
		(used for ADSL2 and ADSL2+ protocol).
		
		The unit is seconds."
		::= { forcePortSettingEntry 7 }

		forcePortL2Time OBJECT-TYPE
		SYNTAX  INTEGER (0..255)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Configures Power Management parameters
		(used for ADSL2 and ADSL2+ protocol).
		
		The unit is seconds."
		::= { forcePortSettingEntry 8 }
		
		forcePortL2PwrDnStep OBJECT-TYPE
		SYNTAX  INTEGER (0..15)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Configures Power Management parameters
		(used for ADSL2 and ADSL2+ protocol).
		
		The unit is dB."
		::= { forcePortSettingEntry 9 }

		forcePortL2PwrDnMax OBJECT-TYPE
		SYNTAX  INTEGER (0..15)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Configures Power Management parameters
		(used for ADSL2 and ADSL2+ protocol).
		
		The unit is dB."
		::= { forcePortSettingEntry 10 }
		
		forcePortTxPwrMode OBJECT-TYPE
		SYNTAX  INTEGER {
				fix(0),
				power(1),
				rate(2)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Configures TX Power Mode.
		
		fix: Fix to maximum of rate.
		power: priority to power.
		rate: priority to rate."
		::= { forcePortSettingEntry 11 }
		
		forcePortMinInpDs OBJECT-TYPE
		SYNTAX  INTEGER (0..32)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Configure downstream minimum INP for 4.3125KHz carrier space DSL link.
		The unit is 0.5 symbol."
		::= { forcePortSettingEntry 12 }
		
		forcePortMinInpUs OBJECT-TYPE
		SYNTAX  INTEGER (0..32)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Configure upstream minimum INP for 4.3125KHz carrier space DSL link.
		The unit is 0.5 symbol."
		::= { forcePortSettingEntry 13 }

		forcePortMaxUsTxPwr OBJECT-TYPE
		SYNTAX  INTEGER (-130..200)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Configure maximum upstream allowed transmit power.
		The unit is 0.1 dBm."
		::= { forcePortSettingEntry 14 }

		forcePortMaxDsTxPwr OBJECT-TYPE
		SYNTAX  INTEGER (-50..200)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Configure maximum downstream allowed transmit power.
		The unit is 0.1 dBm."
		::= { forcePortSettingEntry 15 }

		forcePortMaxUsRxPwr OBJECT-TYPE
		SYNTAX  INTEGER (-255..255)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
		"Configure maximum aggregate receive power at the ATU-C.
		The unit is 0.1 dBm."
		::= { forcePortSettingEntry 16 }

--------------------
-- xdsl2ExtendedSCStatusTable
--------------------
    xdsl2ExtendedSCStatusTable  OBJECT-TYPE
    SYNTAX      SEQUENCE  OF  Xdsl2ExtendedSCStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtendedSCStatusTable extends xdsl2SCStatusTable for
         Zyxel product."
    ::= { xdsl2ExtendedStatus 1 }

    xdsl2ExtendedSCStatusEntry  OBJECT-TYPE
    SYNTAX      Xdsl2ExtendedSCStatusEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtendedSCStatusTable contains extra subcarrier
        status parameters besides those in xdsl2LineSegmentTable."
    INDEX  { ifIndex, xdsl2SCStatusDirection }
    ::= { xdsl2ExtendedSCStatusTable 1 }

    Xdsl2ExtendedSCStatusEntry  ::=
    SEQUENCE {
       xdsl2SCStatusActAtp    Integer32
    }

    xdsl2SCStatusActAtp  OBJECT-TYPE
    SYNTAX      Integer32 (-310..310 | 2147483647)
    UNITS       "0.1 dBm"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "Actual Aggregate Transmit Power Downstream.
        The total amount of transmit power delivered by the xTU-C at
        the U-C reference point, at the instant of measurement.  It
        ranges from -310 to 310 units of 0.1 dBm (Physical values are -31
        to 31 dBm).
        A value of 0x7FFFFFFF (2147483647) indicates the measurement is
        out of range to be represented.
        This object reflects the value of the parameter following the
        most recent DELT performed on the associated line.  Once the DELT
        process is over, the parameter no longer changes until the row is
        deleted or a new DELT process is initiated.
        "
    DEFVAL       { 2147483647 }
    ::= { xdsl2ExtendedSCStatusEntry 1 }

--------------------
-- xdsl2ExtendedSCStatusBandTable
--------------------
    xdsl2ExtendedSCStatusBandTable  OBJECT-TYPE
    SYNTAX      SEQUENCE  OF  Xdsl2ExtendedSCStatusBandEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtendedSCStatusBandTable extends xdsl2SCStatusBandTable for
         Zyxel product."
    ::= { xdsl2ExtendedStatus 2 }

    xdsl2ExtendedSCStatusBandEntry  OBJECT-TYPE
    SYNTAX      Xdsl2ExtendedSCStatusBandEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
       "The table xdsl2ExtendedSCStatusBandTable contains extra subcarrier
        status parameters that are grouped per-band besides those in
        xdsl2SCStatusBandTable."
    INDEX  { ifIndex, xdsl2SCStatusBand }
    ::= { xdsl2ExtendedSCStatusBandTable 1 }

    Xdsl2ExtendedSCStatusBandEntry  ::=
    SEQUENCE {
       xdsl2SCStatusBandSnrMargin          Integer32
    }

    xdsl2SCStatusBandSnrMargin  OBJECT-TYPE
    SYNTAX      Integer32 (-640..630 | 2147483646 | 2147483647)
    UNITS       "0.1 dB"
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
       "SNR Margin is the maximum increase in dB of the noise power
        received at the xTU (xTU-R for a band in the downstream direction
        and xTU-C for a band in the upstream direction), such that the
        BER requirements are met for all bearer channels received at the
        xTU. Values range from -640 to 630 in units of 0.1 dB (Physical
        values are -64 to 63 dB).
        A special value of 0x7FFFFFFF (2147483647) indicates the SNR
        Margin is out of range to be represented.
        A special value of 0x7FFFFFFE (2147483646) indicates the SNR
        Margin measurement is currently unavailable.
        This object reflects the value of the parameter following the
        most recent DELT performed on the associated line.  Once the DELT
        process is over, the parameter no longer changes until the row is
        deleted or a new DELT process is initiated."
    DEFVAL       { 2147483646 }
    ::= { xdsl2ExtendedSCStatusBandEntry 1 }

------------------------------------------------
--          Textual Conventions               --
------------------------------------------------

Xdsl2Unit ::= TEXTUAL-CONVENTION
   STATUS      current
   DESCRIPTION
      "Identifies a transceiver as being either xTU-C or xTU-R.
       A VDSL2/ADSL/ADSL2 or ADSL2+ line consists of two
       transceivers: an xTU-C and an xTU-R.
       In the case of ADSL/ADSL2 and ADSL2+, those two transceivers are
       also called atuc and atur.
       In the case of VDSL2, those two transceivers are also called
       vtuc and vtur.
       Specified as an INTEGER, the two values are:
        xtuc(1)  -- central office transceiver
        xtur(2)  -- remote site transceiver"
   SYNTAX      INTEGER {
                  xtuc(1),
                  xtur(2)
               }

-- xdsl2PM
xdsl2PMExtended  		OBJECT IDENTIFIER ::= { vdsl2Stats 2 }

xdsl2PMLineExtended  		OBJECT IDENTIFIER ::= { xdsl2PMExtended 1 }
xdsl2PMChannelExtended 		OBJECT IDENTIFIER ::= { xdsl2PMExtended 2 }

-- xdsl2PMLineCurrExtendedTable
xdsl2PMLineCurrExtendedTable  OBJECT-TYPE
   SYNTAX      SEQUENCE  OF  Xdsl2PMLineCurrExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The table xdsl2PMLineCurrExtendedTable contains current Performance
       Monitoring results for DSL lines."
   ::= { xdsl2PMLineExtended 1 }

xdsl2PMLineCurrExtendedEntry  OBJECT-TYPE
   SYNTAX      Xdsl2PMLineCurrExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "One index of this table is an interface index where the
        interface has an ifType of vdsl2(251).  A second index of this
        table is the termination unit."
   INDEX  { ifIndex, xdsl2PMLCurrUnit }
   ::= { xdsl2PMLineCurrExtendedTable 1 }

Xdsl2PMLineCurrExtendedEntry  ::=
   SEQUENCE {
      xdsl2PMLCurrUnit                    Xdsl2Unit,
      xdsl2PMLCurr15MLofs                 Counter32,
      xdsl2PMLCurr1DayLofs                Counter32
    }

	xdsl2PMLCurrUnit  OBJECT-TYPE
	SYNTAX      Xdsl2Unit
	MAX-ACCESS  not-accessible
	STATUS      current
	DESCRIPTION
		"The termination unit."
	::= { xdsl2PMLineCurrExtendedEntry 1 }

	xdsl2PMLCurr15MLofs OBJECT-TYPE
	SYNTAX Counter32
   	UNITS  "seconds"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
      "Count of seconds during this interval that there was Loss of Frame."
    ::= { xdsl2PMLineCurrExtendedEntry 2 }

	xdsl2PMLCurr1DayLofs OBJECT-TYPE
	SYNTAX Counter32
   	UNITS  "seconds"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
      "Count of seconds during this interval that there was Loss of Frame."
	::= { xdsl2PMLineCurrExtendedEntry 3 }

-- xdsl2PMLineInitCurrExtendedTable
xdsl2PMLineInitCurrExtendedTable  OBJECT-TYPE
   SYNTAX      SEQUENCE  OF  Xdsl2PMLineInitCurrExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The table xdsl2PMLineInitCurrExtendedTable contains current Performance
       Monitoring results for DSL lines."
   ::= { xdsl2PMLineExtended 2 }

xdsl2PMLineInitCurrExtendedEntry  OBJECT-TYPE
   SYNTAX      Xdsl2PMLineInitCurrExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "One index of this table is an interface index where the
        interface has an ifType of vdsl2(251)."
   INDEX  { ifIndex }
   ::= { xdsl2PMLineInitCurrExtendedTable 1 }

Xdsl2PMLineInitCurrExtendedEntry  ::=
   SEQUENCE {
      xdsl2PMLInitCurr15MLols                 Counter32,
      xdsl2PMLInitCurr15MLol                  Unsigned32,
      xdsl2PMLInitCurr15MLprs                 Counter32,
      xdsl2PMLInitCurr15MLpr                  Unsigned32,
      xdsl2PMLInitCurr1DayLols                Counter32,
      xdsl2PMLInitCurr1DayLol                 Unsigned32,
      xdsl2PMLInitCurr1DayLprs                Counter32,
      xdsl2PMLInitCurr1DayLpr                 Unsigned32
   }

	xdsl2PMLInitCurr15MLols OBJECT-TYPE
	SYNTAX Counter32
   	UNITS  "seconds"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Count of seconds during this interval that there was Loss of Link."
	::= { xdsl2PMLineInitCurrExtendedEntry 1 }

	xdsl2PMLInitCurr15MLol OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Count of times for Loss of Link during this interval."
	::= { xdsl2PMLineInitCurrExtendedEntry 2 }

	xdsl2PMLInitCurr15MLprs OBJECT-TYPE
	SYNTAX Counter32
   	UNITS  "seconds"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Count of seconds during this interval that there was Loss of Power."
	::= { xdsl2PMLineInitCurrExtendedEntry 3 }

	xdsl2PMLInitCurr15MLpr OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Count of times for Loss of Power during this interval."
	::= { xdsl2PMLineInitCurrExtendedEntry 4 }

	xdsl2PMLInitCurr1DayLols OBJECT-TYPE
	SYNTAX Counter32
   	UNITS  "seconds"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Count of seconds during this interval that there was Loss of Link."
	::= { xdsl2PMLineInitCurrExtendedEntry 5 }

	xdsl2PMLInitCurr1DayLol OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Count of times for Loss of Link during this interval."
	::= { xdsl2PMLineInitCurrExtendedEntry 6 }

	xdsl2PMLInitCurr1DayLprs OBJECT-TYPE
	SYNTAX Counter32
   	UNITS  "seconds"
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Count of seconds during this interval that there was Loss of Power."
	::= { xdsl2PMLineInitCurrExtendedEntry 7 }

	xdsl2PMLInitCurr1DayLpr OBJECT-TYPE
	SYNTAX Unsigned32
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Count of times for Loss of Power during this interval."
	::= { xdsl2PMLineInitCurrExtendedEntry 8 }

-- xdsl2PMLineHist15MinExtendedTable
xdsl2PMLineHist15MinExtendedTable    OBJECT-TYPE
   SYNTAX      SEQUENCE  OF  Xdsl2PMLineHist15MinExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The table xdsl2PMLineHist15MinExtendedTable contains PM line history
       for 15-minute intervals of DSL line."
   ::= { xdsl2PMLineExtended 3 }

xdsl2PMLineHist15MinExtendedEntry  OBJECT-TYPE
   SYNTAX      Xdsl2PMLineHist15MinExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "One index of this table is an interface index where the
      interface has an ifType of vdsl2(251).  A second index of this
      table is the transmission unit.  The third index is the interval
      number."
   INDEX  { ifIndex,
            xdsl2PMLHist15MUnit,
            xdsl2PMLHist15MInterval }
   ::= { xdsl2PMLineHist15MinExtendedTable 1 }

Xdsl2PMLineHist15MinExtendedEntry  ::=
   SEQUENCE {
      xdsl2PMLHist15MUnit                 Xdsl2Unit,
      xdsl2PMLHist15MInterval             Unsigned32,
      xdsl2PMLHist15MLofs                 Counter32
   }

xdsl2PMLHist15MUnit  OBJECT-TYPE
   SYNTAX      Xdsl2Unit
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The termination unit."
   ::= { xdsl2PMLineHist15MinExtendedEntry 1 }

xdsl2PMLHist15MInterval  OBJECT-TYPE
   SYNTAX      Unsigned32 (1..96)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The interval number."
   ::= { xdsl2PMLineHist15MinExtendedEntry 2 }

xdsl2PMLHist15MLofs  OBJECT-TYPE
   SYNTAX      Counter32
   UNITS       "seconds"
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "Count of seconds during this interval that there was Loss of Frame."
   ::= { xdsl2PMLineHist15MinExtendedEntry 3 }

-- xdsl2PMLineHist1DayExtendedTable
xdsl2PMLineHist1DayExtendedTable    OBJECT-TYPE
   SYNTAX      SEQUENCE  OF  Xdsl2PMLineHist1DayExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The table xdsl2PMLineHist1DayExtendedTable contains PM line history
       for 1 day intervals of DSL line."
   ::= { xdsl2PMLineExtended 4 }

xdsl2PMLineHist1DayExtendedEntry  OBJECT-TYPE
   SYNTAX      Xdsl2PMLineHist1DayExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "One index of this table is an interface index where the
      interface has an ifType of vdsl2(251).  A second index of this
      table is the transmission unit.  The third index is the interval
      number."
   INDEX  { ifIndex,
            xdsl2PMLHist1DUnit,
            xdsl2PMLHist1DInterval }
   ::= { xdsl2PMLineHist1DayExtendedTable 1 }

Xdsl2PMLineHist1DayExtendedEntry  ::=
   SEQUENCE {
      xdsl2PMLHist1DUnit                 Xdsl2Unit,
      xdsl2PMLHist1DInterval             Unsigned32,
      xdsl2PMLHist1DLofs                 Counter32
   }

xdsl2PMLHist1DUnit  OBJECT-TYPE
   SYNTAX      Xdsl2Unit
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The termination unit."
   ::= { xdsl2PMLineHist1DayExtendedEntry 1 }

xdsl2PMLHist1DInterval  OBJECT-TYPE
   SYNTAX      Unsigned32 (1..30)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The interval number."
   ::= { xdsl2PMLineHist1DayExtendedEntry 2 }

xdsl2PMLHist1DLofs  OBJECT-TYPE
   SYNTAX      Counter32
   UNITS       "seconds"
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
      "Count of seconds during this interval that there was Loss of Frame."
   ::= { xdsl2PMLineHist1DayExtendedEntry 3 }

-- xdsl2PMLineInitHist15MinExtendedTable
xdsl2PMLineInitHist15MinExtendedTable    OBJECT-TYPE
   SYNTAX      SEQUENCE  OF  Xdsl2PMLineInitHist15MinExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The table xdsl2PMLineInitHist15MinExtendedTable contains PM line history
       for 15-minute intervals of DSL line."
   ::= { xdsl2PMLineExtended 5 }

xdsl2PMLineInitHist15MinExtendedEntry  OBJECT-TYPE
   SYNTAX      Xdsl2PMLineInitHist15MinExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "One index of this table is an interface index where the
      interface has an ifType of vdsl2(251).  A second index is the interval
      number."
   INDEX  { ifIndex,
            xdsl2PMLHist15MInterval }
   ::= { xdsl2PMLineInitHist15MinExtendedTable 1 }

Xdsl2PMLineInitHist15MinExtendedEntry  ::=
   SEQUENCE {
      xdsl2PMLInitHist15MInterval             Unsigned32,
      xdsl2PMLInitHist15MLols                 Counter32,
      xdsl2PMLInitHist15MLol                  Unsigned32,
      xdsl2PMLInitHist15MLprs                 Counter32,
      xdsl2PMLInitHist15MLpr                  Unsigned32
   }

xdsl2PMLInitHist15MInterval  OBJECT-TYPE
   SYNTAX      Unsigned32 (1..96)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The interval number."
   ::= { xdsl2PMLineInitHist15MinExtendedEntry 1 }

xdsl2PMLInitHist15MLols  OBJECT-TYPE
   SYNTAX      Counter32
   UNITS       "seconds"
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
		"Count of seconds during this interval that there was Loss of Link."
   ::= { xdsl2PMLineInitHist15MinExtendedEntry 2 }

xdsl2PMLInitHist15MLol  OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
		"Count of times for Loss of Link during this interval."
   ::= { xdsl2PMLineInitHist15MinExtendedEntry 3 }

xdsl2PMLInitHist15MLprs  OBJECT-TYPE
   SYNTAX      Counter32
   UNITS       "seconds"
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
		"Count of seconds during this interval that there was Loss of Power."
   ::= { xdsl2PMLineInitHist15MinExtendedEntry 4 }

xdsl2PMLInitHist15MLpr  OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
		"Count of times for Loss of Power during this interval."
   ::= { xdsl2PMLineInitHist15MinExtendedEntry 5 }

-- xdsl2PMLineInitHist1DayExtendedTable
xdsl2PMLineInitHist1DayExtendedTable    OBJECT-TYPE
   SYNTAX      SEQUENCE  OF  Xdsl2PMLineInitHist1DayExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The table xdsl2PMLineInitHist1DayExtendedTable contains PM line history
       for 1 day intervals of DSL line."
   ::= { xdsl2PMLineExtended 6 }

xdsl2PMLineInitHist1DayExtendedEntry  OBJECT-TYPE
   SYNTAX      Xdsl2PMLineInitHist1DayExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "One index of this table is an interface index where the
 		interface has an ifType of vdsl2(251).  A second index is the
 		interval number. "
   INDEX  { ifIndex,
            xdsl2PMLHist1DInterval }
   ::= { xdsl2PMLineInitHist1DayExtendedTable 1 }

Xdsl2PMLineInitHist1DayExtendedEntry  ::=
   SEQUENCE {
      xdsl2PMLInitHist1DInterval             Unsigned32,
      xdsl2PMLInitHist1DLols                 Counter32,
      xdsl2PMLInitHist1DLol                  Unsigned32,
      xdsl2PMLInitHist1DLprs                 Counter32,
      xdsl2PMLInitHist1DLpr                  Unsigned32
   }

xdsl2PMLInitHist1DInterval  OBJECT-TYPE
   SYNTAX      Unsigned32 (1..30)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The interval number."
   ::= { xdsl2PMLineInitHist1DayExtendedEntry 1 }

xdsl2PMLInitHist1DLols  OBJECT-TYPE
   SYNTAX      Counter32
   UNITS       "seconds"
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
		"Count of seconds during this interval that there was Loss of Link."
   ::= { xdsl2PMLineInitHist1DayExtendedEntry 2 }

xdsl2PMLInitHist1DLol  OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
		"Count of times for Loss of Link during this interval."
   ::= { xdsl2PMLineInitHist1DayExtendedEntry 3 }

xdsl2PMLInitHist1DLprs  OBJECT-TYPE
   SYNTAX      Counter32
   UNITS       "seconds"
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
		"Count of seconds during this interval that there was Loss of Power."
   ::= { xdsl2PMLineInitHist1DayExtendedEntry 4 }

xdsl2PMLInitHist1DLpr  OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
		"Count of times for Loss of Power during this interval."
   ::= { xdsl2PMLineInitHist1DayExtendedEntry 5 }

-- xdsl2PMChCurrExtendedTable
xdsl2PMChCurrExtendedTable        OBJECT-TYPE
   SYNTAX      SEQUENCE  OF  Xdsl2PMChCurrExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The table xdsl2PMChCurrExtendedTable contains current Performance
       Monitoring results for DSL channels."
   ::= { xdsl2PMChannelExtended 1 }

xdsl2PMChCurrExtendedEntry  OBJECT-TYPE
   SYNTAX      Xdsl2PMChCurrExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
       "One index of this table is an interface index where the
       interface has an ifType of a DSL channel.  A second index of
       this table is the termination unit."
   INDEX  { ifIndex, xdsl2PMChCurrUnit }
   ::= { xdsl2PMChCurrExtendedTable 1 }

Xdsl2PMChCurrExtendedEntry  ::=
   SEQUENCE {
      xdsl2PMChCurrUnit                     Xdsl2Unit,
      xdsl2PMChCurr15MUncorrectBlocks       Unsigned32,
      xdsl2PMChCurr1DayUncorrectBlocks      Unsigned32
   }

xdsl2PMChCurrUnit  OBJECT-TYPE
   SYNTAX      Xdsl2Unit
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
   "The termination unit."
   ::= { xdsl2PMChCurrExtendedEntry 1 }

xdsl2PMChCurr15MUncorrectBlocks  OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
		"Count of all blocks received with uncorrectable errors in the channel within the current 15 minute interval."
   ::= { xdsl2PMChCurrExtendedEntry 2 }

xdsl2PMChCurr1DayUncorrectBlocks  OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
		"Count of all blocks received with uncorrectable errors in the channel during the interval."
   ::= { xdsl2PMChCurrExtendedEntry 3 }

-- xdsl2PMChHist15MinExtendedTable
xdsl2PMChHist15MinExtendedTable         OBJECT-TYPE
   SYNTAX      SEQUENCE  OF  Xdsl2PMChHist15MinExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The extended table xdsl2PMChHist15MinTable contains Performance
       Monitoring (PM) history for 15-minute intervals for DSL channels
       PM."
   ::= { xdsl2PMChannelExtended 2 }

xdsl2PMChHist15MinExtendedEntry  OBJECT-TYPE
   SYNTAX      Xdsl2PMChHist15MinExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "One index of this table is an interface index where the
       interface has an ifType of a DSL channel.  A second index of
       this table is the transmission unit.  The third index is the
       interval number."
   INDEX  { ifIndex,
            xdsl2PMChHist15MUnit,
            xdsl2PMChHist15MInterval }
   ::= { xdsl2PMChHist15MinExtendedTable 1 }

Xdsl2PMChHist15MinExtendedEntry  ::=
   SEQUENCE {
      xdsl2PMChHist15MUnit                     Xdsl2Unit,
      xdsl2PMChHist15MInterval                 Unsigned32,
      xdsl2PMChHist15MUncorrectBlocks          Unsigned32
   }

xdsl2PMChHist15MUnit  OBJECT-TYPE
   SYNTAX      Xdsl2Unit
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The termination unit."
   ::= { xdsl2PMChHist15MinExtendedEntry 1 }

xdsl2PMChHist15MInterval  OBJECT-TYPE
   SYNTAX      Unsigned32 (1..96)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The interval number."
   ::= { xdsl2PMChHist15MinExtendedEntry 2 }

xdsl2PMChHist15MUncorrectBlocks  OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
		"Count of all blocks received with uncorrectable errors on this channel within the history 15 minute interval."
   ::= { xdsl2PMChHist15MinExtendedEntry 3 }

-- xdsl2PMChHist1DayExtendedTable
xdsl2PMChHist1DExtendedTable         OBJECT-TYPE
   SYNTAX      SEQUENCE  OF  Xdsl2PMChHist1DExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The extended table xdsl2PMChHist1DTable contains Performance
       Monitoring (PM) history for 1 day intervals for DSL channels
       PM."
   ::= { xdsl2PMChannelExtended 3 }

xdsl2PMChHist1DExtendedEntry  OBJECT-TYPE
   SYNTAX      Xdsl2PMChHist1DExtendedEntry
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "One index of this table is an interface index where the
       interface has an ifType of a DSL channel.  A second index of
       this table is the transmission unit.  The third index is the
       interval number."
   INDEX  { ifIndex,
            xdsl2PMChHist1DUnit,
            xdsl2PMChHist1DInterval }
   ::= { xdsl2PMChHist1DExtendedTable 1 }

Xdsl2PMChHist1DExtendedEntry  ::=
   SEQUENCE {
      xdsl2PMChHist1DUnit                     Xdsl2Unit,
      xdsl2PMChHist1DInterval                 Unsigned32,
      xdsl2PMChHist1DUncorrectBlocks          Unsigned32
   }

xdsl2PMChHist1DUnit  OBJECT-TYPE
   SYNTAX      Xdsl2Unit
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The termination unit."
   ::= { xdsl2PMChHist1DExtendedEntry 1 }

xdsl2PMChHist1DInterval  OBJECT-TYPE
   SYNTAX      Unsigned32 (1..30)
   MAX-ACCESS  not-accessible
   STATUS      current
   DESCRIPTION
      "The interval number."
   ::= { xdsl2PMChHist1DExtendedEntry 2 }

xdsl2PMChHist1DUncorrectBlocks  OBJECT-TYPE
   SYNTAX      Unsigned32
   MAX-ACCESS  read-only
   STATUS      current
   DESCRIPTION
		"Count of all blocks received with uncorrectable errors on this channel within the history 1 day interval."
   ::= { xdsl2PMChHist1DExtendedEntry 3 }

-- xdsl2LineStatusTable
	xdsl2LineStatusTable OBJECT-TYPE
	SYNTAX SEQUENCE OF Xdsl2LineStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"This table shows line status."
	::= { vdsl2Stats 3 }

	xdsl2LineStatusEntry OBJECT-TYPE
	SYNTAX Xdsl2LineStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"An entry of xdsl2LineStatusTable."
	INDEX { ifIndex }
	::= { xdsl2LineStatusTable 1 }

	Xdsl2LineStatusEntry ::=
        	SEQUENCE {
		xdsl2LineStatus			INTEGER,
		xdsl2LineProtocol		INTEGER,
		xdsl2LineUptime		INTEGER,
		xdsl2LineTxRate			INTEGER,
		xdsl2LineRxRate			INTEGER	
		}

	xdsl2LineStatus OBJECT-TYPE
	SYNTAX      INTEGER {
		inactive(1),
		training(2),
		linkUp(3),
		linkDown(4)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Xdsl line status."
	::= { xdsl2LineStatusEntry 1 }

	xdsl2LineProtocol OBJECT-TYPE
	SYNTAX      INTEGER {
		none(1),
		vdsl8a(2),
		vdsl8b(3),
		vdsl8c(4),
		vdsl8d(5),
		vdsl12a(6),
		vdsl12b(7),
		vdsl17a(8),
		gdmt(9),
		glite(10),
		adsl2(11),
		adsl2plus(12),
		t1413(13)
	}
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Xdsl line protocol."
	::= { xdsl2LineStatusEntry 2 }

	xdsl2LineUptime OBJECT-TYPE
	SYNTAX      INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Xdsl line uptime. The unit is second."
	::= { xdsl2LineStatusEntry 3 }

	xdsl2LineTxRate OBJECT-TYPE
	SYNTAX INTEGER	
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Xdsl line tx rate."
	::= { xdsl2LineStatusEntry 4 }

	xdsl2LineRxRate OBJECT-TYPE
	SYNTAX INTEGER 
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Xdsl line rx rate."
	::= { xdsl2LineStatusEntry 5 }

-- xdslBonding

    xdslBonding	OBJECT IDENTIFIER ::= { vdsl 10 }

-- XdslBondingConfigTable

        xdslBondingConfigTable OBJECT-TYPE
        SYNTAX SEQUENCE OF XdslBondingConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains information on the xdsl bonding configuration."
        ::= { xdslBonding 1 }

		xdslBondingConfigEntry OBJECT-TYPE
        SYNTAX XdslBondingConfigEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in xdslBondingConfigEntry."
        INDEX { xdslBondingConfigName }
        ::= { xdslBondingConfigTable 1 }

        XdslBondingConfigEntry ::=
        	SEQUENCE {
			xdslBondingConfigName			DisplayString,
			xdslBondingConfigActive			INTEGER,
			xdslBondingConfigMemberPort		DisplayString,
			xdslBondingConfigMode   		INTEGER,
			xdslBongingConfigLineTemp		DisplayString,
			xdslBondingConfigFallbackTemp	DisplayString,
	      	xdslBondingConfigRowStatus   	RowStatus
           	}

        xdslBondingConfigName OBJECT-TYPE
		SYNTAX DisplayString(SIZE(1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Bonding group name."
		::= { xdslBondingConfigEntry 1 }

		xdslBondingConfigActive OBJECT-TYPE
		SYNTAX  INTEGER {
				active(1),
				inactive(2)
			}
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Active bonding."
		::= { xdslBondingConfigEntry 2 }

		xdslBondingConfigMemberPort OBJECT-TYPE
		SYNTAX  PortList
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Set bonding port-list."
		::= { xdslBondingConfigEntry 3 }

		xdslBondingConfigMode OBJECT-TYPE
      	SYNTAX INTEGER {
				atm(0),
				ptm(1),
				auto(2)
        }
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Set adsl/vdsl protocol."
		::= { xdslBondingConfigEntry 4 }

		xdslBongingConfigLineTemp OBJECT-TYPE
		SYNTAX DisplayString(SIZE(1..31))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Configures the referenced DSL line template."
		::= { xdslBondingConfigEntry 5 }
		
		xdslBondingConfigFallbackTemp OBJECT-TYPE
		SYNTAX DisplayString(SIZE(1..31))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Configures the referenced DSL fallback template."
		::= { xdslBondingConfigEntry 6 }

	    xdslBondingConfigRowStatus OBJECT-TYPE
	    SYNTAX RowStatus
	    MAX-ACCESS  read-create
	    STATUS  current
	    DESCRIPTION
	       "Row status of the table entry."
	    ::= { xdslBondingConfigEntry 7 }

-- XdslBondingStatusTable

        xdslBondingStatusTable OBJECT-TYPE
        SYNTAX SEQUENCE OF XdslBondingStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table contains information on the xdsl bonding status."
        ::= { xdslBonding 2 }

		xdslBondingStatusEntry OBJECT-TYPE
        SYNTAX XdslBondingStatusEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in xdslBondingStatusEntry."
        INDEX { xdslBondingStatusName  }
        ::= { xdslBondingStatusTable 1 }

        XdslBondingStatusEntry ::=
        	SEQUENCE {
			xdslBondingStatusName				DisplayString,
			xdslBondingStatusActive				INTEGER,
			xdslBondingStatusMemberPort   		DisplayString,
			xdslBondingStatusActivePort  		DisplayString,
			xdslBondingStatusMainPort   		DisplayString,
			xdslBondingStatusTransferMode   	INTEGER,
			xdslBondingStatusRateUs   			INTEGER,
			xdslBondingStatusRateDs				INTEGER
			}

        xdslBondingStatusName OBJECT-TYPE
		SYNTAX  DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The name of the bonding group."
		::= { xdslBondingStatusEntry 1 }

		xdslBondingStatusActive OBJECT-TYPE
		SYNTAX  INTEGER{
				active(1),
				inactive(2)
			}
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The status of the bonding group."
		::= { xdslBondingStatusEntry 2 }

		xdslBondingStatusMemberPort OBJECT-TYPE
		SYNTAX  DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The member port of the bonding group."
		::= { xdslBondingStatusEntry 3 }

		xdslBondingStatusActivePort OBJECT-TYPE
	    SYNTAX DisplayString
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "The active port of the bonding group."
	    ::= { xdslBondingStatusEntry 4 }
		
		xdslBondingStatusMainPort OBJECT-TYPE
	    SYNTAX DisplayString
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "The main port of the bonding group."
	    ::= { xdslBondingStatusEntry 5 }
		
		xdslBondingStatusTransferMode OBJECT-TYPE
	    SYNTAX INTEGER{
				atm(0),
				ptm(1),
				none(2)
        }
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "The transfer mode of the bonding group."
	    ::= { xdslBondingStatusEntry 6 }
		
		xdslBondingStatusRateUs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "The Us group rate of the bonding group."
	    ::= { xdslBondingStatusEntry 7 }
		
		xdslBondingStatusRateDs OBJECT-TYPE
	    SYNTAX INTEGER
	    MAX-ACCESS  read-only
	    STATUS  current
	    DESCRIPTION
	        "The Ds group rate of the bonding group."
	    ::= { xdslBondingStatusEntry 8 }

-- XdslBondingCounterOps

	xdslBondingCounterOps	OBJECT IDENTIFIER ::= { xdslBonding 3 }

	xdslBondingCounterTarget OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Target XDSL bonding group name to clear counter statistics."
        ::= { xdslBondingCounterOps 1 }

	xdslBondingCounterOperation OBJECT-TYPE
	SYNTAX INTEGER {
		clearCurrentCounter(1),
		clear15MinCounter(2),
		clear1DayCounter(3)
	}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"clearCurrentCounter:  Clear current counter on the target XDSL bonding group name specified by xdslBondingCounterTarget.
        	 clear15MinCounter: Clear 15 minutes counter on the target XDSL bonding group name specified by xdslBondingCounterTarget.
        	 clear1DayCounter: Clear 1 day counter on the target XDSL bonding group name specified by xdslBondingCounterTarget."
        ::= { xdslBondingCounterOps 2 }


--------------------------------------------------------------------------------------------------------
-- voip
--------------------------------------------------------------------------------------------------------
	mlt			OBJECT IDENTIFIER ::= { voip 1 }
	h248		OBJECT IDENTIFIER ::= { voip 2 }
	voipIp		OBJECT IDENTIFIER ::= { voip 3 }
	voipPots	OBJECT IDENTIFIER ::= { voip 4 }
----------------------------------------
-- mlt
----------------------------------------
-- mltTarget
    	mltTarget OBJECT-TYPE
    	SYNTAX DisplayString (SIZE (0..63))
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"IfIndex of the port, telephone number, account and termination ID which would be performed Metallic Link Test."
    	::= { mlt 1 }

-- mltOption
		mltOption OBJECT-TYPE
	    SYNTAX BITS {
	       	vac(0),
	    	vdc(1),
	    	rload(2),
	    	riso(3),
	    	cap(4),
	    	ren(5),
	    	ring(6),
	    	metering(7),
	    	dialtone(8),
	    	digit(9),
	    	roh(10),
	    	loop(11),
	    	rrev(12)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Each bit corresponds to a test item. The various bit positions are:
			Bit 0: vac, test AC voltage
 		Bit 1: vdctest, DC voltage
 		Bit 2: rload, test load resistance
 		Bit 3: riso, test isolation resistance
 		Bit 4: cap, test capacitor
 		Bit 5: ren, test REN value
 		Bit 6: ring, test ring voltage
 		Bit 7: metering, test metering voltage
 		Bit 8: dialtone, test dialtone
 		Bit 9: digit, test digit
 		Bit 10: roh, test roh
 		Bit 11: loop, test loop and battery conditions
 		Bit 12: rrev, test reverse polarity resistance."
	    ::= { mlt 2 }

-- mltForce
		mltForce OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	force(1),
	    	notForce(2)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Force test even when the port is in-use."
	    ::= { mlt 3 }

-- mltOps
		mltOps OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	mltDone(0),
	    	mltStart(1),
	    	mltClear(2)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"The manager sets the object to 1 to start the mlt, sets the object to 2 to clears mlt result and the agent clears the object to zero when mlt is successfully completed."
	    ::= { mlt 4 }

-- mltResultTable

        mltResultTable OBJECT-TYPE
        SYNTAX SEQUENCE OF MltResultEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"mlt result"
        ::= { mlt 5 }

	mltResultEntry OBJECT-TYPE
        SYNTAX MltResultEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
			""
        INDEX { ifIndex }
        ::= { mltResultTable 1 }

        MltResultEntry ::=
        	SEQUENCE {
				mltVacTip	INTEGER,
				mltVacRing	INTEGER,
				mltVacDiff	INTEGER,
				mltVdcTip	INTEGER,
				mltVdcRing	INTEGER,
				mltVdcDiff	INTEGER,
				mltRLoop	INTEGER,
				mltRtg	INTEGER,
				mltRrg	INTEGER,
				mltRtr	INTEGER,
				mltCtg	INTEGER,
				mltCrg	INTEGER,
				mltCtr	INTEGER,
				mltRen	INTEGER,
				mltVRing	INTEGER,
				mltVMetering	INTEGER,
				mltDialToneDetected	INTEGER,
				mltDetectedDtmfCount	INTEGER,
				mltDialToneDelay	INTEGER,
				mltReceiverOffHook	 INTEGER,
				mltLoopRload	INTEGER,
				mltLoopIMetallic	INTEGER,
				mltLoopVAB	INTEGER,
				mltLoopVBL	INTEGER,
				mltLoopVBH	INTEGER,
				mltRrev	 INTEGER,
				mltDetectedDtmfDigit	DisplayString
--				,mltPartyLineVacTip	INTEGER,
--				mltPartyLineVacRing	INTEGER,
--				mltPartyLineVacDiff	INTEGER,
--				mltPartyLineVdcTip	INTEGER,
--				mltPartyLineVdcRing	INTEGER,
--				mltPartyLineVdcDiff	INTEGER,
--				mltPartyLineRLoop	INTEGER,
--				mltPartyLineRtg	INTEGER,
--				mltPartyLineRrg	INTEGER,
--				mltPartyLineRtr	INTEGER,
--				mltPartyLineCtg	INTEGER,
--				mltPartyLineCrg	INTEGER,
--				mltPartyLineCtr	INTEGER,
--				mltPartyLineRen	INTEGER,
--				mltPartyLineVRing	INTEGER,
--				mltPartyLineVMetering	INTEGER,
--				mltPartyLineDialToneDetected	INTEGER,
--				mltPartyLineDetectedDtmfCount	INTEGER,
--				mltPartyLineDialToneDelay	INTEGER,
--				mltPartyLineReceiverOffHook	 INTEGER,
--				mltPartyLineLoopRload	INTEGER,
--				mltPartyLineLoopIMetallic	INTEGER,
--				mltPartyLineLoopVAB	INTEGER,
--				mltPartyLineLoopVBL	INTEGER,
--				mltPartyLineLoopVBH	INTEGER,
--				mltPartyLineRrev	 INTEGER,
--				mltPartyLineDetectedDtmfDigit	DisplayString
           	}

			mltVacTip OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 rms"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"AC voltage between TIP and GROUND.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 1 }

			mltVacRing OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 rms"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"AC voltage between RING and GROUND.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 2 }

			mltVacDiff OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 rms"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"AC voltage between TIP and RING.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 3 }

			mltVdcTip OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 volt"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"DC voltage between TIP and GROUND.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 4 }

			mltVdcRing OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 volt"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"DC voltage between RING and GROUND.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 5 }

			mltVdcDiff OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 volt"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"DC voltage between TIP and RING.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 6 }

			mltRLoop OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 ohm"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Loop Resistance.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 7 }

			mltRtg OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 ohm"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Resistance between TIP and GROUND.
				[Special value]:
                250000016  : No result.
                250000032  : Test failed.
                250000048  : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064  : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080  : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096  : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112  : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128  : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144  : 'Not Measured' reason # 7: Hardware driver do not measure this item.
                2147483647 : Circuit open.
                0          		: Circuit short or fault."
			::= { mltResultEntry 8 }

			mltRrg OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 ohm"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Resistance between RING and GROUND.
				[Special value]:
                250000016  : No result.
                250000032  : Test failed.
                250000048  : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064  : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080  : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096  : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112  : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128  : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144  : 'Not Measured' reason # 7: Hardware driver do not measure this item.
                2147483647 : Circuit open.
                0		          : Circuit short or fault."
			::= { mltResultEntry 9 }

			mltRtr OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 ohm"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Resistance between TIP and RING.
				[Special value]:
                250000016  : No result.
                250000032  : Test failed.
                250000048  : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064  : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080  : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096  : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112  : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128  : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144  : 'Not Measured' reason # 7: Hardware driver do not measure this item.
                2147483647 : Circuit open.
                0		          : Circuit short or fault."
			::= { mltResultEntry 10 }

			mltCtg OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "10^-10 F"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Capacitance between TIP and GROUND.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 11 }

			mltCrg OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "10^-10 F"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Capacitance between RING and GROUND.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 12 }

			mltCtr OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "10^-10 F"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Capacitance between TIP and RING.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 13 }

			mltRen OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 ren"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"REN(ring equivalent number).
				[Special value]:
                250000016  : No result.
                250000032  : Test failed.
                250000048  : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064  : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080  : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096  : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112  : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128  : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144  : 'Not Measured' reason # 7: Hardware driver do not measure this item.
                2147483647 : Circuit open."
			::= { mltResultEntry 14 }

			mltVRing OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 volt"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Ring voltage.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 15 }

			mltVMetering OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.1 vpeak"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Metering pulse voltage.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 16 }

			mltDialToneDetected OBJECT-TYPE
			SYNTAX INTEGER {
					yes(1),
					no(2)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Whether dial tone is detected."
			::= { mltResultEntry 17 }

			mltDetectedDtmfCount OBJECT-TYPE
			SYNTAX INTEGER
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Number of DTMF tone detected.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 18 }

			mltDialToneDelay OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.001 sec"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Dail tone delay between played out and detected.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 19 }

			mltReceiverOffHook OBJECT-TYPE
			SYNTAX INTEGER {
					onhook(1),
					offhook(2),
					short(3),
					open(4)
			}
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Receiver off-hook test.
				[Normal Value]:
                1         : On hook.
                2         : Off hook.
                3         : circuit short or fault.
                4         : circuit open.

                 [Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
			::= { mltResultEntry 20 }

			mltLoopRload OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "1 ohm"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Loop resistance.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item.
                2147483647 : Circuit open.
                0          : Circuit short or fault."
			::= { mltResultEntry 21 }

			mltLoopIMetallic OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "10^-6 amp"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Metallic current.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item.
                2147483647 : Circuit open.
                0          : Circuit short or fault."
			::= { mltResultEntry 22 }

			mltLoopVAB OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.001 volt"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Sensed AB voltage.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item.
                2147483647 : Circuit open.
                0          : Circuit short or fault."
			::= { mltResultEntry 23 }

			mltLoopVBL OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.001 volt"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Low battery voltage.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item.
                2147483647 : Circuit open.
                0          : Circuit short or fault."
			::= { mltResultEntry 24 }

			mltLoopVBH OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "0.001 volt"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"High battery voltage.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item.
                2147483647 : Circuit open.
                0          : Circuit short or fault."
			::= { mltResultEntry 25 }

			mltRrev OBJECT-TYPE
			SYNTAX INTEGER
			UNITS "1 ohm"
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"Reverse polarity Resistance.
				[Special value]:
                250000016 : No result.
                250000032 : Test failed.
                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item.
                2147483647 : Circuit open.
                0          : Circuit short or fault."
			::= { mltResultEntry 26 }

			mltDetectedDtmfDigit OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..64))
			MAX-ACCESS read-only
			STATUS current
			DESCRIPTION
				"digit of DTMF tone detected."
			::= { mltResultEntry 27 }

--			mltPartyLineVacTip OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 rms"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"AC voltage between TIP and GROUND.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 28 }

--			mltPartyLineVacRing OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 rms"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"AC voltage between RING and GROUND.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 29 }

--			mltPartyLineVacDiff OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 rms"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"AC voltage between TIP and RING.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 30 }

--			mltPartyLineVdcTip OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 volt"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"DC voltage between TIP and GROUND.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 31 }

--			mltPartyLineVdcRing OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 volt"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"DC voltage between RING and GROUND.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 32 }

--			mltPartyLineVdcDiff OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 volt"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"DC voltage between TIP and RING.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 33 }

--			mltPartyLineRLoop OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 ohm"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Loop Resistance.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 34 }

--			mltPartyLineRtg OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 ohm"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Resistance between TIP and GROUND.
--				[Special value]:
--                250000016  : No result.
--                250000032  : Test failed.
--                250000048  : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064  : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080  : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096  : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112  : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128  : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144  : 'Not Measured' reason # 7: Hardware driver do not measure this item.
--                2147483647 : Circuit open.
--                0          		: Circuit short or fault."
--			::= { mltResultEntry 35 }

--			mltPartyLineRrg OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 ohm"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Resistance between RING and GROUND.
--				[Special value]:
--                250000016  : No result.
--                250000032  : Test failed.
--                250000048  : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064  : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080  : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096  : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112  : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128  : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144  : 'Not Measured' reason # 7: Hardware driver do not measure this item.
--                2147483647 : Circuit open.
--                0		          : Circuit short or fault."
--			::= { mltResultEntry 36 }

--			mltPartyLineRtr OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 ohm"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Resistance between TIP and RING.
--				[Special value]:
--                250000016  : No result.
--                250000032  : Test failed.
--                250000048  : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064  : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080  : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096  : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112  : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128  : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144  : 'Not Measured' reason # 7: Hardware driver do not measure this item.
--                2147483647 : Circuit open.
--                0		          : Circuit short or fault."
--			::= { mltResultEntry 37 }

--			mltPartyLineCtg OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "10^-10 F"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Capacitance between TIP and GROUND.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 38 }

--			mltPartyLineCrg OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "10^-10 F"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Capacitance between RING and GROUND.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 39 }

--			mltPartyLineCtr OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "10^-10 F"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Capacitance between TIP and RING.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 40 }
--
--			mltPartyLineRen OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 ren"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"REN(ring equivalent number).
--				[Special value]:
--                250000016  : No result.
--                250000032  : Test failed.
--                250000048  : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064  : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080  : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096  : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112  : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128  : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144  : 'Not Measured' reason # 7: Hardware driver do not measure this item.
--                2147483647 : Circuit open."
--			::= { mltResultEntry 41 }

--			mltPartyLineVRing OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 volt"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Ring voltage.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 42 }

--			mltPartyLineVMetering OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.1 vpeak"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Metering pulse voltage.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 43 }

--			mltPartyLineDialToneDetected OBJECT-TYPE
--			SYNTAX INTEGER {
--					yes(1),
--					no(2)
--			}
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Whether dial tone is detected."
--			::= { mltResultEntry 44 }

--			mltPartyLineDetectedDtmfCount OBJECT-TYPE
--			SYNTAX INTEGER
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Number of DTMF tone detected.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 45 }

--			mltPartyLineDialToneDelay OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.001 sec"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Dail tone delay between played out and detected.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 46 }

--			mltPartyLineReceiverOffHook OBJECT-TYPE
--			SYNTAX INTEGER {
--					onhook(1),
--					offhook(2),
--					short(3),
--					open(4)
--			}
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Receiver off-hook test.
--				[Normal Value]:
--                1         : On hook.
--                2         : Off hook.
--                3         : circuit short or fault.
--                4         : circuit open.
--
--                 [Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item."
--			::= { mltResultEntry 47 }

--			mltPartyLineLoopRload OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "1 ohm"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Loop resistance.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item.
--                2147483647 : Circuit open.
--                0          : Circuit short or fault."
--			::= { mltResultEntry 48 }

--			mltPartyLineLoopIMetallic OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "10^-6 amp"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Metallic current.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item.
--                2147483647 : Circuit open.
--                0          : Circuit short or fault."
--			::= { mltResultEntry 49 }

--			mltPartyLineLoopVAB OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.001 volt"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Sensed AB voltage.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item.
--                2147483647 : Circuit open.
--                0          : Circuit short or fault."
--			::= { mltResultEntry 50 }

--			mltPartyLineLoopVBL OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.001 volt"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Low battery voltage.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item.
--                2147483647 : Circuit open.
--                0          : Circuit short or fault."
--			::= { mltResultEntry 51 }

--			mltPartyLineLoopVBH OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "0.001 volt"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"High battery voltage.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item.
--                2147483647 : Circuit open.
--                0          : Circuit short or fault."
--			::= { mltResultEntry 52 }

--			mltPartyLineRrev OBJECT-TYPE
--			SYNTAX INTEGER
--			UNITS "1 ohm"
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"Reverse polarity Resistance.
--				[Special value]:
--                250000016 : No result.
--                250000032 : Test failed.
--                250000048 : 'Not Measured' reason # 1: Can't start the test when port is enabled and force not set.
--                250000064 : 'Not Measured' reason # 2: Can't start the test when port is off-hook.
--                250000080 : 'Not Measured' reason # 3: Can't start the test when port is disabled or on-hook.
--                250000096 : 'Not Measured' reason # 4: can't start the test when port is disabled or off-hook or service state is out-of-service.
--                250000112 : 'Not Measured' reason # 5: can't start the test when port is disabled or off-hook.
--                250000128 : 'Not Measured' reason # 6: The test item will be skipped when testing all items and (vTip > 0.5Vac or vRing > 0.5Vac or abs(vTip) > 0.5Vdc or abs(vRing) > 0.5Vdc).
--                250000144 : 'Not Measured' reason # 7: Hardware driver do not measure this item.
--                2147483647 : Circuit open.
--                0          : Circuit short or fault."
--			::= { mltResultEntry 53 }

--			mltPartyLineDetectedDtmfDigit OBJECT-TYPE
--			SYNTAX DisplayString (SIZE (0..64))
--			MAX-ACCESS read-only
--			STATUS current
--			DESCRIPTION
--				"digit of DTMF tone detected."
--			::= { mltResultEntry 54 }
			
-- mltOpsErrMsg
		mltOpsErrMsg OBJECT-TYPE
	    SYNTAX DisplayString (SIZE (0..128))
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"The error message when fail to start MLT test."
	    ::= { mlt 6 }

-- mltTargetType
		mltTargetType OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	mltPort(0),
--	    	mltPortPartyLine(1),
	    	mltTel(2),
	    	mltAccount(3),
	    	mltTerminateId(4)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Type of the target which would be performed Metallic Link Test."
	    ::= { mlt 7 }

----------------------------------------
-- h248
----------------------------------------

-- h248DigitMapTimeout
		h248DigitMapTimeout 	OBJECT IDENTIFIER ::= { h248 1 }
	    	h248DigitStartTimeout  OBJECT-TYPE
	    	SYNTAX INTEGER (0..99)
	    	UNITS "second"
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures digit collection strat timeout."
			DEFVAL { 16 }
	    	::= { h248DigitMapTimeout 1 }

	    	h248DigitShortTimeout OBJECT-TYPE
	    	SYNTAX INTEGER (1..99)
	    	UNITS "second"
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures digit collection short timeout."
			DEFVAL { 4 }
	    	::= { h248DigitMapTimeout 2 }

	    	h248DigitLongTimeout OBJECT-TYPE
	    	SYNTAX INTEGER (1..99)
	    	UNITS "second"
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures digit collection long timeout."
			DEFVAL { 4 }
	    	::= { h248DigitMapTimeout 3 }

-- h248Dscp
    	h248Dscp OBJECT-TYPE
    	SYNTAX INTEGER (0..63)
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures DSCP value carried on H.248 packets."
		DEFVAL { 48 }
    	::= { h248 2 }

-- h248Encode
	    h248Encode OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	long(1),
	    	short(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Configures text encoding type of the H.248 message sent out."
		DEFVAL { long }
	    ::= { h248 3 }

-- h248InactivityTimer
    	h248InactivityTimer OBJECT-TYPE
    	SYNTAX INTEGER (0..65535)
    	UNITS "10 milliseconds"
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures the inactivity timeout MG, MG will send out notify if there is no further commnication between MG-MGC in the configured timeout.
			0 to disable this feature."
		DEFVAL { 0 }
    	::= { h248 4 }

-- h248Mg
		h248Mg 	OBJECT IDENTIFIER ::= { h248 5 }

			h248MgEnable OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	enable(1),
		    	disable(2)
			}
		    MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
				"Enable/disable H.248 MG function."
		    ::= { h248Mg 1 }

			h248MgName OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..31))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Configures H.248 MG name."
			::= { h248Mg 2 }

	    	h248MgPort OBJECT-TYPE
	    	SYNTAX INTEGER (1025..65535)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures H.248 MG TCP/UDP port."
			DEFVAL { 2944 }
	    	::= { h248Mg 3 }

	    	h248MgState OBJECT-TYPE
	    	SYNTAX INTEGER {
			disabled(1),
    			registering(2),
    			registered(3),
    			unregistering(4),
    			unregistered(5),
    			inactivity_timeout(6),
    			activity_back(7),
    			disconnected(8),
    			disabled_by_mgc(9),
    			unknown(10)
			}
	    	MAX-ACCESS read-only
	    	STATUS current
	    	DESCRIPTION
				"H.248 MG State."
	    	::= { h248Mg 4 }

-- h248Mgc
		h248Mgc OBJECT IDENTIFIER ::= { h248 6 }

			h248MgcIpDn OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..31))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Configures H.248 primary MGC IP address/domain name."
			::= { h248Mgc 1 }

	    	h248MgcPort OBJECT-TYPE
	    	SYNTAX INTEGER (1025..65535)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures H.248 primay MGC TCP/UDP port."
			DEFVAL { 2944 }
	    	::= { h248Mgc 2 }

			h248Mgc2Enable OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	enable(1),
		    	disable(2)
			}
		    MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
				"Enable/disable secondary MGC."
		    ::= { h248Mgc 3 }

			h248Mgc2IpDn OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..31))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Configures H.248 secondary MGC IP address/domain name."
			::= { h248Mgc 4 }

	    	h248Mgc2Port OBJECT-TYPE
	    	SYNTAX INTEGER (1025..65535)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures H.248 secondary MGC TCP/UDP port."
	    	::= { h248Mgc 5 }

-- h248RetransmitTime
		h248RetransmitTime OBJECT IDENTIFIER ::= { h248 8 }

	    	h248RetransmitInitTime OBJECT-TYPE
	    	SYNTAX INTEGER (100..20000)
	    	UNITS "millisecond"
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Initial retransmit timer is used when MG didn't establish control link between MG-MGC during this enable time."
	    	::= { h248RetransmitTime 1 }

	    	h248RetransmitMinTime OBJECT-TYPE
	    	SYNTAX INTEGER (100..1000)
	    	UNITS "millisecond"
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Minimum retransmit timer is used for mininum retransmit time."
	    	::= { h248RetransmitTime 2 }

	    	h248RetransmitMaxTime OBJECT-TYPE
	    	SYNTAX INTEGER (1000..20000)
	    	UNITS "millisecond"
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Maximum retrnamit timer is used for maximum retransmit time."
	    	::= { h248RetransmitTime 3 }

	    	h248RetransmitWindow OBJECT-TYPE
	    	SYNTAX INTEGER (1000..60000)
	    	UNITS "millisecond"
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Retransmit window is used for overall retransmit time."
	    	::= { h248RetransmitTime 4 }

-- h248Rfc2833
		h248Rfc2833 OBJECT IDENTIFIER ::= { h248 9 }

			h248Rfc2833Enable OBJECT-TYPE
		    SYNTAX  INTEGER {
		    	enable(1),
		    	disable(2)
			}
		    MAX-ACCESS read-write
		    STATUS current
		    DESCRIPTION
				"Enable/disable RFC2833 DTMF relay when MGC allowed."
		    ::= { h248Rfc2833 1 }

	    	h248Rfc2833Ptype OBJECT-TYPE
	    	SYNTAX INTEGER (96..127)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures RFC2833 payload type used for DTMF relay.
				This field won't be available when RFC2833 is enabled."
			DEFVAL { 101 }
	    	::= { h248Rfc2833 2 }

-- h248RtpStartPort
    	h248RtpStartPort OBJECT-TYPE
    	SYNTAX INTEGER (4000..64000)
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures UDP port range used by RTP packets."
    	::= { h248 10 }

-- h248RtpEndPort
    	h248RtpEndPort OBJECT-TYPE
    	SYNTAX INTEGER (5000..65000)
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures UDP port range used by RTP packets."
    	::= { h248 11 }

-- h248SoftSwitch
	    h248SoftSwitch OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	defval(1),
	    	zxss10xSs(2),
	    	huaweiSs3000(3),
	    	aluSs5020(4),
	    	nsn(5),
	    	iskratel(6)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Configures special call flows to Interop with special MGC.
			DEFVAL: the default call flow
			zxss10-ss: special call flow for ZTE zxss10
			huawei-soft3000: special call flow for HUAWEI-soft3000
			alu-5020: special call flow for ALU-5020
			nsn: special call flow for NSN
			iskratel: special call flow for ISKRATEL"
		DEFVAL { defval }
	    ::= { h248 12 }

-- h248T38Enable
	    h248T38Enable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable/disable T.38 FAX when MGC allowed."
	    ::= { h248 13 }

-- h248Transport
	    h248Transport OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	udp(1),
	    	tcp(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Configures transport protocol for H.248."
		DEFVAL { udp }
	    ::= { h248 14 }

-- h248VbdEnable
	    h248VbdEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable/disable Voice Band Data service when MGC allowed."
	    ::= { h248 15 }

-- h248RtpTerminatetId
		h248RtpTerminatetId OBJECT IDENTIFIER ::= { h248 16 }

			h248RtpTerminateIdPrefix OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..31))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Configures RTP termination ID prefix."
			::= { h248RtpTerminatetId 1 }

			h248RtpTerminateIdSuffixStartNumber OBJECT-TYPE
			SYNTAX DisplayString (SIZE (0..15))
			MAX-ACCESS read-write
			STATUS current
			DESCRIPTION
				"Configures RTP termination ID suffix start number."
			::= { h248RtpTerminatetId 2 }

	    	h248RtpTerminateIdSuffixLen OBJECT-TYPE
	    	SYNTAX INTEGER (0..15)
	    	MAX-ACCESS read-write
	    	STATUS current
	    	DESCRIPTION
				"Configures RTP termination ID suffix length.
				If the suffix length is smaller or equal to the start number, there won't be zero pedding to the id."
			DEFVAL { 0 }
	    	::= { h248RtpTerminatetId 3 }

-- h248ForceVerEnable
	    h248ForceVerEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable: force using H.248 version 1
			Disable: allow using H.248 version 1 and 2"
	    ::= { h248 17 }

-- h248RegisterRetry
	    h248RegisterRetry OBJECT-TYPE
	    SYNTAX  INTEGER (0..1440)
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Configures voip H.248 register retry timer in minutes.
			0 to disable function."
	    ::= { h248 18 }

----------------------------------------
-- voipIp
----------------------------------------
-- voipIpAddress
        voipIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures VoIP interface IP address(1.0.0.0 ~ 223.255.255.255)."
        ::= { voipIp 1 }

-- voipIpNetmask
        voipIpNetmask OBJECT-TYPE
        SYNTAX INTEGER (1..30)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures VoIP interface subnet mask."
        ::= { voipIp 2 }

-- voipIpVlanId
		voipIpVlanId OBJECT-TYPE
		SYNTAX VlanIndex (1..4093)
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures VoIP interface VLAN ID."
		::= { voipIp 3 }


-- voipIpDefaultGateway
        voipIpDefaultGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures default gateway of VoIP interface(1.0.0.0 ~ 223.255.255.255)."
        ::= { voipIp 4 }

-- voipIpDns
        voipIpDns OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures DNS server of VoIP interface(0.0.0.0 ~ 223.255.255.255)."
        ::= { voipIp 5 }

-- voipIpDhcpBootpEnable
	    voipIpDhcpBootpEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable DHCP client to VoIP interface. disable(2) is only for status display."
	    ::= { voipIp 6 }

-- voipIpDhcpOperation
	    voipIpDhcpOperation OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	release(1),
	    	renew(2)
	    }
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Performs DHCP operations on VoIP interface.
			release: release dynamic IP address
			renew: renew dynamic IP address"
	    ::= { voipIp 7 }

-- voipIpPbit
    	voipIpPbit OBJECT-TYPE
    	SYNTAX INTEGER (0..7)
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures PBIT value carried on H.248 packets."
		DEFVAL { 7 }
    	::= { voipIp 8 }

-- voipIpDns2
        voipIpDns2 OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures the secondary DNS server of VoIP interface(0.0.0.0 ~ 223.255.255.255)."
        ::= { voipIp 9 }

-- voipIpDns3
        voipIpDns3 OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures the third DNS server of VoIP interface(0.0.0.0 ~ 223.255.255.255)."
        ::= { voipIp 10 }

----------------------------------------
-- voipPots
----------------------------------------
-- voipPotsHookFlashTimeEnable
	    voipPotsHookFlashTimeEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable/disable system-wised POTS parameters."
	    ::= { voipPots 1 }

-- voipPotsHookFlashMaxTime
    	voipPotsHookFlashMaxTime OBJECT-TYPE
    	SYNTAX INTEGER (20..1500)
    	UNITS "millisecond"
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures hook flash detection max time threshold. This value should be larger than voipPotsHookFlashMinTime"
    	::= { voipPots 2 }

-- voipPotsHookFlashMinTime
    	voipPotsHookFlashMinTime OBJECT-TYPE
    	SYNTAX INTEGER (20..1500)
    	UNITS "millisecond"
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures hook flash detection min time threshold. This value should be smaller than voipPotsHookFlashMaxTime"
    	::= { voipPots 3 }

-- voipPotsOffHookTimeEnable
	    voipPotsOffHookTimeEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Set the value to disable to use the value defined in the current selected country code."
	    ::= { voipPots 4 }

-- voipPotsOffHookTime
    	voipPotsOffHookTime OBJECT-TYPE
    	SYNTAX INTEGER (0..30)
    	UNITS "millisecond"
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures off-hook detection time threshold."
    	::= { voipPots 5 }

-- VoIP Ring
	voipPotsRingTable  OBJECT-TYPE
        SYNTAX SEQUENCE OF VoipPotsRingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		""
        ::= { voipPots 6 }

	voipPotsRingEntry OBJECT-TYPE
        SYNTAX VoipPotsRingEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry in voipPotsRingEntry. "
        INDEX { voipPotsRingIndex}
        ::= { voipPotsRingTable 1 }

        VoipPotsRingEntry ::=
        SEQUENCE {
		voipPotsRingIndex  		INTEGER,
		voipPotsRingName  		DisplayString,
		voipPotsRingOn1			INTEGER,
		voipPotsRingOff1		INTEGER,
		voipPotsRingOn2			INTEGER,
		voipPotsRingOff2		INTEGER,
		voipPotsRingOn3			INTEGER,
		voipPotsRingOff3		INTEGER,
		voipPotsRingSetDefault  INTEGER
	}

		voipPotsRingIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
		"index"
        ::= { voipPotsRingEntry 1 }

     	voipPotsRingName OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"name"
        ::= { voipPotsRingEntry 2 }

     	voipPotsRingOn1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"first on time"
        ::= { voipPotsRingEntry 3 }

     	voipPotsRingOff1 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"first off time"
        ::= { voipPotsRingEntry 4 }

     	voipPotsRingOn2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"second on time"
        ::= { voipPotsRingEntry 5 }

     	voipPotsRingOff2 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"second off time"
        ::= { voipPotsRingEntry 6 }

     	voipPotsRingOn3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"third on time"
        ::= { voipPotsRingEntry 7 }

     	voipPotsRingOff3 OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
		"third off time"
        ::= { voipPotsRingEntry 8 }

        voipPotsRingSetDefault OBJECT-TYPE
        SYNTAX INTEGER {
        		none(0),
			name(1),
			pattern(2)
		}
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
      	    "Set default value."
        ::= { voipPotsRingEntry 9 }

----------------------------------------

-- voipCountryCode
	voipCountryCode OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configure country code for predfinded VOIP parameters.
		<country-code>:
 		0:  USA          23:  Germany
 		1:  Japan        24:  Greece
 		2:  Taiwan       25:  Australia
 		3:  Austria      26:  New_zealand
 		4:  Belgium      27:  Hongkong
 		5:  Bulgaria     28:  Singapore
 		6:  Czech        29:  Morocco
 		7:  Denmark      30:  Ireland
 		8:  Finland      31:  Malaysia
 		9:  France       32:  Russia
		10:  Hungary      33:  Thailand
		11:  Iceland      34:  Israel
		12:  Italy        35:  UAE
		13:  Luxembourg   36:  China
		14:  Netherlands  37:  Ukraine
		15:  Norway       38:  South_africa
		16:  Poland       39:  South_korea
		17:  Portugal     40:  Philippines
		18:  Slovakia     41:  India
		19:  Spain        42:  Turkey
		20:  Sweden       43:  Vietnam
		21:  Switzerland  44:  Brazil
		22:  UK           45:  Iran
		"
    ::= { voip 5 }

-- voipMaxNumOfDspProfiles
	voipMaxNumOfDspProfiles OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"The maximum number of VoIP DSP profiles supported by the system."
    ::= { voip 6 }

-- voipDspProfile
	voipDspProfileTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VoipDspProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures specified VoIP DSP profile."
	::= { voip 7 }

	voipDspProfileEntry OBJECT-TYPE
	SYNTAX VoipDspProfileEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { IMPLIED voipDspProfileName }
	::= { voipDspProfileTable 1 }

	VoipDspProfileEntry ::=
		SEQUENCE {
			voipDspProfileName					DisplayString,
			voipDspProfileCodec					OCTET STRING,
			voipDspProfileDscp					INTEGER,
			voipDspProfileEchoTail              INTEGER,
			voipDspProfileEchoCancelEnable		INTEGER,
			voipDspProfileG711Vpi				INTEGER,
			voipDspProfileG723Vpi               INTEGER,
			voipDspProfileG726Vpi 				INTEGER,
			voipDspProfileG729Vpi 				INTEGER,
			voipDspProfilePbit              	INTEGER,
			voipDspProfilePlayBufferMinDelay    INTEGER,
			voipDspProfilePlayBufferMaxDelay 	INTEGER,
			voipDspProfileVadEnable             INTEGER,
			voipDspProfileRowStatus 			RowStatus
		}

		voipDspProfileName OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..31))
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Profile name"
		::= { voipDspProfileEntry 1 }

		voipDspProfileCodec OBJECT-TYPE
		SYNTAX OCTET STRING
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
				"0x01: g711a
				0x02: g711mu
				0x03: g723
				0x04: g726x16
				0x05: g726x24
				0x06: g726x32
				0x07: g726x40
				0x08: g729ab
				the value of dspProfileCodec is OCTET STRING, there are 8 Octets, each octect is
				specified as 0x01, 0x03, 0x02, 0x07,0x00, 0x00, 0x00, 0x00  (to specify different
				CODE in priority) specify as: g711a, g723, g711mu, g726-40
				"
		::= { voipDspProfileEntry 2 }

    	voipDspProfileDscp OBJECT-TYPE
    	SYNTAX INTEGER (0..63)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"Configures DSCP value carried on the RTP packets for normal voice service."
		DEFVAL { 48 }
    	::= { voipDspProfileEntry 3 }

		voipDspProfileEchoTail OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	echotailx8ms(1),
	    	echotailx16ms(2),
	    	echotailx32ms(3),
	    	echotailx128ms(4)
		}
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
			"Configures echo cancellation echo tail length for normal voice service."
	    ::= { voipDspProfileEntry 4 }

	    voipDspProfileEchoCancelEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
			"Enable/disable echo cancellation for normal voice service."
	    ::= { voipDspProfileEntry 5 }

	    voipDspProfileG711Vpi OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	intervalx10ms(1),
	    	intervalx20ms(2),
	    	intervalx30ms(3),
	    	intervalx40ms(4)
		}
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
			"Configures voice packet interval for G.711 codec for normal voice service."
		DEFVAL { intervalx10ms }
	    ::= { voipDspProfileEntry 6 }

	    voipDspProfileG723Vpi OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	intervalx30ms(1),
	    	intervalx60ms(2)
		}
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
			"Configures voice packet interval for G.723 codec for normal voice service."
		DEFVAL { intervalx30ms }
	    ::= { voipDspProfileEntry 7 }

        voipDspProfileG726Vpi OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	intervalx10ms(1),
	    	intervalx20ms(2),
	    	intervalx30ms(3),
	    	intervalx40ms(4)
		}
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
			"Configures voice packet interval for G.726 codec for normal voice service."
		DEFVAL { intervalx20ms }
	    ::= { voipDspProfileEntry 8 }

	    voipDspProfileG729Vpi OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	intervalx10ms(1),
	    	intervalx20ms(2),
	    	intervalx30ms(3),
	    	intervalx40ms(4),
	    	intervalx50ms(5),
	    	intervalx60ms(6)
		}
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
			"Configures voice packet interval for G.729 codec for normal voice service."
		DEFVAL { intervalx20ms }
	    ::= { voipDspProfileEntry 9 }

    	voipDspProfilePbit OBJECT-TYPE
    	SYNTAX INTEGER (0..7)
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"Configures PBIT value carried on the RTP packets for normal voice service."
		DEFVAL { 7 }
    	::= { voipDspProfileEntry 10 }

    	voipDspProfilePlayBufferMinDelay OBJECT-TYPE
    	SYNTAX INTEGER (10..500)
    	UNITS "millisecond"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"Configures voice play out buffer depth for normal voice service."
		DEFVAL { 30 }
    	::= { voipDspProfileEntry 11 }

    	voipDspProfilePlayBufferMaxDelay OBJECT-TYPE
    	SYNTAX INTEGER (10..500)
    	UNITS "millisecond"
    	MAX-ACCESS read-create
    	STATUS current
    	DESCRIPTION
			"Configures voice play out buffer depth for normal voice service."
		DEFVAL { 120 }
    	::= { voipDspProfileEntry 12 }

	    voipDspProfileVadEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-create
	    STATUS current
	    DESCRIPTION
			"Enable/disable Voice Activity Detection for normal voice service."
	    ::= { voipDspProfileEntry 13 }

    	voipDspProfileRowStatus OBJECT-TYPE
		SYNTAX RowStatus
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Row status of the table entry."
		::= { voipDspProfileEntry 14 }

-- voipPortConfTable
	voipPortConfTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VoipPortConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Configures VoIP port settings."
	::= { voip 8 }

	voipPortConfEntry OBJECT-TYPE
	SYNTAX VoipPortConfEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { voipPortConfTable 1 }

	VoipPortConfEntry ::=
		SEQUENCE {
			voipPortConfPortEnable				INTEGER,
			voipPortConfDspProfile				DisplayString,
			voipPortConfVbdDspProfile  			DisplayString,
			voipPortConfVbdDspProfileEnable		INTEGER,
			voipPortConfPotsBattery				INTEGER,
			voipPortConfPotsTxGain				INTEGER,
			voipPortConfPotsRxGain              INTEGER,
			voipPortConfVoiceTxGain				INTEGER,
			voipPortConfVoiceRxGain				INTEGER,
			voipPortConfPotsImpedance           INTEGER,
			voipPortConfPotsImpedanceEnable 	INTEGER,
			voipPortConfH248TerminateId         DisplayString,
			voipPortConfPmThreshProfile				DisplayString,
			voipPortConfPotsTax					INTEGER,
--			voipPortConfPotsEcAlwaysOn			INTEGER,
			voipPortConfPotsLoopCurrent			INTEGER,
			voipPortConfTel										DisplayString,
			voipPortConfName 									DisplayString,
--			voipPortConfSipDialProfile				DisplayString,
			voipPortConfSipCallSvcProfile			DisplayString,
--			voipPortConfPolarityReverse						INTEGER,
			voipPortConfHotline				INTEGER,
			voipPortConfHotlineTel				DisplayString,
			voipPortConfHotlineTimeout			INTEGER,
			voipPortConfAccount					DisplayString,
			voipPortConfSipProfile				DisplayString,
			voipPortConfPassword                DisplayString,
			voipPortConfPotsLoopResistance		INTEGER,
			voipPortConfPotsCidAsType			INTEGER,
			voipPortConfPotsCidPayloadType		INTEGER,
--			voipPortConfPartyLinePortEnable			INTEGER,
--			voipPortConfPartyLine				INTEGER,
--			voipPortConfPartyLineTel			DisplayString,
--			voipPortConfPartyLineName			DisplayString,
--			voipPortConfPartyLineAccount			DisplayString,
--			voipPortConfPartyLinePassword			DisplayString,
--			voipPortConfPartyLineHotline			INTEGER,
--			voipPortConfPartyLineHotlineTel			DisplayString,
--			voipPortConfPartyLineHotlineTimeout		INTEGER,
--			voipPortConfPartyLineH248TerminateId		DisplayString,
			voipPortConfPotsVmwiFormat			INTEGER,
			voipPortConfPotsHookFlashMaxTime              INTEGER,
			voipPortConfPotsHookFlashMinTime               INTEGER
		}

        voipPortConfPortEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable/disable VoIP port."
	    ::= { voipPortConfEntry 1 }

		voipPortConfDspProfile OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures VoIP DSP profile."
		::= { voipPortConfEntry 2 }

		voipPortConfVbdDspProfile OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures VoIP DSP profile for voice band data service."
		::= { voipPortConfEntry 3 }

	    voipPortConfVbdDspProfileEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable/disable VoIP DSP profile for voice band data service."
	    ::= { voipPortConfEntry 4 }

        voipPortConfPotsBattery OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	low(1),
	    	high(2),
	    	boost(3)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"controls the battery supply of a port, low battery is for short loop, high and boost battery for long loop."
	    ::= { voipPortConfEntry 5 }

    	voipPortConfPotsTxGain OBJECT-TYPE
    	SYNTAX INTEGER (-20..20)
    	UNITS "1dB"
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures TX gain for voice band data service."
		DEFVAL { 0 }
    	::= { voipPortConfEntry 6 }

    	voipPortConfPotsRxGain OBJECT-TYPE
    	SYNTAX INTEGER (-20..20)
    	UNITS "1dB"
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures RX gain for voice band data service."
		DEFVAL { -3 }
    	::= { voipPortConfEntry 7}

    	voipPortConfVoiceTxGain OBJECT-TYPE
    	SYNTAX INTEGER (-20..20)
    	UNITS "1dB"
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures TX gain for normal voice service."
		DEFVAL { 0 }
   		::= { voipPortConfEntry 8 }

    	voipPortConfVoiceRxGain OBJECT-TYPE
    	SYNTAX INTEGER (-20..20)
    	UNITS "1dB"
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures RX gain for normal voice service."
		DEFVAL { -3 }
    	::= { voipPortConfEntry 9 }

	    voipPortConfPotsImpedance OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	impedancex600ohm(0),
			impedancex600ohmx1000nf(1),
			impedancex220ohmx820ohmx120nf(2),
			impedancex270ohmx750ohmx150nf(3),
			impedancex300ohmx1000ohmx220nf(4),
			impedancex370ohmx620ohmx310nf(5),
			impedancex220ohmx680ohmx100nf(6),
			impedancex220ohmx820ohmx115nf(7),
			impedancex900ohm(8),
			impedancex200ohmx680ohmx100nf(9),
			impedancex900ohmx2160nf(10)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Configures POTS impadence."
	    ::= { voipPortConfEntry 10 }

	    voipPortConfPotsImpedanceEnable OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	enable(1),
	    	disable(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"enable(1) : use the impedance value configured in voipPortConfPotsImpedance.
			 disable(2): use the impedance value defined in the current selected country code."
	    ::= { voipPortConfEntry 11 }

		voipPortConfH248TerminateId OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures H.248 physical termination ID."
		::= { voipPortConfEntry 12 }

		voipPortConfPmThreshProfile OBJECT-TYPE
		SYNTAX DisplayString (SIZE (0..31))
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures alarm threshold profile for PM."
		::= { voipPortConfEntry 13 }

		voipPortConfPotsTax OBJECT-TYPE
		SYNTAX  INTEGER {
			tax_disable(0),
			tax_12kHz(1),
			tax_16kHz(2),
			tax_reversal_12kHz(3),
			tax_reversal_16kHz(4),
			tax_reversal_steady(5),
			tax_reversal_pulse(6)
		}
		MAX-ACCESS read-write
		STATUS current
		DESCRIPTION
			"Configures POTS taxing mechanism. 
			disable: disable the tax function."
		::= { voipPortConfEntry 14 }

--        voipPortConfPotsEcAlwaysOn OBJECT-TYPE
--	    SYNTAX  INTEGER {
--	    	off(0),
--	    	on(1)
--		}
--	    MAX-ACCESS read-write
--	    STATUS current
--	    DESCRIPTION
--			"Controls the echo canceller of a port.
--			 If this option is turned on, echo canceller will always be enabled despite of the setting of DSP profile or the command request from MGC.
--			 Default is off."
--	    ::= { voipPortConfEntry 15 }

	    voipPortConfPotsLoopCurrent OBJECT-TYPE
	    SYNTAX  INTEGER (10..30)
		UNITS "mA"
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Configures the loopcurrent of a port.
			 Default is 18 mA."
	    ::= { voipPortConfEntry 16 }

    voipPortConfTel OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..15))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
			"VoIP's telephone number of the specified port."
    ::= { voipPortConfEntry 17 }

    voipPortConfName OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..47))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
			"VoIP's name of the specified port."
    ::= { voipPortConfEntry 18 }

--    voipPortConfSipDialProfile OBJECT-TYPE
--    SYNTAX DisplayString (SIZE(1..31))
--    MAX-ACCESS read-write
--    STATUS current
--    DESCRIPTION
--			"SIP profile name or Dialplan profile name."
--    ::= { voipPortConfEntry 19 }

    voipPortConfSipCallSvcProfile OBJECT-TYPE
    SYNTAX DisplayString (SIZE(1..31))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
			"SIP call service profile name."
    ::= { voipPortConfEntry 20 }

--    voipPortConfPolarityReverse OBJECT-TYPE
--    SYNTAX INTEGER {
--    		on(1),
--    		off(2)
--    	}
--    MAX-ACCESS read-write
--    STATUS current
--    DESCRIPTION
--			"Enable/disable polarity reverse function. Polarity reverse is feature to reversed tip and ring after call establish and terminate."
--    ::= { voipPortConfEntry 21 }

 		voipPortConfHotline OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	on(1),
	    	off(2)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Enable/disable hotline."
	    ::= { voipPortConfEntry 22 }

		voipPortConfHotlineTel OBJECT-TYPE
	    SYNTAX DisplayString (SIZE (0..31))
	    MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"The telephone number of hotline for the specified port."
	    ::= { voipPortConfEntry 23 }

  		voipPortConfHotlineTimeout OBJECT-TYPE
        SYNTAX INTEGER (0..255)
        UNITS "seconds"
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"The interval before dialing the hotline number."
        ::= { voipPortConfEntry 24 }

        voipPortConfAccount OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..63))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             "The account for SIP registration of the specified port."
        ::= { voipPortConfEntry 25 }

    voipPortConfSipProfile OBJECT-TYPE
    SYNTAX DisplayString (SIZE(1..31))
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
			"SIP profile name."
    ::= { voipPortConfEntry 26 }

        voipPortConfPassword OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..95))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
             "The password for SIP registration of the specified port.
              Can input with plain text or ciphertext.
              plain text: Up to 31 printable characters.
              ciphertext: 95 characters with special format and generated by device from plain text.
             "
        ::= { voipPortConfEntry 27 }

	voipPortConfPotsLoopResistance OBJECT-TYPE
	SYNTAX  INTEGER
	UNITS "ohm"
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures the loop resistance (2600 ohm/3200 ohm)of a port.
		Default is 2600 ohm."
	::= { voipPortConfEntry 28 }
	
	voipPortConfPotsCidAsType OBJECT-TYPE
	    SYNTAX  INTEGER {
				defval(0),
				cid-during-ring(1),
				dtas-cid-before-ring(2),
				rpas-cid-before-ring(3),
				lr-dtas-cid-before-ring(4),
				lr-cid-before-ring(5),
				cid-before-ring(6)
				}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"Configures the CID AS type of a port.
			 Default value is DEFVAL(0)."
	    ::= { voipPortConfEntry 29 }
		
	voipPortConfPotsCidPayloadType OBJECT-TYPE
    SYNTAX  INTEGER {
			defval(0),
			mdmf(1),
			sdmf(2),
			etsi-mdmf(3),
			etsi-sdmf(4),
			dtmf(5),
			uk-mdmf(6),
			uk-sdmf(7),
			japanese-mdmf(8)
			}
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures the CID payload type of a port.
		 Default value is DEFVAL(0)."
    ::= { voipPortConfEntry 30 }

--        voipPortConfPartyLinePortEnable OBJECT-TYPE
--        SYNTAX  INTEGER {
--                enable(1),
--                disable(2)
--                }
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--        "Enable/disable VoIP port."
--        ::= { voipPortConfEntry 31 }
--
--        voipPortConfPartyLine OBJECT-TYPE
--        SYNTAX  INTEGER {
--                enable(1),
--                disable(2)
--                }
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "Enable/disable VoIP port."
--        ::= { voipPortConfEntry 32 }
--
--        voipPortConfPartyLineTel OBJECT-TYPE
--        SYNTAX DisplayString (SIZE (0..15))
--        MAX-ACCESS read-write
--    	STATUS current
--        DESCRIPTION
--                "The telephone number of hotline for the specified port."
--        ::= { voipPortConfEntry 33 }
--
--        voipPortConfPartyLineName OBJECT-TYPE
--        SYNTAX DisplayString (SIZE (0..47))
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "VoIP's name of the specified port."
--        ::= { voipPortConfEntry 34 }
--
--        voipPortConfPartyLineAccount OBJECT-TYPE
--        SYNTAX DisplayString (SIZE (0..63))
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--             "The account for SIP registration of the specified port."
--        ::= { voipPortConfEntry 35 } 
--
--        voipPortConfPartyLinePassword OBJECT-TYPE
--        SYNTAX DisplayString (SIZE (0..31))
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--             "The password for SIP registration of the specified port."
--        ::= { voipPortConfEntry 36 }
--
--        voipPortConfPartyLineHotline OBJECT-TYPE
--        SYNTAX  INTEGER {
--	    	on(1),
--	    	off(2)
--                }
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "Enable/disable hotline."
--        ::= { voipPortConfEntry 37 }
--
--        voipPortConfPartyLineHotlineTel OBJECT-TYPE
--        SYNTAX DisplayString (SIZE (0..31))
--        MAX-ACCESS read-write
--    	STATUS current
--    	DESCRIPTION
--                "The telephone number of hotline for the specified port."
--        ::= { voipPortConfEntry 38 }
--
--  	voipPortConfPartyLineHotlineTimeout OBJECT-TYPE
--        SYNTAX INTEGER (0..255)
--        UNITS "seconds"
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--        	"The interval before dialing the hotline number."
--        ::= { voipPortConfEntry 39 }
--
--        voipPortConfPartyLineH248TerminateId OBJECT-TYPE
--        SYNTAX DisplayString (SIZE (0..31))
--        MAX-ACCESS read-write
--        STATUS current
--        DESCRIPTION
--                "Configures H.248 physical termination ID."
--        ::= { voipPortConfEntry 40 }
        
	voipPortConfPotsVmwiFormat OBJECT-TYPE
    SYNTAX  INTEGER {
			FSK(0),
			Voltage(2)
			}
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Configures the VMWI format of a port.
		 Default value is FSK(0)."
    ::= { voipPortConfEntry 41 }
    
    	voipPortConfPotsHookFlashMaxTime OBJECT-TYPE
    	SYNTAX INTEGER (20..1500)
    	UNITS "millisecond"
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures hook flash detection max time threshold. This value should be larger than voipPortConfPotsHookFlashMinTime"
    	::= { voipPortConfEntry 42 } 

    	voipPortConfPotsHookFlashMinTime OBJECT-TYPE
    	SYNTAX INTEGER (20..1500)
    	UNITS "millisecond"
    	MAX-ACCESS read-write
    	STATUS current
    	DESCRIPTION
			"Configures hook flash detection min time threshold. This value should be smaller than voipPortConfPotsHookFlashMaxTime"
    	::= { voipPortConfEntry 43 } 
        
-- voipPortStatisticTable
	voipPortStatisticTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VoipPortStatisticEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Show the statistics for the VoIP port."
	::= { voip 9 }

	voipPortStatisticEntry OBJECT-TYPE
	SYNTAX VoipPortStatisticEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { voipPortStatisticTable 1 }

	VoipPortStatisticEntry ::=
		SEQUENCE {
			voipPortStatisticCurrCallTime		Counter32,
			voipPortStatisticTotalCallTime		Counter64,
			voipPortStatisticCallTimes  		Counter32,
			voipPortStatisticTxRate				Counter32,
			voipPortStatisticRxRate				Counter32,
			voipPortStatisticTxPktCnt			Counter64,
			voipPortStatisticRxPktCnt			Counter64,
			voipPortStatisticTxFracLost			Counter32,
			voipPortStatisticRxFracLost         Counter32,
			voipPortStatisticTxJitter			Counter64,
			voipPortStatisticRxJitter			Counter64,
			voipPortStatisticTxAvgDelay			Counter64,
			voipPortStatisticRxAvgDelay			Counter64
		}

        voipPortStatisticCurrCallTime OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of current call time for the VoIP port."
	    ::= { voipPortStatisticEntry 1 }

		voipPortStatisticTotalCallTime OBJECT-TYPE
	    SYNTAX  Counter64
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of total call time for the VoIP port."
	    ::= { voipPortStatisticEntry 2 }

	    voipPortStatisticCallTimes OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of call times for the VoIP port."
	    ::= { voipPortStatisticEntry 3 }

	    voipPortStatisticTxRate OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of Transmission rate(bps) for the VoIP port."
	    ::= { voipPortStatisticEntry 4 }

	    voipPortStatisticRxRate OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of Reception rate(bps) for the VoIP port."
	    ::= { voipPortStatisticEntry 5 }

	    voipPortStatisticTxPktCnt OBJECT-TYPE
	    SYNTAX  Counter64
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of Transmission packet count for the VoIP port."
	    ::= { voipPortStatisticEntry 6 }

	    voipPortStatisticRxPktCnt OBJECT-TYPE
	    SYNTAX  Counter64
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of Reception packet count for the VoIP port."
	    ::= { voipPortStatisticEntry 7 }

	    voipPortStatisticTxFracLost OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of Transmission fraction lost packet percentage(10^(-6) %) for the VoIP port."
	    ::= { voipPortStatisticEntry 8 }

	    voipPortStatisticRxFracLost OBJECT-TYPE
	    SYNTAX  Counter32
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of Reception fraction lost packet percentage(10^(-6) %) for the VoIP port."
	    ::= { voipPortStatisticEntry 9 }

	    voipPortStatisticTxJitter OBJECT-TYPE
	    SYNTAX  Counter64
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of Transmission Jitter in 0.001 ms for the VoIP port.
			 For example, 1 means 0.001 ms and 1000 means 1 ms."
	    ::= { voipPortStatisticEntry 10 }

	    voipPortStatisticRxJitter OBJECT-TYPE
	    SYNTAX  Counter64
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of Reception Jitter in 0.001 ms for the VoIP port.
			 For example, 1 means 0.001 ms and 1000 means 1 ms."
	    ::= { voipPortStatisticEntry 11 }

	    voipPortStatisticTxAvgDelay OBJECT-TYPE
	    SYNTAX  Counter64
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of Transmission average delay(ms) for the VoIP port."
	    ::= { voipPortStatisticEntry 12 }

	    voipPortStatisticRxAvgDelay OBJECT-TYPE
	    SYNTAX  Counter64
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the statistic of Reception average delay(ms) for the VoIP port."
	    ::= { voipPortStatisticEntry 13 }

-- voipPortLineStatusTable
	voipPortLineStatusTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VoipPortLineStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Show line status(phone/service status) of VoIP port."
	::= { voip 10 }

	voipPortLineStatusEntry OBJECT-TYPE
	SYNTAX VoipPortLineStatusEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { voipPortLineStatusTable 1 }

	VoipPortLineStatusEntry ::=
		SEQUENCE {
			voipPortLineStatusPhoneStatus		INTEGER,
			voipPortLineStatusServiceStatus		INTEGER
		}

        voipPortLineStatusPhoneStatus OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	disabled(1),
	    	onHook(2),
	    	offHook(3),
	    	ringing(4),
	    	testing(5),
	    	powerCutDown(6),
	    	fault(7),
	    	bad(8),
	    	uninitialized(9),
	    	unknown(10)
		}
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the the phone status for the VoIP port."
	    ::= { voipPortLineStatusEntry 1 }

		voipPortLineStatusServiceStatus OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	disabled(1),
	    	outOfService(2),
	    	idle(3),
	    	waitingForDialing(4),
	    	dialingOut(5),
	    	ringing(6),
	    	conversationCaller(7),
	    	conversationCallee(8),
	    	faxOrModemCaller(9),
	    	faxOrModemCallee(10),
	    	waitingForOnHook(11),
	    	dialingTimeout(12),
	    	alertingOffHook(13),
	    	powerCutDown(14)
		}
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show the the service status for the VoIP port."
	    ::= { voipPortLineStatusEntry 2 }


-- voipPortLineInfoTable
	voipPortLineInfoTable OBJECT-TYPE
	SYNTAX SEQUENCE OF VoipPortLineInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"Show line infomation which is used currently by the VoIP port."
	::= { voip 11 }

	voipPortLineInfoEntry OBJECT-TYPE
	SYNTAX VoipPortLineInfoEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { voipPortLineInfoTable 1 }

	VoipPortLineInfoEntry ::=
		SEQUENCE {
			voipPortLineInfoRtpTxCodecType		INTEGER,
			voipPortLineInfoRtpRxCodecType		INTEGER,
			voipPortLineInfoRtpTxPt				INTEGER,
			voipPortLineInfoRtpRxPt				INTEGER,
			voipPortLineInfoRtpLocalIp			IpAddress,
			voipPortLineInfoRtpRemoteIp			IpAddress,
			voipPortLineInfoRtpLocalPort		INTEGER,
			voipPortLineInfoRtpRemotePort		INTEGER
		}

        voipPortLineInfoRtpTxCodecType OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	g711a(1),
			g711mu(2),
			g723(3),
			g726x16(4),
			g726x24(5),
			g726x32(6),
			g726x40(7),
			g729ab(8),
			t38(9),
			g711aVbd(10),
			g711muVbd(11)
		}
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show line information of transmission codec which is used currently by the VoIP port."
	    ::= { voipPortLineInfoEntry 1 }

		voipPortLineInfoRtpRxCodecType OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	g711a(1),
			g711mu(2),
			g723(3),
			g726x16(4),
			g726x24(5),
			g726x32(6),
			g726x40(7),
			g729ab(8),
			t38(9),
			g711aVbd(10),
			g711muVbd(11)
		}
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show line information of reception codec which is used currently by the VoIP port."
	    ::= { voipPortLineInfoEntry 2 }

	    voipPortLineInfoRtpTxPt OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show line information of transmission RTP payload type which is used currently by the VoIP port."
	    ::= { voipPortLineInfoEntry 3 }

		voipPortLineInfoRtpRxPt OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show line information of reception RTP payload type which is used currently by the VoIP port."
	    ::= { voipPortLineInfoEntry 4 }

	    voipPortLineInfoRtpLocalIp OBJECT-TYPE
	    SYNTAX  IpAddress
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show line information of RTP local ip address which is used currently by the VoIP port."
	    ::= { voipPortLineInfoEntry 5 }

		voipPortLineInfoRtpRemoteIp OBJECT-TYPE
	    SYNTAX  IpAddress
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show line information of RTP remote ip address which is used currently by the VoIP port."
	    ::= { voipPortLineInfoEntry 6 }

	    voipPortLineInfoRtpLocalPort OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show line information of RTP local port which is used currently by the VoIP port."
	    ::= { voipPortLineInfoEntry 7 }

		voipPortLineInfoRtpRemotePort OBJECT-TYPE
	    SYNTAX  INTEGER
	    MAX-ACCESS read-only
	    STATUS current
	    DESCRIPTION
			"Show line information of RTP remote port which is used currently by the VoIP port."
	    ::= { voipPortLineInfoEntry 8 }

-- voipOps
	voipOps		OBJECT IDENTIFIER ::= { voip 12 }

		voipTarget OBJECT-TYPE
        SYNTAX PortList
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Specifies target ifindex for voipOperation."
        ::= { voipOps 1 }

		voipClearOperation OBJECT-TYPE
	    SYNTAX  INTEGER {
	    	clearControlPacketStastistics(1),
	    	clearPortCallStatistics(2),
			clearCurrPerformance(4),
			clearCurr15MinPerformance(5),
			clearHist15MinPerformance(6),
			clearCurr1DayPerformance(7),
			clearHist1DayPerformance(8),
			clearSipControlPacketStatistics(9)
		}
	    MAX-ACCESS read-write
	    STATUS current
	    DESCRIPTION
			"clear VoIP statistics.
			clearControlPacketStastistics(1) - clear  H.248 control packet statistics.
			clearPortCallStatistics(2) - clear call statistics on specified VoIP port.
			clearCurrPerformance(4) -  clear current FXS performance on the target ifindex specified by voipTarget.
			clearCurr15MinPerformance(5) - clear current FXS 15 minutes performance on the target ifindex specified by voipTarget.
			clearHist15MinPerformance(6) -  clear history FXS 15 minutes performance on the target ifindex specified by voipTarget.
			clearCurr1DayPerformance(7) - clear current FXS 1 day performance on the target ifindex specified by voipTarget.
			clearHist1DayPerformance(8) -  clear history FXS 1 day performance on the target ifindex specified by voipTarget.
			clearSipControlPacketStatistics(9) - clear SIP control packet statistics."
	    ::= { voipOps 2 }

-- voipRtpIp
	voipRtpIp	OBJECT IDENTIFIER ::= { voip 13 }

----------------------------------------
-- voipRtpIp
----------------------------------------
-- voipRtpIpAddress
        voipRtpIpAddress OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures VoIP RTP interface IP address(1.0.0.0 ~ 223.255.255.255)."
        ::= { voipRtpIp 1 }

-- voipRtpIpNetmask
        voipRtpIpNetmask OBJECT-TYPE
        SYNTAX INTEGER (1..30)
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures VoIP RTP interface subnet mask."
        ::= { voipRtpIp 2 }

-- voipRtpIpVlanId
	voipRtpIpVlanId OBJECT-TYPE
	SYNTAX VlanIndex (1..4093)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures VoIP RTP interface VLAN ID."
	::= { voipRtpIp 3 }

-- voipRtpIpDefaultGateway
        voipRtpIpDefaultGateway OBJECT-TYPE
        SYNTAX IpAddress
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Configures default gateway of VoIP RTP interface(1.0.0.0 ~ 223.255.255.255)."
        ::= { voipRtpIp 4 }

-- { voipRtpIp 5 } is reserved for voipRtpIpDns

-- voipRtpIpDhcpBootpEnable
	voipRtpIpDhcpBootpEnable OBJECT-TYPE
	SYNTAX  INTEGER {
	    enable(1),
		disable(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable DHCP client to VoIP RTP interface. disable(2) is only for status display."
	::= { voipRtpIp 6 }

-- voipRtpIpDhcpOperation
	voipRtpIpDhcpOperation OBJECT-TYPE
	SYNTAX  INTEGER {
	release(1),
	renew(2)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Performs DHCP operations on VoIP RTP interface.
		release: release dynamic IP address
		renew: renew dynamic IP address"
	::= { voipRtpIp 7 }

-- voipRtpIpOperation
	voipRtpIpOperation OBJECT-TYPE
	SYNTAX  INTEGER {
	removeAllRtpIpSettings(1)
	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"removeAllRtpIpSettings: removes all RTP IP settings.
		Its value will be set to zero after operation finished."
	::= { voipRtpIp 8 }

-- voipRtpIpPbit
	voipRtpIpPbit OBJECT-TYPE
	SYNTAX INTEGER (0..7)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Configures PBIT value carried on IP packets of RTP interface."
	DEFVAL { 7 }	
	::= { voipRtpIp 9 }

-- voipH248Statistic
	voipH248Statistic	OBJECT IDENTIFIER ::= { voip 14 }

----------------------------------------
-- voipH248Statistic
----------------------------------------
-- voipH248StatisticMsgSent
        voipH248StatisticMsgSent OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Number of sent protocol message, include reset and error."
        ::= { voipH248Statistic 1 }

-- voipH248StatisticMsgRecv
        voipH248StatisticMsgRecv OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Number of received message."
        ::= { voipH248Statistic 2 }

-- voipH248StatisticMsgLost
        voipH248StatisticMsgLost OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Number of message without reply."
        ::= { voipH248Statistic 3 }

-- voipH248StatisticMsgResent
        voipH248StatisticMsgResent OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Number of resent message."
        ::= { voipH248Statistic 4 }

-- voipH248StatisticErrorMsg
        voipH248StatisticErrorMsg OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Number of error message sent."
        ::= { voipH248Statistic 5 }

-- voipH248StatisticUnIdentifiedMsg
        voipH248StatisticUnIdentifiedMsg OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Number of parse fail message."
        ::= { voipH248Statistic 6 }

	sip	OBJECT IDENTIFIER ::= { voip 20 }

-- sip profile

        maxNumOfSipProfiles OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The maximum number of SIP profiles supported by the system."
        ::= { sip 1 }

        sipProfileTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SipProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table includes SIP protocol related configuration."
        ::= { sip 2 }

	sipProfileEntry OBJECT-TYPE
        SYNTAX SipProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in sipProfileTable."
        INDEX { IMPLIED sipProfileName }
        ::= { sipProfileTable 1 }

        SipProfileEntry ::=
        	SEQUENCE {
			sipProfileName		DisplayString,
			sipProfileSipSvr	DisplayString,
			sipProfileRegSvr	DisplayString,
			sipProfileProxySvr	DisplayString,
			sipProfileSipPort	INTEGER,
			sipProfileRegSvrPort	INTEGER,
			sipProfileProxySvrPort	INTEGER,
			sipProfileUriType	INTEGER,
--			sipProfilePbit		INTEGER,
			sipProfileDscp		INTEGER,
			sipProfileKeepAlive	INTEGER,
--			sipProfileSe		INTEGER,
			sipProfilePrack		INTEGER,
			sipProfileRowStatus	RowStatus,
--			sipProfileReSend	INTEGER,
--			sipProfileNonceCountKeep	INTEGER,
--			sipProfileQopQuote	INTEGER,
--			sipProfileRefertobracket	INTEGER,
--			sipProfileRefertodot	INTEGER,
			sipProfileRtpStartPort	INTEGER,
			sipProfileRtpEndPort	INTEGER,
			sipProfileSwitchType	INTEGER,
			sipProfileKeepAliveTimeOut	INTEGER,
			sipProfileFailRetry		INTEGER,
			sipProfileRegTime    INTEGER,
			sipProfileRegistration  INTEGER,
			sipProfileDnsSvr	INTEGER,
			sipProfileDualSvr	INTEGER,
			sipProfileSipSvr2	DisplayString,
			sipProfileRegSvr2	DisplayString,
			sipProfileProxySvr2	DisplayString,
			sipProfileSipPort2	INTEGER,
			sipProfileRegSvrPort2	INTEGER,
			sipProfileProxySvrPort2	INTEGER
           	}

        sipProfileName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object is used by the SIP profile table in order to identify a row of this table."
        ::= { sipProfileEntry 1 }

        sipProfileSipSvr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "IP used for SIP registration or SIP domain name."
        ::= { sipProfileEntry 2 }

	sipProfileRegSvr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Registration server IP or registration server domain name."
        ::= { sipProfileEntry 3 }

        sipProfileProxySvr OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Proxy server IP or proxy server doamin name."
        ::= { sipProfileEntry 4 }

        sipProfileSipPort OBJECT-TYPE
        SYNTAX INTEGER (1025..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "SIP UA port number."
        ::= { sipProfileEntry 5 }

        sipProfileRegSvrPort OBJECT-TYPE
        SYNTAX INTEGER (1025..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Registration server port number."
        ::= { sipProfileEntry 6 }

        sipProfileProxySvrPort OBJECT-TYPE
        SYNTAX INTEGER (1025..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Proxy server port number."
        ::= { sipProfileEntry 7 }

        sipProfileUriType OBJECT-TYPE
        SYNTAX INTEGER {
        		use_sip_uri(1),
        		use_tel_uri(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Configures the type of uri.
                sip(1),
        		tel(2)
        		"
        ::= { sipProfileEntry 8 }

--        sipProfilePbit OBJECT-TYPE
--        SYNTAX INTEGER (0..7)
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "802.1p bit for SIP and RTP packet."
--        ::= { sipProfileEntry 9 }

        sipProfileDscp OBJECT-TYPE
        SYNTAX INTEGER (0..63)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "DSCP for SIP and RTP packet."
        ::= { sipProfileEntry 10 }

        sipProfileKeepAlive OBJECT-TYPE
        SYNTAX INTEGER {
        		on(1),
        		off(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Enable or Disable keep alive feature of SIP"
        ::= { sipProfileEntry 11 }

--        sipProfileSe OBJECT-TYPE
--        SYNTAX INTEGER (90..65535)
--        UNITS "second"
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Session expiration time in seconds."
--        ::= { sipProfileEntry 12 }

        sipProfilePrack OBJECT-TYPE
        SYNTAX INTEGER {
        		on(1),
        		off(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Enable or Disable the Provisional ACK feature of SIP"
        ::= { sipProfileEntry 13 }

        sipProfileRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object is used to create a new row or delete an existing row in the table."
        ::= { sipProfileEntry 14 }

--        sipProfileReSend OBJECT-TYPE
--        SYNTAX INTEGER
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Resend factor of session expiration time. This MIB object is supported by R5.05 and later versions."
--        ::= { sipProfileEntry 15 }
--
--        sipProfileNonceCountKeep OBJECT-TYPE
--        SYNTAX INTEGER {
--        		on(1),
--        		off(2)
--        	}
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "This MIB object is supported by R5.05 and later versions."
--        ::= { sipProfileEntry 16 }
--
--        sipProfileQopQuote OBJECT-TYPE
--        SYNTAX INTEGER {
--        		on(1),
--        		off(2)
--        	}
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "This MIB object is supported by R5.05 and later versions."
--        ::= { sipProfileEntry 17 }
--
--        sipProfileRefertobracket OBJECT-TYPE
--        SYNTAX INTEGER {
--        		on(1),
--        		off(2)
--        	}
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "This MIB object is supported by R5.05 and later versions."
--        ::= { sipProfileEntry 18 }
--
--        sipProfileRefertodot OBJECT-TYPE
--        SYNTAX INTEGER {
--        		dot(1),
--        		hex(2)
--        	}
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "This MIB object is supported by R5.05 and later versions."
--        ::= { sipProfileEntry 19 }

        sipProfileRtpStartPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Start of RTP port number. This MIB object is supported by R5.05 and later versions."
        ::= { sipProfileEntry 20 }

        sipProfileRtpEndPort OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "End of RTP port number. This MIB object is supported by R5.05 and later versions."
        ::= { sipProfileEntry 21 }

        sipProfileSwitchType OBJECT-TYPE
        SYNTAX INTEGER {
        		nsn(1),
        		alu(2),
        		hua(3),
        		isk(4),
        		zte(5)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Configures the type of switch."
        ::= { sipProfileEntry 27 }

        sipProfileKeepAliveTimeOut OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Keep alive timeout of SIP,
                <timeout>: session expiration time in seconds, 90~65535
                "
        ::= { sipProfileEntry 28 }

        sipProfileFailRetry OBJECT-TYPE
        SYNTAX INTEGER (120..900)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "<FailRetry>: Register fail retry interval time in seconds, 120~900."
        ::= { sipProfileEntry 29 }

    	sipProfileRegTime OBJECT-TYPE
        SYNTAX INTEGER (120..65535)
        UNITS "seconds"
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Registration expiration time in seconds, 120~65535."
        ::= { sipProfileEntry 30 }

        sipProfileRegistration OBJECT-TYPE
        SYNTAX INTEGER {
        		on(1),
        		off(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Enable or Disable registration feature of SIP"
        ::= { sipProfileEntry 31 }

		sipProfileDnsSvr OBJECT-TYPE
        SYNTAX INTEGER {
        		on(1),
        		off(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Enable or Disable the server locating feature.
                on(1),
        		off(2)
        		"
        ::= { sipProfileEntry 32 }
		
		sipProfileDualSvr OBJECT-TYPE
        SYNTAX INTEGER {
        		on(1),
        		off(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Enable or Disable the dual server feature.
                on(1),
        		off(2)
        		"
        ::= { sipProfileEntry 33 }
		
		sipProfileSipSvr2 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "IP used for secondary SIP registration or secondary SIP domain name."
        ::= { sipProfileEntry 34 }

		sipProfileRegSvr2 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Secondary registration server IP or secondary registration server domain name."
        ::= { sipProfileEntry 35 }

        sipProfileProxySvr2 OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Secondary proxy server IP or secondary proxy server doamin name."
        ::= { sipProfileEntry 36 }

        sipProfileSipPort2 OBJECT-TYPE
        SYNTAX INTEGER (1025..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Secondary SIP UA port number."
        ::= { sipProfileEntry 37 }

        sipProfileRegSvrPort2 OBJECT-TYPE
        SYNTAX INTEGER (1025..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Secondary registration server port number."
        ::= { sipProfileEntry 38 }

        sipProfileProxySvrPort2 OBJECT-TYPE
        SYNTAX INTEGER (1025..65535)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Secondary proxy server port number."
        ::= { sipProfileEntry 39 }


-- sip call service profile

	maxNumOfSipCallSvcProfiles OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The maximum number of SIP call service profiles supported by the system."
        ::= { sip 3 }

	sipCallSvcProfileTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SipCallSvcProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
                "This table includes SIP call service related configuration."
        ::= { sip 4 }

	sipCallSvcProfileEntry OBJECT-TYPE
        SYNTAX SipCallSvcProfileEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"An entry in sipCallSvcProfileTable."
        INDEX { IMPLIED sipCallSvcProfileName }
        ::= { sipCallSvcProfileTable 1 }

        SipCallSvcProfileEntry ::=
        	SEQUENCE {
			sipCallSvcProfileName			DisplayString,
			sipCallSvcProfileDialPlanOn		INTEGER,
			sipCallSvcProfileDialPlanCc		DisplayString,
			sipCallSvcProfileDialPlanNdc		DisplayString,
			sipCallSvcProfileDialPlanTable	DisplayString,
			sipCallSvcProfileStateMask		INTEGER,
			sipCallSvcProfileDtmf			INTEGER,
			sipCallSvcProfileDtmfRfc2833PayloadType		INTEGER,
			sipCallSvcProfileFax			INTEGER,
			sipCallSvcProfileRowStatus		RowStatus,
			sipCallSvcProfileKeypattern		DisplayString,
--			sipCallSvcProfileRegTime		INTEGER,
			sipCallSvcProfileFlash			INTEGER,
			sipCallSvcProfileFlashPattern		DisplayString,
			sipCallSvcProfileFirstDigit		INTEGER,
			sipCallSvcProfileInterDigit		INTEGER,
			sipCallSvcProfileCentrex		INTEGER
           	}

        sipCallSvcProfileName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
                "This object is used by the SIP call service profile table in order to identify a row of this table."
        ::= { sipCallSvcProfileEntry 1 }

        sipCallSvcProfileDialPlanOn OBJECT-TYPE
        SYNTAX INTEGER {
        		on(1),
        		off(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Enable or Disable the dialplan feature."
        ::= { sipCallSvcProfileEntry 4 }

        sipCallSvcProfileDialPlanCc OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..7))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Country code, only digit 0..9 are allowed."
        ::= { sipCallSvcProfileEntry 5 }

        sipCallSvcProfileDialPlanNdc OBJECT-TYPE
        SYNTAX DisplayString (SIZE(0..7))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "National destination code, only digit 0..9 are allowed."
        ::= { sipCallSvcProfileEntry 6 }

        sipCallSvcProfileDialPlanTable OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Dial plan table name."
        ::= { sipCallSvcProfileEntry 7 }

        sipCallSvcProfileStateMask OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
         "Bit 3	callwait : call waiting
		 Bit 5	calltransfer : call transfer
		 Bit 6	clip : caller line identification presentation (Caller ID)
		 Bit 7	clir : caller line identification restriction
		 Bit 8	dnd : do not disturb
		 "
        ::= { sipCallSvcProfileEntry 8 }

        sipCallSvcProfileDtmf OBJECT-TYPE
        SYNTAX INTEGER {
        		bypass(1),
        		rfc2833(2),
        		sipinfo(3),
        		rfc2833like(4),
        		plaintext(5)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "dtmf bypass : bypass DTMF tone
		 dtmf rfc2833 : DTMF tone relay according to RFC2833
		 dtmf rfc2833like : DTMF tone relay by SIP INFO message, but RFC2833 payload
		 dtmf sipinfo : DTMF tone relay by SIP INFO signal message
		 dtmf plaintext : DTMF tone relay by SIP INFO plain text message"
        ::= { sipCallSvcProfileEntry 9 }

		sipCallSvcProfileDtmfRfc2833PayloadType OBJECT-TYPE
        SYNTAX INTEGER (96..127)
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Rfc2833 payload type, if only set Dtmf as rfc2833, the default value is 101."
        ::= { sipCallSvcProfileEntry 10 }

        sipCallSvcProfileFax OBJECT-TYPE
        SYNTAX INTEGER {
        		g711a(1),
        		t38(2),
        		g711mu(3)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "fax g711 : FAX service pass through by ITU-T G.711
		 fax t38 : FAX service by ITU-T T.38"
        ::= { sipCallSvcProfileEntry 11 }

        sipCallSvcProfileRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "This object is used to create a new row or delete an existing row in the table."
        ::= { sipCallSvcProfileEntry 12 }

        sipCallSvcProfileKeypattern OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..31))
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Key pattern table name."
        ::= { sipCallSvcProfileEntry 13 }

-- move sipCallSvcProfileRegTime to SIP profile
--	    sipCallSvcProfileRegTime OBJECT-TYPE
--        SYNTAX INTEGER (120..65535)
--        UNITS "seconds"
--        MAX-ACCESS read-create
--        STATUS current
--        DESCRIPTION
--                "Registration expiration time in seconds."
--        ::= { sipCallSvcProfileEntry 14 }

        sipCallSvcProfileFlash OBJECT-TYPE
        SYNTAX INTEGER {
        		invite(1),
        		rfc2833(2),
        		rfc2833like(3),
        		sipinfo1(4),
        		sipinfo2(5),
        		sipinfo3(6),
        		sipinfo4(7),
        		sipinfo5(8),
        		sipinfo6(9)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "flash invite : send SIP INVITE message
		 flash rfc2833 : flash relay according to RFC2833
		 flash rfc2833like : flash relay by SIP INFO message, but RFC2833 payload
		 flash sipinfo1 : flash relay by SIP INFO signal=16 message
		 flash sipinfo2 : flash relay by SIP INFO signal=hf message
		 flash sipinfo3 : flash relay by SIP INFO signal=hook-flash message
		 flash sipinfo4 : flash relay by SIP INFO plain text message
		 flash sipinfo5 : flash relay by multiple SIP INFO signal messages and
		                   signal content come from specified pattern string
		 flash sipinfo6 : flash relay by SIP INFO specified information message"
        ::= { sipCallSvcProfileEntry 15 }

        sipCallSvcProfileFlashPattern OBJECT-TYPE
        SYNTAX DisplayString
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Flash pattern name."
        ::= { sipCallSvcProfileEntry 16 }


        sipCallSvcProfileFirstDigit OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "first digit timeout. This MIB object is supported by R5.05 and later versions."
        ::= { sipCallSvcProfileEntry 18 }

        sipCallSvcProfileInterDigit OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "inter digit timeout. This MIB object is supported by R5.05 and later versions."
        ::= { sipCallSvcProfileEntry 19 }

        sipCallSvcProfileCentrex OBJECT-TYPE
        SYNTAX INTEGER {
        		on(1),
        		off(2)
        	}
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
                "Enable or Disable Centrex"
        ::= { sipCallSvcProfileEntry 20 }

	maxNumOfSipDialPlan OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The maximum number of SIP dial plan supported by the system."
        ::= { sip 8 }

	maxNumOfSipKeyPattern OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"The maximum number of SIP key patterns supported by the system."
        ::= { sip 12 }

-- sipDialPlanTable

	    sipDialPlanTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SipDialPlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Configure specified dial plan table."
        ::= { sip 18 }

        sipDialPlanEntry OBJECT-TYPE
        SYNTAX SipDialPlanEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of sipDialPlanTable."
        INDEX { sipDialPlanName }
        ::= { sipDialPlanTable 1 }

        SipDialPlanEntry ::=
        	SEQUENCE {
        		sipDialPlanName		DisplayString,
           		sipDialPlanRowStatus		RowStatus
              	}

		sipDialPlanName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Dial plan table name."
        ::= { sipDialPlanEntry 1 }

        sipDialPlanRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"This object is used to create a new entry or delete an existing entry in this table."
        ::= { sipDialPlanEntry 2 }

-- sipDialPlanContentTable

  		sipDialPlanContentTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SipDialPlanContentEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Configure dial plan entry of specified index in specified payphone charging table."
        ::= { sip 19 }

        sipDialPlanContentEntry OBJECT-TYPE
        SYNTAX SipDialPlanContentEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of sipDialPlanContentTable."
        INDEX { sipDialPlanName, sipDialPlanIndex }
        ::= { sipDialPlanContentTable 1 }

        SipDialPlanContentEntry ::=
        	SEQUENCE {
        		sipDialPlanIndex		INTEGER,
        		sipDialPlanPattern	DisplayString,
        		sipDialPlanRule		DisplayString
              	}

	    sipDialPlanIndex OBJECT-TYPE
        SYNTAX INTEGER (1..32)
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Index of dial plan."
        ::= { sipDialPlanContentEntry 1 }

        sipDialPlanPattern OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..47))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Allow digit, '*', and '#' characters
			and meaning characters that include 'x', '.', '|'
			and range format characters that include '~', ','
			and parenthesis '(', ')' and brackets '[', ']'
			and at most one parenthesis pair
			and 'T' for terminate are allowed
			and two quotation marks '()' means a null pattern for hot dial.
			examples: '002(x.)', '0(x.)', and '(x.)'

			'x' represents any digit, '*', and '#' characters
			'.' represents zero or more repetitions of character or range that precedes it,
			can't use the dot character '.' in brackets
			'|' used to separate multiple dialplan patterns
			'[' and ']' must pair and nest brackets is illegal
			'~' and ',' are allowed showing in brackets only
			'~' connected characters must be digit
			'T' stand for '#' to terminate and dial out at once
			Note: If only pattern is set, the indexed <pattern> <rule> pair will be cleared
			'\t' and '\r' is for partial pattern"
        ::= { sipDialPlanContentEntry 2 }

        sipDialPlanRule OBJECT-TYPE
        SYNTAX DisplayString (SIZE(1..47))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Allowed characters are 0~9, and
            '\c' stand for country code,
        	'\d' stand for national destination code,
            '\1' stand for matched string enclosed by the parenthesis pair, and
            'deny' stand for the pattern specified is not allowed,
            accept 1-15 digits includes '+', '*' and
            '#' for hot or speed dial application
            examples: '\1', '\c\1', and '\c\d\1'."
        ::= { sipDialPlanContentEntry 3 }

-- sipKeyPatternTable

        sipKeyPatternTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SipKeyPatternEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Configure specified key pattern table."
        ::= { sip 20 }

        sipKeyPatternEntry OBJECT-TYPE
        SYNTAX SipKeyPatternEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of sipKeyPatternTable."
        INDEX { sipKeyPatternName }
        ::= { sipKeyPatternTable 1 }

        SipKeyPatternEntry ::=
        	SEQUENCE {
        		sipKeyPatternName		DisplayString,
        		sipKeyPatternRowStatus		RowStatus
              	}

		sipKeyPatternName OBJECT-TYPE
        SYNTAX DisplayString (SIZE (1..31))
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Key pattern table name."
        ::= { sipKeyPatternEntry 1 }

        sipKeyPatternRowStatus OBJECT-TYPE
        SYNTAX RowStatus
        MAX-ACCESS read-create
        STATUS current
        DESCRIPTION
        	"This object is used to create a new entry or delete an existing entry in this table."
        ::= { sipKeyPatternEntry 2 }

-- sipKeyPatternContentTable

     	sipKeyPatternContentTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SipKeyPatternContentEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"Configure key pattern related configuration."
        ::= { sip 21 }

        sipKeyPatternContentEntry OBJECT-TYPE
        SYNTAX SipKeyPatternContentEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of sipKeyPatternContentTable."
        INDEX { sipKeyPatternName, sipKeyPatternServiceType  }
        ::= { sipKeyPatternContentTable 1 }

        SipKeyPatternContentEntry ::=
        	SEQUENCE {
        		sipKeyPatternServiceType	INTEGER,
        		sipKeyPatternPattern		DisplayString
              	}

	    sipKeyPatternServiceType OBJECT-TYPE
        SYNTAX INTEGER {
        	--callreturn(1),
			--calltransfer(2),
			--callwaitdisconn(3),
			--callwaitoff(4),
			--callwaiton(5),
			--callwaitonhold(6),
			--callwaitreject(7),
			clir(8),
			dndoff(9),
			dndon(10)
--			callin(11)
		}
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Key pattern service type."
        ::= { sipKeyPatternContentEntry 1 }

        sipKeyPatternPattern OBJECT-TYPE
        SYNTAX DisplayString (SIZE (0..7))
        MAX-ACCESS read-write
        STATUS current
        DESCRIPTION
        	"Allowed characters are 0~9, *, and #.
             Note: Pattern of callwaitdisconn, callwaitonhold and callwaitreject
             service types only allow 1 character"
        ::= { sipKeyPatternContentEntry 2 }

-- voipSIPStatistic
	voipSIPStatistic	OBJECT IDENTIFIER ::= { voip 21 }

----------------------------------------
-- voipSIPStatistic
----------------------------------------
-- voipSIPStatisticMsgSent
        voipSIPStatisticMsgSent OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Number of sent protocol message, include reset and error."
        ::= { voipSIPStatistic 1 }

-- voipSIPStatisticMsgRecv
        voipSIPStatisticMsgRecv OBJECT-TYPE
        SYNTAX Counter64
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Number of received message."
        ::= { voipSIPStatistic 2 }

-- voipSIPStatisticMsgLost
        voipSIPStatisticMsgLost OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Number of message without reply."
        ::= { voipSIPStatistic 3 }

-- voipSIPStatisticMsgResent
        voipSIPStatisticMsgResent OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Number of resent message."
        ::= { voipSIPStatistic 4 }

-- voipSIPStatisticErrorMsg
        voipSIPStatisticErrorMsg OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Number of error message sent."
        ::= { voipSIPStatistic 5 }

-- voipSIPStatisticUnIdentifiedMsg
        voipSIPStatisticUnIdentifiedMsg OBJECT-TYPE
        SYNTAX Counter32
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        	"Number of parse fail message."
        ::= { voipSIPStatistic 6 }

-- voipProtocolMode

	voipProtocolMode OBJECT-TYPE
    SYNTAX INTEGER{
        		sip(1),
        		h248(2)
    }
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
		"Voip protocol mode."
    ::= { voip 22 }



--------------------------------------------------------------------------------------------------------
-- coa
--------------------------------------------------------------------------------------------------------
    coaConfIssueThreshold OBJECT-TYPE
    SYNTAX Unsigned32 (0..100)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"CPU overload alarm issue threshold.
	CPU overload alarm issue threshold should be higher than CPU overload alarm clear threshold."
    ::= { coa 1 }

    coaConfClearThreshold OBJECT-TYPE
    SYNTAX Unsigned32 (0..100)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"CPU overload alarm clear threshold.
	CPU overload alarm clear threshold should be lower than CPU overload alarm issue threshold."
    ::= { coa 2 }

    coaConfSampleSeconds OBJECT-TYPE
    SYNTAX Unsigned32 (1..60)
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Sample seconds of cpu overload alarm"
    ::= { coa 3 }

    coaConfAnalyticMethod OBJECT-TYPE
    SYNTAX INTEGER{
        		continuous(1),
        		average(2)
        	}
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
	"Analytic method of cpu overload alarm.
	continuous: if all samples are above <issue-threshold> , issue a CPU overload alarm. If all samples are below <clear-threshold>, clear the CPU overload alarm.
	average: if the average of all samples is above <issue-threshold> , issue a CPU overload alarm. If the average of all samples is below <clear-threshold>, clear the CPU overload alarm."
    ::= { coa 4 }

-- CPU Utilization Table
        cpuUtilizationTable OBJECT-TYPE
        SYNTAX SEQUENCE OF CpuUtilizationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        "A table that contains CPU utilization information."
        ::= { coa 5 }

        cpuUtilizationEntry OBJECT-TYPE
        SYNTAX CpuUtilizationEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
        	"An entry of cpuUtilizationTable."
        INDEX { cpuSecondIndex }
        ::= { cpuUtilizationTable 1 }

        CpuUtilizationEntry ::=
        	SEQUENCE {
        		cpuSecondIndex	INTEGER,
        		cpuValue	INTEGER           	
        }

        cpuSecondIndex OBJECT-TYPE
        SYNTAX INTEGER
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The past second index of the CPU."
        ::= { cpuUtilizationEntry 1 }
        
        cpuValue OBJECT-TYPE
        SYNTAX INTEGER
        UNITS "0.01 Percent"
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
        "The CPU utilization.
        The cpuValue with cpuSecondIndex = 0 is current cpu utilization.
        Walk for all cpuValue, their value will be updated immediately.
        Get for cpuValue with cpuSecondIndex = 0, its value will be updated immediately.
        Get for cpuValue without cpuSecondIndex = 0, its value will be updated if current time minus last update time is more than 2 seconds.
        "
        ::= { cpuUtilizationEntry 2 }

--------------------------------------------------------------------------------------------------------
-- dua
--------------------------------------------------------------------------------------------------------
--    duaConfPollUpsEnable OBJECT-TYPE
--    SYNTAX INTEGER{
--       		enable(1),
--        		disable(2)
--        	}
--    MAX-ACCESS read-write
--    STATUS current
--    DESCRIPTION
--	"Enable/Disable polling Delta UPS status."
--    ::= { dua 1 }
--
--    duaStatsUpsModelName OBJECT-TYPE
--    SYNTAX DisplayString
--    MAX-ACCESS read-only
--    STATUS current
--    DESCRIPTION
--	"UPS model name which is got by polling UPS"
--    ::= { dua 2 }
--
--    duaStatsUpsFwVersion OBJECT-TYPE
--    SYNTAX DisplayString
--    MAX-ACCESS read-only
--    STATUS current
--    DESCRIPTION
--	"UPS firmware version which is got by polling UPS"
--    ::= { dua 3 }
--
--------------------------------------------------------------------------------------------------------
-- pm
--------------------------------------------------------------------------------------------------------

-- gePmCurr15minTable
	gePmCurr15minTable OBJECT-TYPE
	SYNTAX SEQUENCE OF GePmCurr15minEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A list of Ethernet statistics PM entries."
	::= { pm 1 }

	gePmCurr15minEntry OBJECT-TYPE
	SYNTAX GePmCurr15minEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A collection of statistics PM kept for a particular
	Ethernet interface."
	INDEX { ifIndex }
	::= { gePmCurr15minTable 1 }

	GePmCurr15minEntry ::= SEQUENCE {
		gePmCurr15minElapsed				INTEGER,
		gePmCurr15minTxOctets				Counter64,
		gePmCurr15minTxPkts				Counter64,
		gePmCurr15minTxBroadcastPkts		Counter64,
		gePmCurr15minTxMulticastPkts		Counter64,
		gePmCurr15minRxOctets				Counter64,
		gePmCurr15minRxPkts				Counter64,
		gePmCurr15minRxBroadcastPkts		Counter64,
		gePmCurr15minRxMulticastPkts		Counter64,
		gePmCurr15minRxCRCAlignErrors		Counter64,
		gePmCurr15minRxUndersizePkts		Counter64,
		gePmCurr15minRxOversizePkts		Counter64,
		gePmCurr15minRxFragments			Counter64,
		gePmCurr15minCollisions			Counter64,
		gePmCurr15minPkts64Octets			Counter64,
		gePmCurr15minPkts65to127Octets		Counter64,
		gePmCurr15minPkts128to255Octets		Counter64,
		gePmCurr15minPkts256to511Octets		Counter64,
		gePmCurr15minPkts512to1023Octets	Counter64,
		gePmCurr15minPkts1024to1518Octets	Counter64,
		gePmCurr15minPkts1519to1522Octets	Counter64
	}

	gePmCurr15minElapsed OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds elapsed in the current 15 minutes interval"
		::= { gePmCurr15minEntry 1 }

	gePmCurr15minTxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) transmitted on the
			network (excluding framing bits but including
			FCS octets)."
		::= { gePmCurr15minEntry 2 }

	gePmCurr15minTxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) transmitted."
		::= { gePmCurr15minEntry 3 }

	gePmCurr15minTxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets transmitted. Note that
			this does not include multicast packets."
		::= { gePmCurr15minEntry 4 }

	gePmCurr15minTxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets transmitted. Note that this
			number does not include packets directed to the
			broadcast address."
		::= { gePmCurr15minEntry 5 }

	gePmCurr15minRxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) received on the
			network (excluding framing bits but including
			FCS octets)."
		::= { gePmCurr15minEntry 6 }

	gePmCurr15minRxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) received."
		::= { gePmCurr15minEntry 7 }

	gePmCurr15minRxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of good packets received that were
			directed to the broadcast address.  Note that this
			does not include multicast packets."
		::= { gePmCurr15minEntry 8 }

	gePmCurr15minRxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of good packets received that were
			directed to a multicast address.  Note that this
			number does not include packets directed to the
			broadcast address."
		::= { gePmCurr15minEntry 9 }

	gePmCurr15minRxCRCAlignErrors OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received that
			had a length (excluding framing bits, but
			including FCS octets) of between 64 and 1518
			octets, inclusive, but but had either a bad
			Frame Check Sequence (FCS) with an integral
			number of octets (FCS Error) or a bad FCS with
			a non-integral number of octets (Alignment Error)."
		::= { gePmCurr15minEntry 10 }

	gePmCurr15minRxUndersizePkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received that were
			less than 64 octets long (excluding framing bits,
			but including FCS octets) and were otherwise well
			formed."
		::= { gePmCurr15minEntry 11 }

	gePmCurr15minRxOversizePkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received that were
			longer than 1518 octets (excluding framing bits,
			but including FCS octets) and were otherwise
			well formed."
		::= { gePmCurr15minEntry 12 }

	gePmCurr15minRxFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received that were less
			than 64 octets in length (excluding framing bits but
			including FCS octets) and had either a bad Frame
			Check Sequence (FCS) with an integral number of
			octets (FCS Error) or a bad FCS with a non-integral
			number of octets (Alignment Error).

			Note that it is entirely normal for
			gePmCurr15minFragments to increment.  This is because
			it counts both runts (which are normal occurrences
			due to collisions) and noise hits."
		::= { gePmCurr15minEntry 13 }

	gePmCurr15minCollisions OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The best estimate of the total number of collisions
			on this Ethernet segment."
		::= { gePmCurr15minEntry 14 }

	gePmCurr15minPkts64Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were 64 octets in length
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr15minEntry 15 }

	gePmCurr15minPkts65to127Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			65 and 127 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr15minEntry 16 }

	gePmCurr15minPkts128to255Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			128 and 255 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr15minEntry 17 }

	gePmCurr15minPkts256to511Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			256 and 511 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr15minEntry 18 }

	gePmCurr15minPkts512to1023Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			512 and 1023 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr15minEntry 19 }

	gePmCurr15minPkts1024to1518Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			1024 and 1518 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr15minEntry 20 }

	gePmCurr15minPkts1519to1522Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			1519 and 1522 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr15minEntry 21 }

-- gePmHist15minTable

	gePmHist15minTable OBJECT-TYPE
		SYNTAX SEQUENCE OF GePmHist15minEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A list of Ethernet statistics historical 15-min PM entries."
		::= { pm 2 }

	gePmHist15minEntry OBJECT-TYPE
		SYNTAX GePmHist15minEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A collection of statistics historical 15-min PM kept for a particular
			Ethernet interface."
		INDEX { ifIndex,
				gePmHist15minIndex }
		::= { gePmHist15minTable 1 }

	GePmHist15minEntry ::= SEQUENCE {
		gePmHist15minIndex				INTEGER,
		gePmHist15minElapsed				INTEGER,
		gePmHist15minTxOctets				Counter64,
		gePmHist15minTxPkts				Counter64,
		gePmHist15minTxBroadcastPkts		Counter64,
		gePmHist15minTxMulticastPkts		Counter64,
		gePmHist15minRxOctets				Counter64,
		gePmHist15minRxPkts				Counter64,
		gePmHist15minRxBroadcastPkts		Counter64,
		gePmHist15minRxMulticastPkts		Counter64,
		gePmHist15minRxCRCAlignErrors		Counter64,
		gePmHist15minRxUndersizePkts		Counter64,
		gePmHist15minRxOversizePkts		Counter64,
		gePmHist15minRxFragments			Counter64,
		gePmHist15minCollisions			Counter64,
		gePmHist15minPkts64Octets			Counter64,
		gePmHist15minPkts65to127Octets		Counter64,
		gePmHist15minPkts128to255Octets		Counter64,
		gePmHist15minPkts256to511Octets		Counter64,
		gePmHist15minPkts512to1023Octets	Counter64,
		gePmHist15minPkts1024to1518Octets	Counter64,
		gePmHist15minPkts1519to1522Octets	Counter64,
		gePmHist15minStartTime			DisplayString,
		gePmHist15minEndTime				DisplayString
	}

	gePmHist15minIndex OBJECT-TYPE
		SYNTAX INTEGER (1..96)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The index of 15-min historical record"
		::= { gePmHist15minEntry 1 }

	gePmHist15minElapsed OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds elapsed in the historical 15-min interval"
		::= { gePmHist15minEntry 2 }

	gePmHist15minTxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data
			(including those in bad packets) transmitted on the
			network (excluding framing bits but including
			FCS octets) in historical 15-min interval."
		::= { gePmHist15minEntry 3 }

	gePmHist15minTxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) transmitted
			in historical 15-min interval."
		::= { gePmHist15minEntry 4 }

	gePmHist15minTxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets transmitted.
			Note that this does not include multicast packets
			in historical 15-min interval."
		::= { gePmHist15minEntry 5 }

	gePmHist15minTxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets transmitted in historical 15-min interval.
			Note that this number does not include packets directed to the
			broadcast address."
		::= { gePmHist15minEntry 6 }

	gePmHist15minRxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) received on the
			network (excluding framing bits but including
			FCS octets) in historical 15-min interval."
		::= { gePmHist15minEntry 7 }

	gePmHist15minRxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) received
			 in historical 15-min interval."
		::= { gePmHist15minEntry 8 }

	gePmHist15minRxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of good packets received
			that were directed to the broadcast address
			in historical 15-min interval.  Note that this
			does not include multicast packets."
		::= { gePmHist15minEntry 9 }

	gePmHist15minRxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of good packets received in historical 15-min interval
			that were directed to a multicast address.  Note that this
			number does not include packets directed to the
			broadcast address."
		::= { gePmHist15minEntry 10 }

	gePmHist15minRxCRCAlignErrors OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received in historical 15-min interval
			that had a length (excluding framing bits, but
			including FCS octets) of between 64 and 1518
			octets, inclusive, but but had either a bad
			Frame Check Sequence (FCS) with an integral
			number of octets (FCS Error) or a bad FCS with
			a non-integral number of octets (Alignment Error)."
		::= { gePmHist15minEntry 11 }

	gePmHist15minRxUndersizePkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received in historical 15-min interval
			that were less than 64 octets long (excluding framing bits,
			but including FCS octets) and were otherwise well
			formed."
		::= { gePmHist15minEntry 12 }

	gePmHist15minRxOversizePkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received in historical 15-min interval
			that were longer than 1518 octets (excluding framing bits,
			but including FCS octets) and were otherwise
			well formed."
		::= { gePmHist15minEntry 13 }

	gePmHist15minRxFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received in historical 15-min interval
			that were less than 64 octets in length (excluding framing bits but
			including FCS octets) and had either a bad Frame
			Check Sequence (FCS) with an integral number of
			octets (FCS Error) or a bad FCS with a non-integral
			number of octets (Alignment Error).

			Note that it is entirely normal for
			gePmHist15minFragments to increment.  This is because
			it counts both runts (which are normal occurrences
			due to collisions) and noise hits."
		::= { gePmHist15minEntry 14 }

	gePmHist15minCollisions OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The best estimate of the total number of collisions
			on this Ethernet segment in historical 15-min interval."
		::= { gePmHist15minEntry 15 }

	gePmHist15minPkts64Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 15-min interval
			that were 64 octets in length
			(excluding framing bits but including FCS octets)."
		::= { gePmHist15minEntry 16 }

	gePmHist15minPkts65to127Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 15-min interval
			that were between
			65 and 127 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmHist15minEntry 17 }

	gePmHist15minPkts128to255Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 15-min interval
			that were between
			128 and 255 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmHist15minEntry 18 }

	gePmHist15minPkts256to511Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 15-min interval
			that were between
			256 and 511 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmHist15minEntry 19 }

	gePmHist15minPkts512to1023Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 15-min interval
			that were between
			512 and 1023 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmHist15minEntry 20 }

	gePmHist15minPkts1024to1518Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 15-min interval
			that were between
			1024 and 1518 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmHist15minEntry 21 }

	gePmHist15minPkts1519to1522Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 15-min interval
			that were between
			1519 and 1522 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmHist15minEntry 22 }

	gePmHist15minStartTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The start time of recording of this entry in mm/dd/yyyy hh/mm/ss format
	  mm: 1 ~ 12
 	  dd: 1 ~ 31
 	  yyyy: 1970 ~ 2037
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { gePmHist15minEntry 23 }

	gePmHist15minEndTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The end time of recording of this entry in mm/dd/yyyy hh/mm/ss format
	  mm: 1 ~ 12
 	  dd: 1 ~ 31
 	  yyyy: 1970 ~ 2037
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { gePmHist15minEntry 24 }

-- gePmCurr1dayTable
	gePmCurr1dayTable OBJECT-TYPE
	SYNTAX SEQUENCE OF GePmCurr1dayEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A list of Ethernet statistics PM entries."
	::= { pm 3 }

	gePmCurr1dayEntry OBJECT-TYPE
	SYNTAX GePmCurr1dayEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A collection of statistics PM kept for a particular
	Ethernet interface."
	INDEX { ifIndex }
	::= { gePmCurr1dayTable 1 }

	GePmCurr1dayEntry ::= SEQUENCE {
		gePmCurr1dayElapsed				INTEGER,
		gePmCurr1dayTxOctets				Counter64,
		gePmCurr1dayTxPkts				Counter64,
		gePmCurr1dayTxBroadcastPkts		Counter64,
		gePmCurr1dayTxMulticastPkts		Counter64,
		gePmCurr1dayRxOctets				Counter64,
		gePmCurr1dayRxPkts				Counter64,
		gePmCurr1dayRxBroadcastPkts		Counter64,
		gePmCurr1dayRxMulticastPkts		Counter64,
		gePmCurr1dayRxCRCAlignErrors		Counter64,
		gePmCurr1dayRxUndersizePkts		Counter64,
		gePmCurr1dayRxOversizePkts		Counter64,
		gePmCurr1dayRxFragments			Counter64,
		gePmCurr1dayCollisions			Counter64,
		gePmCurr1dayPkts64Octets			Counter64,
		gePmCurr1dayPkts65to127Octets		Counter64,
		gePmCurr1dayPkts128to255Octets	Counter64,
		gePmCurr1dayPkts256to511Octets	Counter64,
		gePmCurr1dayPkts512to1023Octets	Counter64,
		gePmCurr1dayPkts1024to1518Octets	Counter64,
		gePmCurr1dayPkts1519to1522Octets	Counter64
	}

	gePmCurr1dayElapsed OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds elapsed in the current 1 day interval"
		::= { gePmCurr1dayEntry 1 }

	gePmCurr1dayTxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) transmitted on the
			network (excluding framing bits but including
			FCS octets)."
		::= { gePmCurr1dayEntry 2 }

	gePmCurr1dayTxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) transmitted."
		::= { gePmCurr1dayEntry 3 }

	gePmCurr1dayTxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets transmitted. Note that
			this does not include multicast packets."
		::= { gePmCurr1dayEntry 4 }

	gePmCurr1dayTxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets transmitted. Note that this
			number does not include packets directed to the
			broadcast address."
		::= { gePmCurr1dayEntry 5 }

	gePmCurr1dayRxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) received on the
			network (excluding framing bits but including
			FCS octets)."
		::= { gePmCurr1dayEntry 6 }

	gePmCurr1dayRxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) received."
		::= { gePmCurr1dayEntry 7 }

	gePmCurr1dayRxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of good packets received that were
			directed to the broadcast address.  Note that this
			does not include multicast packets."
		::= { gePmCurr1dayEntry 8 }

	gePmCurr1dayRxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of good packets received that were
			directed to a multicast address.  Note that this
			number does not include packets directed to the
			broadcast address."
		::= { gePmCurr1dayEntry 9 }

	gePmCurr1dayRxCRCAlignErrors OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received that
			had a length (excluding framing bits, but
			including FCS octets) of between 64 and 1518
			octets, inclusive, but but had either a bad
			Frame Check Sequence (FCS) with an integral
			number of octets (FCS Error) or a bad FCS with
			a non-integral number of octets (Alignment Error)."
		::= { gePmCurr1dayEntry 10 }

	gePmCurr1dayRxUndersizePkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received that were
			less than 64 octets long (excluding framing bits,
			but including FCS octets) and were otherwise well
			formed."
		::= { gePmCurr1dayEntry 11 }

	gePmCurr1dayRxOversizePkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received that were
			longer than 1518 octets (excluding framing bits,
			but including FCS octets) and were otherwise
			well formed."
		::= { gePmCurr1dayEntry 12 }

	gePmCurr1dayRxFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received that were less
			than 64 octets in length (excluding framing bits but
			including FCS octets) and had either a bad Frame
			Check Sequence (FCS) with an integral number of
			octets (FCS Error) or a bad FCS with a non-integral
			number of octets (Alignment Error).

			Note that it is entirely normal for
			gePmCurr1dayFragments to increment.  This is because
			it counts both runts (which are normal occurrences
			due to collisions) and noise hits."
		::= { gePmCurr1dayEntry 13 }

	gePmCurr1dayCollisions OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The best estimate of the total number of collisions
			on this Ethernet segment."
		::= { gePmCurr1dayEntry 14 }

	gePmCurr1dayPkts64Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were 64 octets in length
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr1dayEntry 15 }

	gePmCurr1dayPkts65to127Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			65 and 127 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr1dayEntry 16 }

	gePmCurr1dayPkts128to255Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			128 and 255 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr1dayEntry 17 }

	gePmCurr1dayPkts256to511Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			256 and 511 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr1dayEntry 18 }

	gePmCurr1dayPkts512to1023Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			512 and 1023 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr1dayEntry 19 }

	gePmCurr1dayPkts1024to1518Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			1024 and 1518 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr1dayEntry 20 }

	gePmCurr1dayPkts1519to1522Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			1519 and 1522 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurr1dayEntry 21 }

-- gePmHist1dayTable

	gePmHist1dayTable OBJECT-TYPE
		SYNTAX SEQUENCE OF GePmHist1dayEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A list of Ethernet statistics historical 1 day PM entries."
		::= { pm 4 }

	gePmHist1dayEntry OBJECT-TYPE
		SYNTAX GePmHist1dayEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A collection of statistics historical 1 day PM kept for a particular
			Ethernet interface."
		INDEX { ifIndex,
				gePmHist1dayIndex }
		::= { gePmHist1dayTable 1 }

	GePmHist1dayEntry ::= SEQUENCE {
		gePmHist1dayIndex				INTEGER,
		gePmHist1dayStartTime			DisplayString,
		gePmHist1dayEndTime				DisplayString,
		gePmHist1dayTxOctets				Counter64,
		gePmHist1dayTxPkts				Counter64,
		gePmHist1dayTxBroadcastPkts		Counter64,
		gePmHist1dayTxMulticastPkts		Counter64,
		gePmHist1dayRxOctets				Counter64,
		gePmHist1dayRxPkts				Counter64,
		gePmHist1dayRxBroadcastPkts		Counter64,
		gePmHist1dayRxMulticastPkts		Counter64,
		gePmHist1dayRxCRCAlignErrors		Counter64,
		gePmHist1dayRxUndersizePkts		Counter64,
		gePmHist1dayRxOversizePkts		Counter64,
		gePmHist1dayRxFragments			Counter64,
		gePmHist1dayCollisions			Counter64,
		gePmHist1dayPkts64Octets			Counter64,
		gePmHist1dayPkts65to127Octets		Counter64,
		gePmHist1dayPkts128to255Octets		Counter64,
		gePmHist1dayPkts256to511Octets		Counter64,
		gePmHist1dayPkts512to1023Octets		Counter64,
		gePmHist1dayPkts1024to1518Octets	Counter64,
		gePmHist1dayPkts1519to1522Octets	Counter64
	}

	gePmHist1dayIndex OBJECT-TYPE
		SYNTAX INTEGER (1..96)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The index of 1 day historical record"
		::= { gePmHist1dayEntry 1 }

	gePmHist1dayStartTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The start time of recording of this entry in mm/dd/yyyy hh/mm/ss format
	  mm: 1 ~ 12
 	  dd: 1 ~ 31
 	  yyyy: 1970 ~ 2037
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { gePmHist1dayEntry 2 }

	gePmHist1dayEndTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The end time of recording of this entry in mm/dd/yyyy hh/mm/ss format
	  mm: 1 ~ 12
 	  dd: 1 ~ 31
 	  yyyy: 1970 ~ 2037
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { gePmHist1dayEntry 3 }

	gePmHist1dayTxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data
			(including those in bad packets) transmitted on the
			network (excluding framing bits but including
			FCS octets) in historical 1 day interval."
		::= { gePmHist1dayEntry 4 }

	gePmHist1dayTxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) transmitted
			in historical 1 day interval."
		::= { gePmHist1dayEntry 5 }

	gePmHist1dayTxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets transmitted.
			Note that this does not include multicast packets
			in historical 1 day interval."
		::= { gePmHist1dayEntry 6 }

	gePmHist1dayTxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets transmitted in historical 1 day interval.
			Note that this number does not include packets directed to the
			broadcast address."
		::= { gePmHist1dayEntry 7 }

	gePmHist1dayRxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) received on the
			network (excluding framing bits but including
			FCS octets) in historical 1day interval."
		::= { gePmHist1dayEntry 8 }

	gePmHist1dayRxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) received
			 in historical 1 day interval."
		::= { gePmHist1dayEntry 9 }

	gePmHist1dayRxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of good packets received
			that were directed to the broadcast address
			in historical 1 day interval.  Note that this
			does not include multicast packets."
		::= { gePmHist1dayEntry 10 }

	gePmHist1dayRxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of good packets received in historical 1 day interval
			that were directed to a multicast address.  Note that this
			number does not include packets directed to the
			broadcast address."
		::= { gePmHist1dayEntry 11 }

	gePmHist1dayRxCRCAlignErrors OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received in historical 1 day interval
			that had a length (excluding framing bits, but
			including FCS octets) of between 64 and 1518
			octets, inclusive, but but had either a bad
			Frame Check Sequence (FCS) with an integral
			number of octets (FCS Error) or a bad FCS with
			a non-integral number of octets (Alignment Error)."
		::= { gePmHist1dayEntry 12 }

	gePmHist1dayRxUndersizePkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received in historical 1 day interval
			that were less than 64 octets long (excluding framing bits,
			but including FCS octets) and were otherwise well
			formed."
		::= { gePmHist1dayEntry 13 }

	gePmHist1dayRxOversizePkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received in historical 1 day interval
			that were longer than 1518 octets (excluding framing bits,
			but including FCS octets) and were otherwise
			well formed."
		::= { gePmHist1dayEntry 14 }

	gePmHist1dayRxFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received in historical 1 day interval
			that were less than 64 octets in length (excluding framing bits but
			including FCS octets) and had either a bad Frame
			Check Sequence (FCS) with an integral number of
			octets (FCS Error) or a bad FCS with a non-integral
			number of octets (Alignment Error).

			Note that it is entirely normal for
			gePmHist1dayFragments to increment.  This is because
			it counts both runts (which are normal occurrences
			due to collisions) and noise hits."
		::= { gePmHist1dayEntry 15 }

	gePmHist1dayCollisions OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The best estimate of the total number of collisions
			on this Ethernet segment in historical 1 day interval."
		::= { gePmHist1dayEntry 16 }

	gePmHist1dayPkts64Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 1day interval
			that were 64 octets in length
			(excluding framing bits but including FCS octets)."
		::= { gePmHist1dayEntry 17 }

	gePmHist1dayPkts65to127Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 1 day interval
			that were between
			65 and 127 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmHist1dayEntry 18 }

	gePmHist1dayPkts128to255Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 1 day interval
			that were between
			128 and 255 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmHist1dayEntry 19 }

	gePmHist1dayPkts256to511Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 1 day interval
			that were between
			256 and 511 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmHist1dayEntry 20 }

	gePmHist1dayPkts512to1023Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 1 day interval
			that were between
			512 and 1023 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmHist1dayEntry 21 }

	gePmHist1dayPkts1024to1518Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 1 day interval
			that were between
			1024 and 1518 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmHist1dayEntry 22 }

	gePmHist1dayPkts1519to1522Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) received in historical 1 day interval
			that were between
			1519 and 1522 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmHist1dayEntry 23 }

-- gePmThreshProfTable

	gePmThreshProfTable OBJECT-TYPE
		SYNTAX SEQUENCE OF GePmThreshProfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A list of Ethernet statistics PM threshold profile."
		::= { pm 5 }

	gePmThreshProfEntry OBJECT-TYPE
		SYNTAX GePmThreshProfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Statistics PM threshold kept for a particular
			Ethernet interface."
		INDEX { IMPLIED gePmThreshProfName }
		::= { gePmThreshProfTable 1 }

	GePmThreshProfEntry ::= SEQUENCE {
		gePmThreshProfName					DisplayString,
		gePmThreshProfTxOctets				DisplayString,
		gePmThreshProfTxPkts				DisplayString,
		gePmThreshProfTxBroadcastPkts		DisplayString,
		gePmThreshProfTxMulticastPkts		DisplayString,
		gePmThreshProfRxOctets				DisplayString,
		gePmThreshProfRxPkts				DisplayString,
		gePmThreshProfRxBroadcastPkts		DisplayString,
		gePmThreshProfRxMulticastPkts		DisplayString,
		gePmThreshProfRxCRCAlignErrors		DisplayString,
		gePmThreshProfRxUndersizePkts		DisplayString,
		gePmThreshProfRxOversizePkts		DisplayString,
		gePmThreshProfRxFragments			DisplayString,
		gePmThreshProfCollisions			DisplayString,
		gePmThreshProfPkts64Octets			DisplayString,
		gePmThreshProfPkts65to127Octets		DisplayString,
		gePmThreshProfPkts128to255Octets	DisplayString,
		gePmThreshProfPkts256to511Octets	DisplayString,
		gePmThreshProfPkts512to1023Octets	DisplayString,
		gePmThreshProfPkts1024to1518Octets	DisplayString,
		gePmThreshProfPkts1519to1522Octets	DisplayString,
		gePmThreshProfRowStatus				RowStatus
	}

	gePmThreshProfName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Threshold of the total number of octets of data (including
			those in bad packets) transmitted on the
			network (excluding framing bits but including
			FCS octets)."
		::= { gePmThreshProfEntry 1 }

	gePmThreshProfTxOctets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of octets of data (including
			those in bad packets) transmitted on the
			network (excluding framing bits but including
			FCS octets).
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 2 }

	gePmThreshProfTxPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets (including bad packets,
			broadcast packets, and multicast packets) transmitted.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 3 }

	gePmThreshProfTxBroadcastPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of broadcast packets transmitted. Note that
			this does not include multicast packets.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 4 }

	gePmThreshProfTxMulticastPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of multicast packets transmitted. Note that this
			number does not include packets directed to the
			broadcast address.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 5 }

	gePmThreshProfRxOctets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of octets of data (including
			those in bad packets) received on the
			network (excluding framing bits but including
			FCS octets).
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 6 }

	gePmThreshProfRxPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets (including bad packets,
			broadcast packets, and multicast packets) received.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 7 }

	gePmThreshProfRxBroadcastPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of good packets received that were
			directed to the broadcast address.  Note that this
			does not include multicast packets.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 8 }

	gePmThreshProfRxMulticastPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of good packets received that were
			directed to a multicast address.  Note that this
			number does not include packets directed to the
			broadcast address.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 9 }

	gePmThreshProfRxCRCAlignErrors OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets received that
			had a length (excluding framing bits, but
			including FCS octets) of between 64 and 1518
			octets, inclusive, but but had either a bad
			Frame Check Sequence (FCS) with an integral
			number of octets (FCS Error) or a bad FCS with
			a non-integral number of octets (Alignment Error).
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 10 }

	gePmThreshProfRxUndersizePkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets received that were
			less than 64 octets long (excluding framing bits,
			but including FCS octets) and were otherwise well
			formed.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 11 }

	gePmThreshProfRxOversizePkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets received that were
			longer than 1518 octets (excluding framing bits,
			but including FCS octets) and were otherwise
			well formed.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 12 }

	gePmThreshProfRxFragments OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets received that were less
			than 64 octets in length (excluding framing bits but
			including FCS octets) and had either a bad Frame
			Check Sequence (FCS) with an integral number of
			octets (FCS Error) or a bad FCS with a non-integral
			number of octets (Alignment Error).

			Note that it is entirely normal for
			gePmThreshProfFragments to increment.  This is because
			it counts both runts (which are normal occurrences
			due to collisions) and noise hits.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 13 }

	gePmThreshProfCollisions OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the best estimate of the total number of collisions
			on this Ethernet segment.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 14 }

	gePmThreshProfPkts64Octets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets (including bad
			packets) transmitted and received that were 64 octets in length
			(excluding framing bits but including FCS octets).
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 15 }

	gePmThreshProfPkts65to127Octets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets (including bad
			packets) transmitted and received that were between
			65 and 127 octets in length inclusive
			(excluding framing bits but including FCS octets).
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 16 }

	gePmThreshProfPkts128to255Octets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets (including bad
			packets) transmitted and received that were between
			128 and 255 octets in length inclusive
			(excluding framing bits but including FCS octets).
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 17 }

	gePmThreshProfPkts256to511Octets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets (including bad
			packets) transmitted and received that were between
			256 and 511 octets in length inclusive
			(excluding framing bits but including FCS octets).
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 18 }

	gePmThreshProfPkts512to1023Octets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets (including bad
			packets) transmitted and received that were between
			512 and 1023 octets in length inclusive
			(excluding framing bits but including FCS octets).
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 19 }

	gePmThreshProfPkts1024to1518Octets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets (including bad
			packets) transmitted and received that were between
			1024 and 1518 octets in length inclusive
			(excluding framing bits but including FCS octets).
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 20 }

	gePmThreshProfPkts1519to1522Octets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets (including bad
			packets) transmitted and received that were between
			1519 and 1522 octets in length inclusive
			(excluding framing bits but including FCS octets).
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { gePmThreshProfEntry 21 }

	gePmThreshProfRowStatus OBJECT-TYPE
		SYNTAX RowStatus
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Row status of the table entry."
		::= { gePmThreshProfEntry 22 }

-- fxsPmCurr15minTable
	fxsPmCurr15minTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FxsPmCurr15minEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A list of voip FXS statistics PM entries."
	::= { pm 11 }

	fxsPmCurr15minEntry OBJECT-TYPE
	SYNTAX FxsPmCurr15minEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A collection of statistics PM kept for a particular
	voip FXS interface."
	INDEX { ifIndex }
	::= { fxsPmCurr15minTable 1 }

	FxsPmCurr15minEntry ::= SEQUENCE {
		fxsPmCurr15minElapsed						INTEGER,
		fxsPmCurr15minRtpElapsedTime				INTEGER,
		fxsPmCurr15minRtpTxBytes					Counter64,
		fxsPmCurr15minRtpRxBytes					Counter64,
		fxsPmCurr15minRtpTxPackets					Counter64,
		fxsPmCurr15minRtpRxPackets					Counter64,
		fxsPmCurr15minRtpTxLostPackets				Counter64,
		fxsPmCurr15minRtpRxLostPackets				Counter64
	}

	fxsPmCurr15minElapsed OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds elapsed in the current 15 minutes interval"
		::= { fxsPmCurr15minEntry 1 }

	fxsPmCurr15minRtpElapsedTime OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds when RTP session is created for a FXS port."
		::= { fxsPmCurr15minEntry 2 }

	fxsPmCurr15minRtpTxBytes OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many bytes of RTP packets are transmitted for a FXS port."
		::= { fxsPmCurr15minEntry 3 }

	fxsPmCurr15minRtpRxBytes OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many bytes of RTP packets are received for a FXS port."
		::= { fxsPmCurr15minEntry 4 }

	fxsPmCurr15minRtpTxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets are transmitted for a FXS port."
		::= { fxsPmCurr15minEntry 5 }

	fxsPmCurr15minRtpRxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets are received for a FXS port."
		::= { fxsPmCurr15minEntry 6 }

	fxsPmCurr15minRtpTxLostPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets that are transmitted by local peer
			 but not received by remote peer for a FXS port."
		::= { fxsPmCurr15minEntry 7 }

	fxsPmCurr15minRtpRxLostPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets that are transmitted by remote peer
			 but not received by local peer for a FXS port."
		::= { fxsPmCurr15minEntry 8 }

-- fxsPmHist15minTable

	fxsPmHist15minTable OBJECT-TYPE
		SYNTAX SEQUENCE OF FxsPmHist15minEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A list of voip FXS statistics historical 15-min PM entries."
		::= { pm 12 }

	fxsPmHist15minEntry OBJECT-TYPE
		SYNTAX FxsPmHist15minEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A collection of statistics historical 15-min PM kept for a particular
			voip FXS interface."
		INDEX { ifIndex,
				fxsPmHist15minIndex }
		::= { fxsPmHist15minTable 1 }

	FxsPmHist15minEntry ::= SEQUENCE {
		fxsPmHist15minIndex							INTEGER,
		fxsPmHist15minStartTime						DisplayString,
		fxsPmHist15minEndTime					 	DisplayString,
		fxsPmHist15minRtpElapsedTime				INTEGER,
		fxsPmHist15minRtpTxBytes					Counter64,
		fxsPmHist15minRtpRxBytes					Counter64,
		fxsPmHist15minRtpTxPackets					Counter64,
		fxsPmHist15minRtpRxPackets					Counter64,
		fxsPmHist15minRtpTxLostPackets				Counter64,
		fxsPmHist15minRtpRxLostPackets				Counter64
	}


	fxsPmHist15minIndex OBJECT-TYPE
		SYNTAX INTEGER (1..96)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The index of 15-min historical record"
		::= { fxsPmHist15minEntry 1 }

	fxsPmHist15minStartTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The start time of recording of this entry in mm/dd/yyyy hh/mm/ss format
	  mm: 1 ~ 12
 	  dd: 1 ~ 31
 	  yyyy: 1970 ~ 2037
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { fxsPmHist15minEntry 2 }

	fxsPmHist15minEndTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The end time of recording of this entry in mm/dd/yyyy hh/mm/ss format
	  mm: 1 ~ 12
 	  dd: 1 ~ 31
 	  yyyy: 1970 ~ 2037
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { fxsPmHist15minEntry 3 }


	fxsPmHist15minRtpElapsedTime OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds when RTP session is created for a FXS port in the historical 15-min interval."
		::= { fxsPmHist15minEntry 4 }

	fxsPmHist15minRtpTxBytes OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many bytes of RTP packets are transmitted for a FXS port in the historical 15-min interval."
		::= { fxsPmHist15minEntry 5 }

	fxsPmHist15minRtpRxBytes OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many bytes of RTP packets are received for a FXS port in the historical 15-min interval."
		::= { fxsPmHist15minEntry 6 }

	fxsPmHist15minRtpTxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets are transmitted for a FXS port in the historical 15-min interval."
		::= { fxsPmHist15minEntry 7 }

	fxsPmHist15minRtpRxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets are received for a FXS port in the historical 15-min interval."
		::= { fxsPmHist15minEntry 8 }

	fxsPmHist15minRtpTxLostPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets that are transmitted by local peer
			 but not received by remote peer for a FXS port in the historical 15-min interval."
		::= { fxsPmHist15minEntry 9 }

	fxsPmHist15minRtpRxLostPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets that are transmitted by remote peer
			 but not received by local peer for a FXS port in the historical 15-min interval."
		::= { fxsPmHist15minEntry 10 }

-- fxsPmCurr1dayTable
	fxsPmCurr1dayTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FxsPmCurr1dayEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A list of voip FXS statistics PM entries."
	::= { pm 13 }

	fxsPmCurr1dayEntry OBJECT-TYPE
	SYNTAX FxsPmCurr1dayEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A collection of statistics PM kept for a particular
	voip FXS interface."
	INDEX { ifIndex }
	::= { fxsPmCurr1dayTable 1 }

	FxsPmCurr1dayEntry ::= SEQUENCE {
		fxsPmCurr1dayElapsed					INTEGER,
		fxsPmCurr1dayRtpElapsedTime				INTEGER,
		fxsPmCurr1dayRtpTxBytes					Counter64,
		fxsPmCurr1dayRtpRxBytes					Counter64,
		fxsPmCurr1dayRtpTxPackets				Counter64,
		fxsPmCurr1dayRtpRxPackets				Counter64,
		fxsPmCurr1dayRtpTxLostPackets			Counter64,
		fxsPmCurr1dayRtpRxLostPackets			Counter64
	}

	fxsPmCurr1dayElapsed OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds elapsed in the current 1 day interval"
		::= { fxsPmCurr1dayEntry 1 }

	fxsPmCurr1dayRtpElapsedTime OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds when RTP session is created for a FXS port."
		::= { fxsPmCurr1dayEntry 2 }

	fxsPmCurr1dayRtpTxBytes OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many bytes of RTP packets are transmitted for a FXS port."
		::= { fxsPmCurr1dayEntry 3 }

	fxsPmCurr1dayRtpRxBytes OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many bytes of RTP packets are received for a FXS port."
		::= { fxsPmCurr1dayEntry 4 }

	fxsPmCurr1dayRtpTxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets are transmitted for a FXS port."
		::= { fxsPmCurr1dayEntry 5 }

	fxsPmCurr1dayRtpRxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets are received for a FXS port."
		::= { fxsPmCurr1dayEntry 6 }


	fxsPmCurr1dayRtpTxLostPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets that are transmitted by local peer
			 but not received by remote peer for a FXS port."
		::= { fxsPmCurr1dayEntry 7 }

	fxsPmCurr1dayRtpRxLostPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets that are transmitted by remote peer
			 but not received by local peer for a FXS port."
		::= { fxsPmCurr1dayEntry 8 }

-- fxsPmHist1dayTable

	fxsPmHist1dayTable OBJECT-TYPE
		SYNTAX SEQUENCE OF FxsPmHist1dayEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A list of voip FXS statistics historical 1 day PM entries."
		::= { pm 14 }

	fxsPmHist1dayEntry OBJECT-TYPE
		SYNTAX FxsPmHist1dayEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A collection of statistics historical 1 day PM kept for a particular
			voip FXS interface."
		INDEX { ifIndex,
				fxsPmHist1dayIndex }
		::= { fxsPmHist1dayTable 1 }

	FxsPmHist1dayEntry ::= SEQUENCE {
		fxsPmHist1dayIndex									INTEGER,
		fxsPmHist1dayStartTime								DisplayString,
		fxsPmHist1dayEndTime								DisplayString,
		fxsPmHist1dayRtpElapsedTime							INTEGER,
		fxsPmHist1dayRtpTxBytes								Counter64,
		fxsPmHist1dayRtpRxBytes								Counter64,
		fxsPmHist1dayRtpTxPackets							Counter64,
		fxsPmHist1dayRtpRxPackets							Counter64,
		fxsPmHist1dayRtpTxLostPackets						Counter64,
		fxsPmHist1dayRtpRxLostPackets						Counter64
	}


	fxsPmHist1dayIndex OBJECT-TYPE
		SYNTAX INTEGER (1..96)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The index of 15-min historical record"
		::= { fxsPmHist1dayEntry 1 }

	fxsPmHist1dayStartTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The start time of recording of this entry in mm/dd/yyyy hh/mm/ss format
	  mm: 1 ~ 12
 	  dd: 1 ~ 31
 	  yyyy: 1970 ~ 2037
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { fxsPmHist1dayEntry 2 }

	fxsPmHist1dayEndTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The end time of recording of this entry in mm/dd/yyyy hh/mm/ss format
	  mm: 1 ~ 12
 	  dd: 1 ~ 31
 	  yyyy: 1970 ~ 2037
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { fxsPmHist1dayEntry 3 }


	fxsPmHist1dayRtpElapsedTime OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds when RTP session is created for a FXS port in the historical 1 day interval."
		::= { fxsPmHist1dayEntry 4 }

	fxsPmHist1dayRtpTxBytes OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many bytes of RTP packets are transmitted for a FXS port in the historical 1 day interval."
		::= { fxsPmHist1dayEntry 5 }

	fxsPmHist1dayRtpRxBytes OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many bytes of RTP packets are received for a FXS port in the historical 1 day interval."
		::= { fxsPmHist1dayEntry 6 }

	fxsPmHist1dayRtpTxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets are transmitted for a FXS port in the historical 1 day interval."
		::= { fxsPmHist1dayEntry 7 }

	fxsPmHist1dayRtpRxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets are received for a FXS port in the historical 1 day interval."
		::= { fxsPmHist1dayEntry 8 }


	fxsPmHist1dayRtpTxLostPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets that are transmitted by local peer
			 but not received by remote peer for a FXS port in the historical 1 day interval."
		::= { fxsPmHist1dayEntry 9 }

	fxsPmHist1dayRtpRxLostPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets that are transmitted by remote peer
			 but not received by local peer for a FXS port in the historical 1 day interval."
		::= { fxsPmHist1dayEntry 10 }


-- fxsPmThreshProfTable

	fxsPmThreshProfTable OBJECT-TYPE
		SYNTAX SEQUENCE OF FxsPmThreshProfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A list of voip FXS statistics PM threshold profile."
		::= { pm 15 }

	fxsPmThreshProfEntry OBJECT-TYPE
		SYNTAX FxsPmThreshProfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Statistics PM threshold kept for a particular
			voip FXS interface."
		INDEX { IMPLIED fxsPmThreshProfName }
		::= { fxsPmThreshProfTable 1 }

	FxsPmThreshProfEntry ::= SEQUENCE {
		fxsPmThreshProfName							DisplayString,
		fxsPmThreshProfRtpElapsedTime				DisplayString,
		fxsPmThreshProfRtpTxBytes					DisplayString,
		fxsPmThreshProfRtpRxBytes					DisplayString,
		fxsPmThreshProfRtpTxPackets					DisplayString,
		fxsPmThreshProfRtpRxPackets					DisplayString,
		fxsPmThreshProfRtpTxLostPackets				DisplayString,
		fxsPmThreshProfRtpRxLostPackets				DisplayString,
		fxsPmThreshProfRowStatus					RowStatus
	}

	fxsPmThreshProfName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Profile name of the entry."
		::= { fxsPmThreshProfEntry 1 }

	fxsPmThreshProfRtpElapsedTime OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total seconds when RTP session is created for a FXS port.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { fxsPmThreshProfEntry 2 }

	fxsPmThreshProfRtpTxBytes OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number bytes of RTP transmitted for a FXS port.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { fxsPmThreshProfEntry 3 }

	fxsPmThreshProfRtpRxBytes OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number bytes of RTP received for a FXS port.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { fxsPmThreshProfEntry 4 }

	fxsPmThreshProfRtpTxPackets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of RTP packets transmitted for a FXS port.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { fxsPmThreshProfEntry 5 }

	fxsPmThreshProfRtpRxPackets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of RTP packets received for a FXS port.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { fxsPmThreshProfEntry 6 }


	fxsPmThreshProfRtpTxLostPackets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of RTP packets that are transmitted by
			  local peer but not received by remote peer for a FXS port.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { fxsPmThreshProfEntry 7 }

	fxsPmThreshProfRtpRxLostPackets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of RTP packets that are transmitted by
			 remote peer but not received by local peer for a FXS port.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { fxsPmThreshProfEntry 8 }

	fxsPmThreshProfRowStatus OBJECT-TYPE
		SYNTAX RowStatus
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Row status of the table entry."
		::= { fxsPmThreshProfEntry 9 }

-- gePmCurrStatisticTable
	gePmCurrStatisticTable OBJECT-TYPE
	SYNTAX SEQUENCE OF GePmCurrStatisticEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A list of Ethernet current statistics PM entries."
	::= { pm 16 }

	gePmCurrStatisticEntry OBJECT-TYPE
	SYNTAX GePmCurrStatisticEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A collection of current statistics PM kept for a particular
	Ethernet interface."
	INDEX { ifIndex }
	::= { gePmCurrStatisticTable 1 }

	GePmCurrStatisticEntry ::= SEQUENCE {
		gePmCurrStatisticTxOctets				Counter64,
		gePmCurrStatisticTxPkts				Counter64,
		gePmCurrStatisticTxBroadcastPkts		Counter64,
		gePmCurrStatisticTxMulticastPkts		Counter64,
		gePmCurrStatisticRxOctets				Counter64,
		gePmCurrStatisticRxPkts				Counter64,
		gePmCurrStatisticRxBroadcastPkts		Counter64,
		gePmCurrStatisticRxMulticastPkts		Counter64,
		gePmCurrStatisticRxCRCAlignErrors		Counter64,
		gePmCurrStatisticRxUndersizePkts		Counter64,
		gePmCurrStatisticRxOversizePkts		Counter64,
		gePmCurrStatisticRxFragments			Counter64,
		gePmCurrStatisticCollisions			Counter64,
		gePmCurrStatisticPkts64Octets			Counter64,
		gePmCurrStatisticPkts65to127Octets		Counter64,
		gePmCurrStatisticPkts128to255Octets		Counter64,
		gePmCurrStatisticPkts256to511Octets		Counter64,
		gePmCurrStatisticPkts512to1023Octets	Counter64,
		gePmCurrStatisticPkts1024to1518Octets	Counter64,
		gePmCurrStatisticPkts1519to1522Octets	Counter64,
		gePmCurrStatisticTimestamp				Unsigned32
	}

	gePmCurrStatisticTxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) transmitted on the
			network (excluding framing bits but including
			FCS octets)."
		::= { gePmCurrStatisticEntry 1 }

	gePmCurrStatisticTxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) transmitted."
		::= { gePmCurrStatisticEntry 2 }

	gePmCurrStatisticTxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets transmitted. Note that
			this does not include multicast packets."
		::= { gePmCurrStatisticEntry 3 }

	gePmCurrStatisticTxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets transmitted. Note that this
			number does not include packets directed to the
			broadcast address."
		::= { gePmCurrStatisticEntry 4 }

	gePmCurrStatisticRxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) received on the
			network (excluding framing bits but including
			FCS octets)."
		::= { gePmCurrStatisticEntry 5 }

	gePmCurrStatisticRxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) received."
		::= { gePmCurrStatisticEntry 6 }

	gePmCurrStatisticRxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of good packets received that were
			directed to the broadcast address.  Note that this
			does not include multicast packets."
		::= { gePmCurrStatisticEntry 7 }

	gePmCurrStatisticRxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of good packets received that were
			directed to a multicast address.  Note that this
			number does not include packets directed to the
			broadcast address."
		::= { gePmCurrStatisticEntry 8 }

	gePmCurrStatisticRxCRCAlignErrors OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received that
			had a length (excluding framing bits, but
			including FCS octets) of between 64 and 1518
			octets, inclusive, but but had either a bad
			Frame Check Sequence (FCS) with an integral
			number of octets (FCS Error) or a bad FCS with
			a non-integral number of octets (Alignment Error)."
		::= { gePmCurrStatisticEntry 9 }

	gePmCurrStatisticRxUndersizePkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received that were
			less than 64 octets long (excluding framing bits,
			but including FCS octets) and were otherwise well
			formed."
		::= { gePmCurrStatisticEntry 10 }

	gePmCurrStatisticRxOversizePkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received that were
			longer than 1518 octets (excluding framing bits,
			but including FCS octets) and were otherwise
			well formed."
		::= { gePmCurrStatisticEntry 11 }

	gePmCurrStatisticRxFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets received that were less
			than 64 octets in length (excluding framing bits but
			including FCS octets) and had either a bad Frame
			Check Sequence (FCS) with an integral number of
			octets (FCS Error) or a bad FCS with a non-integral
			number of octets (Alignment Error).

			Note that it is entirely normal for
			gePmCurr15minFragments to increment.  This is because
			it counts both runts (which are normal occurrences
			due to collisions) and noise hits."
		::= { gePmCurrStatisticEntry 12 }

	gePmCurrStatisticCollisions OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The best estimate of the total number of collisions
			on this Ethernet segment."
		::= { gePmCurrStatisticEntry 13 }

	gePmCurrStatisticPkts64Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were 64 octets in length
			(excluding framing bits but including FCS octets)."
		::= { gePmCurrStatisticEntry 14 }

	gePmCurrStatisticPkts65to127Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			65 and 127 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurrStatisticEntry 15 }

	gePmCurrStatisticPkts128to255Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			128 and 255 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurrStatisticEntry 16 }

	gePmCurrStatisticPkts256to511Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			256 and 511 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurrStatisticEntry 17 }

	gePmCurrStatisticPkts512to1023Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			512 and 1023 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurrStatisticEntry 18 }

	gePmCurrStatisticPkts1024to1518Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			1024 and 1518 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurrStatisticEntry 19 }

	gePmCurrStatisticPkts1519to1522Octets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad
			packets) transmitted and received that were between
			1519 and 1522 octets in length inclusive
			(excluding framing bits but including FCS octets)."
		::= { gePmCurrStatisticEntry 20 }

	gePmCurrStatisticTimestamp OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The time when the counters of port updated."
		::= { gePmCurrStatisticEntry 21 }

-- fxsPmCurrStatisticTable
	fxsPmCurrStatisticTable OBJECT-TYPE
	SYNTAX SEQUENCE OF FxsPmCurrStatisticEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A list of voip FXS statistics PM entries."
	::= { pm 18 }

	fxsPmCurrStatisticEntry OBJECT-TYPE
	SYNTAX FxsPmCurrStatisticEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A collection of statistics PM kept for a particular
	voip FXS interface."
	INDEX { ifIndex }
	::= { fxsPmCurrStatisticTable 1 }

	FxsPmCurrStatisticEntry ::= SEQUENCE {
		fxsPmCurrStatisticRtpElapsedTime				INTEGER,
		fxsPmCurrStatisticRtpTxBytes					Counter64,
		fxsPmCurrStatisticRtpRxBytes					Counter64,
		fxsPmCurrStatisticRtpTxPackets					Counter64,
		fxsPmCurrStatisticRtpRxPackets					Counter64,
		fxsPmCurrStatisticRtpTxLostPackets				Counter64,
		fxsPmCurrStatisticRtpRxLostPackets				Counter64,
		fxsPmCurrStatisticTimestamp						Unsigned32
	}

	fxsPmCurrStatisticRtpElapsedTime OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds when RTP session is created for a FXS port."
		::= { fxsPmCurrStatisticEntry 1 }

	fxsPmCurrStatisticRtpTxBytes OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many bytes of RTP packets are transmitted for a FXS port."
		::= { fxsPmCurrStatisticEntry 2 }

	fxsPmCurrStatisticRtpRxBytes OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many bytes of RTP packets are received for a FXS port."
		::= { fxsPmCurrStatisticEntry 3 }

	fxsPmCurrStatisticRtpTxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets are transmitted for a FXS port."
		::= { fxsPmCurrStatisticEntry 4 }

	fxsPmCurrStatisticRtpRxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets are received for a FXS port."
		::= { fxsPmCurrStatisticEntry 5 }

	fxsPmCurrStatisticRtpTxLostPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets that are transmitted by local peer
			 but not received by remote peer for a FXS port."
		::= { fxsPmCurrStatisticEntry 6 }

	fxsPmCurrStatisticRtpRxLostPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"How many RTP packets that are transmitted by remote peer
			 but not received by local peer for a FXS port."
		::= { fxsPmCurrStatisticEntry 7 }

	fxsPmCurrStatisticTimestamp OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The time when the counters of port updated."
		::= { fxsPmCurrStatisticEntry 8 }

-- dslPmCurr15minTable
	dslPmCurr15minTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DslPmCurr15minEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A list of dsl statistics PM entries."
	::= { pm 19 }
	
	dslPmCurr15minEntry OBJECT-TYPE
	SYNTAX DslPmCurr15minEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A collection of statistics PM kept for a particular
	Ethernet interface."
	INDEX { ifIndex }
	::= { dslPmCurr15minTable 1 }
	
	DslPmCurr15minEntry ::= SEQUENCE {
		dslPmCurr15minElapsed				INTEGER,
		dslPmCurr15minTxOctets				Counter64,
		dslPmCurr15minTxPkts				Counter64,
		dslPmCurr15minTxUnicastPkts			Counter64,
		dslPmCurr15minTxBroadcastPkts		Counter64,
		dslPmCurr15minTxMulticastPkts		Counter64,
		dslPmCurr15minTxDiscardPkts			Counter64,
		dslPmCurr15minRxOctets				Counter64,
		dslPmCurr15minRxPkts				Counter64,
		dslPmCurr15minRxUnicastPkts			Counter64,
		dslPmCurr15minRxBroadcastPkts		Counter64,
		dslPmCurr15minRxMulticastPkts		Counter64,
		dslPmCurr15minRxDiscardPkts			Counter64
	}
	
	dslPmCurr15minElapsed OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds elapsed in the current 15 minutes interval"
		::= { dslPmCurr15minEntry 1 }
	
	dslPmCurr15minTxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) transmitted on the
			network (excluding framing bits but including
			FCS octets)."
		::= { dslPmCurr15minEntry 2 }
		
	dslPmCurr15minTxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) transmitted."
		::= { dslPmCurr15minEntry 3 }
	
	dslPmCurr15minTxUnicastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of unicast packets transmitted."
		::= { dslPmCurr15minEntry 4 }
		
	dslPmCurr15minTxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets transmitted."
		::= { dslPmCurr15minEntry 5 }
		
	dslPmCurr15minTxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets transmitted."
		::= { dslPmCurr15minEntry 6 }
		
	dslPmCurr15minTxDiscardPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of discard packets transmitted."
		::= { dslPmCurr15minEntry 7 }
	
	dslPmCurr15minRxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) received on the
			network (excluding framing bits but including
			FCS octets)."
		::= { dslPmCurr15minEntry 8 }
		
	dslPmCurr15minRxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) received."
		::= { dslPmCurr15minEntry 9 }
	
	dslPmCurr15minRxUnicastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of unicast packets received."
		::= { dslPmCurr15minEntry 10 }
		
	dslPmCurr15minRxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets received."
		::= { dslPmCurr15minEntry 11 }
		
	dslPmCurr15minRxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets received."
		::= { dslPmCurr15minEntry 12 }
		
	dslPmCurr15minRxDiscardPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of discard packets received."
		::= { dslPmCurr15minEntry 13 }
	
-- dslPmHist15minTable {pm 20}
	dslPmHist15minTable OBJECT-TYPE
		SYNTAX SEQUENCE OF DslPmHist15minEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A list of DSL statistics historical 15-min PM entries."
		::= { pm 20 }

	dslPmHist15minEntry OBJECT-TYPE
		SYNTAX DslPmHist15minEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A collection of statistics historical 15-min PM kept for a particular
			DSL interface."
		INDEX { ifIndex,
				dslPmHist15minIndex }
		::= { dslPmHist15minTable 1 }

	DslPmHist15minEntry ::= SEQUENCE {
		dslPmHist15minIndex					INTEGER,
		dslPmHist15minElapsed				INTEGER,
		dslPmHist15minStartTime				DisplayString,
		dslPmHist15minEndTime				DisplayString,
		dslPmHist15minTxOctets				Counter64,
		dslPmHist15minTxPkts				Counter64,
		dslPmHist15minTxUnicastPkts			Counter64,
		dslPmHist15minTxBroadcastPkts		Counter64,
		dslPmHist15minTxMulticastPkts		Counter64,
		dslPmHist15minTxDiscardPkts			Counter64,
		dslPmHist15minRxOctets				Counter64,
		dslPmHist15minRxPkts				Counter64,
		dslPmHist15minRxUnicastPkts			Counter64,
		dslPmHist15minRxBroadcastPkts		Counter64,
		dslPmHist15minRxMulticastPkts		Counter64,
		dslPmHist15minRxDiscardPkts			Counter64
	}
	
	dslPmHist15minIndex OBJECT-TYPE
		SYNTAX INTEGER (1..96)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The index of 15-min historical record"
		::= { dslPmHist15minEntry 1 }
	
	dslPmHist15minElapsed OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds elapsed in the historical 15-min interval"
		::= { dslPmHist15minEntry 2 }
		
	dslPmHist15minStartTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The start time of recording of this entry in mm/dd/yyyy hh/mm/ss format
	  mm: 1 ~ 12
 	  dd: 1 ~ 31
 	  yyyy: 1970 ~ 2037		
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { dslPmHist15minEntry 3 }
	
	dslPmHist15minEndTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The end time of recording of this entry in mm/dd/yyyy hh/mm/ss format
	  mm: 1 ~ 12
 	  dd: 1 ~ 31
 	  yyyy: 1970 ~ 2037		
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { dslPmHist15minEntry 4 }  
	
	dslPmHist15minTxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) transmitted on the
			network (excluding framing bits but including
			FCS octets) in the historical 15-min interval."
		::= { dslPmHist15minEntry 5 }
		
	dslPmHist15minTxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) transmitted in the historical 15-min interval."
		::= { dslPmHist15minEntry 6 }
	
	dslPmHist15minTxUnicastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of unicast packets transmitted in the historical 15-min interval."
		::= { dslPmHist15minEntry 7 }
		
	dslPmHist15minTxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets transmitted in the historical 15-min interval."
		::= { dslPmHist15minEntry 8 }
		
	dslPmHist15minTxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets transmitted in the historical 15-min interval."
		::= { dslPmHist15minEntry 9 }
		
	dslPmHist15minTxDiscardPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of discard packets transmitted in the historical 15-min interval."
		::= { dslPmHist15minEntry 10 }
	
	dslPmHist15minRxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) received on the
			network (excluding framing bits but including
			FCS octets) in the historical 15-min interval."
		::= { dslPmHist15minEntry 11 }
		
	dslPmHist15minRxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) received in the historical 15-min interval."
		::= { dslPmHist15minEntry 12 }
	
	dslPmHist15minRxUnicastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of unicast packets received in the historical 15-min interval."
		::= { dslPmHist15minEntry 13 }
		
	dslPmHist15minRxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets received in the historical 15-min interval."
		::= { dslPmHist15minEntry 14 }
		
	dslPmHist15minRxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets received in the historical 15-min interval."
		::= { dslPmHist15minEntry 15 }
		
	dslPmHist15minRxDiscardPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of discard packets received in the historical 15-min interval."
		::= { dslPmHist15minEntry 16 }
	
-- dslPmCurr1dayTable {pm 21}
	dslPmCurr1dayTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DslPmCurr1dayEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A list of dsl statistics PM entries."
	::= { pm 21 }
	
	dslPmCurr1dayEntry OBJECT-TYPE
	SYNTAX DslPmCurr1dayEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"A collection of statistics PM kept for a particular
	Ethernet interface."
	INDEX { ifIndex }
	::= { dslPmCurr1dayTable 1 }
	
	DslPmCurr1dayEntry ::= SEQUENCE {
		dslPmCurr1dayElapsed				INTEGER,
		dslPmCurr1dayTxOctets				Counter64,
		dslPmCurr1dayTxPkts				Counter64,
		dslPmCurr1dayTxUnicastPkts			Counter64,
		dslPmCurr1dayTxBroadcastPkts		Counter64,
		dslPmCurr1dayTxMulticastPkts		Counter64,
		dslPmCurr1dayTxDiscardPkts			Counter64,
		dslPmCurr1dayRxOctets				Counter64,
		dslPmCurr1dayRxPkts				Counter64,
		dslPmCurr1dayRxUnicastPkts			Counter64,
		dslPmCurr1dayRxBroadcastPkts		Counter64,
		dslPmCurr1dayRxMulticastPkts		Counter64,
		dslPmCurr1dayRxDiscardPkts			Counter64
	}
	
	dslPmCurr1dayElapsed OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The seconds elapsed in the current 15 minutes interval"
		::= { dslPmCurr1dayEntry 1 }
	
	dslPmCurr1dayTxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) transmitted on the
			network (excluding framing bits but including
			FCS octets)."
		::= { dslPmCurr1dayEntry 2 }
		
	dslPmCurr1dayTxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) transmitted."
		::= { dslPmCurr1dayEntry 3 }
	
	dslPmCurr1dayTxUnicastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of unicast packets transmitted."
		::= { dslPmCurr1dayEntry 4 }
		
	dslPmCurr1dayTxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets transmitted."
		::= { dslPmCurr1dayEntry 5 }
		
	dslPmCurr1dayTxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets transmitted."
		::= { dslPmCurr1dayEntry 6 }
		
	dslPmCurr1dayTxDiscardPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of discard packets transmitted."
		::= { dslPmCurr1dayEntry 7 }
	
	dslPmCurr1dayRxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) received on the
			network (excluding framing bits but including
			FCS octets)."
		::= { dslPmCurr1dayEntry 8 }
		
	dslPmCurr1dayRxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) received."
		::= { dslPmCurr1dayEntry 9 }
	
	dslPmCurr1dayRxUnicastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of unicast packets received."
		::= { dslPmCurr1dayEntry 10 }
		
	dslPmCurr1dayRxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets received."
		::= { dslPmCurr1dayEntry 11 }
		
	dslPmCurr1dayRxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets received."
		::= { dslPmCurr1dayEntry 12 }
		
	dslPmCurr1dayRxDiscardPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of discard packets received."
		::= { dslPmCurr1dayEntry 13 }
		
-- dslPmHist1dayTable {pm 22}
	dslPmHist1dayTable OBJECT-TYPE
		SYNTAX SEQUENCE OF DslPmHist1dayEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A list of DSL statistics historical 1-day PM entries."
		::= { pm 22 }

	dslPmHist1dayEntry OBJECT-TYPE
		SYNTAX DslPmHist1dayEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A collection of statistics historical 1-day PM kept for a particular
			DSL interface."
		INDEX { ifIndex,
				dslPmHist1dayIndex }
		::= { dslPmHist1dayTable 1 }

	DslPmHist1dayEntry ::= SEQUENCE {
		dslPmHist1dayIndex					INTEGER,
		dslPmHist1dayStartTime				DisplayString,
		dslPmHist1dayEndTime				DisplayString,
		dslPmHist1dayTxOctets				Counter64,
		dslPmHist1dayTxPkts				Counter64,
		dslPmHist1dayTxUnicastPkts			Counter64,
		dslPmHist1dayTxBroadcastPkts		Counter64,
		dslPmHist1dayTxMulticastPkts		Counter64,
		dslPmHist1dayTxDiscardPkts			Counter64,
		dslPmHist1dayRxOctets				Counter64,
		dslPmHist1dayRxPkts				Counter64,
		dslPmHist1dayRxUnicastPkts			Counter64,
		dslPmHist1dayRxBroadcastPkts		Counter64,
		dslPmHist1dayRxMulticastPkts		Counter64,
		dslPmHist1dayRxDiscardPkts			Counter64
	}
	
	dslPmHist1dayIndex OBJECT-TYPE
		SYNTAX INTEGER (1..96)
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The index of 1-day historical record"
		::= { dslPmHist1dayEntry 1 }
			
	dslPmHist1dayStartTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The start time of recording of this entry in mm/dd/yyyy hh/mm/ss format
	  mm: 1 ~ 12
 	  dd: 1 ~ 31
 	  yyyy: 1970 ~ 2037		
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { dslPmHist1dayEntry 2 }
	
	dslPmHist1dayEndTime OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS	read-only
	STATUS	current
	DESCRIPTION
		"The end time of recording of this entry in mm/dd/yyyy hh/mm/ss format
	  mm: 1 ~ 12
 	  dd: 1 ~ 31
 	  yyyy: 1970 ~ 2037		
		hh: 0 ~ 23
		mm: 0 ~ 59
		ss: 0 ~ 59"
	::= { dslPmHist1dayEntry 3 }  
	
	dslPmHist1dayTxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) transmitted on the
			network (excluding framing bits but including
			FCS octets) in the historical 1-day interval."
		::= { dslPmHist1dayEntry 4 }
		
	dslPmHist1dayTxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) transmitted in the historical 1-day interval."
		::= { dslPmHist1dayEntry 5 }
	
	dslPmHist1dayTxUnicastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of unicast packets transmitted in the historical 1-day interval."
		::= { dslPmHist1dayEntry 6 }
		
	dslPmHist1dayTxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets transmitted in the historical 1-day interval."
		::= { dslPmHist1dayEntry 7 }
		
	dslPmHist1dayTxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets transmitted in the historical 1-day interval."
		::= { dslPmHist1dayEntry 8 }
		
	dslPmHist1dayTxDiscardPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of discard packets transmitted in the historical 1-day interval."
		::= { dslPmHist1dayEntry 9 }
	
	dslPmHist1dayRxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) received on the
			network (excluding framing bits but including
			FCS octets) in the historical 1-day interval."
		::= { dslPmHist1dayEntry 10 }
		
	dslPmHist1dayRxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			broadcast packets, and multicast packets) received in the historical 1-day interval."
		::= { dslPmHist1dayEntry 11 }
	
	dslPmHist1dayRxUnicastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of unicast packets received in the historical 1-day interval."
		::= { dslPmHist1dayEntry 12 }
		
	dslPmHist1dayRxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets received in the historical 1-day interval."
		::= { dslPmHist1dayEntry 13 }
		
	dslPmHist1dayRxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets received in the historical 1-day interval."
		::= { dslPmHist1dayEntry 14 }
		
	dslPmHist1dayRxDiscardPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of discard packets received in the historical 1-day interval."
		::= { dslPmHist1dayEntry 15 }
		
-- dslPmThreshProfTable
	dslPmThreshProfTable OBJECT-TYPE
		SYNTAX SEQUENCE OF DslPmThreshProfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"A list of dsl statistics PM threshold profile."
		::= { pm 23 }

	dslPmThreshProfEntry OBJECT-TYPE
		SYNTAX DslPmThreshProfEntry
		MAX-ACCESS not-accessible
		STATUS current
		DESCRIPTION
			"Statistics PM threshold kept for a particular
			dsl interface."
		INDEX { IMPLIED dslPmThreshProfName }
		::= { dslPmThreshProfTable 1 }

	DslPmThreshProfEntry ::= SEQUENCE {
		dslPmThreshProfName						DisplayString,
		dslPmThreshProfTxOctets					DisplayString,
		dslPmThreshProfTxPkts					DisplayString,
		dslPmThreshProfTxUnicastPkts			DisplayString,
		dslPmThreshProfTxBroadcastPkts			DisplayString,
		dslPmThreshProfTxMulticastPkts			DisplayString,
		dslPmThreshProfTxDiscardPkts			DisplayString,
		dslPmThreshProfRxOctets					DisplayString,
		dslPmThreshProfRxPkts					DisplayString,
		dslPmThreshProfRxUnicastPkts			DisplayString,
		dslPmThreshProfRxBroadcastPkts			DisplayString,
		dslPmThreshProfRxMulticastPkts			DisplayString,
		dslPmThreshProfRxDiscardPkts			DisplayString,
		dslPmThreshProfRowStatus					RowStatus
	}

	dslPmThreshProfName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"Profile name of the entry."
		::= { dslPmThreshProfEntry 1 }
		
	dslPmThreshProfTxOctets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of octets of data (including
			those in bad packets) transmitted on the
			network.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { dslPmThreshProfEntry 2 }
		
	dslPmThreshProfTxPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets (including bad packets,
			broadcast packets, and multicast packets) transmitted.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { dslPmThreshProfEntry 3 }
		
	dslPmThreshProfTxUnicastPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of unicast packets transmitted.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { dslPmThreshProfEntry 4 }
		
	dslPmThreshProfTxBroadcastPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of broadcast packets transmitted.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { dslPmThreshProfEntry 5 }
		
	dslPmThreshProfTxMulticastPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of multicast packets transmitted.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { dslPmThreshProfEntry 6 }
		
	dslPmThreshProfTxDiscardPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of discard packets transmitted.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { dslPmThreshProfEntry 7 }
		
	dslPmThreshProfRxOctets OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of octets of data (including
			those in bad packets) received on the network.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { dslPmThreshProfEntry 8 }
		
	dslPmThreshProfRxPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of packets (including bad packets,
			broadcast packets, and multicast packets) received.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { dslPmThreshProfEntry 9 }
		
	dslPmThreshProfRxUnicastPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of unicast packets received.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { dslPmThreshProfEntry 10 }
		
	dslPmThreshProfRxBroadcastPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of broadcast packets received.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { dslPmThreshProfEntry 11 }
		
	dslPmThreshProfRxMulticastPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of multicast packets received.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { dslPmThreshProfEntry 12 }
		
	dslPmThreshProfRxDiscardPkts OBJECT-TYPE
		SYNTAX DisplayString (SIZE (1..20))
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Threshold of the total number of discard packets received.
			Threshold should be a value in the range of 64 bit unsigned integer (0 ~ 18446744073709551615).
			Please set the value you want in string format.
			"
		::= { dslPmThreshProfEntry 13 }
		
	dslPmThreshProfRowStatus OBJECT-TYPE
		SYNTAX RowStatus
		MAX-ACCESS read-create
		STATUS current
		DESCRIPTION
			"Row status of the table entry."
		::= { dslPmThreshProfEntry 14 }		

-- dslPmCurrStatisticTable
	dslPmCurrStatisticTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DslPmCurrStatisticEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A list of DSL current statistics PM entries."
	::= { pm 24 }

	dslPmCurrStatisticEntry OBJECT-TYPE
	SYNTAX DslPmCurrStatisticEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A collection of current statistics PM kept for a particular DSL interface."
	INDEX { ifIndex }
	::= { dslPmCurrStatisticTable 1 }

	DslPmCurrStatisticEntry ::= SEQUENCE {
		dslPmCurrStatisticTxOctets				Counter64,
		dslPmCurrStatisticTxPkts				Counter64,
		dslPmCurrStatisticTxUnicastPkts			Counter64,
		dslPmCurrStatisticTxBroadcastPkts		Counter64,
		dslPmCurrStatisticTxMulticastPkts		Counter64,
		dslPmCurrStatisticTxDiscard				Counter64,
		dslPmCurrStatisticRxOctets				Counter64,
		dslPmCurrStatisticRxPkts				Counter64,
		dslPmCurrStatisticRxUnicastPkts			Counter64,
		dslPmCurrStatisticRxBroadcastPkts		Counter64,
		dslPmCurrStatisticRxMulticastPkts		Counter64,
		dslPmCurrStatisticRxDiscard				Counter64,
		dslPmCurrStatisticTimestamp				Unsigned32
	}

	dslPmCurrStatisticTxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) transmitted on the
			network (excluding framing bits but including
			FCS octets)."
		::= { dslPmCurrStatisticEntry 1 }

	dslPmCurrStatisticTxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			unicast packets, broadcast packets, and multicast
			packets) transmitted."
		::= { dslPmCurrStatisticEntry 2 }

	dslPmCurrStatisticTxUnicastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of unicast packets transmitted."
		::= { dslPmCurrStatisticEntry 3 }

	dslPmCurrStatisticTxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets transmitted."
		::= { dslPmCurrStatisticEntry 4 }

	dslPmCurrStatisticTxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets transmitted."
		::= { dslPmCurrStatisticEntry 5 }

	dslPmCurrStatisticTxDiscard OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets which were chosen to be
			discarded while transmitting."
		::= { dslPmCurrStatisticEntry 6 }

	dslPmCurrStatisticRxOctets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of octets of data (including
			those in bad packets) received on the
			network (excluding framing bits but including
			FCS octets)."
		::= { dslPmCurrStatisticEntry 7 }

	dslPmCurrStatisticRxPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets (including bad packets,
			unicast packets, broadcast packets, and multicast
			packets) received."
		::= { dslPmCurrStatisticEntry 8 }

	dslPmCurrStatisticRxUnicastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of unicast packets received."
		::= { dslPmCurrStatisticEntry 9 }

	dslPmCurrStatisticRxBroadcastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of broadcast packets received."
		::= { dslPmCurrStatisticEntry 10 }

	dslPmCurrStatisticRxMulticastPkts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of multicast packets received."
		::= { dslPmCurrStatisticEntry 11 }

	dslPmCurrStatisticRxDiscard OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The total number of packets which were chosen to be
			discarded while receiving."
		::= { dslPmCurrStatisticEntry 12 }

	dslPmCurrStatisticTimestamp OBJECT-TYPE
		SYNTAX Unsigned32
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			"The time when the counters of port updated."
		::= { dslPmCurrStatisticEntry 13 }

-- dslBondingCurrCountersTable
	dslBondingCurrCountersTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DslBondingCurrCountersEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A list of DSL current counters status."
	::= { pm 25 }

	dslBondingCurrCountersEntry OBJECT-TYPE
	SYNTAX DslBondingCurrCountersEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A collection of current counters status for a particular DSL bonding group."
	INDEX { dslBondingCurrCountersGroupName }
	::= { dslBondingCurrCountersTable 1 }

	DslBondingCurrCountersEntry ::= SEQUENCE {
		dslBondingCurrCountersGroupName					DisplayString,
		dslBondingCurrCountersPtmRxPackets				Counter64,
		dslBondingCurrCountersPtmNumFlushRequests		Counter64,
		dslBondingCurrCountersPtmNumTimeouts			Counter64,
		dslBondingCurrCountersPtmNumDirectSidResets		Counter64,
		dslBondingCurrCountersPtmRxSmallFragments		Counter64,
		dslBondingCurrCountersPtmRxLargeFragments		Counter64,
		dslBondingCurrCountersPtmRxBadFragments			Counter64,
		dslBondingCurrCountersPtmRxLostFragments		Counter64,
		dslBondingCurrCountersPtmRxLostStarts			Counter64,
		dslBondingCurrCountersPtmRxLostEnds				Counter64,
		dslBondingCurrCountersPtmTxPackets				Counter64,
		dslBondingCurrCountersAtmTxCells				Counter64,
		dslBondingCurrCountersAtmRxCells				Counter64,
		dslBondingCurrCountersAtmNumFlushRequests		Counter64,
		dslBondingCurrCountersAtmNumTimeouts			Counter64,
		dslBondingCurrCountersAtmNumDirectSidResets		Counter64,
		dslBondingCurrCountersAtmNumDiscards			Counter64
	}

	dslBondingCurrCountersGroupName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 1 }

	dslBondingCurrCountersPtmRxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 2 }

	dslBondingCurrCountersPtmNumFlushRequests OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 3 }

	dslBondingCurrCountersPtmNumTimeouts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 4 }

	dslBondingCurrCountersPtmNumDirectSidResets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 5 }

	dslBondingCurrCountersPtmRxSmallFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 6 }

	dslBondingCurrCountersPtmRxLargeFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 7 }

	dslBondingCurrCountersPtmRxBadFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 8 }

	dslBondingCurrCountersPtmRxLostFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 9 }

	dslBondingCurrCountersPtmRxLostStarts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 10 }

	dslBondingCurrCountersPtmRxLostEnds OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 11 }

	dslBondingCurrCountersPtmTxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 12 }

	dslBondingCurrCountersAtmTxCells OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 13 }
	
	dslBondingCurrCountersAtmRxCells OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 14 }
	
	dslBondingCurrCountersAtmNumFlushRequests OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 15 }
	
	dslBondingCurrCountersAtmNumTimeouts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 16 }
	
	dslBondingCurrCountersAtmNumDirectSidResets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 17 }
		
	dslBondingCurrCountersAtmNumDiscards OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBondingCurrCountersEntry 18 }

-- dslBonding15minCountersTable
	dslBonding15minCountersTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DslBonding15minCountersEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A list of DSL current counters status."
	::= { pm 26 }

	dslBonding15minCountersEntry OBJECT-TYPE
	SYNTAX DslBonding15minCountersEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A collection of 15 minutes counters status for a particular DSL bonding group."
	INDEX { dslBonding15minCountersGroupName }
	::= { dslBonding15minCountersTable 1 }

	DslBonding15minCountersEntry ::= SEQUENCE {
		dslBonding15minCountersGroupName				DisplayString,
		dslBonding15minCountersElapsed					INTEGER,
		dslBonding15minCountersPtmRxPackets				Counter64,
		dslBonding15minCountersPtmNumFlushRequests		Counter64,
		dslBonding15minCountersPtmNumTimeouts			Counter64,
		dslBonding15minCountersPtmNumDirectSidResets	Counter64,
		dslBonding15minCountersPtmRxSmallFragments		Counter64,
		dslBonding15minCountersPtmRxLargeFragments		Counter64,
		dslBonding15minCountersPtmRxBadFragments		Counter64,
		dslBonding15minCountersPtmRxLostFragments		Counter64,
		dslBonding15minCountersPtmRxLostStarts			Counter64,
		dslBonding15minCountersPtmRxLostEnds			Counter64,
		dslBonding15minCountersPtmTxPackets				Counter64,
		dslBonding15minCountersAtmTxCells				Counter64,
		dslBonding15minCountersAtmRxCells				Counter64,
		dslBonding15minCountersAtmNumFlushRequests		Counter64,
		dslBonding15minCountersAtmNumTimeouts			Counter64,
		dslBonding15minCountersAtmNumDirectSidResets	Counter64,
		dslBonding15minCountersAtmNumDiscards			Counter64
	}

	dslBonding15minCountersGroupName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 1 }
		
	dslBonding15minCountersElapsed OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 2 }

	dslBonding15minCountersPtmRxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 3 }

	dslBonding15minCountersPtmNumFlushRequests OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 4 }

	dslBonding15minCountersPtmNumTimeouts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 5 }

	dslBonding15minCountersPtmNumDirectSidResets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 6 }

	dslBonding15minCountersPtmRxSmallFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 7 }

	dslBonding15minCountersPtmRxLargeFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 8 }

	dslBonding15minCountersPtmRxBadFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 9 }

	dslBonding15minCountersPtmRxLostFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 10 }

	dslBonding15minCountersPtmRxLostStarts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 11 }

	dslBonding15minCountersPtmRxLostEnds OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 12 }

	dslBonding15minCountersPtmTxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 13 }

	dslBonding15minCountersAtmTxCells OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 14 }
	
	dslBonding15minCountersAtmRxCells OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 15 }
	
	dslBonding15minCountersAtmNumFlushRequests OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 16 }
	
	dslBonding15minCountersAtmNumTimeouts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 17 }
	
	dslBonding15minCountersAtmNumDirectSidResets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 18 }
		
	dslBonding15minCountersAtmNumDiscards OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding15minCountersEntry 19 }
		
-- dslBonding1dayCountersTable
	dslBonding1dayCountersTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DslBonding1dayCountersEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A list of DSL current counters status."
	::= { pm 27 }

	dslBonding1dayCountersEntry OBJECT-TYPE
	SYNTAX DslBonding1dayCountersEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"A collection of 1 day counters status for a particular DSL bonding group."
	INDEX { dslBonding1dayCountersGroupName }
	::= { dslBonding1dayCountersTable 1 }

	DslBonding1dayCountersEntry ::= SEQUENCE {
		dslBonding1dayCountersGroupName					DisplayString,
		dslBonding1dayCountersElapsed					INTEGER,
		dslBonding1dayCountersPtmRxPackets				Counter64,
		dslBonding1dayCountersPtmNumFlushRequests		Counter64,
		dslBonding1dayCountersPtmNumTimeouts			Counter64,
		dslBonding1dayCountersPtmNumDirectSidResets		Counter64,
		dslBonding1dayCountersPtmRxSmallFragments		Counter64,
		dslBonding1dayCountersPtmRxLargeFragments		Counter64,
		dslBonding1dayCountersPtmRxBadFragments			Counter64,
		dslBonding1dayCountersPtmRxLostFragments		Counter64,
		dslBonding1dayCountersPtmRxLostStarts			Counter64,
		dslBonding1dayCountersPtmRxLostEnds				Counter64,
		dslBonding1dayCountersPtmTxPackets				Counter64,
		dslBonding1dayCountersAtmTxCells				Counter64,
		dslBonding1dayCountersAtmRxCells				Counter64,
		dslBonding1dayCountersAtmNumFlushRequests		Counter64,
		dslBonding1dayCountersAtmNumTimeouts			Counter64,
		dslBonding1dayCountersAtmNumDirectSidResets		Counter64,
		dslBonding1dayCountersAtmNumDiscards			Counter64
	}

	dslBonding1dayCountersGroupName OBJECT-TYPE
		SYNTAX DisplayString
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 1 }
		
	dslBonding1dayCountersElapsed OBJECT-TYPE
		SYNTAX INTEGER
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 2 }

	dslBonding1dayCountersPtmRxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 3 }

	dslBonding1dayCountersPtmNumFlushRequests OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 4 }

	dslBonding1dayCountersPtmNumTimeouts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 5 }

	dslBonding1dayCountersPtmNumDirectSidResets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 6 }

	dslBonding1dayCountersPtmRxSmallFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 7 }

	dslBonding1dayCountersPtmRxLargeFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 8 }

	dslBonding1dayCountersPtmRxBadFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 9 }

	dslBonding1dayCountersPtmRxLostFragments OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 10 }

	dslBonding1dayCountersPtmRxLostStarts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 11 }

	dslBonding1dayCountersPtmRxLostEnds OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 12 }

	dslBonding1dayCountersPtmTxPackets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 13 }

	dslBonding1dayCountersAtmTxCells OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 14 }
	
	dslBonding1dayCountersAtmRxCells OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 15 }
	
	dslBonding1dayCountersAtmNumFlushRequests OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 16 }
	
	dslBonding1dayCountersAtmNumTimeouts OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 17 }
	
	dslBonding1dayCountersAtmNumDirectSidResets OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 18 }
		
	dslBonding1dayCountersAtmNumDiscards OBJECT-TYPE
		SYNTAX Counter64
		MAX-ACCESS read-only
		STATUS current
		DESCRIPTION
			""
		::= { dslBonding1dayCountersEntry 19 }

		
-- syslog

	syslogEnable OBJECT-TYPE
    SYNTAX INTEGER {
	enable(1),
	disable(2)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
		"Enable/disable syslog function."
    ::= { syslog 1 }

-- syslogServerIpTable

    syslogServerIpTable OBJECT-TYPE
    SYNTAX SEQUENCE OF SyslogServerIpEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
        "Sets the IP addresses of Syslog managers (stations to send your Syslog message to).
        You can configure up to four managers."
   	::= { syslog 2 }

    syslogServerIpEntry OBJECT-TYPE
    SYNTAX SyslogServerIpEntry
    MAX-ACCESS not-accessible
    STATUS current
    DESCRIPTION
    	""
    INDEX { syslogServerIpIndex }
    ::= { syslogServerIpTable 1 }

   	SyslogServerIpEntry ::=
        	SEQUENCE {
        		syslogServerIpIndex		INTEGER,
        		syslogServerIpAddressType	InetAddressType,
            		syslogServerIpAddress		InetAddress
    	   	}

	syslogServerIpIndex OBJECT-TYPE
	SYNTAX INTEGER (1..4)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Index of Syslog servers"
	::= { syslogServerIpEntry 1 }

	syslogServerIpAddressType OBJECT-TYPE
    	SYNTAX  InetAddressType {
                 ipv4(1),
                 ipv6(2)
    	}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Syslog server IP address type"
	::= { syslogServerIpEntry 2 }

	syslogServerIpAddress OBJECT-TYPE
	SYNTAX InetAddress
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Syslog server IP address
		<ipv4-address> 0.0.0.0 ~ 223.255.255.255
		<ipv6-address> :: ~ ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff
		Limit: syslogServerIpAddressType must be set before syslogServerIpAddress."
	::= { syslogServerIpEntry 3 }

--------------------------------------------------------------------------------------------------------
-- dot3ad
--------------------------------------------------------------------------------------------------------

-- dot3adTable

	dot3adTable OBJECT-TYPE
	SYNTAX SEQUENCE OF Dot3adEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains 802.3ad configuration."
	::= { dot3ad 1 }

	dot3adEntry OBJECT-TYPE
	SYNTAX Dot3adEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { dot3adGroupId }
	::= { dot3adTable 1 }

	Dot3adEntry ::=
		SEQUENCE {
			dot3adGroupId		INTEGER,
			dot3adEnable		INTEGER,
			dot3adGroupName		DisplayString,
			dot3adGroupPortList	PortList
		}

	dot3adGroupId OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"Group ID=1 for uplink group in ves1724-58v."
	::= { dot3adEntry 1 }

	dot3adEnable OBJECT-TYPE
	SYNTAX 	INTEGER {
			enable(1),
			enableWithLacp(2),
			disable(3)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"Enable/disable 802.3ad function. When dot3ad is enabled, vlan-untag setting will be synchronized between GE 1 and GE 2 (GE 2 will Follow GE 1).
		enable(1) - GE ports are aggregated statically.
		enableWithLacp(2) - GE ports are aggregated and controlled by LACP.
		disable(3) - Disable 802.3ad function.
		"
	::= { dot3adEntry 2 }

	dot3adGroupName OBJECT-TYPE
	SYNTAX DisplayString
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The trunking group name."
	::= { dot3adEntry 3 }

	dot3adGroupPortList OBJECT-TYPE
	SYNTAX PortList
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The port list which joins the trunking group."
	::= { dot3adEntry 4 }


	lacpPriority OBJECT-TYPE
	SYNTAX INTEGER (0..65535)
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"LACP system priority."
	::= { dot3ad 2 }

	lacpTimeout OBJECT-TYPE
	SYNTAX INTEGER {
			shorttimeout(1),
			longtimeout(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The time interval to exchange LACP packets in order to check that the peer port
		in the trunk group is still up.
		shorttimeout : 1-sec timeout
		longtimeout  : 30-sec timeout"
	::= { dot3ad 3 }
	
-- dot3adStatus

    dot3adStatus	OBJECT IDENTIFIER ::= { dot3ad 4 }

    actor OBJECT-TYPE
    SYNTAX PhysAddress (SIZE (6))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The local system of trunking group."
    ::= { dot3adStatus 1 }

    actorPriority OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The actor priority."
    ::= { dot3adStatus 2 }

    actorKey OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The actor key."
    ::= { dot3adStatus 3 }

    partner OBJECT-TYPE
    SYNTAX PhysAddress (SIZE (6))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The remote system of trunking group."
    ::= { dot3adStatus 4 }

    partnerPriority OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The partner priority."
    ::= { dot3adStatus 5 }

    partnerKey OBJECT-TYPE
    SYNTAX INTEGER
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The partner key."
    ::= { dot3adStatus 6 }

    links OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The links port."
    ::= { dot3adStatus 7 }

    syncs OBJECT-TYPE
    SYNTAX DisplayString (SIZE (0..31))
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The synchronization state."
    ::= { dot3adStatus 8 }

-- dot3adStatistic
    dot3adStatistic	OBJECT IDENTIFIER ::= { dot3ad 5 }

   dot3adStatisticTxUtilization OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"Link Aggregation current transmission utilization in 0.01 percentage(100 = 1.00%)."
    ::= { dot3adStatistic 1 }

    dot3adStatisticTxSpeed OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"Link Aggregation  current transmission speed in kbps."
    ::= { dot3adStatistic 2 }

    dot3adStatisticRxUtilization OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"Link Aggregation current receive utilization in 0.01 percentage(100 = 1.00%)."
    ::= { dot3adStatistic 3 }
    
    dot3adStatisticRxSpeed OBJECT-TYPE
    SYNTAX Unsigned32
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
	"Link Aggregation  current receiving speed in kbps."
    ::= { dot3adStatistic 4 }
    
    dot3adStatisticsTxOctet OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of octets of data (including
    	those in bad packets) transmitted on the
    	network (excluding framing bits but including
    	FCS octets)."
    ::= { dot3adStatistic 5 }

    dot3adStatisticTxPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets (including bad packets,
    	broadcast packets, and multicast packets) transmitted."
    ::= { dot3adStatistic 6 }

    dot3adStatisticTxBroadcastPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of broadcast packets transmitted. Note that
    	this does not include multicast packets."
    ::= { dot3adStatistic 7 }

    dot3adStatisticTxMulticastPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of multicast packets transmitted. Note that this
    	number does not include packets directed to the
    	broadcast address."
    ::= { dot3adStatistic 8 }

    dot3adStatisticRxOctets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of octets of data (including
    	those in bad packets) received on the
    	network (excluding framing bits but including
    	FCS octets)."
    ::= { dot3adStatistic 9 }

    dot3adStatisticRxPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets (including bad packets,
    	broadcast packets, and multicast packets) received."
    ::= { dot3adStatistic 10 }

    dot3adStatisticRxBroadcastPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of good packets received that were
    	directed to the broadcast address.  Note that this
    	does not include multicast packets."
    ::= { dot3adStatistic 11 }

    dot3adStatisticRxMulticastPkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of good packets received that were
    	directed to a multicast address.  Note that this
    	number does not include packets directed to the
    	broadcast address."
    ::= { dot3adStatistic 12 }

    dot3adStatisticRxCRCAlignErrors OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets received that
    	had a length (excluding framing bits, but
    	including FCS octets) of between 64 and 1518
    	octets, inclusive, but but had either a bad
    	Frame Check Sequence (FCS) with an integral
    	number of octets (FCS Error) or a bad FCS with
    	a non-integral number of octets (Alignment Error)."
    ::= { dot3adStatistic 13 }

    dot3adStatisticRxUndersizePkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets received that were
    	less than 64 octets long (excluding framing bits,
    	but including FCS octets) and were otherwise well
    	formed."
    ::= { dot3adStatistic 14 }

    dot3adStatisticRxOversizePkts OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets received that were
    	longer than 1518 octets (excluding framing bits,
    	but including FCS octets) and were otherwise
    	well formed."
    ::= { dot3adStatistic 15 }

    dot3adStatisticRxFragments OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets received that were less
    	than 64 octets in length (excluding framing bits but
    	including FCS octets) and had either a bad Frame
    	Check Sequence (FCS) with an integral number of
    	octets (FCS Error) or a bad FCS with a non-integral
    	number of octets (Alignment Error).

    	Note that it is entirely normal for
    	gePmCurr15minFragments to increment.  This is because
    	it counts both runts (which are normal occurrences
    	due to collisions) and noise hits."
    ::= { dot3adStatistic 16 }

    dot3adStatisticCollisions OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The best estimate of the total number of collisions
    	on this Ethernet segment."
    ::= { dot3adStatistic 17 }

    dot3adStatisticPkts64Octets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets (including bad
    	packets) transmitted and received that were 64 octets in length
    	(excluding framing bits but including FCS octets)."
    ::= { dot3adStatistic 18 }

    dot3adStatisticPkts65to127Octets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets (including bad
    	packets) transmitted and received that were between
    	65 and 127 octets in length inclusive
    	(excluding framing bits but including FCS octets)."
    ::= { dot3adStatistic 19 }

    dot3adStatisticPkts128to255Octets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets (including bad
    	packets) transmitted and received that were between
    	128 and 255 octets in length inclusive
    	(excluding framing bits but including FCS octets)."
    ::= { dot3adStatistic 20 }

    dot3adStatisticPkts256to511Octets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets (including bad
    	packets) transmitted and received that were between
    	256 and 511 octets in length inclusive
    	(excluding framing bits but including FCS octets)."
    ::= { dot3adStatistic 21 }

    dot3adStatisticPkts512to1023Octets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets (including bad
    	packets) transmitted and received that were between
    	512 and 1023 octets in length inclusive
    	(excluding framing bits but including FCS octets)."
    ::= { dot3adStatistic 22 }

    dot3adStatisticPkts1024to1518Octets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets (including bad
    	packets) transmitted and received that were between
    	1024 and 1518 octets in length inclusive
    	(excluding framing bits but including FCS octets)."
    ::= { dot3adStatistic 23 }

    dot3adStatisticPkts1519to1522Octets OBJECT-TYPE
    SYNTAX Counter64
    MAX-ACCESS read-only
    STATUS current
    DESCRIPTION
    	"The total number of packets (including bad
    	packets) transmitted and received that were between
    	1519 and 1522 octets in length inclusive
    	(excluding framing bits but including FCS octets)."
    ::= { dot3adStatistic 24 }

    dot3adStatisticOperation OBJECT-TYPE
    SYNTAX INTEGER {
        clear(1)
    }
    MAX-ACCESS read-write
    STATUS current
    DESCRIPTION
        "clear(1): Clears statistics for current link aggregation.
        The agent will reset the object's value to zero when the operation is done."
    ::= { dot3adStatistic 25 }


-- loadDistribution	
	loadDistribution OBJECT-TYPE
	SYNTAX INTEGER {
			src-mac(1),
			dst-mac(2),
			src-dst-mac(3),
			src-ip(4),
			dst-ip(5),
			src-dst-ip(6),
			src-dst-ipmac(7)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The fields in packets that will be used as load sharing mechanism.
		src-mac(1): load distribution will be based on 
					source MAC address of the incoming packets.
		dst-mac(2): load distribution will be based on 
					destination MAC address of the incoming packets.
		src-dst-mac(3): load distribution will be based on 
					both source and destination MAC address of the incoming packets.
		src-ip(4): load distribution will be based on 
					source IP address of the incoming packets.
		dst-ip(5): load distribution will be based on 
					destination IP address of the incoming packets.
		src-dst-ip(6): load distribution will be based on 
					both source and destination IP address of the incoming packets.
		src-dst-ipmac(7): load distribution will be based on 
					both source and destination IP and MAC address of the incoming packets."
	::= { dot3ad 6 }

--------------------------------------------------------------------------------------------------------
-- sfpwhitelist
--------------------------------------------------------------------------------------------------------

--	sfpwhitelistMode OBJECT-TYPE
--	SYNTAX INTEGER {
--	    	alarm(1),
--	    	blocking(2)
--		}
--	MAX-ACCESS read-write
--	STATUS current
--	DESCRIPTION
--		"configures the action will take when detecting SFP no in white list,
--		alarm mode will not force link down and trigger alarm only,
--		blocking mode will force link down and also trigger alarm."
--	::= { sfpwhitelist 1 }

-- sfpwhitelistTable

--	sfpwhitelistTable OBJECT-TYPE
--	SYNTAX SEQUENCE OF SfpwhitelistEntry
--	MAX-ACCESS not-accessible
--	STATUS current
--	DESCRIPTION
--		"The table contains SFP white list."
--	::= { sfpwhitelist 2 }
--
--	sfpwhitelistEntry OBJECT-TYPE
--	SYNTAX SfpwhitelistEntry
--	MAX-ACCESS not-accessible
--	STATUS current
--	DESCRIPTION
--		""
--	INDEX { IMPLIED sfpVendorName }
--	::= { sfpwhitelistTable 1 }
--
--	SfpwhitelistEntry ::=
--		SEQUENCE {
--			sfpVendorName		DisplayString
--		}
--
--	sfpVendorName OBJECT-TYPE
--	SYNTAX DisplayString
--	MAX-ACCESS read-only
--	STATUS current
--	DESCRIPTION
--		"The SFP vendor name that is in white list."
--	::= { sfpwhitelistEntry 1 }

--------------------------------------------------------------------------------------------------------
-- daisychain
--------------------------------------------------------------------------------------------------------

-- daisychainTable

	daisychainTable OBJECT-TYPE
	SYNTAX SEQUENCE OF DaisychainEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"The table contains if uplink port is in daisychain mode."
	::= { daisychain 1 }

	daisychainEntry OBJECT-TYPE
	SYNTAX DaisychainEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		""
	INDEX { ifIndex }
	::= { daisychainTable 1 }

	DaisychainEntry ::=
		SEQUENCE {
			daisychainMode		INTEGER
		}

	daisychainMode OBJECT-TYPE
	SYNTAX INTEGER {
			standalone(1),
	    	daisychain(2)
		}
	MAX-ACCESS read-write
	STATUS current
	DESCRIPTION
		"The mode of uplink port."
	::= { daisychainEntry 1 }

--------------------
--  smcast
--------------------

	maxNumberOfSmcastPortGroups OBJECT-TYPE
	SYNTAX INTEGER
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
		"The max number of static multicast groups supported by each port."
	::= { smcast 1 }
-- smcastTagGroupTable

    smcastPortTagGroupTable OBJECT-TYPE
        SYNTAX SEQUENCE OF SmcastPortTagGroupEntry
        MAX-ACCESS not-accessible
        STATUS current
        DESCRIPTION
		"This table specify the static multicast group with MAC address.
		"
        ::= { smcast 2 }

	smcastPortTagGroupEntry OBJECT-TYPE
	SYNTAX SmcastPortTagGroupEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"An entry of smcastTagGroupTable."
	INDEX { ifIndex,smcastPortTagGroupVid, smcastPortTagGroupMac }
	::= { smcastPortTagGroupTable 1 }

	SmcastPortTagGroupEntry ::=
		SEQUENCE {
		smcastPortTagGroupVid		VlanIndex,
		smcastPortTagGroupMac		PhysAddress,
		smcastPortTagGroupRowStatus		RowStatus
		}

	smcastPortTagGroupVid OBJECT-TYPE
	SYNTAX VlanIndex (1..4093)
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The VLAN ID for multicast MAC address group."
	::= { smcastPortTagGroupEntry 1 }

	smcastPortTagGroupMac OBJECT-TYPE
	SYNTAX  PhysAddress (SIZE (6))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The multicast MAC address of the group."
	::= { smcastPortTagGroupEntry 2 }

	smcastPortTagGroupRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"The row status of the MAC multicast group entry."
	::= { smcastPortTagGroupEntry 3 }

-- smcastUntagGroupTable

    smcastPortUntagGroupTable OBJECT-TYPE
	SYNTAX SEQUENCE OF SmcastPortUntagGroupEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
	"This table specify the static multicast group with MAC address.
	"
	::= { smcast 3 }

	smcastPortUntagGroupEntry OBJECT-TYPE
	SYNTAX SmcastPortUntagGroupEntry
	MAX-ACCESS not-accessible
	STATUS current
	DESCRIPTION
		"An entry of smcastUntagGroupTable."
	INDEX { ifIndex,smcastPortUntagGroupMac }
	::= { smcastPortUntagGroupTable 1 }

	SmcastPortUntagGroupEntry ::=
		SEQUENCE {
		smcastPortUntagGroupMac		PhysAddress,
		smcastPortUntagGroupRowStatus		RowStatus
		}

	smcastPortUntagGroupMac OBJECT-TYPE
	SYNTAX  PhysAddress (SIZE (6))
	MAX-ACCESS read-only
	STATUS current
	DESCRIPTION
	"The multicast MAC address of the group."
	::= { smcastPortUntagGroupEntry 1 }

	smcastPortUntagGroupRowStatus OBJECT-TYPE
	SYNTAX RowStatus
	MAX-ACCESS read-create
	STATUS current
	DESCRIPTION
	"The row status of the MAC multicast group entry."
	::= { smcastPortUntagGroupEntry 2 }


END
