Software agents perform a process to monitor the availability and/or
performance of various functions of a messaging system, such as a Unified
Messaging System. A call is initiated to an endpoint, where the endpoint
is registered with a messaging system and is configured to forward
incoming messages to the messaging system. A first agent transmits a
message to the endpoint for forwarding to the messaging system. A second
agent that is associated with the endpoint then determines whether the
endpoint receives a message notification in response to the transmitted
message. In an embodiment, the time that elapses between arrival of the
message at the endpoint and reception of a message notification is
determined. In an embodiment, if the second agent is able to access a
mailbox and retrieve the transmitted message, then the message retrieved
from the messaging system is compared with the version of the original
message that was received at the endpoint. Whether the retrieved message
suffered any degradation from its path through the messaging system is
determined based on the comparison.