PBX API : PredictiveDialer

 

Interface example

Hidden Parameters

the parameters that must be passed in uri:

  • web resource to download a file in json format of contacts, example: http://<ip>/getcontacts.php?campaign=X fields:

    • id

    • name

    • number

    • result

  • web resource to perform updates, example: http://<ip>/campaign=X&id=<contact id / number>&status=<status>

    • contact id / number

  • id of call group

  • number of spare calls (extra calls exceeding the number of free operators) - default one

Usage Outgoing calls

  • press Start - the system starts calling the customers which status is yet not DIALED

  • press Pause - the system stops calling new customers

Usage Operators

  • manage operators and see their status

  • see the number of called customers waiting for an answer

Predictive Algorithm

The predictive algorithm generates a number of outgoing calls equal to the number of free operators plus number of spare calls. The number of spare calls allows to increment the performance of the call center by pre-calling final customers.

Immediately after answer customers listen to a message informing that their call will be forwarded to an operator. While waiting for an answer they can hear either music on hold or a ringback.

Status

  • Trying - call has been generated

  • Ringing

  • Error: q.950 Reason field or conversion of SIP error to Reason

  • Dialed: customer answered

  • Fax: the system detected a fax during the playback of the message

Exceptions:

  • customer hangs up while waiting in the queue

Dial plan configuration

outgoing dialplan: this is the dialplan of the user used to log in to webapi and must contain the outgoing trunks / huntgroups and the following string:

Set(RESULT=${CURL(http://192.168.1.243/predictive_dialer/demo_data/updateData.php?status=${HANGUPCAUSE}&number=${EXTEN}&numberid=${NUMBERID}&campaign=${CAMPAIGNID})})

callgroup dialplan: this is the dialplan where the call group must be called. The rules related to fax are needed to perform correctly fax detection.

FAX:

Set(RESULT=${CURL(http://192.168.1.243/predictive_dialer/demo_data/updateData.php?status=200&number=${CALLERID(num)}&numberid=${NUMBERID}&campaign=${CAMPAIGNID})})

Default:

Set(RESULT=${CURL(http://192.168.1.243/predictive_dialer/demo_data/updateData.php?status=16&number=${CALLERID(num)}&numberid=${NUMBERID}&campaign=${CAMPAIGNID})})

DEMO

http://www.wildix.com/webapi/predictiveDialer/

WebAPI library (check Predictive Dialer folder) - Download