Programmable Voice

  1. Home
  2. Docs
  3. Programmable Voice
  4. HMP Elements
  5. Recording Calls Automatically

Recording Calls Automatically

Listening to outbound calls can be very helpful in troubleshooting call problems and determining call settings. Before changing any Call Progress values, capture some recordings of the outbound calls. Every time an outbound number is dialed, the audio received is recorded as the call is placed and answered.

Using HMP Elements

This feature is built into HMP Elements. You can do this by modifying the HmpElementsServer.exe.config and modifying the following settings:

<setting name="AnalyzeCallRecordingPath" serializeAs="String">
  <value />
<setting name="AnalyzeCallLogLevel" serializeAs="String">

The AnalyzeCallRecordingPath will record the first part of a call, and place it in the given directory. The AnalyzeCallLogLevel should be set to 0, unless you need it set to some other setting for diagnostic purposes.

Using Dialogic

To enable automatic recordings on your VE server, set the following in the cti32.ini file:

InternalVoiceBoards=dxxxB1 dxxxB2

And in the VoiceElementsServer.exe.config file, tell the VE server to ignore using those voice boards by setting the XML tag IgnoreResources:

 <setting name="IgnoreResources" serializeAs="String">
      <value>dxxxB1 dxxxB2</value>

Other Considerations:

  • The more voice boards specified on the InternalVoiceBoards, the more simultaneous recording are performed at the same time.
  • Each board maintains 4 voice resources for the purposes of recording. Specifying two boards would allow 8 simultaneous recordings.
  • Be advised that by setting these boards aside for automatic recording, fewer voice resources are available for your application. Consider using the IgnoreResources XML tag to keep the VE server from opening some channel resources while using the automatic recordings.
  • A good practice would be to ignore the same number of dti devices at the end of a span so that there is a matched number of voice resources to go along with the voice resource count.


Perhaps you only want to understand why you are getting a large number of operator intercepts, or perhaps you want to determine why CPA returns machine instead of human. By modifying the InternalRecordStopBits you can specify under what conditions to keep calls, so that you can focus your attention on files that meet certain conditions:

  • 0 – Keep the file, and record until the call is complete.
  • 1 – Discard at end of dial as long as it was HUMAN or MACHINE (I.E. not a failure)
  • 2 – Keep all Dialing up to the point that the call progress completes. With 2 on there is a safety mechanism
  • 3 – Is a combination of 1 and 2.
  • 4 – Keep all Dialing (just like 2) but include calls that did not connect.

For example, if you have a system with a D240/JCT-LS board and you want to have 4 automatic voice recordings you could set:


And in your XML file:

 <setting name="IgnoreResources" serializeAs="String">
      <value> dxxB6 dtiB1C21 dtiB1C22 dtiB1C23 dtiB1C24</value>

These settings provide 20 channels for dialing out, while keeping 4 voice resources set aside for recording the audio of each call.

Was this article helpful to you? Yes 13 No

How can we help?