The dialer works by moving through the file at /usr/share/cfd-dialer/conf/callFiles/calls.csv, and placing calls to the numbers listed. After each number is attempted, the index is increased, so that the subsequent line's destination number is retrieved in the next call.
If the call is answered within the defined time period, it is marked as being successful. A call that is not answered within the time out period (whether it rang the entire time, or encountered an engaged destination), is marked as unsuccessful, and added to a new list of numbers, stored at /usr/share/cfd-dialer/conf/callFiles/calls.1.csv, and the same procedure is followed. Once again, unsuccessful calls are placed into a new list, /usr/share/cfd-dialer/conf/callLists/calls.2.csv. This procedure is repeated, until the maximum number of retries have been attempted.
The dialersettings file is used to keep track of the the index and retry index of the dialer. It is located at /usr/share/cfd-dialer/conf/dialersettings, and contains variables currIndex, and currRetry, intended to track the index of the call most recently attempted, as well as the number of times that the calls lists have been attempted.
If the currRetry variable is set to 0, then the dialer will be looking to /usr/share/cfd-dialer/conf/callLists/calls.csv for the numbers to call.
If the currRetry variable is 1, then the dialer will be processing its first retry,and the numbers dialed will be taken from the calls.1.csv file.
If currRetry is 2, then the dialer is processing its second retry, and the numbers dialer will be taken from calls.2.csv.
After each time the index and retry variables are incremented a backup file is written, called dialersettings.bak.
When all numbers in both the calls.csv file, and all retry files, have been attempted, the dialer uses the index and retry