This application is intended to ring round a specified set of destinations and play custom voice prompt.


Call routing setup


Not applicable


Configuration options


WARNING! Both Section and Option values MUST be lowercase in the database. They are mixed case here for readability only.

Section Option Meaning Default




Campaign SIPProxy What SIP proxy to use for outgoing calls. The value specified in -l command line option but with port 5061 or 127.0.0.1:5061
Campaign ScanIntervalSec Delay between scans for new campaign calls. 5 seconds


Database usage


The application uses tables campaigns and campaign_phones to find new campaigns and keep track of call attempts. Additionally the schedules and schedule_records tables can be used to schedule the campaign calls.


Short table overview campaigns


Field Description
i_campaign The primary key.
name Short name of the campaign.
description Long description of the campaign.
i_ivr_prompt The identifier of ivr_prompt to play.
paused Whether the campaign is temporarily stopped.
username Authentication name to use while calling out.
md5secret Password to use with the username.
cli Use this value as CLI when calling out. If not set the CLD value used as CLI.
i_schedule Optional schedule
max_concurrent_calls The maximum number of concurrent calls per the campaign (default: 20)
max_attempts The maximum number of attempts to call each destination (default: 3)
timeout_sec How long to wait for destination to answer (default: 300 seconds)
backoff_sec The delay after unsuccessful call before next attempt (default: 600 seconds)
threshold_msec How long the prompt should have been playing to recognize the call as successful (default: 3000 milliseconds)


campaign_phones


Field Description
i_campaign_phone The primary key.
i_campaign Which campaign this phone belongs to.
cld CLD
finished False when the record still in progress.
expires It is NULL when the record has never been processed. The expiration date and time is contained here otherwise.
next_call The instant when next call attempt will take place. May be NULL which means immediately.
call_count Number of call attempts made.
setup_time Accounting information.
connect_time Accounting information.
disconnect_time Accounting information.
status One of the values: 'idle', 'trying', 'answer', 'failure', 'premature hangup' or 'success'. The value is updated in real time.


schedules


Field Description
i_schedule The primary key.
name Short name of the schedule.
description Long description of the schedule.

schedule_records

Field Description
i_schedule_record The primary key.
i_schedule Which schedule this record belongs to.
start_wday Weekday when to start the campaign (1-Monday,... 7-Sunday)
stop_wday Weekday when to stop the campaign (1-Monday,... 7-Sunday)
start_time Daytime to start the campaign
stop_time Daytime to stop the campaign


Note: The start and stop can be reversed. For example if the start_wday is Saturday and stop_wday is Tuesday then the campaign will take place on Saturday, Sunday, Monday and Tuesday. The same rule applies to start_time and stop_time.


Note: The time intervals are inclusive (see the previous example).


Note: If some interval contains NULL start or stop value then this interval matches any time value.