(my confguration is in my signature)
We noticed that algorithm which is supposed to dispatch calls is not working as expected.
Indeed:
the parameter next_agent_call of vicidial_campaigns and vicidial_inbound_groups is based on last_call_finish column of vicidial_live_agents table.
We set next_agent_call to oldest_call_finish and/or longest_wait_time
- oldest_call_start: orders by the last time an agent was sent a call. Results in agents receiving about the same number of calls overall.
- longest_wait_time: orders by the amount of time agent has been actively waiting for a call.
expecting that the agent who is waiting for a call for the longest time will receive the next call.
But in reality, some agents receive a lot of calls, and some are waiting for many minutes.
We noticed that the column last_call_finish of vicidial_live_agents table is not updated when the agent finishes his call with a customer, only last_call_time is updated :
Before receving call
- Code: Select all
MariaDB [asterisk]> SELECT live_agent_id,user,conf_exten,extension,status,lead_id,last_call_finish,last_update_time,last_call_time,ring_callerid FROM vicidial_live_agents ORDER BY last_call_finish;
+---------------+------+------------+-----------+--------+---------+---------------------+---------------------+---------------------+---------------+
| live_agent_id | user | conf_exten | extension | status | lead_id | last_call_finish | last_update_time | last_call_time | ring_callerid |
+---------------+------+------------+-----------+--------+---------+---------------------+---------------------+---------------------+---------------+
| 3129 | 203 | 8600052 | SIP/203 | PAUSED | 367274 | 2017-04-07 08:25:08 | 2017-04-07 08:26:44 | 2017-04-07 08:26:11 | |
| 3131 | 202 | 8600051 | SIP/202 | READY | 0 | 2017-04-07 09:03:26 | 2017-04-07 09:15:22 | 2017-04-07 09:11:10 | |
+---------------+------+------------+-----------+--------+---------+---------------------+---------------------+---------------------+---------------+
2 rows in set (0.00 sec)
After hanging up
- Code: Select all
MariaDB [asterisk]> SELECT live_agent_id,user,conf_exten,extension,status,lead_id,last_call_finish,last_update_time,last_call_time FROM vicidial_live_agents ORDER BY last_call_finish;
+---------------+------+------------+-----------+--------+---------+---------------------+---------------------+---------------------+
| live_agent_id | user | conf_exten | extension | status | lead_id | last_call_finish | last_update_time | last_call_time |
+---------------+------+------------+-----------+--------+---------+---------------------+---------------------+---------------------+
| 3129 | 203 | 8600052 | SIP/203 | PAUSED | 367274 | 2017-04-07 08:25:08 | 2017-04-07 08:26:44 | 2017-04-07 08:26:11 |
| 3131 | 202 | 8600051 | SIP/202 | READY | 0 | 2017-04-07 09:03:26 | 2017-04-07 09:17:44 | 2017-04-07 09:17:07 |
+---------------+------+------------+-----------+--------+---------+---------------------+---------------------+---------------------+
2 rows in set (0.00 sec)
last_call_finish seems to be updated only when I log on vicidial and join the meetme conference.
Is it a bug or a misunderstood from my part ?
Thanks in advance for your help!
Julie