I need to modify the asterisk queue member status logic.
i want my agent queue status idle, while ringing the customer phone until customer not picked the call.
if customer pick the call then queue status of the agent should be busy
Outbound calls don’t relate to the queues system at all!
Are you saying you want the queue system to direct incoming calls to the agent’s device whilst the agent’s device is in a RINGING state on an outbound call, and the agent’s device is a SIP device, or similar, that can physically support the tow calls?
If so, ringinuse may help, but it is up to your device to reject incoming calls once the outbound call is in the UP state.
I suppose you might be able to use a local channel between queue and the device and have it check the device state, and examine the device state on the actual agent device.
This assumes the agent’s device is local to your system, so there is a valid device state for that device, rather than for a trunk.
sorry i didn’t explain my full requirement.
let me explain this time.
the process is, once my user logged into my sipml5 phone. he is logged into a asterisk queue.
my system making automatic outbound calls for the agent.
if my agent is in a call with a customer and customer phone is ringing. if customer not pick the call yet and phone is still ringing the status of agent in queue should be idle not busy. the moment customer pick the call agent status should be busy. i already make the changes in my sipml5 phone if customer is ringing and agent has a incoming call then customer phone will be disconnected. and agent connected to incoming call.
( my incoming call queue send the call to agent only if agent status is idle, so while ringing i want my agent status idle)
Are you sure this is legal in your country? I would expect there to be a requirement that most outgoing calls that actually start ringing should end up with the callee talking to an agent, as long as they answer in a reasonable time.
I think you would have to make the queue member a local channel that checked the device state, hungup the outgoing call or better redirected to an apology message, waited for the agent device to clear, then dialled the agent device.