With Puzzel Dialler, the Puzzel administrator can upload a file with numbers to a Dialler campaign queue, and when this campaign is active and agents are logged on, the queue starts calling.

The Dialler Campaign queue(s) usually have queue_key starting with ‘__Dial’, and Dialler calls usually have a dedicated service “access number”, which is shown as the initiation event’s destination.

Since several phone numbers (contacts) are put into the Dialler queue each minute, and a contact may wait in queue for minutes or hours before being called (depending of AHT, answer rate and number of agents), it may take quite some time from the Initiation and Queue event (session 1) is delivered to the db until the conversation events (session 2) for the same call_id arrive in the db.

In addition, when a campaign is (temporarily) disabled, this will result in a queue event with result=d (deleted) in addition to the queue event with result=q for the contacts (call_ids) that were in queue and now were removed from queue.

If a call to a contact’s number results in busy or no answer, the Dialler usually calls this contact later. The number of call attempts per contact is configurable. For each new call to a contact, a new Puzzel request with a new call_id is created (with queue and conversation events).

It is possible to configure that one or more of the variables from the Dialler list (e.g.  a contact_id and campaign_id stored in var1-var30) appear as call_variables in the Raw data. If this is done, you will find the same variable value (e.g. contact_id = 123456) as a call_variable record for all the calls made to the same contact.

From v1.9 you will find what Display number that is used for each call to the contacts in the conversation event's column 'originating' (in table call_events).  

Enquiry registration and Rescheduling done by agent

If the agent makes an Enquiry registration in the Puzzel agent application for a Dialler call, the selected topic(s) will appear in the Enquiry registration records.

If an agent reschedules a Dialler call (in the Enquiry registration part), this results in a new call to the same contact later. The rescheduling date/time and comment can be found in the enqreg_header record “belonging” to the call.

If the agent that rescheduled selected “to me”, the Enqreg header record with the rescheduled time will have reserved = true (from db v1.6).

A rescheduled call is always “call agent first”, also for a predictive mode (call contact first) campaign queue.

1) If an agent deletes his own rescheduled dialler call (in the Scheduled call tab), the contact will be “disabled” and the rescheduled call will not be done.
2) If an admin disables a contact in the Dialler list (or if a contact is deleted/disabled using the API), the contact will not be called.
3) We do not create any Raw data record for such contact disable/delete actions

“Mark as unanswered” done by agent

If the agent is connected to a contact’s answering machine, the call to this contact is technically answered and the conversation event will have result=k. If the agent (for whatever reason) clicks “Mark as unanswered” in the Enquiry registration part (possible from June 2018), the conversation event’s result in raw data is not changed (still result=k), but this makes the Dialler call this contact later (if more call attempts are left for the contact).

From db v 1.6 the new column marked_unansw in table enqreg_header will have value true if the agent clicked “Marked as unanswered”.

Dialler list look-up for incoming calls to mark a contact as answered

If a dedicated display number is used for Dialler, it is possible to configure that for incoming calls to this number, Puzzel does a list look-up to see if the caller’s number is in one (or more) Dialler list(s), and if so, this contact can be marked as “answered ok” in the Dialler list so that Dialler does not call this contact again. If this is done, it is possible to create call variables to register that this happened, e.g. dialler_marked_answered (containing phone number) and dialler_list_name. If you use this list look-up functionality and is interested in generating call variables for this, please contact Puzzel so that we can discuss a possible solution.

Error and Number not in use

The column result_response (from db v. 1.6) contains extra information for calls. Some of the conversation events for calls to contacts with result_code = e (error) might have result_response = 1 (ISUP - unallocated number) or 404 (SIP - Not found). If you find such calls, you should probably update these contacts phone numbers in your main source system for Dialler contacts.  

See also Extra information for calls (result_response)

Mobile phone switched off or out of range

If the Dialler calls to a contact’s mobile number and the mobile operator plays announcement “Mobile switched off…” without sending an answer signal, the conversation event for the call to this number will usually get result_code=t (timeout).

  • On a predictive/power/progressive mode (call contact first) campaign, an agent will not be connected in such cases, since the Dialler does not receive an answer signal.
  • On a preview mode (call agent first) campaign, the agent is on the line before calling the contact, but the message played might not be heard by the agent. Since the result for the call will be timeout, the contact will be called later (if more tries are left for this contact)

Call variables

It is possible to store info about a Dialler call in a call_variable, e.g. contact’s external_id, Name or call attempt number. See Call variables

Dialler “flowchart”:

There are different Dialler modes that generates different raw data:

  • Preview mode (Call agent first)
  • Predictive/Power/Progressive mode (Call contact first)


Last updated