How to delete "exten => 4001,n,Answer" from queue extension?

I use Asterisk 1.4.29 and FreePBX 2.7.0.3.

I configured a queue without music on hold (instead plays ring).

It looks like this in extensions_additional.conf

exten => 4001,1,Macro(user-callerid,)
exten => 4001,n,Answer
exten => 4001,n,Set(__BLKVM_OVERRIDE=BLKVM/${EXTEN}/${CHANNEL})
exten => 4001,n,Set(__BLKVM_BASE=${EXTEN})
exten => 4001,n,Set(DB(${BLKVM_OVERRIDE})=TRUE)
exten => 4001,n,ExecIf($["${REGEX("(M[(]auto-blkvm[)])" ${DIAL_OPTIONS})}" != "1"],Set,_DIAL_OPTIONS=${DIAL_OPTIONS}M(auto-blkvm))
exten => 4001,n,Set(__NODEST=${EXTEN})
exten => 4001,n,Set(MONITOR_FILENAME=/var/spool/asterisk/monitor/q${EXTEN}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => 4001,n,Set(__MOHCLASS=none)
exten => 4001,n,Queue(4001,tr,,,3600)
exten => 4001,n,dbDel(${BLKVM_OVERRIDE})
exten => 4001,n,Set(__NODEST=)
exten => 4001,n,Goto(app-blackhole,hangup,1)
exten => 4001*,1,Macro(agent-add,4001,)
exten => 4001**,1,Macro(agent-del,4001)
exten => 4001,1,Goto(from-internal,${QAGENT},1)

Unfortunately this queue answers the call when customer dials our number.

Therefore the customer has to pay for being in the queue and hears ringing.

What i need ist that the part “exten => 4001,n,Answer” is deleted from the extension. I was told that this is not a problem ( http://forums.digium.com/viewtopic.php?p=142850&sid=17d02e2b99e331809db42a78531bceb4#p142850 ).

I now created the following part in extensions_custom.conf:

[ext-queues-custom]
exten => 4001,1,Macro(user-callerid,)
exten => 4001,n,NoOP(custom queue without answer)
exten => 4001,n,Set(__BLKVM_OVERRIDE=BLKVM/${EXTEN}/${CHANNEL})
exten => 4001,n,Set(__BLKVM_BASE=${EXTEN})
exten => 4001,n,Set(DB(${BLKVM_OVERRIDE})=TRUE)
exten => 4001,n,ExecIf($["${REGEX("(M[(]auto-blkvm[)])" ${DIAL_OPTIONS})}" != "1"],Set,_DIAL_OPTIONS=${DIAL_OPTIONS}M(auto-blkvm))
exten => 4001,n,Set(__NODEST=${EXTEN})
exten => 4001,n,Set(MONITOR_FILENAME=/var/spool/asterisk/monitor/q${EXTEN}-${STRFTIME(${EPOCH},,%Y%m%d-%H%M%S)}-${UNIQUEID})
exten => 4001,n,Set(__MOHCLASS=none)
exten => 4001,n,Queue(4001,tr,,,3600)
exten => 4001,n,dbDel(${BLKVM_OVERRIDE})
exten => 4001,n,Set(__NODEST=)
exten => 4001,n,Goto(app-blackhole,hangup,1)
exten => 4001*,1,Macro(agent-add,4001,)
exten => 4001**,1,Macro(agent-del,4001)
exten => 4001,1,Goto(from-internal,${QAGENT},1)

Unfortunately this does not work beacuse this part of extensions_custom.conf is not used.

How can i reach this?

normally the queue answers the call anyhow.

If setting ringing for the queue does not answer the call then file a ticket in the tracker that we should not be answering when ringing is chosen.

Please test this before filing the bug though. Delete the Answer() and then do a reload at the CLI and call into your queue. Check to make sure that the person sits in the queue but the call remains un-answered.

If the above works and the call does not get answered, then please try a call into a queue that sits for a long time, at least 5 minutes. I want to make sure that the client does not eventually get terminated because of our lack of signaling which is a risk if we don’t answer the call prior to the queue call.

I allready tried it by deleting the answer part manually out of extensions_additional.conf and it all still works after reloading by console.

If nobody answers the queue i configured hangup which does no answer like busy.

My main question is, why my [ext-queues-custom] part in extensions_custom.conf is ignored?

concerning your second question, go do some homework on how Asterisk deals with context includes…

As far as trying it, can you please do what I requested above and report back what you find. We won’t consider changing FreePBX to remove the answer without the above requested data to evaluate the impact.

You was right. If i delete answer from the queue extension i loose connection after about 1 minute.

But this would not be a problem for me because i use “Ringing Instead of MoH” and most customers dont wait for so long yust hear it ringing.

I only want to use a queue because i need the wrapuptime feature. If i could use some kind of pause after a completed call in a ringgroup or extension my problem would be solved too.

monotek,

thanks for checking that.

I’m inclined to not provide a feature to skip the Answer in queues given this findings. Though I understand there are use cases where it may be desired and appropriate, it would also lead to many problems with user’s choosing that option not realizing the detrimental consequences. Even if you warn them, most people don’t RTFM.

None the less, you are welcome to open a feature request in the tracker if you want providing the details of what you discovered in the ticket so that it can be evaluated and the thought not lost since you never know what ideas come up to deal with the issue.