[Home]

Summary:ASTERISK-10142: ack announce cuts off audio file
Reporter:Ben M (deskhack)Labels:
Date Opened:2007-08-22 10:49:53Date Closed:2007-08-27 15:51:29
Priority:MinorRegression?No
Status:Closed/CompleteComponents:Applications/app_queue
Versions:Frequency of
Occurrence
Related
Issues:
Environment:Attachments:
Description:in the queues.conf config, "announce = beep" (example) is set to any valid audio file, and in agents.conf, ackcall=yes;

Member of the queue answers a call, asterisk waits for the pound key, only the first half second of the audio file is played and this error is thrown;

WARNING[12734]: app_queue.c:2517 try_calling: Announcement file 'beep' is unavailable, continuing anyway...

The problem with this error, is the file is available, and the first half second is played, but then the file stops and this error is displayed.

****** ADDITIONAL INFORMATION ******

In apps/app_queue.c under int play_file(, this might be the issue;

       res = ast_streamfile(chan, filename, chan->language);
       if (!res)
               res = ast_waitstream(chan, AST_DIGIT_ANY);

       ast_stopstream(chan);

I think waitstream is picking up the pound key that was just pressed (and therefore throwing an inaccurate error saying the file is unavailable), an older verion of the app_queue.c has this instead;

if (!res)
    res = ast_waitstream(chan, AST_DIGIT_ANY);
  else
    res = 0;

  ast_stopstream(chan);

There is an else res=0 that the current version does not have.

Comments:By: Mark Michelson (mmichelson) 2007-08-27 14:23:16

The else was taken out because we depend on the return value to be -1 in the case of a failure to stream the file or if the caller hangs up during the playing of the file, so adding it back in would not be a good idea.

By: Digium Subversion (svnbot) 2007-08-27 15:50:40

Repository: asterisk
Revision: 81120

------------------------------------------------------------------------
r81120 | mmichelson | 2007-08-27 15:50:39 -0500 (Mon, 27 Aug 2007) | 7 lines

DTMF begin frames should be ignored so that when an agent acks a call with the '#' key,
he doesn't cause a queue's announce file to be interrupted. Also went ahead and did the
same for the '*' key and for ending a call.

(closes issue ASTERISK-10142, reported by deskhack, patched by me)


------------------------------------------------------------------------

By: Digium Subversion (svnbot) 2007-08-27 15:51:29

Repository: asterisk
Revision: 81121

------------------------------------------------------------------------
r81121 | mmichelson | 2007-08-27 15:51:28 -0500 (Mon, 27 Aug 2007) | 15 lines

Merged revisions 81120 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r81120 | mmichelson | 2007-08-27 16:08:48 -0500 (Mon, 27 Aug 2007) | 7 lines

DTMF begin frames should be ignored so that when an agent acks a call with the '#' key,
he doesn't cause a queue's announce file to be interrupted. Also went ahead and did the
same for the '*' key and for ending a call.

(closes issue ASTERISK-10142, reported by deskhack, patched by me)


........

------------------------------------------------------------------------