Currently I have an app that does realtime Queues and Agents, and it works. The problem is the Agents are dialed at a local interface (Local/1234@context), in which the context sets a few channel vars and dials an external PSTN phone number of the logged in agent. From what I can tell, only SIP devices can tell the Asterisk Queue that it is busy. Local does not report back to Asterisk Queues that it is busy. From the queues.conf:
; If you want the queue to avoid sending calls to members whose devices are
; known to be 'in use' (via the channel driver supporting that device state)
; uncomment this option. (Note: only the SIP channel driver currently is able
; to report 'in use'.)
; ringinuse = no
Can I make a SIP connection to my own server and “pretend” that the end user is a SIP phone, then use that SIP connection (ie SIP/1234@localhost), then add to my default context (where unregistered SIP calls go for me) _1XXX that then does a realtime lookup then a DIAL(Local/12125004000@outbound)? Is it possible to somehow spit an “In Use” signal via SIP back to Asterisk Queue so that agent is marked “In Use?”
Let’s say that doesn’t work. Should I add a Dial() Macro that marks the agent as paused when they answer, and then when it hangs up unpause them? Is that the best implementation to get this done?
I simply need to tell Asterisk that a queue does or does not have available agents, when those agents are not connected via SIP phones (soft or hard).