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 may 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 concerning 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 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 input has 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 T.38 fax packet has been received by a T38UDP endpoint (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 formerly incapable of transmitting data is now back in service. |
For more information about scenarios for receiving unsolicited events, refer to the Fusion Developer's Manual.