Why does star (*) disconnect que callers

When someone calls into a queue and the agent attempts to record a call with *1, the caller is disconnected.

For instance:

;blindxfer => ## ; Blind Transfer
disconnect => 777777777777 ; Disconnect Call (** by default)
automon => *1 ; One Touch Record
;atxfer => *2 ; Attended Xfer

Here is the error outout

-- Agent/8724 answered Zap/27-1
-- Stopped music on hold on Zap/27-1

== Spawn extension (macro-stdexten, s, 11) exited non-zero on ‘Local/8724@queueout-c6a6,2’ in macro ‘stdexten’
== Spawn extension (macro-stdexten, s, 11) exited non-zero on ‘Local/8724@queueout-c6a6,2’
– Executing UnpauseQueueMember(“Local/8724@queueout-c6a6,2”, “|Agent/8724”) in new stack
== Spawn extension (Recruitment, s, 7) exited non-zero on ‘Zap/27-1’
– Hungup ‘Zap/27-1’

This will always produce a disconnect when a que caller recieves a call and hits *+anything, it will not record. It does not matter what is put in features.conf (disconnect => ) it always disconnects the call.

What dial command options are you using in the [queueout] context for extension 8724?

I to am having the same problem. I am using Asterisk and FreePBX 2.4.1. I have setup several queues and if a agent presses the * key after answering a call - it hangs up. When I place a call in the queue the command uses the Tt options (Hh are not used). When the call is connected to an agent the dial command is:
Dial(“Local/6890@ext-local-befc,2”, “SIP/6890||tr”)

I am also using realtime queues - that shouldn’t affect this but …

My features.conf is:

and if I do a featore show at the cli, I get:
Builtin Feature Default Current

Pickup *8 *8
Blind Transfer # ##
Attended Transfer *2
One Touch Monitor *1
Disconnect Call * **
Park Call

Dynamic Feature Default Current


Call parking

Parking extension : 3001
Parking context : parkedcalls
Parked call extensions: 3002-3010

Anyone have any ideas?

Few other things it could be. If you are using AgentLogin, it will disconnect on pressing *. Or if you are using the H or h options with the Queue() application.

I’m using AgentCallBackLogin. Where is that behavior documented with regard to AgentLogin? I haven’t found it. I’m definitely not using the H or h options, I’ve checked that several times.

Is there a way to avoid this?

Can a user not logged in as an agent press *1 during a call and record?

If the agent phone receives a call directly (not from a queue), the agent can press and of the features that start with a * key and they work, i.e. *2 (attended transfer). However if the agent receives a call from a queue then pressing the * disconnects (hangs up) the call.

Also I am using the AgentCallBackLogin through the Managers Interface to log them in.

Ok I looked through the chan_agent code. Try this, in agents.conf set endcall=no

; Define endcall to allow an agent to hangup a call by '*'. ; Default is "yes". Set this to "no" to ignore '*'. ; ;endcall=yes

That works, thanks. Pressing * doesn’t disconnect, however, now I find that agents can only do blind transfers, this does not allow full access to the features defined in features.conf. - some folks are never happy :wink:

I am trying to implement dynamic agents so I guess I may need to rewrite my code to use the addqueuemember function instead of the agentcallbacklogin.

Unfortunaly this used to work with an older version (1.2 something) of asterisk. I had to update and now it doesn’t work in 1.2 or 1.4. I’ll look at the code to see if there is a work around but so far I don’t see anything.

Thanks for the help so far.

No problem. Take a look here for pointers/sample dialplan and let me know if you see something wrong so I can update it.

asteriskcookbook.com/wiki/in … ueueMember