Asterisk 1.4.22 Agent call acknowledgement bug
The behaviour of Asterisk has been altered since 1.4.21, possibly in error, with regard to answering calls from call queues.
There is a feature that requires agents to press # when they are ready to speak to a caller. Since we forward calls to agents via their mobiles, rather than auto-answer calls in a desk environment, we disabled that feature with ackcall=no in agent.conf.
After upgrading to 1.4.22 we see this configuration is nolonger honoured. Diffing chan_agent.c between version 1.4.21 and 22 shows a new section of code saying (in English) that ‘if there is no per-channel override specified in the dialplan, default the configured variable’ (line 2048). I looked at where the default was read from the config file and it looks like a lot of different chunks of chan_agent want to set the ackcall default!
The bug shows up in the asterisk console as :
– Agent/xxx is ringing
– SIP/voip-out-081e5a88 is making progress passing it to Local/447xxxxxxxxx@uk_all-a667,2
– SIP/voip-out-081e5a88 answered Local/447xxxxxxxxx@uk_all-a667,2
– Local/447xxxxxxxxx@uk_all-a667,1 answered, waiting for ‘#’ to acknowledge
The workaround is that the only safe place to set the default ackcall behaviour is for each channel in the dialplan. If you want to disable the ‘waiting for ‘#’ to acknowledge’ behaviour, configure your dialplan as such :
exten => 1701,1,Answer()
exten => 1701,n,Set(AGENTACKCALL=no)
exten => 1701,n,Queue(noc|r|||40)
exten => 1701,n,Voicemail(xxxxx)
exten => 1701,n,Hangup
Leave a Comment
Comments
Leave a Reply
You must be logged in to post a comment.