Using Call Progress Detection

Call progress detection is turned on from within the CCXML createcall element via the hints attribute. The hints attribute contains an object, this object contains another object called "bvr_callprogress". The bvr_callprogress object contains configuration values to be used for the outbound call.

For example to turn on AMD using default settings:

<var name="hints" expr="new Object()"/>

<assign name="hints.bvr_callprogress" expr="new Object()"/>

...

<createcall dest="dest@destip" ... hints="hints"/>

or to turn on AMD and fax with some specified settings:

<var name="hints" expr="new Object()"/>

<assign name="hints.bvr_callprogress" expr="new Object()"/>

<assign name="hints.bvr_callprogress.amdtime" expr="'10s'"/>

<assign name="hints.bvr_callprogress.voiceofftime" expr="'0.5s'"/>

<assign name="hints.bvr_callprogress.events" expr="'amd_beep, amd_human, amd_machine'"/>

<assign name="hints.bvr_callprogress.terminationevents" expr="'amd_beep, amd_human, amd_machine'"/>

<assign name="hints.bvr_callprogress.enabled" expr="'amd, fax'"/>

...

<createcall dest="dest@destip" ... hints="hints"/>

The first example above creates an object called "hints". The "hints" object contains another object called "bvr_callprogress".   This will turn on only AMD using all the default settings. The second example above creates an object called "hints". The "hints" object contains another object called "bvr_callprogress". The "bvr_callprogress" contains various fields with parts of the call progress configuration set. This will turn on AMD and fax detection with the values specified in the fields and default values for non-specified fields.