PBI-TRAP-MAIN-MIB DEFINITIONS ::= BEGIN   

IMPORTS
    MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, enterprises		FROM SNMPv2-SMI
    DisplayString														FROM SNMPv2-TC;
    
pbi	OBJECT IDENTIFIER	::= { enterprises 38295 } 

pbiTrap	MODULE-IDENTITY
        LAST-UPDATED "201207240905Z"
        ORGANIZATION "PBI"
        CONTACT-INFO "
        		Albert Wang
				E-mail: xkwang@pbicn.com"
        DESCRIPTION "
                This file defines the MIB of PBI-Trap which inludes the configuration of Trap and the content of Trap event."
        REVISION	"201110111500Z"
        DESCRIPTION "
        		Start to define this MIB file, which version is v1.0 beta."
        REVISION	"201205110905Z"
        DESCRIPTION "
        		Remove the definition of pbiTraps and pbiNotifications. Add the OID for PBI Module and improve the structure.
        		The version of the MIB file is v1.0."  
        REVISION	"201207240905Z"
        DESCRIPTION "  
        		Add device mac address to trap event table.The version of the MIB file is v1.1."
        REVISION	"201410310700Z"
        DESCRIPTION "
        		Modify the index name of 'pbiTrapEventEntry'. The version is v1.2."
		      		
        ::= { pbi 2 }

-- The configuration of PBI Trap
pbiTrapConfiguration	OBJECT IDENTIFIER	::= { pbiTrap 1}
        
pbiTrapConfigDestinationTable	OBJECT-TYPE
        SYNTAX          SEQUENCE OF PbiTrapConfigDestinationEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "The table of Trap destination group."
        ::= { pbiTrapConfiguration 1 }

pbiTrapConfigDestinationEntry	OBJECT-TYPE
        SYNTAX          PbiTrapConfigDestinationEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "The entry in the table of Trap destination group."
        INDEX   { pbiTrapConfigDestinationIndex }
        ::= { pbiTrapConfigDestinationTable 1 }

PbiTrapConfigDestinationEntry	::=  
        SEQUENCE {  
	        pbiTrapConfigDestinationIndex			INTEGER, 
	        pbiTrapConfigDestinationIpAddress		IpAddress,
	       	pbiTrapConfigDestinationPort			INTEGER,
	        pbiTrapConfigDestinationCommunity		DisplayString, 
	        pbiTrapConfigDestinationVersion			INTEGER,
	        pbiTrapConfigDestinationAction			INTEGER
        }                                                    
                                                                                                    
pbiTrapConfigDestinationIndex	OBJECT-TYPE
        SYNTAX          INTEGER	(1..10)          
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The index of Trap destination table."
        ::= { pbiTrapConfigDestinationEntry 1 }
                                                    
pbiTrapConfigDestinationIpAddress	OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The IP address of Trap destination."
        ::= { pbiTrapConfigDestinationEntry 2 } 

pbiTrapConfigDestinationPort	OBJECT-TYPE
        SYNTAX          INTEGER	(1..65535)          
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The port of Trap destination. The valid value is 162, or 1024 to 65535."
        ::= { pbiTrapConfigDestinationEntry 3 }      
        
pbiTrapConfigDestinationCommunity	OBJECT-TYPE
        SYNTAX          DisplayString	(SIZE(1 .. 20))
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The community of Trap."
        ::= { pbiTrapConfigDestinationEntry 4 }      
        
pbiTrapConfigDestinationVersion	OBJECT-TYPE
        SYNTAX  INTEGER{
                        snmpv1-trap(1),
                       	snmpv2-trap(2)
                       }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "The version of Trap."
        ::= { pbiTrapConfigDestinationEntry 5 }  
        
pbiTrapConfigDestinationAction	OBJECT-TYPE
        SYNTAX  INTEGER{
                        disable(1),
                       	enable(2)
                       }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
                "Disable or enable the function of Trap sending."
        ::= { pbiTrapConfigDestinationEntry 6 }  
                
-- The event table of PBI Trap 
pbiTrapEventTable	OBJECT-TYPE
        SYNTAX          SEQUENCE OF PbiTrapEventEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "The table of Trap event."
        ::= { pbiTrap 2 }

pbiTrapEventEntry	OBJECT-TYPE
        SYNTAX          PbiTrapEventEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
                "The entry in the table of Trap event."
        INDEX   { pbiTrapEventIndex }
        ::= { pbiTrapEventTable 1 }

PbiTrapEventEntry	::=  
        SEQUENCE {
	        pbiTrapEventIndex					INTEGER,
	        pbiTrapEventAgentName				DisplayString,
	        pbiTrapEventAgentIpAddress			IpAddress,  
	        pbiTrapEventAgentMac                DisplayString,
	        pbiTrapEventCode					DisplayString,        
	        pbiTrapEventSeverity				INTEGER,	   
	        pbiTrapEventSpecificProblem         DisplayString,
	        pbiTrapEventGeneratedTime			TimeTicks
        }
        
pbiTrapEventIndex	OBJECT-TYPE
        SYNTAX          INTEGER     (1..64)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The index of Trap content table."
        ::= { pbiTrapEventEntry 1 }

pbiTrapEventAgentName	OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The name of SNMP-Trap agent."
        ::= { pbiTrapEventEntry 2 }

pbiTrapEventAgentIpAddress	OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The IP address of SNMP-Trap agent."
        ::= { pbiTrapEventEntry 3 } 
        
pbiTrapEventAgentMac	OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The Mac address of SNMP-Trap agent."
        ::= { pbiTrapEventEntry 4 }        

pbiTrapEventCode	OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The probable cause about Trap was displayed with the event code."
        ::= { pbiTrapEventEntry 5 }      
        
pbiTrapEventSeverity	OBJECT-TYPE
        SYNTAX INTEGER{   
        			   information(1),
                       warning(2),  
                       major(3),
                       critical(4), 
                       cleared(5)                    
                       }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The severity of Trap event."
        ::= { pbiTrapEventEntry 6 }

pbiTrapEventSpecificProblem	OBJECT-TYPE
        SYNTAX          DisplayString
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "The description and explanation about the event code of Trap."
        ::= { pbiTrapEventEntry 7 }

pbiTrapEventGeneratedTime	OBJECT-TYPE
        SYNTAX			TimeTicks
        MAX-ACCESS		read-only
        STATUS			current
        DESCRIPTION
                "The generated time of Trap."
        ::= { pbiTrapEventEntry 8 }

-- The different module in PBI 
pbiTrapModule	OBJECT IDENTIFIER    ::= { pbiTrap 3 }

END
