Preview dialing is a type of reverse dialing available since WombatDialer 0.7.0 where the agent has a chance to “preview” the number that has to be called before actually having a call placed.

The way it works is:

  • The agent logs on to a queue. WombatDialer uses the queue (as it usually does in Reverse dialing modes) to know which agents are available. This makes integration with QueueMetrics very easy.
  • The agent asks WombatDialer for a number to call. WombatDialer gets the next number out - considering all its dialing and reschedule rules - and reserves it for the agent.
  • The agent uses a GUI where they can see the number to be dialed and typically embeds, or links to, an external CRM app so that they can review the call
  • When the agent is ready, they ask for the call to be either placed or skipped.
  • If the call is to be placed, the agent is connected immediately and listens to Music on Hold until the callee is on line
  • If the call is not to be placed, it is marked with a special code
  • Reschedule rules apply - so error states are handled correctly

Step 1: Installing FreePBX

In order to run this tutorial, we install a brand-new FreePBX system. On it we create:

  • Three SIP extensions: 300, 301 and 302. We will use 302 as the agent extension while 301 and 300 will be used as sample end-points
  • One queue, called “400”, to hold our agent. Note that calls will NOT be processed through the queue but we will use the queue to keep track of which agents are available. When defining it, we make sure that we set: “Ring Strategy: rrmemory” - “Event when called: yes” - “Member status: yes” so that WombatDialer can fully observe it.

Step 2: Installing WombatDialer

We install WombatDialer on the FreePBX system using yum. When we log in, we create:

  • An Asterisk server that can talk to FreePBX. We can use the AMI user “admin” with the default password you gave during the system installation.
  • A trunk named named “Trunk”, which dial string will be Local/${num}@from-internal
  • An end-point of type QUEUE, which name is “400” (so that it observes queue 400), located at extension “400” context “from-internal” (this is not really needed if you run only reverse campaigns), setting both “Reverse dialing: yes” and “Manual preview: yes”
  • We create a list called “Numbers” and leave it blank for now
  • We create a campaign called “Reverse”, which has logging set as “QM_COMPATIBLE” and which logging code is “400”. We add to it the trunk, the EP and the list we just created.

Now we go to the list manager and upload the following list:


This tells WD to dial numbers 300 and 301, and sets a NAME attribute for each call (that will be useful when previewing).

Step 3: Installing and configuring QueueMetrics

Install QueueMetrics on the same machine as the FreePBX system by typing:

yum install queuemetrics-espresso

Now log in into QM and configure:

  • An agent called agent/302
  • A user for agent 302 called “agent/302” password “999” class “AGENTS”
  • A general monitoring queue called “400”. Set agent/302 in the MAIN level of that queue.

Now edit the “System parameters” and edit the section realtime.agent_button_1 as follows:

realtime.agent_button_1.url= agent=SIP/[a]&url=

Edit the public IP of your FreePBX server and replace the “” address above.

This code links to an instance of SugarCRM on On it, create a contact named “John” which telephone number is “300” and one contact named “Mike” which telephone number is “301”. You can link to any other CRM software that has a web-based interface just the same way.

Making it all work together

  • Log “agent/302” into QueueMetrics and have him join queue 400 on extension “302”. Note that we are using Hotdesking - the agent logs into Asterisk with their SIP extension.
  • Start the dialer. From the Live page, start the campaign “Reverse”. No calls will be placed.
  • Check the dialer status. You should see WombatDialer observing queue 400 and finding “SIP/302” logged on. Try pausing and unpausing the agent and refreshing the dialer: the status of SIP/302 should change accordingly.

Now click on the button called “Wombat” from the Agent’s page. You should see a preview panel like the one in the picture:


As you can see the SugarCRM panel is displaying the right record.

TIP: the first time you call the page, SugarCRM might ask you to log in. Do it and refresh the page.

If you look at the Live page on WombatDialer, the call should appear as “Reserved”. When the agent clicks on Dial, the call should start. Once the agent answers, your dialer will try and connect the other extension.

When dialing, the Live page will show what is going on:


And the same thing will happen on the Agent’s page:


Nice work, isn’t it?

Improving the solution

  • You can add PSTN numbers to your lists and the will be dialed as if the had been entered on a local extension.
  • If you want WombatDialer to dial without waiting for an agent decision, just remove the “Manual preview” check and restart the dialer.
  • If you want a customized preview panel, you can create one by using the WombatDialer API.

If you are a new user and would like to test all the new features and benefits offered by WombatDialer feel free to request a 30 days trial with 100 channels at

Permalink - Back to home