System information

look into how to create a dialplan that allows us to dynamically add and remove queue
members (as well as pause and unpause them).
The first step is to create your queues.conf file in the /etc/asterisk configuration directory:
$ cd /etc/asterisk/
$ touch queues.conf
Populate it with the following configuration, which will create two queues named
[sales] and [support]. You can name them anything you want, but we will be using
these names later in the book, so if you use different queue names from what we’ve
recommended here, make note of your choices for future reference:
[general]
autofill=yes ; distribute all waiting callers to available members
shared_lastcall=yes ; respect the wrapup time for members logged into more
; than one queue
[StandardQueue](!) ; template to provide common features
musicclass=default ; play [default] music
strategy=rrmemory ; use the Round Robin Memory strategy
joinempty=no ; do not join the queue when no members available
leavewhenempty=yes ; leave the queue when no members available
ringinuse=no ; don't ring members when already InUse (prevents
; multiple calls to an agent)
[sales](StandardQueue) ; create the sales queue using the parameters in the
; StandardQueue template
[support](StandardQueue) ; create the support queue using the parameters in the
; StandardQueue template
The [general] section defines the default behavior and global options. We’ve only
specified two options in the [general] section, since the built-in defaults are sufficient
for our needs at this point.
The first option is autofill, which tells the queue to distribute all waiting callers to all
available members immediately. Previous versions of Asterisk would only distribute
one caller at a time, which meant that while Asterisk was signaling an agent, all other
calls were held (even if other agents were available) until the first caller in line had been
connected to an agent (which obviously led to bottlenecks in older versions of Asterisk
where large, busy queues were being used). Unless you have a particular need for back-
ward-compatibility, this option should always be set to yes.
The second option in the [general] section of queues.conf is shared_lastcall. When
we enable shared_lastcall, the last call to an agent who is logged into multiple queues
will be the call that is counted for wrapup time
in order to avoid sending a call to an
agent from another queue during the wrap period. If this option is set to no, the wrap
timer will only apply to the queue the last call came from, which means an agent who
‡ Wrapup time is used for agents who may need to perform some sort of logging or other function once a call
is done. It gives them a grace period of several seconds in order to perform this task before taking another call.
Creating a Simple ACD Queue | 263