User Rating: 5 / 5

Star Active Star Active Star Active Star Active Star Active

So, let's pretend you are running a medical center, maybe a pizza place or any business that requires attending customers by the phone and walk-ins at the same time. It is obvious that you need at least one person not talking on the phone. It is also obvious that you need a call center queue for those customers on the phone.

Call Center Limitation

The problem here is that FreeSWITCH mod_callcenter will always try to keep the agents busy before holding a user in the music on hold. There is no out-of-the-box solution.

callback callcenter queue users in a busy queue

You can't make it work with a simple call center queue. You may say "hey why don't you put Agent C as not available?", that could work if you only want Agent C to do other things and Agent A & B are 100% dedicated to the phone, but usually that kind of business doesn't work like that; everyone does everything. It wouldn't be fair for the agents. This solution will load-balance the work (based on the policy you have configured); when Agent A/B ends the call, then Agent C will take the next and Agent A/B will be able to do something else.


My solution consists of having a second call center queue that filters the agent utilization.

callback callcenter queue second queue filtering


For the sake of keeping things simple, let's call T1 and T2 where T1 is the frontend queue where all the customers are waiting and T2 is the queue that actually has the agents. In this example, we are having three agents, but we only want two on the phone. Follow this guideline:

  • Attach all your call center agents to T2,
  • Configure T2 with all the other settings you may want,
  • Attach T2 in T1 as many times as you need; in this example, we only want two out of three agents on the phone, so we will be attaching T2 into T1 twice. Keep in mind this:
    • use loopbacks endpoints (something like loopback/t2/context) when you attach a T2-agent into the T1 queue,
    • each attachment must have a different priority,
  • Configure T1 with all the other settings you may want.

When it is done, reload the configuration. Keep in mind that using loopbacks there is the side-effect of the double call recording. I think it is a small price. 

Too complex? Hire me!

Good luck!

blog comments powered by Disqus


Read about IT, Migration, Business, Money, Marketing and other subjects.

Some subjects: FusionPBX, FreeSWITCH, Linux, Security, Canada, Cryptocurrency, Trading.