[asterisk-dev] Adding wrapup as a queue member state to enable modifying/logging etc

Fredrik Liljegren fredrik at liljegren.org
Tue Feb 17 01:34:52 CST 2009


Hello.

Today, wrapup is a time set on a queue, that is checked when a new queue
call comes in to make sure the queue member has had the full wrapup time
(for the last queue) from last call.

I want to rewrite that, so that wrapup is more like a state.

When a queue call is ended, the queue member is put in wrapup, recording
the time when the wrapup is supposed to end (calculated from now +
queues wrapuptime).

When wrapup is due to end, the variable is reset, a manager event is
sent, a queue_log entry is made (configurable).

The wrapup time is accessible from function
QUEUE_MEMBER_WRAPUP(<interface>) that would return time left to the end,
and a similar manager action, and where you can change that time.


This makes several things easier when handling call queues:

 * With a manager, it's easy to display to a queue member that he's in
wrapup and remove it when it ends.
 * The queue member can end or prolong the wrapup.
 * You can get statistics of the actual time a queue member's been in
wrapup, and for what queues they've needed least/most wrapup time.


These are not unusual things to want.. se e.g. the
dialplan/db-implementation of some of this functionality:
http://www.voip-info.org/wiki/view/Agents+without+agent+channel+Asterisk+1.4+AEL



Please comment the usage-design... I'm quite new to actually programming
in asterisk.

/Fredrik (fiddur on irc/mantis..)




More information about the asterisk-dev mailing list