From what i see when the customer hangs up, the record will be removed from the vicidial_auto_calls table. If the agent does not press hangup and gets put on pause after the client hangs up.. and the agent stays int he call for whatever reason.. the dialing calculation gets messed up and this is how:
Lets say avaliable tally is set to Y and there are 2 agents logged in. both are on in status "INCALL" but one of them acctually is sitting there even tho the customer hung up.. (maybe he went to the bathroom or forgot to dispo or whatever) the calculation checks how many calls are in vicidial_auto_calls and checks how many it should create based on users avaliable and tally set to Y.. now lets say tally is set to yes dial level is set to 1 and there are 2 agents with status set to incall the cal will be this
agents * dial level = calls to be made
calls to be made = 2 - how many live calls in vicidial_auto_calls table = calls to be places
now here is the flaw.. sicne the customer hung up for one of the agents it will assume it has to make 1 call.. even tho avaliable tally is set to Y it still dials that 1 call..
As soon as i set that agent status to pause via the database.. the dialer autoaitmcly stopped making that extra 1 call.. keep in mind the whole time avaliable tally was set to Y