-------------------------------------------------------------------------------
-- ACMEPACKET-APPS.txt:  Acme Packet Applications MIB
-- 
-- March, 2012
--
-- Copyright (c) by Acme Packet, Inc.
-- All rights reserved.
-------------------------------------------------------------------------------

APAPPS-MIB DEFINITIONS ::= BEGIN

IMPORTS
        MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE,
        Gauge32, Integer32
                FROM SNMPv2-SMI
        TEXTUAL-CONVENTION, DisplayString, TruthValue
                FROM SNMPv2-TC
        MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP
                FROM SNMPv2-CONF
        InetAddress, InetAddressType
	    FROM INET-ADDRESS-MIB
	acmepacketMgmt
                FROM ACMEPACKET-SMI
        ApHardwareModuleFamily, ApRedundancyState, ApPhyPortType,
	ApPresence, ApServerStatus
	    FROM ACMEPACKET-TC;

apAppsModule   MODULE-IDENTITY
               LAST-UPDATED     "201203070000Z"
               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	
			"APPS MIB for Acme Packet."
 		REVISION 	"201203070000Z"
		DESCRIPTION
			"Initial version."
                ::= { acmepacketMgmt 16 }


apAppsMIBObjects OBJECT IDENTIFIER ::= { apAppsModule 1 }
apAppsMIBGeneralObjects OBJECT IDENTIFIER ::= {apAppsMIBObjects 1}
apAppsMIBTabularObjects OBJECT IDENTIFIER ::= {apAppsMIBObjects 2}
apAppsENUMTabularObjects OBJECT IDENTIFIER ::= {apAppsMIBTabularObjects 1}
apAppsDNSTabularObjects  OBJECT IDENTIFIER ::= {apAppsMIBTabularObjects 2}

apAppsNotificationObjects OBJECT IDENTIFIER ::= { apAppsModule 2 }
apAppsNotifObjects OBJECT IDENTIFIER ::= { apAppsNotificationObjects 1 }
apAppsNotifPrefix  OBJECT IDENTIFIER ::= { apAppsNotificationObjects 2 }
apAppsEnumNotifications  OBJECT IDENTIFIER ::= { apAppsNotifPrefix 1 0 }
apAppsDnsNotifications  OBJECT IDENTIFIER ::= { apAppsNotifPrefix 2 0 }

-- conformance information

apAppsConformance OBJECT IDENTIFIER ::= { apAppsModule 3 }
apAppsObjectGroups OBJECT IDENTIFIER ::= { apAppsConformance 1 }
apAppsNotificationGroups OBJECT IDENTIFIER ::= { apAppsConformance 2 }



apAppsENUMServerStatusTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ApAppsENUMServerStatusEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A read-only table to hold the status of configured ENUM servers,
            indexed by the name of the enum server, server address type and server IP.

	    Please note this table is the replacement of apENUMServerStatusTable
	    defined in ap-smgmt.mib, where the table was obsoleted."
        ::= { apAppsENUMTabularObjects 1 }

apAppsENUMServerStatusEntry OBJECT-TYPE
        SYNTAX          ApAppsENUMServerStatusEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "An entry designed to hold the status of a single ENUM server"
        INDEX { apAppsENUMConfigName,
                apAppsENUMServerInetAddressType,
                apAppsENUMServerInetAddress }
        ::= { apAppsENUMServerStatusTable 1 }

ApAppsENUMServerStatusEntry ::= SEQUENCE {
        apAppsENUMConfigName                DisplayString,
        apAppsENUMServerInetAddressType     InetAddressType,
        apAppsENUMServerInetAddress         InetAddress,
        apAppsENUMServerStatus              ApServerStatus
        }

apAppsENUMConfigName 	OBJECT-TYPE
	SYNTAX		DisplayString
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	    "The name of the enum-config element that contains this 
	    ENUM server."
	::= { apAppsENUMServerStatusEntry 1 }

apAppsENUMServerInetAddressType   OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The IP address of this ENUM server."
        ::= { apAppsENUMServerStatusEntry 2 }

apAppsENUMServerInetAddress   OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The IP address of this ENUM server."
        ::= { apAppsENUMServerStatusEntry 3 }

apAppsENUMServerStatus	OBJECT-TYPE
	SYNTAX		ApServerStatus
	MAX-ACCESS	read-only
	STATUS		current
	DESCRIPTION
	    "The status of this ENUM server."
	::= { apAppsENUMServerStatusEntry 4 }

-- DNS Server Table

apAppsDnsServerStatusTable OBJECT-TYPE
        SYNTAX          SEQUENCE OF ApAppsDnsServerStatusEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "A read-only table to hold the status of configured dns servers
            indexed by dns interface name and ip address of the dns server." 
        ::= { apAppsDNSTabularObjects 1 }

apAppsDnsServerStatusEntry OBJECT-TYPE
        SYNTAX          ApAppsDnsServerStatusEntry
        MAX-ACCESS      not-accessible
        STATUS          current
        DESCRIPTION
            "An entry designed to hold the status of a single dns server"
        INDEX { apAppsDnsInterfaceName,
                apAppsDnsServerInetAddressType,
                apAppsDnsServerInetAddress }
      ::= { apAppsDnsServerStatusTable 1 }

ApAppsDnsServerStatusEntry ::= SEQUENCE {
	apAppsDnsInterfaceName           DisplayString,
        apAppsDnsServerInetAddressType   InetAddressType,
        apAppsDnsServerInetAddress       InetAddress,
        apAppsDnsServerStatus            ApServerStatus
        }

apAppsDnsInterfaceName      	OBJECT-TYPE
        SYNTAX          	DisplayString (SIZE (1..255))
        MAX-ACCESS      	read-only
        STATUS          	current
        DESCRIPTION
            "The name of the dns interface that contains this
            dns server."
        ::= { apAppsDnsServerStatusEntry 1 }
        
apAppsDnsServerInetAddressType OBJECT-TYPE
        SYNTAX          InetAddressType
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The Inet address type of this dns server."
        ::= { apAppsDnsServerStatusEntry 2 }

apAppsDnsServerInetAddress OBJECT-TYPE
        SYNTAX          InetAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
            "The IP address of this dns server."
        ::= { apAppsDnsServerStatusEntry 3 }

apAppsDnsServerStatus    OBJECT-TYPE
        SYNTAX          ApServerStatus
	MAX-ACCESS      read-only
	STATUS          current
	DESCRIPTION
	"The status of this dns server."
	::= { apAppsDnsServerStatusEntry 4 }

-- Notifications

		
apAppsENUMServerStatusChangeTrap           NOTIFICATION-TYPE
        OBJECTS         { apAppsENUMConfigName,
                          apAppsENUMServerInetAddressType,
                          apAppsENUMServerInetAddress,
                          apAppsENUMServerStatus }
        STATUS          current
        DESCRIPTION
        " The trap will be generated if the reachability status of an ENUM
        server changes."
        ::= { apAppsEnumNotifications 1 }


apAppsDnsServerStatusChangeTrap NOTIFICATION-TYPE
        OBJECTS {
                 apAppsDnsInterfaceName,
		 apAppsDnsServerInetAddressType,
		 apAppsDnsServerInetAddress,
		 apAppsDnsServerStatus
		 }
		STATUS          current
	DESCRIPTION
	" The trap will be generated if the reachability status of a dns
        server changes."
        ::= { apAppsDnsNotifications 1 }

apAppsENUMServerStatusGroup  OBJECT-GROUP
        OBJECTS {
                apAppsENUMConfigName,
                apAppsENUMServerInetAddressType,
                apAppsENUMServerInetAddress,
                apAppsENUMServerStatus
                }
        STATUS          current
        DESCRIPTION
                "Report the status of configured ENUM servers."
        ::= { apAppsObjectGroups 1  }

apAppsDnsServerStatusGroup  OBJECT-GROUP
        OBJECTS {
                apAppsDnsInterfaceName,
                apAppsDnsServerInetAddressType,
                apAppsDnsServerInetAddress,
                apAppsDnsServerStatus
                }
        STATUS          current
        DESCRIPTION
                "Report the status of configured DNS servers."
        ::= { apAppsObjectGroups 2  }

apAppsEnumServerNotificationsGroup NOTIFICATION-GROUP
      NOTIFICATIONS {
                        apAppsENUMServerStatusChangeTrap
                    }
                STATUS          current
                DESCRIPTION
                "A collection of traps to extend reporting capabilities."
      ::= {  apAppsNotificationGroups 1 }

apAppsDnsServerNotificationsGroup NOTIFICATION-GROUP
      NOTIFICATIONS {
                        apAppsDnsServerStatusChangeTrap
                    }
                STATUS          current
                DESCRIPTION
                "A collection of traps to extend reporting capabilities."
      ::= {  apAppsNotificationGroups 2 }

END
