Hints

Hints are used to control the answer machine detection (AMD) and fax algorithms.

Table 1. Call Progess Hints
Name Usage Default Description
thresholdmode AMD offset

Controls how the threshold value is used to calculate if a given “sample” of audio is background or voice (which could be human or an answering machine).

This can be one of three values:

  • fixed - If the energy is greater than threshold then it is voice.
  • ratio - If the energy is greater than (minimum energy + ((maximum - minimum energy) * %) then it is voice.
  • offset - If the energy is greater than the (minimum energy + threshold) then it is voice.

The minimum and maximum energy are based on the currently detected energy values since the AMD has been started on this channel.

threshold AMD 10000 Threshold value used in energy calculations for fixed and offset threshold modes.
voiceontime AMD 100ms How long the voice energy has be detected before the AMD decides this is the start of actual speech and not a glitch/click on the line.
voiceofftime AMD 1000ms How long the background energy has to be detected after initial voice has been detected. This is used to control how long to wait after speech has finished. The value needs to be long enough to cover the natural gap between words. However having the value too large will result in a longer detection time after voice has finished. This will generate the human or machine event.
amdtime AMD 5000ms How long the detector has to run after initial voice has been detected to decide if the speaker is human. This value is used to decide how long a speaker needs to be speak before being classified as a machine. Speech shorter than this value will be detected as human, speech longer than this value will be detected as machine. This will generate the potentialmachine event if the duration is exceeded whilst voice is still detected.
maxruntime AMD, Fax 18000ms How long to run the detector for. Once this duration has elapsed the detector is turned off. If AMD detection is running an event of unknown is generated. The detector is started once the call has been setup (200/ACK SIP sequence has completed).
beepontime AMD 120ms

How long the energy has to be within beepmodulation of the previous energy provided the energy detected is voice. This is used to decide how long a beep has to be present to be a beep. This will generate the potentialbeep event.

beepofftime AMD 120ms

How long the energy has to be background after having previously detected a beep. This will generate the beep event.

beepmodulation AMD 3%

Percentage difference between voice energy samples for the AMD to believe this is a beep.

events AMD amd_unknown, amd_human, amd_potentialmachine, amd_machine, amd_potentialbeep, amd_beep

A comma separated list of events that the CCXML application wishes to be notified of. This list only affects which events are sent to CCXML and not which events terminate AMD processing.

terminationevents AMD amd_unknown, amd_human, amd_machine, amd_beep A comma separated list of events that will stop the AMD once detected. This list only affects which events terminate the AMD processing, and not which events are sent to CCXML. The amd_unknown event is automatically enabled and can not be turned off.
enabled AMD, Fax amd A comma seperated list of detection algorithms to run. To run the AMD use "amd", to run the fax detection use "fax".