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

Olle E Johansson reviewboard at asterisk.org
Wed May 9 14:30:11 CDT 2012



> On April 26, 2012, 11:37 a.m., jrose wrote:
> >
> 
> Leif Madsen 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.
> 
> Olle E Johansson wrote:
>     Thanks for the feedback, Leif.
>     
>     If you can find funding I'm sure we can find a way. For this customer, this is acceptable. And I'd rather document this than just let it slip by. Isn't that better?
>     
>     /O
> 
> Leif Madsen wrote:
>     I disagree that's better. Doing it right and giving the general community an experience that makes sense is important. There are so many things in Asterisk that were little one offs to fix a particular persons issue and then not cleaned up prior to merge, that you end up having to document around things, or the experience continuing changes over and over again. I think Asterisk has gone far enough that we should be doing it right, not just doing it for the sake of doing it.
>     
>     I personally would not be comfortable with the feature going in as-is. If someone else in the community needs to finish the feature up so it works in a manner that many will expect, then so be it. If you need to continue supporting this as-is out of band for your customer, then so be that as well.
> 
> Olle E Johansson wrote:
>     Leif,
>     I think you are over-reacting to a comment I wrote to explain the system to users.
>     
>     I am adding a new feature that is designed a certain way. You do not want different messages to your customers waiting in the queue to interrupt each other either in the new way of doing things or in the old way. In the current system you also have to adjust your prompts to make sure they do not overlap.
>     
>     If you really want to your queue position messages to cut into your periodic messages, you can put them in your music-on-hold playlist and everything will work as it does now.
>     
>     Please test the code before you get more upset. You will see that from a functionality standpoint it's a big improvement, just like the other reviewers say. Please don't let a comment that explains how users should work with the new feature upset you. If it still does, please explain to me how you want it to function so that customers waiting in the queue won't be confused by one prompt suddenly cutting in during another prompts play-out. I don't see a good way of handling that - but if you find one, we need to fix both the current code and this code.
>     
>     /O
> 
> Leif Madsen wrote:
>     You misunderstand me. I'm not upset. I'm simply stating that, as best I understand the documentation, that if a prompt length changes, that a change to the configuration needs to be done. If that is not correct, then the documentation needs to be updated to reflect what the actual experience the administrator can expect is. If that is how it works (and please correct me if I'm wrong), then I personally do not think the feature should go in as-is. It seems counter intuitive to me that a configuration change needs to happen if the prompt length is going to change, especially something that has a direct effect on the callers experience.
>     
>     There must be some method to determine if the prompt was playing while the position was changed in order to "hide" the extra position announcements from the caller. If not, then it seems like something that should be added in order to make the feature robust and complete for the community. I know you, as someone who teaches this stuff, has made it a point that a clean experience for the administrator is important so that things can be taught in a concise and sane manner. I'm just pointing out something that appears to reflect that value.

Leif. That problem exists TODAY in the current code. It just behaves differently in my code.i agree that it would be nice to fix that, but I think it should be fixed for both ways of playing prompts as a separate project. 


- Olle E


-----------------------------------------------------------
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/20120509/96999efc/attachment-0001.htm>


More information about the asterisk-dev mailing list