Summary:ASTERISK-00932: [patch] Prioritizing of queues
Reporter:zond (zond)Labels:
Date Opened:2004-01-28 11:08:07.000-0600Date Closed:2011-06-07 14:05:07
Versions:Frequency of
Environment:Attachments:( 0) asterisk_queue_prio.patch
( 1) asterisk_queue_prio.patch
Description:We need two queues, where queue nr 2 does not let through any calls at all if queue nr 1 has > 0 waiting calls.

Therefore I created this patch that allows a queue to define a "master" in the queues.conf, that will allways get emptied before the queue in question.
Comments:By: zond (zond) 2004-01-30 10:56:07.000-0600

Added support for defining a master for your master, and ast_verbose instead of ast_log (i never saw the output otherwise).

By: Paul Cadach (pcadach) 2004-02-08 00:07:30.000-0600

May be this is a time to realize script-controlled call routing? At least for ACD...

By: zond (zond) 2004-02-08 14:21:44.000-0600

Oh, seems I forgot to upload the newest file at my last comment.

And - script controlled routing is allread reality using AGI? Isnt it?

By: Paul Cadach (pcadach) 2004-02-08 22:22:12.000-0600

It's too hard to split agent status monitoring, statistic collection and call routing control between Asterisk and external application which must listen for *'s manager interface to grab all interesting events and have interface to AGI. Isn't it?
I think better to have internal scripting engine rather than to distribute call routing "intellect" between applications. Also, manager interface is not so elegant to be used for high-load ACD systems...

An example where scripting is better, is just to evaluate if average time to agent's answer is more than specified value (for example, 30 secs), than immediately say to caller that all agents are busy and tell him/her to re-call or place his/her phone number "after the beep" without placing call to the queue. Conditions to "bypass" queue may differs from specified in the example and may be more complex, requiring more statistical information.

By: zond (zond) 2004-02-09 03:32:48.000-0600

Well, Im for an internal scripting engine (why not use python, or javascript - both are very easy to join with c) for the entire dialplan and possibly even more of the intelligence of * - lots of things are hard to do with the syntax we use today.

But with the code looking like it does, Im even more for a complete rewrite - to clean up and debug.. there are too many things I miss in * as of now, and the code isnt very friendly.

By: Paul Cadach (pcadach) 2004-02-09 04:58:13.000-0600

Cisco choosed TCL to automate their IVR's...

Also, I saw call processing configurator from Genesys - it have nice graphical interface to compose call processing logic without programming (except for some external scripts), just by placing and linking together some logic blocks like 'play message xxx and collect digits', where you can link "select" block to change logic on collected digits.

By: zond (zond) 2004-02-09 05:03:52.000-0600

Yes, tcl is nice too :D

But I believe the graphical interface comes at a much lower priority.

Btw, I believe this discussion should rightly take place in asterisk-dev (even though I no longer subscribe :/ - and even though I doubt anyone there would be interested in taking it up (my experiences of asterisk-dev is pretty dismal))

By: zond (zond) 2004-02-14 10:38:03.000-0600

This patch has been used in production for about two weeks now... if anyone is interested :D

By: Brian West (bkw918) 2004-04-17 23:35:19

cvs checkout ICD for loads of fun...

House Keeping