-- ******************************************************************** -- CISCO-VOICE-CONNECTIVITY-MIB.my: Cisco Voice Connectivity MIB file. -- -- June 2003, Chandresh Patel -- -- Copyright (c) 2003 by Cisco Systems, Inc. -- All rights reserved. -- ******************************************************************** CISCO-VOICE-CONNECTIVITY-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, OBJECT-TYPE, NOTIFICATION-TYPE, Unsigned32 FROM SNMPv2-SMI MODULE-COMPLIANCE, OBJECT-GROUP, NOTIFICATION-GROUP FROM SNMPv2-CONF DateAndTime, TruthValue, MacAddress, AutonomousType, RowPointer FROM SNMPv2-TC SnmpAdminString FROM SNMP-FRAMEWORK-MIB ciscoMgmt FROM CISCO-SMI IANAifType FROM IANAifType-MIB InetAddressType, InetAddress FROM INET-ADDRESS-MIB; ciscoVoiceConnectivityMIB MODULE-IDENTITY LAST-UPDATED "200509130000Z" ORGANIZATION "Cisco Systems, Inc." CONTACT-INFO " Cisco Systems Customer Service Postal: 170 W Tasman Drive San Jose, CA 95134 USA Tel: +1 800 553-NETS E-mail: cs-itm@cisco.com" DESCRIPTION "This MIB module provides connectivity related information for devices (e.g., 'connectivity between voice gateway, phones, gatekeepers and call processing agent'). The MIB can be used by network management applications to collect the information regarding voice connectivity among the devices in the network. The MIB can also be used to retrieve the status of voice connectivity between the devices. *** ABBREVIATIONS, ACRONYMS, AND SYMBOLS *** SCCP - Skinny Client Control Protocol SGCP - Simple Gateway Control Protocol MGCP - Media Gateway Control Protocol H323 - H.323 protocol SIP - Session Initiation Protocol *** DEFINITIONS *** CALL AGENT A call processing agent component of a device in IP telephony and VoIP network. PORT A port on the device that is associated with call processing agent. REGISTRATION In an IP telephony network, there are typically keep- alive messages or expected registration refresh timers that are used to formulate the registration status of devices and/or users. Possible values of the registration status are as follows: registered: The port has successfully registered with the call agent unregistered: The port is no longer registered with the call agent rejected: Registration request from the port was rejected by the call agent." REVISION "200509130000Z" DESCRIPTION "The initial version of this MIB module." ::= { ciscoMgmt 393 } ciscoVoiceConnectivityMIBNotifs OBJECT IDENTIFIER ::= { ciscoVoiceConnectivityMIB 0 } ciscoVoiceConnectivityMIBObjects OBJECT IDENTIFIER ::= { ciscoVoiceConnectivityMIB 1 } ciscoVoiceConnectivityMIBConform OBJECT IDENTIFIER ::= { ciscoVoiceConnectivityMIB 2 } cvcCallAgent OBJECT IDENTIFIER ::= { ciscoVoiceConnectivityMIBObjects 1 } cvcPort OBJECT IDENTIFIER ::= { ciscoVoiceConnectivityMIBObjects 2 } cvcCallAgentConnection OBJECT IDENTIFIER ::= { ciscoVoiceConnectivityMIBObjects 3 } cvcNotif OBJECT IDENTIFIER ::= { ciscoVoiceConnectivityMIBObjects 4 } cvcCallAgentTable OBJECT-TYPE SYNTAX SEQUENCE OF CvcCallAgentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about call agents. When the network management subsystem implements this MIB, this table lists the call agents that exist in this system. This table will contain one entry per call agent. When systems other than those hosting call agents implement this MIB, this table will contain the list of call agents to which ports of this system are associated. The entries would be representative of remote call agents. For example, if a device is a voice gateway having a T1 port associated with three call processing agents, then this table will have three entries representing each of the three call processing agents. The network management subsystem adds conceptual rows to this table for every call agent." ::= { cvcCallAgent 1 } cvcCallAgentEntry OBJECT-TYPE SYNTAX CvcCallAgentEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the cvcCallAgent table, providing associated call agent information such as call agent's IP address and its type." INDEX { cvcCallAgentIndex } ::= { cvcCallAgentTable 1 } CvcCallAgentEntry ::= SEQUENCE { cvcCallAgentIndex Unsigned32, cvcCallAgentName SnmpAdminString, cvcCallAgentInetAddressType InetAddressType, cvcCallAgentInetAddress InetAddress, cvcCallAgentType AutonomousType } cvcCallAgentIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer, a unique value for each call agent associated with the device." ::= { cvcCallAgentEntry 1 } cvcCallAgentName OBJECT-TYPE SYNTAX SnmpAdminString (SIZE(0..128)) MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates name of the call agent given by call agent administrator." ::= { cvcCallAgentEntry 2 } cvcCallAgentInetAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects a particular type of internet address and provides the context for interpreting one or more address objects elsewhere in this MIB module." REFERENCE "RFC 3291, section 3" ::= { cvcCallAgentEntry 3 } cvcCallAgentInetAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the IP address of the call agent. The type of internet address is indicated by the value of cvcCallAgentInetAddressType." REFERENCE "RFC 3291, section 3" ::= { cvcCallAgentEntry 4 } cvcCallAgentType OBJECT-TYPE SYNTAX AutonomousType MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the type of call agent. A list of call agent types can be found in the CISCO-VOICE-APPLICATIONS-OID-MIB." ::= { cvcCallAgentEntry 5 } cvcPortTable OBJECT-TYPE SYNTAX SEQUENCE OF CvcPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains information about ports. When the network management subsystem implements this MIB, this table lists all the ports associated with the call agents listed in cvcCallAgentTable. When systems other than those hosting call agents implement this MIB, this table will contain information of all the ports of the system,associated with the call agents listed in cvcCallAgentTable. The network management subsystem adds conceptual rows to this table for every port associated to call agent." ::= { cvcPort 1 } cvcPortEntry OBJECT-TYPE SYNTAX CvcPortEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the port table, providing the port or interface information such as name, IP address, type, MAC address, type of the device containing this port and protocol used by the port." INDEX { cvcPortIndex } ::= { cvcPortTable 1 } CvcPortEntry ::= SEQUENCE { cvcPortIndex Unsigned32, cvcPortAssociation RowPointer, cvcPortDeviceName SnmpAdminString, cvcPortInetAddressType InetAddressType, cvcPortInetAddress InetAddress, cvcPortMACAddress MacAddress, cvcPortType IANAifType, cvcProductCategory INTEGER, cvcProtocol INTEGER, cvcVirtualInterfaceDN SnmpAdminString } cvcPortIndex OBJECT-TYPE SYNTAX Unsigned32 (1..4294967295) MAX-ACCESS not-accessible STATUS current DESCRIPTION "An arbitrary integer value uniquely identifying each physical or virtual port of the device associated with call agent." ::= { cvcPortEntry 1 } cvcPortAssociation OBJECT-TYPE SYNTAX RowPointer MAX-ACCESS read-only STATUS current DESCRIPTION "An association to conceptual row of the port define within another MIB group. This can be used to get more information about the port defined in other MIB group. For example, to get more information about the T1 port defined in this table, this attribute points to a row in ifTable for that T1 port, e.g value for this attribute will be 'ifIndex.5'." ::= { cvcPortEntry 2 } cvcPortDeviceName OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "The device name under which this port has been registered with call agent. This is a mandatory field that represents the port." ::= { cvcPortEntry 3 } cvcPortInetAddressType OBJECT-TYPE SYNTAX InetAddressType MAX-ACCESS read-only STATUS current DESCRIPTION "This object reflects a particular type of internet address and provides the context for interpreting one or more address objects elsewhere in this MIB module." REFERENCE "RFC 3291, section 3" ::= { cvcPortEntry 4 } cvcPortInetAddress OBJECT-TYPE SYNTAX InetAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the IP address of the port. The type of internet address is indicated bythe value of cvcPortInetAddressType." REFERENCE "RFC 3291, section 3" ::= { cvcPortEntry 5 } cvcPortMACAddress OBJECT-TYPE SYNTAX MacAddress MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates the MAC address of the port. For ports which do not have such an address, this object should contain an octet string of zero length." ::= { cvcPortEntry 6 } cvcPortType OBJECT-TYPE SYNTAX IANAifType MAX-ACCESS read-only STATUS current DESCRIPTION "The type of port. Additional values for cvcPortType are assigned by the Internet Assigned Numbers Authority (IANA), through updating the syntax of the IANAifType textual convention. If the port type is not defined in IANAifType, then value of this object will be other(1). In this case, port type can be identified either by productCategory or by referring to other MIB pointed by cvcPortAssociation." ::= { cvcPortEntry 7 } cvcProductCategory OBJECT-TYPE SYNTAX INTEGER { phone(1), gateway(2), h323Device(3), ctiDevice(4), voiceMailDevice(5), mediaResourceDevice(6), huntListDevice(7), sipDevice(8) } MAX-ACCESS read-only STATUS current DESCRIPTION "This object indicates type of the device that contains the port." ::= { cvcPortEntry 8 } cvcProtocol OBJECT-TYPE SYNTAX INTEGER { sccp(1), sgcp(2), mgcp(3), h323(4), sip(5) } MAX-ACCESS read-only STATUS current DESCRIPTION " Protocol the port use for communication to its associated device." REFERENCE "RFC 3435 on Media Gateway Control Protocol (MGCP) Version 1.0 RFC 3261 - SIP: Session Initiation Protocol ITU-T Recommendation H.323v.4,'Packet-based multimedia communications systems', November 2000." ::= { cvcPortEntry 9 } cvcVirtualInterfaceDN OBJECT-TYPE SYNTAX SnmpAdminString MAX-ACCESS read-only STATUS current DESCRIPTION "This attribute indicates directory number of the port. This attribute is applicable only to virtual or logical interface that is associated with call agent." ::= { cvcPortEntry 10 } -- -- CallAgentConnectionInfo -- cvcCallAgentConnectionTable OBJECT-TYPE SYNTAX SEQUENCE OF CvcCallAgentConnectionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "This table contains current registration status information for all the ports, listed in cvcPortTable, that are associated with the call agents listed cvcCallAgentTable. The network management subsystem adds a conceptual row to this table per port and its associated call agent pair. Entries in this table depends on entries in cvcPortTable and cvcCallAgentTable. Deletion of any entry in those other two table will result in deletion of corresponding entry in this table." ::= { cvcCallAgentConnection 1 } cvcCallAgentConnectionEntry OBJECT-TYPE SYNTAX CvcCallAgentConnectionEntry MAX-ACCESS not-accessible STATUS current DESCRIPTION "An entry (conceptual row) in the cvcCallAgentConnectionTable, containing the information about a port or interface's registration status to call agents." INDEX { cvcPortIndex, cvcCallAgentIndex} ::= { cvcCallAgentConnectionTable 1 } CvcCallAgentConnectionEntry ::= SEQUENCE { cvcCallAgentPriority Unsigned32, cvcRegistrationStatus INTEGER, cvcStatusReason INTEGER, cvcLastStatusChangeTime DateAndTime, cvcLastRegisteredTime DateAndTime } cvcCallAgentPriority OBJECT-TYPE SYNTAX Unsigned32 MAX-ACCESS read-only STATUS current DESCRIPTION "A port can be associated with multiple call agents. In case of failure of the call agent to which the port has been registered, port falls back to the back-up call agent. To achieve this redundancy each call agent is assigned a priority number in context of port. This object indicates the call agent's priority number." ::= { cvcCallAgentConnectionEntry 1 } cvcRegistrationStatus OBJECT-TYPE SYNTAX INTEGER { unknown(1), notapplicable(2), registered(3), unregistered(4), rejected(5) } MAX-ACCESS read-only STATUS current DESCRIPTION "This syntax is used to identify the registration status of the port with call agent. unknown: The registration status of the port is unknown. notapplicable: The registration status of the port is not applicable registered: The port has successfully registered with the call agent unregistered: The port is no longer registered with the call agent rejected: Registration request from the port was rejected by the call agent." ::= { cvcCallAgentConnectionEntry 2 } cvcStatusReason OBJECT-TYPE SYNTAX INTEGER{ noError(1), unknown(2), configurationError(3), deviceNameUnresolveable(4), maxDevRegReached(5), connectivityError(6), initializationError(7), deviceReset(8) } MAX-ACCESS read-only STATUS current DESCRIPTION "This syntax is used as means of identifying the reasons for a device registration error. Following are possible reason of registration status value. noError: No Error unknown: Unknown error cause configurationError: Device configuration error deviceNameUnresolveable: Unable to resolve the device name to an IP address maxDevRegReached: Maximum number of device registration have been reached connectivityError: Call agent is unable to establish communication with the device during registration initializationError: An error occurred during initialization of the device deviceReset: Indicates that the error was due to device reset." ::= { cvcCallAgentConnectionEntry 3 } cvcLastStatusChangeTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The time registration status of the port changed." ::= { cvcCallAgentConnectionEntry 4 } cvcLastRegisteredTime OBJECT-TYPE SYNTAX DateAndTime MAX-ACCESS read-only STATUS current DESCRIPTION "The time the port last registered with the call agent." ::= { cvcCallAgentConnectionEntry 5 } -- -- NotificationConfigInfo -- cvcNotifEnable OBJECT-TYPE SYNTAX TruthValue MAX-ACCESS read-write STATUS current DESCRIPTION "This variable indicates whether the system generates notifications defined in this MIB. A false value will prevent all the notifications from being generated by this system." DEFVAL { false } ::= { cvcNotif 1 } cvcPortRegistrationStatusChange NOTIFICATION-TYPE OBJECTS { cvcPortDeviceName, cvcCallAgentInetAddress, cvcCallAgentPriority, cvcRegistrationStatus, cvcStatusReason, cvcLastStatusChangeTime, cvcLastRegisteredTime } STATUS current DESCRIPTION "A cvcPortRegistrationStatusChange notification is generated when the value of cvcRegistrationStatus changes. It can be utilized by an NMS to get current registration status change information. cvcPortDeviceName and cvcCallAgentInetAddress can be used by NMS to get information about the port and call agent from cvcPortTable and cvcCallAgentTable respectively. An NMS should periodically check the value of cvcLastStatusChangeTime to detect any missed cvcPortRegistrationStatusChange notification-events due to network problem or any other problem." ::= { ciscoVoiceConnectivityMIBNotifs 1 } -- -- MIB Conformance Statements -- cvcMIBCompliances OBJECT IDENTIFIER ::= { ciscoVoiceConnectivityMIBConform 1 } cvcMIBGroups OBJECT IDENTIFIER ::= { ciscoVoiceConnectivityMIBConform 2 } -- Compliance Statements cvcMIBCompliance MODULE-COMPLIANCE STATUS current DESCRIPTION "The compliance statement for entities which implement the CISCO-VOICE-CONNECTIVITY-MIB." MODULE MANDATORY-GROUPS { cvcCallAgentGroup, cvcPortGroup, cvcCallAgentConnectionGroup } GROUP cvcNotifGroup DESCRIPTION "This optional group provide object to configure notification enable or disable." GROUP cvcNotificationsGroup DESCRIPTION "This optional group provide notification objects." ::= { cvcMIBCompliances 1 } -- Units of Conformance cvcCallAgentGroup OBJECT-GROUP OBJECTS { cvcCallAgentName, cvcCallAgentInetAddressType, cvcCallAgentInetAddress, cvcCallAgentType } STATUS current DESCRIPTION "A collection of objects which provide info like IP address and HostName about all call agents to which the ports are configured to register. Also it has call agent type." ::= { cvcMIBGroups 1 } cvcPortGroup OBJECT-GROUP OBJECTS { cvcPortAssociation, cvcPortDeviceName, cvcPortInetAddressType, cvcPortInetAddress, cvcPortMACAddress, cvcPortType, cvcProductCategory, cvcProtocol, cvcVirtualInterfaceDN } STATUS current DESCRIPTION "A collection of objects which provide info about all port/ interface of the device that are configured to register to call agents. Not all objects are applicable to all type of ports or interface. For example some port does not have MACAddress in that case cvcPortMACAddress need not have to be populated. Similarly for some device cvcPortAssociation is not applicable for example phone, in that case cvcPortAssociation object will not be populated but DeviceName, MCAAddress and IPAddress will be populated." ::= { cvcMIBGroups 2 } cvcCallAgentConnectionGroup OBJECT-GROUP OBJECTS { cvcCallAgentPriority, cvcRegistrationStatus, cvcStatusReason, cvcLastStatusChangeTime, cvcLastRegisteredTime } STATUS current DESCRIPTION "A collection of objects which provides registration status information for the port to the call agents defined in cvcPortTable and cvcCallAgentTable. This also provides information about the reason why registration is failed or rejected. It provides last time when status changes and last registered time. In some cases, registration status is not applicable for example H.323 gateway association with call agent, in that case most of these object will not be populated except cvcCallAgentPriority which can be used to find association of port with call agent." ::= { cvcMIBGroups 3 } cvcNotifGroup OBJECT-GROUP OBJECTS { cvcNotifEnable } STATUS current DESCRIPTION "A collection of objects which provide info about all the notifications generated by the device that implement this MIB. Implementation of this group is optional." ::= { cvcMIBGroups 4 } cvcNotificationsGroup NOTIFICATION-GROUP NOTIFICATIONS { cvcPortRegistrationStatusChange } STATUS current DESCRIPTION "A collection of notifications that are generated by CISCO-VOICE-CONNECTIVITY-MIB. This is important information when some management application decide not to poll but only rely on notification. Implementation of this group is optional." ::= { cvcMIBGroups 5 } END