Looking to see if it is possible to obtain the queue member status from ARI. I basically need to see if the agent is paused or not. I am trying to create a real time “phone-tree” to show the status of agents, (available, paused, busy). I can see a pause occur only when I manually dial the pause feature code “*46” but not when the agent pause time is triggered from the queue. As always any help is greatly appreciated. Thanks
The Queue application does not provide a direct interface through ARI. You can indirectly do it using the QUEUE_MEMBER dialplan function[1] and the ARI route for retrieving a variable (you can use dialplan functions with it).
[1] https://wiki.asterisk.org/wiki/display/AST/Asterisk+13+Function_QUEUE_MEMBER
Thanks for the info. Based on my understanding from what you posed I should be able to do something like this correct?: http://127.0.0.1:8088/ari/asterisk/variable?variable=QUEUE_MEMBER('Sales')
If that is what you mean then I just get back an empty value. I am new to Asterisk if it isn’t apparent by now.
@jcolp I’ve decided to go another route where I access the AMI as I can see a “paused” bit being flipped to either 1 or 0. The problem however is I don’t know how to trigger a pause after an agent hangs up the phone. This seems to be different from wrap up time whereas I thought wrap up time was actually pausing the agent. Is there a line I need to add somewhere to trigger a pause for a predefined amount of time?
I don’t use app_queue so I don’t have any information on that. If there were something it would likely be documented in the queues.conf sample file.
Did you happen to solve this?
Hi, for example, if the queue member is SIP/queuember1
, there is only one way to find out the status of this member with ARI.
First of all,
- Add the
callcounter=yes
parameter to the queue you are using in thesip.conf
file. - Then with ari; When you return the query
http://<IP_ADDRES>:8088/ari/deviceStates/<SIP_USER>?api_key=<API_KEY>
you can find out the status of the queue member.
This query will return you an answer like this;
{
"name": "<SIP_USER>",
"state": "<STATUS>"
}
In this way, you can easily find out the status of a queue member.