--------------------------------------------------------------------------------
-- ACMEPACKET-LICENSE-MIB:  Acme Packet license MIB file
--
-- November 2004
--
-- Copyright (c) by Acme Packet, Inc.
-- All rights reserved.
--------------------------------------------------------------------------------
-- This MIB provides a means to gather license information generated 
-- by Acme Packet Session Router and Session Director
-- 

APLICENSE-MIB DEFINITIONS ::= BEGIN

IMPORTS
	MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
	Integer32, Unsigned32
					FROM SNMPv2-SMI
	DisplayString, TruthValue
                			FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
					FROM SNMPv2-CONF
	acmepacketMgmt			FROM ACMEPACKET-SMI;
     
apLicenseModule	MODULE-IDENTITY
	       LAST-UPDATED     "201207160000Z"
   	       ORGANIZATION     "Acme Packet, Inc"
	       CONTACT-INFO
			  "       Customer Service
                        Postal: Acme Packet, Inc
                                100 Crosby Drive
                                Bedford, MA 01730
                                US
                        Tel:    1-781-328-4400
                        E-mail: support@acmepacket.com"
		DESCRIPTION
			"The license inventory MIB for Acme Packet"
                REVISION         "201207160000Z"
                DESCRIPTION      "Updated contact info"
		::= { acmepacketMgmt 5 }

apLicenseMIBObjects  OBJECT IDENTIFIER ::= { apLicenseModule 1 }

-- license table
apLicenseTable OBJECT-TYPE
        SYNTAX  	SEQUENCE OF ApLicenseEntry
        MAX-ACCESS      not-accessible
        STATUS  	current
        DESCRIPTION
                "The table of all licenses, including the system-wide
		consolidated license (always index 1)"
        ::= { apLicenseMIBObjects 1 }

apLicenseEntry OBJECT-TYPE
        SYNTAX  	ApLicenseEntry
        MAX-ACCESS      not-accessible
        STATUS  	current
        DESCRIPTION
                "An entry in the table of all licenses"
        INDEX           { apLicenseIndex }
        ::= { apLicenseTable 1}


ApLicenseEntry ::=
        SEQUENCE {
                apLicenseIndex    	Integer32 (1..2147483647),
                apLicenseKey		DisplayString,
		apLicenseCapacity	Unsigned32,
		apLicenseInstallDate	DisplayString,
		apLicenseBeginDate	DisplayString,
		apLicenseExpireDate	DisplayString,
		apLicenseSIPFeature	TruthValue,
		apLicenseMGCPFeature	TruthValue,
		apLicenseH323Feature	TruthValue,
		apLicenseIWFFeature	TruthValue,
		apLicenseQOSFeature	TruthValue,
		apLicenseACPFeature	TruthValue,
		apLicenseLPFeature	TruthValue,
		apLicenseSAGFeature	TruthValue,
		apLicenseACCTFeature	TruthValue,
		apLicenseHAFeature	TruthValue,
		apLicensePACFeature	TruthValue,
		apLicenseIKEFeature	TruthValue,
		apLicenseIPsecTunCap    Unsigned32,
		apLicenseAuthFeature	TruthValue,
		apLicenseDatabaseRegFeature TruthValue,
		apLicenseDatabaseRegCap Unsigned32,
		apLicenseSLBEndpointCap Unsigned32
		}
	
apLicenseIndex OBJECT-TYPE
        SYNTAX          Integer32 (1..2147483647)
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION     
                "Unique index for the license table. 
                Index always begins at 1, and increases by 1. 
                The table length depends on the number of licenses 
                installed plus 1. 1st index is always the consolidated
		system-wide license."
        ::= { apLicenseEntry 1 }


apLicenseKey OBJECT-TYPE
        SYNTAX  	DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS  	current
        DESCRIPTION     
       		"key, not applicable to 1st index, which is consolidated
		license."   
        ::= { apLicenseEntry 2 }

apLicenseCapacity	OBJECT-TYPE
        SYNTAX          Unsigned32
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     
                "Capacity"   
        ::= { apLicenseEntry 3 }

apLicenseInstallDate OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "installation date/time"
        ::= { apLicenseEntry 4 }

apLicenseBeginDate OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "begin date/time"
        ::= { apLicenseEntry 5 }

apLicenseExpireDate OBJECT-TYPE
        SYNTAX          DisplayString (SIZE (0..255))
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "expiration date/time"
        ::= { apLicenseEntry 6 }

apLicenseSIPFeature OBJECT-TYPE
        SYNTAX          TruthValue
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if SIP feature is allowed, false if not"
        ::= { apLicenseEntry 7 }

apLicenseMGCPFeature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if MGCP feature is allowed, false if not"
        ::= { apLicenseEntry 8 }

apLicenseH323Feature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if H323 feature is allowed, false if not"
        ::= { apLicenseEntry 9 }

apLicenseIWFFeature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if IWF feature is allowed, false if not"
        ::= { apLicenseEntry 10 }

apLicenseQOSFeature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if QOS feature is allowed, false if not"
        ::= { apLicenseEntry 11 }

apLicenseACPFeature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if ACP feature is allowed, false if not"
        ::= { apLicenseEntry 12 }

apLicenseLPFeature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if Routing (Local Policy) feature is allowed, false if not"
        ::= { apLicenseEntry 13 }

apLicenseSAGFeature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if Load Balancing (SAG) feature is allowed, false if not"
        ::= { apLicenseEntry 14 }

apLicenseACCTFeature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if Accounting feature is allowed, false if not"
        ::= { apLicenseEntry 15 }

apLicenseHAFeature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if High Availability feature is allowed, false if not"
        ::= { apLicenseEntry 16 }

apLicensePACFeature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if PAC feature is allowed, false if not"
        ::= { apLicenseEntry 17 }

apLicenseIKEFeature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if IKE feature is allowed, false if not"
        ::= { apLicenseEntry 18 }

apLicenseIPsecTunCap	OBJECT-TYPE
        SYNTAX          Unsigned32
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     
                "IPsec Tunnel Capacity"   
        ::= { apLicenseEntry 19 }

apLicenseAuthFeature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if authorization/authentication feature is allowed,
		false if not"
        ::= { apLicenseEntry 20 }

apLicenseDatabaseRegFeature OBJECT-TYPE
        SYNTAX          TruthValue
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
                "true if database registrar functionality is allowed,
		false if not"
        ::= { apLicenseEntry 21 }

apLicenseDatabaseRegCap	OBJECT-TYPE
        SYNTAX          Unsigned32
	MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     
                "Database registration contact capacity"
        ::= { apLicenseEntry 22 }

apLicenseSLBEndpointCap	OBJECT-TYPE
        SYNTAX          Unsigned32
	    MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION     
                "SLB endpoint capacity"
        ::= { apLicenseEntry 23 }

-- Notification MIBs

apLicenseNotificationObjects OBJECT IDENTIFIER ::= { apLicenseModule 2 }

apLicenseExpirationWarningAcliIndex	OBJECT-TYPE
        SYNTAX			Integer32 (1..2147483647)
 	MAX-ACCESS		accessible-for-notify
 	STATUS	   		current
 	DESCRIPTION
 		"The index of the License which is going to expire as
		represented in the ACLI"
 	::= { apLicenseNotificationObjects 1 }
 
apLicenseExpirationWarningSnmpIndex	OBJECT-TYPE
        SYNTAX			Integer32 (1..2147483647)
 	MAX-ACCESS		accessible-for-notify
 	STATUS	   		current
 	DESCRIPTION
 		"The index of the License which is going to expire as
		represented in the SNMP license table"
 	::= { apLicenseNotificationObjects 2 }

apLicenseExpirationWarningKey OBJECT-TYPE
        SYNTAX			DisplayString (SIZE (0..255))
        MAX-ACCESS		accessible-for-notify
        STATUS			current
        DESCRIPTION
       		"Key which represents the license that is going to expire"
        ::= { apLicenseNotificationObjects 3 }

 
apLicenseExpirationWarningDays		OBJECT-TYPE
	SYNTAX			Unsigned32
	MAX-ACCESS		accessible-for-notify
	STATUS	   		current
	DESCRIPTION
		"Days until the license will expire"
	::= { apLicenseNotificationObjects 4 }

-- Notifications

apLicenseNotificationPrefix OBJECT IDENTIFIER ::= { apLicenseModule 3 }
apLicenseNotifications OBJECT IDENTIFIER ::= { apLicenseNotificationPrefix 0 }

apLicenseApproachingCapacityNotification	NOTIFICATION-TYPE
	STATUS  current
        DESCRIPTION
                "This trap is sent if the total sessions is approaching
		 the license capacity allowed. (98% or higher)"
        ::= { apLicenseNotifications 1 }

apLicenseNotApproachingCapacityNotification	NOTIFICATION-TYPE
	STATUS  current
        DESCRIPTION
                "This trap is sent if the total sessions is no longer
		approaching the license capacity allowed. (less than 90%)"
        ::= { apLicenseNotifications 2 }

apLicenseExpirationWarningNotification		NOTIFICATION-TYPE
	OBJECTS	{
		apLicenseExpirationWarningAcliIndex,
		apLicenseExpirationWarningSnmpIndex,
		apLicenseExpirationWarningKey,
		apLicenseExpirationWarningDays
		}
	STATUS  current
        DESCRIPTION
                "This trap is sent when a license is within 7 days
		of expiration"
        ::= { apLicenseNotifications 3 }

-- conformance information

apLicenseConformance OBJECT IDENTIFIER ::= { apLicenseModule 4 }
apLicenseCompliances OBJECT IDENTIFIER ::= { apLicenseConformance 1 }
apLicenseGroups   OBJECT IDENTIFIER ::= { apLicenseConformance 2 }
apLicenseNotificationsGroups
		     OBJECT IDENTIFIER ::= { apLicenseConformance 3 }
				 
-- compliance statements

-- units of conformance

apLicenseObjectsGroup OBJECT-GROUP
        OBJECTS  {
		apLicenseKey,
		apLicenseCapacity,
		apLicenseInstallDate,
		apLicenseBeginDate,
		apLicenseExpireDate,
		apLicenseSIPFeature,
		apLicenseMGCPFeature,
		apLicenseH323Feature,
		apLicenseIWFFeature,
		apLicenseQOSFeature,
		apLicenseACPFeature,
		apLicenseLPFeature,
		apLicenseSAGFeature,
		apLicenseACCTFeature,
		apLicenseHAFeature,
		apLicensePACFeature,
		apLicenseIKEFeature,
		apLicenseIPsecTunCap,
        apLicenseSLBEndpointCap
		}
	STATUS          current
        DESCRIPTION
		"A collection of objects providing the license inventory,
		including the consolidated system-wide license."
	::= {  apLicenseGroups 1 }

apLicenseDatabaseRegGroup OBJECT-GROUP
        OBJECTS  {
		apLicenseAuthFeature,
		apLicenseDatabaseRegFeature,
		apLicenseDatabaseRegCap
		}
	STATUS          current
        DESCRIPTION
		"A collection of objects providing the license inventory for
		 database registration features."
	::= {  apLicenseGroups 2 }
    
-- notification groups

apLicenseNotificationsGroup NOTIFICATION-GROUP
	NOTIFICATIONS  {
		apLicenseApproachingCapacityNotification,
		apLicenseNotApproachingCapacityNotification
		}
	STATUS   current
        DESCRIPTION
                 "A collection of notifications describing license violation."
	::= {  apLicenseNotificationsGroups 1 }
	

apLicenseExpirationNotificationsGroup NOTIFICATION-GROUP
	NOTIFICATIONS {
		apLicenseExpirationWarningNotification
		}
	STATUS		current	
	DESCRIPTION
		"A collection of notifications related to license expiration"
	::= { apLicenseNotificationsGroups 2 }

END


