[Asterisk-Users] app_queue input needed...

Brian West brian at bkw.org
Sun Sep 7 12:17:12 MST 2003


I think the hold time needs to be announced only once when the caller is
injected into the call queue.  Otherwise callers will hear hold times
shoot up if you have a few long calls.

bkw

On Sun, 7 Sep 2003, David C. Troy wrote:

>
> Troy,
>
> These is all good feedback; I did my patch primarily based on my own
> needs, so YMMV.  The business about the thread-locked code was related to
> the usedontmiss.com patch, not yours.  Yours seems to avoid that problem,
> as does mine.
>
> I spent the last couple of hours digging deeper into this, and I
> incorporated a 'queuetimeout' (similar to what outtolunc did, but rather
> than transferring to 's,1,...' within the queue context, it just exits and
> lets the originating extension list figure out what to do with it.
>
> I agree that more control needs to be added to make a general solution;
> that will mean the addition of a few, preferably a minimal number,
> queues.conf parameters.  To me, that's up to the community and to Mark.
>
> I'll post the new patch in a few minutes, after a bit more testing, but it
> seems to work very smoothly now;  I figured out some stuff I didn't
> understand about the various loops in the code, and that's well commented
> now.
>
> Patch will be located here:
> http://asterisk.toad.net/app_queue.c-pos+holdtime+queuetimeout.patch
>
> Take a look at this patch and let's see what we want to do about the
> holdtime logic; at a minimum this patch cleans up and packages all that
> logic very neatly, so it then becomes a simple question of how to invoke
> it rather than the harder question of how to do it generally.
>
> Dave
>
> =====================================================================
> David C. Troy   [dave at toad.net]                   410-384-2500 Sales
> ToadNet - Want to go fast?                        410-544-1329 FAX
> 570 Ritchie Highway, Severna Park, MD 21146-2925  www.toad.net
>
> On Sun, 7 Sep 2003, Troy Settle wrote:
>
> >
> > > -----Original Message-----
> > > From: asterisk-users-admin at lists.digium.com
> > > [mailto:asterisk-users-admin at lists.digium.com] On Behalf Of
> > > David C. Troy
> > > Sent: Sunday, September 07, 2003 11:05 AM
> > > To: asterisk-users at lists.digium.com
> > > Subject: Re: [Asterisk-Users] app_queue input needed...
> > >
> > >
> > >
> > > Brian,
> > >
> > > I just finished doing both of these mods myself.  The patch
> > > is available
> > > here:
> > >
> > > http://asterisk.toad.net/app_queue.c-pos+holdtimepatch
> > >
> > > You might take a look and see if it helps you at all.  I make
> > > no claims
> > > that mine is a definitive version;  I just did it to suit my
> > > own needs.
> > >
> > > A couple of things you might want to watch out for with your
> > > own coding:
> > >
> > >  - someone had posted a similar patch in June (from
> > > pbx.usedontmiss.com)
> > > from which I borrowed some ideas, however, this version made
> > > the mistake
> > > of announcing queue position from inside a thread-locked code
> > > section,
> > > which will interrupt music-on-hold for all callers while
> > > their positions
> > > are announced.  My version does the announcements outside of the
> > > thread-lock.  See end of leave_queue.
> >
> > Been tested with over 90 calls in the queue.  We did not run into this
> > situation.
> >
> > >
> > >  - If you are caller #4 and callers #3 and #2 leave in rapid
> > > succession,
> > > you'll be trying to announce position to caller #4 twice, quickly,
> > > possibly interleaving your announcements.  To solve this problem, no
> > > announcement is made if a position announcement was last made
> > > within the
> > > last 15 seconds.  See the first couple of lines of say_position.
> >
> > I see that you set this to 10 seconds actually, but even at 15, that's a
> > little crazy.  IMO, announcements should be made no more often than 60
> > seconds.  Personally, I find it quite annoying when something interupts
> > the MOH 3-4 times a minute to say "your call is important to us" or "we
> > value your business" or "you are caller number 8274738, please wait."
> >
> > If you look at our code, the default is to announce every 60 seconds.
> > It doesn't matter if 1 person or 30 people in front of you drop out in
> > rapid succession (actually, we did test with 30 callers dropping at one
> > time).  The next announcement will not come before 60 seconds have
> > passed.
> >
> > >
> > > My version operates along these lines:
> > >
> > >  - To turn on position/holdtime announcements, just define
> > > 'announcetimeout' in queues.conf; position/holdtime
> > > announcements will be
> > > made at that interval.
> >
> > Not enough control is being offered here.  At a minmum, each of the
> > following should be doable:
> >
> >  - Announce without position or time
> >  - Announce with time only
> >  - Announce with position only
> >  - Announce with position and time
> >
> > >
> > >  - The guts of the operation is in say_position and get_avg_holdtime;
> > > changes to the rest of the code have been minimized.
> > >
> > >  - No position/holdtime announcement is made if the caller is
> > > the only
> > > caller in the queue when they enter the queue.
> > >
> > >  - A special 'you're next' announcement is played when position == 1
> >
> > I like this idea very much.
> >
> > >
> > >  - Holdtime is only announced if it is 4 minutes or greater; this is
> > > arbitrary and could be rolled into a configurable queues.conf setting.
> >
> > Yes, this needs to a config option for sure.  I would want announcements
> > all the way down to "less than 2 minutes."
> >
> >
> > >
> > >  - You need to add the following files to /var/lib/asterisk/sounds:
> > >
> > >    YouAreNext	"You are now first in line; your call will be next"
> > >    ThereAre	"There are currently..."
> > >    CallsWaiting "Calls Waiting"
> > >    AvgHoldTime  "The approximate average hold time is currently..."
> > >    Minutes	"Minutes"
> > >    ThankYou	"Thank you for your patience"
> > >
> > > It would be cool if we could get Mark to have Allison record
> > > these files
> > > for distribution with the package, once this family of features is
> > > committed to app_queue.
> >
> > Perhaps it would be cool if you got Allison to record these.  I was
> > going to have her do the ones for our patch, but John Todd volunteered
> > before I even knew that Brian had posted the patches up (which is why
> > there's also like 3 versions of the patch so far).
> >
> > >
> > > I like the idea of rounding up to "under 5, under 10, under 15"
> > > announcements as well, as it would sound less cheesy and be better at
> > > setting realistic, but not exact, holdtime expectations.
> >
> > My vote for announcing hold times, is to use a configuration varaible to
> > specify minutes and seconds, or to round up to the nearest minute (or
> > 2,3,4,5 minutes).  For that matter, you could even decrease the
> > granularity based on the position and how long the wait is.
> >
> > If I'm in position 3, and the wait time is less than 1 minute, why not
> > announce the seconds?  Chances are, the call will be answered right
> > after the caller hears "your estimated wait time is 38 seconds."
> >
> > On the other hand, that might be annoying to caller 10 who's got a hefty
> > 12 minute wait ahead of her, so that announcement should be "less than
> > 15 minutes."
> >
> > >
> > > I also want to see the ability to fail out of a queue
> > > (perhaps defined in
> > > terms of X number of retry/timeout cycles) and will be
> > > working on this
> > > today some.
> >
> > That patch was done by outtolunc, and I expect that when/if Mark tackles
> > app_queue, he'll incorporate that as well.
> >
> > >
> > > Seems like there are several people working on this family of
> > > problems
> > > (pos/holdtime/fail out) and it might make sense for us to
> > > work together
> > > some and standardize our approach.  Otherwise we're going to
> > > end up with 5
> > > versions of app_queue.
> >
> >
> >
> > --
> >   Troy Settle
> >   Pulaski Networks
> >   http://www.psknet.com
> >   540.994.4254 ~ 866.477.5638
> >   Pulaski Chamber 2002 Small Business Of The Year
> >
> > _______________________________________________
> > Asterisk-Users mailing list
> > Asterisk-Users at lists.digium.com
> > http://lists.digium.com/mailman/listinfo/asterisk-users
> >
>
> _______________________________________________
> Asterisk-Users mailing list
> Asterisk-Users at lists.digium.com
> http://lists.digium.com/mailman/listinfo/asterisk-users
>



More information about the asterisk-users mailing list