My configuration:
FreePBX 15.0.37.9
GrandStream GXP2160
Order external incall: Trunk-Calendar-IVR-Queue-Extension
Good morning forum,
I configured different ringtones on my grandstream phones but I can’t get this result: if my extension rings with an external call it doesn’t change the ringtones (and priority) if an internal call comes in after a few seconds. Basically it should switch between external ringtone and internal ringtone. Simply put, internal calls must have priority. I don’t think my problem is with the ringtone but with the priority of incoming calls on my extension.
Andrea
The way that Asterisk handles queues is that the caller has control of the processing. When they reach a point where there is, at least, one free agent a list of available agents is built. For ringall, a call is made to all the available agents, and for other strategies, to the first choice agent. That call doesn’t end until one of:
the call is answered;
the agent rejects the call;
the caller hangs up (or is forced out of the queue by a channel redirect);
the timeout defined by the queue is up.
Only then is the agent available to be rung for a different call. There is no mechanism for the thread handling a higher priority caller to preempt a call attempt handled by another thread.
After a timeout, there is a pause and then the complete cycle repeats, with a revised set of agents.
Whilst you can set a low timeout, the call to the agent will be terminated on each cycle, so the agent may try to pick up between cycles. Also people complain about the large number of failed call log entries this creates.
When using Dial, once the phone starts ringing, that call has it until rejected, redirected, hung up, or the dial timeout happens. There is no simple mechanism to cancel the call and replace it. I think it could be done, but I don’t think FreePBX does it, and it would significantly complicate the dialplan.
You understood my request perfectly and provided me with an answer: There is no simple mechanism to cancel the call and replace it. Let’s see if other users have had similar problems and some resolution ideas. Thanks for the moment.
Since you have in-depth knowledge of this topic, I ask you this: if I create two extensions on my grandstream gxp2160 phone, can I manage a switch and a priority on the phone through the two extensions?
I know nothing about this specific phone, but many phones will do this correctly if two line keys are used.
As a test, program a second extension for your phone on an unused line key. Try calling the second line from another internal phone. Without answering, call the first line from a third phone. If the ringtone switches as you desire, send the queue calls to the second line and you should be good to go. If not, you might still choose this or a similar solution, if you would typically notice both line buttons flashing and could choose which one to answer.
If the real issue is that queue calls to your phone have very low priority because other staff should be answering them, consider modifying the queue parameters so your line is rung only after a delay.