Hi. I faced a problem with mod call centre strange behaviour. I have a queue with the strategy "ring all", queue has got 30 agents, all of them always have status available, but only 6 agents can be really active (e.g.: registered and connected) at a time. Those 6 simultaneously answer calls (e.g. can answer 200 on the same INVITE request before CANCEL arrives). *Sometimes an agent might get stuck in the state "In a queue call"* while he is not in a call. In that case waiting agent stops getting calls. CLI command:
*callcenter_config agent set state <agent> waiting*
changes state of an agent at DB, but call center still won't offer calls to him. The only fix I found is to reload mod_callcenter, but during reload all active calls would be dropped. Calls are coming one by one (maximum call rate I had ever seen at this site was ~600 calls/hour). But I didn't notice any correlation with the call rate. Agent may get stuck at any time of day with any call rate ranging between ~150 calls/hour to 400 calls/hour. Most of calls last from 5 to 20 seconds. I tried to switch from sqlite to odbc postgresql, but that changed nothing. Currently switch is connected to ODBC Postgresql. *OS version:* Linux local.pbx 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt20-1+deb8u4 (2016-02-29) x86_64 GNU/Linux *FS version:* FreeSWITCH version: 1.6.6+git~20160111T201612Z~d2d0b3283a~64bit (git d2d0b32 2016-01-11 20:16:12Z 64bit) *sqlite package:* llibsqlite3-0:amd64 3.8.7.1-1+deb8u1 amd64 SQLite 3 shared library *PostgreSQL / ODBC packages:* odbc-postgresql:amd64 1:09.03.0300-1 amd64 ODBC driver for PostgreSQL postgresql-9.4 9.4.6-0+deb8u1 amd64 object-relational SQL database, version 9.4 server *XML configs:* *callcenter/queues/queue.xml:*<queue name="dispatchers"> <param name="discard-abandoned-after" value="300"/> <param name="max-wait-time" value="0"/> <param name="max-wait-time-with-no-agent" value="120"/> <param name="moh-sound" value="$${hold_music}"/> <param name="strategy" value="ring-all"/> <param name="tier-rule-no-agent-no-wait" value="false"/> <param name="tier-rule-wait-multiply-level" value="true"/> <param name="tier-rule-wait-second" value="300"/> <param name="tier-rules-apply" value="false"/> <param name="time-base-score" value="queue"/> </queue> *callcenter/agents/agent.xml* <agent name="agent@local" type="callback" contact="user/agent@local" status="Available" max-no-answer="0" wrap-up-time="1" reject-delay-time="1" busy-delay-time="1" no-answer-delay-time="1"/> that's a typical agent. They are all same except name and contact attributes. *callcenter/tiers/tier.xml* <tier agent="agent@local" queue="dispatchers" level="1" position="1"/>