Howto:Simple Linear ACD with Voicemail XML Script

From innovaphone wiki
Jump to navigation Jump to search

This article describes how to setup a simple automated call distribution by using custom voicemail XML script.

Applies To

This information applies to

  • innovaphone PBX, V7 hotfix 1

More Information

In most cases it is possible to distribute incoming calls on innovaphone PBX as desired by using PBX features like a broadcast call, waiting queue and user groups. But some scenarios require more complex call routing between user objects. For this purpose a custom XML voicemail script can be used to implement a desired call distribution scenario.

This script is based on an example for a simple call flow:

  • route incoming call to agents one by one
  • try next agent if
    • agent is away(CFU is enabled) or not registered
    • agent is busy
    • agent is not responding after 15 sec.
  • at the end, when all agents have been tried
    • route call to VM if no busy agents
    • disconnect with cause code "busy", if an agent in the call distribution is busy

The call distribution is intentional designed so that the first free agent gets the most calls.

Call Distribution Diagramm.png

To make the script somewhat generic the numbers of agents and mailbox number are stored in separate files:


Please note, that this script is exemplary and free and can be modified to fulfill your special requirements.


The outline for the following configuration scenario shall be as follows:

  • Create a new folder on the compact flash card e.g. "acd".
  • Place a files provided in the download section in this folder.
  • Additionally place the text files with numbers of agents and voicemail box in this folder.
  • Create a new voicemail object in the PBX with URL$_pbxfwd=true.
  • In case an innovaphone voicemail is used instead of an external voicemail box:
    • Create a dummy user with a CFU to <VM-Number>+<Box-Number>

Known Problems

  • Don't forget to provide additional option to the script URL, since it is required for the executing of call forwards: ?$_pbxfwd=true
  • Make sure there are no administrative CFUs (using boolean, "only not for" etc.) configured on the PBX users/agents.
  • Make sure the CFNR Timeout is longer than timeout defined in the ACD XML Script. CFNR defined on User Objects with no registered device are executed immediately.
  • If "No Answer" on Trunk Object is configured, configure a CFNR on the ACD VoiceMail Object with "-" (minus sign) as number (see Reference7:Administration/PBX/Objects/Edit CFs for more information).


  • Download the complete file package of scripts and files described in this article.

Related Articles

How to Configure the innovaphone Voicemail