Background
We have four physical stores. Each with its own inbound route and queue.
When the consumer calls to the store they interrupt the working staff. I want to test having only one extension that answer for all stores. So when this new ”customer service” extension is logged in and available no calls should go to the stores queues. And when I decide to go back to normal flow just make customer service extension unavailable.
What do you mean by ‘extension is available’? Do you mean your customer service extension is idle and not already on a call or do you mean the customer service extension may or may not be on a call currently, but is logged into a queue and is therefore taking calls?
So you want another queue just for the customer service extension to log into when they are ready. That’s easy enough to do. You can set the join empty/leave empty flags for the queue so then whenever they are paused/logged out, the call will go to the failover destination. The problem is the failover, you need call to go to one of four different queues depending on some condition, I assumed by dialed DID correct?
Dynamic Routes can do this. You could set things up like this:
Inbound Route → Customer Service Queue → failover to dynamic route → branch call to correct store queue
For the Dynamic Route you want to use a lookup on Asterisk Variable and use the var ${FROM_DID}. Then create separate entries for each DID on the system.