# MSPP unsolicited events

The MSPP service returns unsolicited events to the application when a channel or endpoint detects a particular condition. These events are not responses to specific filter commands and they can be returned at any time while a channel or endpoint is active. Depending on the filter, the endpoint can automatically send unsolicited events when it is created, or may need to be configured or commanded to send the unsolicited events.

For example, when an application creates a T38UDP fax endpoint (endpoints are enabled by default when created), the endpoint automatically begins monitoring incoming data to detect any T.38 packets. The first time it detects a T.38 fax packet, it sends an unsolicited event to the application.

However, RTP endpoint filters do not return unsolicited events with RTCP monitoring information unless the application explicitly turns on this monitoring. The application initiates RTCP monitoring by setting parameter values in the RTPRTCP_ENDPOINT_PARMS structure when creating the endpoint.

After receiving MSPP service unsolicited events, applications must free the associated buffer with mspReleaseBuffer. However, calling mspReleaseBuffer twice for the same buffer creates an access violation.

The following table lists unsolicited events returned by MSPP filters:

Event | Associated filter | Description
MSPEVN_RTCP_REPORT | RTP (IPv4 and IPv6) duplex | Provides RTCP information for a particular voice connection. Useful for monitoring packet quality of service (QOS). These are disabled by default.
MSPEVN_DPF_DTMF_PLAY_END | Voice decoder filter | Notifies the application that the voice decoder filter has finished playing a DTMF tones as a result of an MSP_CMD_PLAY_DTMF_DIGIT filter command.
MSPEVN_DPF_DTMF_REPORT | Voice encoder filter | Notifies the application when the voice encoder filter detects the presence of a DTMF input signal.
MSPEVN_RFC2833_REPORT | RTP duplex and RTP receive (IPv4 and IPv6) endpoints | Notifies the application that the RTP endpoint received an RFC 2833 RTP packet.
MSPEVN_FAXRELAY_FAX_BEGIN MSPEVN_FAXRELAY_FAX_END MSPEVN_FAXRELAY_PASSED_PAGE | T.38 fax channel filter | Returns status information about an active T.38 fax session.
MSPEVN_T38_PACKET_DETECTED | T38UDP endpoint | Notifies the application that a T38UDP endpoint received a T.38 fax packet (that is, voice fax switchover can be initiated).
MSPEVN_NOROUTE_AVAILABLE | Not applicable. This event returns board-level information and therefore is not associated with a specific filter. | Indicates that an RTP or T38UDP endpoint has lost the ability to route outbound data to its destination.
MSPEVN_ROUTE_AVAILABLE | Not applicable. This event returns board-level information and therefore is not associated with a specific filter. | Indicates that an RTP or T38UDP endpoint lost the ability to route outbound data to its destination.

For more information about scenarios for receiving unsolicited events, refer to the Fusion Developer's Manual.