[asterisk-dev] [Code Review]: Pinequeue: Play queue prompts in the background - making call available to agent faster

Leif Madsen reviewboard at asterisk.org
Fri Apr 27 10:55:52 CDT 2012



> On April 26, 2012, 11:37 a.m., jrose wrote:
> >

And further to the note, is there really no way to have such dependency on the announcement length having such an adverse effect to all the queue positions being announced? That is a really awkward way of having to handle things. I can imagine someone wanting to adjust the announcements dynamically through the Record() application so that they can update announcements, hold times etc...

I really don't like the dependency on the file length and the adjustment of the periodic announce values to provide a sane experience to the caller.


> On April 26, 2012, 11:37 a.m., jrose wrote:
> > /trunk/configs/queues.conf.sample, lines 81-90
> > <https://reviewboard.asterisk.org/r/1887/diff/2/?file=27574#file27574line81>
> >
> >     There are some minor grammar/homophone issues in here.
> >     
> >     "Prompts played to the caller by default is..."
> >     -> "Prompts played to the caller by default are..."
> >     
> >     "... sound awkward for the customer to here..."
> >     -> "... sound awkward for the customer to hear..."
> >     
> >
> 
> jrose wrote:
>     Oh, and if I'm being technical about wording here, the subject 'prompts' should stay the same throughout, so go ahead and change:
>     
>     "the prompt will be played fully"
>     -> "the prompts will be played fully.
> 
> Olle E Johansson wrote:
>     I will update. Thanks for the feedback.
>     
>     Now, please kindly look at the actual code :-)
>     
>     Thanks,
>     /O

I think I would actually like to see this changed to singular, since usually you're just going to be playing a single prompt, and I'm not sure concatenation of prompts (with ampersands like in the dialplan) are possible(?)

Wording preferred more like:

; A prompt played to the caller by default is played in the foreground,
; which means that even if a queue member becomes available, the
; prompt will be played in full. By enabling 'background_prompts' the
; system will ensure that the prompt being played to the caller is
; interruptible. If a queue member becomes available during prompt playback,
; the prompt will be interrupted immediately.
;
; NOTE: In order to ensure a consistent experience for the caller, be sure
; that any prompt being played is shorter than the interval between a
; periodic announcement. If not, then there will be a queue to play and it will
; sound awkward for the caller to hear all the queue positions they traversed
; through while the prompt was being played. E.g. position change from 4 through
; to 1 would announce positions 4, 3, 2 and 1.


- Leif


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviewboard.asterisk.org/r/1887/#review6071
-----------------------------------------------------------


On April 26, 2012, 9:42 a.m., Olle E Johansson wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviewboard.asterisk.org/r/1887/
> -----------------------------------------------------------
> 
> (Updated April 26, 2012, 9:42 a.m.)
> 
> 
> Review request for Asterisk Developers.
> 
> 
> Summary
> -------
> 
> Today, when a prompt is being played to a call waiting in the queue and an agent becomes available, the agent will not get the call until the prompt is finished. Both customer and agent is kept waiting.
> 
> With this rather big piece of code, we attach a generator to play prompts. The generator can, like all generators, be stopped at any time so that the agent (queue member) can get the call immediately.
> 
> The generator is now placed in app_queue, but could propably be moved somewhere else. It also changes functionality in main/say.c in order to be able to place those prompts in the same prompt queue for background processing. The same generator could be used to sevice conference bridges and maybe be added as a dialplan function at some point for background playlists.
> 
> 
> This addresses bug 19795.
>     https://issues.asterisk.org/jira/browse/19795
> 
> 
> Diffs
> -----
> 
>   /trunk/apps/app_queue.c 364000 
>   /trunk/configs/queues.conf.sample 364000 
>   /trunk/include/asterisk/channel.h 364000 
>   /trunk/include/asterisk/file.h 364000 
>   /trunk/main/asterisk.dynamics 364000 
>   /trunk/main/file.c 364000 
>   /trunk/main/say.c 364000 
> 
> Diff: https://reviewboard.asterisk.org/r/1887/diff
> 
> 
> Testing
> -------
> 
> Quite a lot of testing in our environment during the rather long time we've been testing this. Customer is happy.
> 
> 
> There was some complaints from a bowl of petunias, which made me a bit surprised.
> 
> 
> Thanks,
> 
> Olle E
> 
>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.digium.com/pipermail/asterisk-dev/attachments/20120427/a7506a5c/attachment-0001.htm>


More information about the asterisk-dev mailing list