Queue Help

I have a queue with five static agents but I only want one agent dealing with a queue call at any given time. I thought I had a solution but it turns out it’s not working like originally thought. Basically the call comes into the queue and there is a custom extension that acts as an agent. The custom extension has a dial string that calls a ring group with all the ‘static’ agents. However when an agent answers the phone the next call comes in from the queue and starts ringing all the other agents. I don’t want this to happen. I want the current agent to finish with the current call before the next one comes in.

Sadly, we simply don’t have enough man power to have three agents tied up on a phone at the same time.

I was looking at this: [SOLVED] Set Ring Group Busy When One Line Occupied
However I can’t seem to get it to work, all it does is make the second call ring busy.

I don’t completely get what you are trying to accomplish.

Take a look at skip busy, also at agent penalties.

Ok, let me try again.

We have three incoming channels but realistically we can’t simply answer that many incoming calls as we are a small business and we don’t have enough man power all the time to answer the phones, help customers as they walk in, unload trucks, etc.

Here is what I want:
Let’s say we get three inbound calls at the same time. The callers get dumped in our queue. The queue will take the first call that comes in and ring all the phones in our ring group (extensions 201, 202, 203, 204, and 205). Lets say ext 202 answers the call. The next call in the queue will then start ringing the other phones. I don’t want this to happen. Once ext 202 hangs up with the first call, then I want the phones to start ringing with that second call that is still in the queue. Once the second call has been completed, then the third call will start ringing all the phones. Yes, everyone could hit DND or log out of the queue (if I make them dynamic agents) when they help a customer or leave their post. But I guarantee everyone will forget to do so (or log back in for that matter). Then the Sangoma D10 doesn’t have an easy way to hit DND or log in/out of a queue.

What I’m asking might not be exactly possible, or maybe I’m overthinking it. lgaetz suggested having a custom extension as the queue agent with a dial string that calls the ring group. My initial testing had me believe this was the ticket, but unfortunately it’s not. Once the call is answered by an agent, the virtual agent gets the next call in the queue and starts calling the ring group. I’ve played with various settings like ring strategy, disabling call waiting, etc. I’m kinda at a loss.

Try to do like i said before, enable skip busy on the Queue. Should work as you discribe.

No that won’t work. As he has stated his other 4 phones are not busy. But what he wants is regardless of how many agents are in the queue for it to only ever allow a single agent on a call at a time. I can’t think of any way to do this in FreePBX as it goes against the very concept of a queue.

You’re right Tony.

I would just turn off call waiting at the provider, but it gives a generic message which caused some customers to get bent out of shape and rightfully so. They thought we changed phone numbers or went out of business.

I think the simplest solution would be to hire some more employees devoted to just answering the phone and doing paper work. Who would like to convince the owner of that? lol

It seems like you’d need a custom-coded solution for what you’re trying to do. The “easiest” option with stock FreePBX would be to make your queue agents dynamic and have them log in/out of the queue to reflect when they are truly available to take calls. Yes, people have to remember to press a button.

It’s like you want a very inefficient queue where agents appear to be available and calls are waiting to reach them, but the two groups aren’t getting matched up. Not to put too fine a point on it, but what you’re trying to achieve now technologically doesn’t seem very customer service oriented in general.

You are right Tony.

I just tested this by using adding a virtual extension that has followme enabled to 3 actual extensions. I enabled skip busy on the queue and disabled call waiting on the virtual extension.

My question is, how come when an extension is in use through follow me the queue doesn’t see it that way, if you have more than one number in the list? If you have only one number it is seeing it as busy. Same question about call waiting…

Because it can’t get device state on something that is not a proper device. A ring group or follow me doesn’t have device state.

Then the question is how come it DOES work when you have only one number set in FM?

Possibly putting all agent extensions in followme group of virtual extension that is only extension in queue?

If you were willing to do some custom coding, you could:

  • Send all calls to a staging queue.
  • Check if there are any calls in the real queue/if one agent is busy on the phone.
  • If they are not, send the next (oldest) call into the real queue.
  • If there is already a call, keep the call in the staging queue
  • Loop the check every X seconds.
  • Put a max delay on the staging queue so calls do not get trapped forever.

Not sure how much effort this is worth, but something like that might get you close to what you are looking for.

I got a temporary band-aid on it now. Poking thru my providers portal, I found that I can get the phone to ring busy when a second calls comes in.

If that works for your customers, that’s great. Any business that presents a busy signal to me in the 21st century would probably not get a call back.

You would have been better off to have continued the first thread you started (edit: oops, I see now that thread’s been closed), since nobody here will have a clue what you’re talking about. On your original setup, you had a custom extension with a dial string to a ring group. Instead of that, try putting individual extension dial strings separated by an & character like this:

SIP/5005&SIP/5004&SIP/5003

where the digits are your extension numbers. If you are using pjsip for your extensions, the dial string would look like:

PJSIP/5005&PJSIP/5004&PJSIP/5003

And you can mix and match if you have a mix of each. Then you need to ensure you have the proper skip busy option set for your queue. Add the custom extension as a static agent and retest.

3 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.