Paused vs In-a-Call using Dialplan Functions

System: Asterisk 15 and pjsip

Using Dialplan Functions, I am trying to distinguish between an agent being paused vs the agent actually being in a call. It appears that counts,statuses do not distinguish between this.
Is there a way to do this within the dialplan?

Thank you

What do you exactly mean, are you using the asterisk queue app or a third party program
Unless you’re using custom device state these are the posibles device state, I dont know Paused state

  • UNKNOWN
  • NOT_INUSE
  • INUSE
  • BUSY
  • INVALID
  • UNAVAILABLE
  • RINGING
  • RINGINUSE
  • ONHOLD

Hello and thank you for your response.

I am currently using the Dialplan function QUEUE_MEMBER and loop through all the agents to get logged, ready, free, and paused counts. The issue with this is that paused is set when agent is unavailable(paused), or in-a-call. I want to distinguish between just unavailable and in-a-call.
I tried using the Dialplan function EXTENSION_STATE, but it is returning a status of UNKNOWN for every agent.

Thank you

Try DEVICE_STATE() function INUSE and UNAVAILABLE state should be returned dependng on the state of the device for your case

DEVICE_STATE is returning “INVALID” for every agent (PJSIP/Agent); where Agent = member in QUEUE_MEBER_LIST and I’m not sure why. I know the members are correct because I see the agents in the QUEUE and the calls work. I just can’t get the Agents true status. i.e. are they really in a call.

Thank you,

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