The LINE_MONITORTONE message is sent to the LINEEVENT callback function whenever a monitored tone is detected. The sending of this message is controlled by the TSPI_lineMonitorTones function. A single tone detection can result in the service provider sending this message several times in the case where the detected tone matches several tone descriptions in several different tone lists. A tone can "match" several nonidentical tone descriptions, depending on how close they are to one another and the discrimination limits achieved by the service provider. Multiple matches can occur within the same or different tone lists.
LINE_MONITORTONE
htLine = (HTAPILINE) hLineDevice;
htCall = (HTAPICALL) hCallDevice;
dwMsg = (DWORD) LINE_MONITORTONE;
dwParam1 = (DWORD) dwAppSpecific;
dwParam2 = (DWORD) dwToneListID;
dwParam3 = (DWORD) dwTickCount;
This message is sent once for each tone it matches in each tone list. Because there can be multiple matches both within a single tone list and across multiple tone lists, a single tone detection can result in several messages, indicating the same dwToneListID and several messages with a differing dwToneListID.
The dwParam2 parameter in the corresponding message at the TAPI level is unused. TAPI forwards all tone monitoring requests from all applications to the service provider to be handled concurrently. It assigns a unique dwToneListID to each tone list and uses the dwToneListID added to dwParam2 at the TAPI level to discriminate the resulting messages.
LINEEVENT, LINEMONITORTONE, TSPI_lineMonitorTones