SQLphone developer site home page

Detecting answer-phone pickup

Why detect answer-phones?

When building a SQLphone dial-out system (a system that makes calls, rather than answers calls), it is usually important to detect when a human has picked-up the call, and when an answer-phone or voice-mail has picked-up the call. Typically:

Automatic detection

Automatically detecting answer-phone pickup is difficult. The Dialogic driver software contains complex sound analysis logic to detect answer-phone pickup. We tested this extensively and found it to be unreliable, having less that 50% success rate. On a more positive note, it does not give false positives (human answering has been incorrectly identified as an answering machine).

Manual detection

We have successfully used the following simple technique to manually detect answer-phones.

Silence detection

After detecting answer-phone pickup, the next step is to detect when the answer-phone message has completed, so that your flowchart can speak its message. This is necessary because Dialogic answer-phone detection does not wait for the message to complete.

To implement silence detection, add a Record box to your flowchart and setup as follows:

The Record box will record (and discard) the answer phone's message, but importantly will wait for a 1 second period of silence after this message, before proceeding to deliver your message.

Dial box conditions

Recap of conditions that can result from a SQLphone flowchart Dial box: