Summary:ASTERISK-24257: agent must dial acceptdtmf twice to bridge to queue caller
Reporter:Steve Pitts (spitts)Labels:
Date Opened:2014-08-21 11:18:42Date Closed:2014-11-06 13:25:40.000-0600
Versions:12.4.0 Frequency of
Environment:Asterisk 12.4.0-rc1Attachments:( 0) agents.conf
( 1) extensions.conf
( 2) queues.conf
Description:I login an agent using the agentlogin dialplan app. Then I place a call into the queue. Agent dial acceptdtmf digit, hears a beep, but is not bridged to caller. Agent dials acceptdtmf again, and is now bridged to caller
Comments:By: Steve Pitts (spitts) 2014-08-21 11:19:59.192-0500

agent dials 1003 to login
queue caller dials 4000 to enter queue

By: Richard Mudgett (rmudgett) 2014-08-21 11:23:58.836-0500

I expect that you are giving the DTMF while the beep is playing.  During that time, the DTMF ack is not recognized.

By: Matt Jordan (mjordan) 2014-09-03 09:42:52.398-0500

This should probably pass the {{dtmf_accept}} parameter into {{ast_stream_and_wait}} instead of {{AST_DIGIT_NONE}}:

playfile = ast_strdupa(agent->cfg->beep_sound);
ast_stream_and_wait(bridge_channel->chan, playfile, AST_DIGIT_NONE);

A beep is relatively short, so ignoring the DTMF key during it is not a big deal. However, we do allow the administrator to override the acknowledgement sound - which means that playback could be a *lot* longer. If so, you would want the sound to get broken by the DTMF acknowledgement, and to immediately throw the agent into the bridge.