We’ve mentioned the queues.conf
file already, but there are many
options in this file, and we figured it would be right and proper for us
to go over some of them with you.
Table 13.1, “Available options for [general] section of queues.conf”
contains the options available in the [general]
section of queues.conf
.
Table 13.1. Available options for [general] section of queues.conf
Table 13.2, “Available options for defined queues in queues.conf” describes the options available for configuring queue contexts.
Table 13.2. Available options for defined queues in queues.conf
Options | Available values | Description |
---|---|---|
musicclass | Music class as defined by musiconhold.conf | Sets the music class to be used by a particular queue. You
can also override this value with the CHANNEL (musicclass) channel
variable. |
announce | Filename of the announcement | Used for playing an announcement to the agent that answered the call, typically to let him know what queue the caller is coming from. Useful when the agent is in multiple queues, especially when set to auto-answer the queue. |
strategy | ringall , least recent , fewest calls , random , rrmemory , linear , wrandom |
|
servicelevel | Value in seconds | Used in statistics to determine the service level of the queue (calls answered within the service level time frame). |
context | Dialplan context | Allows a caller to exit the queue by pressing a single DTMF digit. If a context is specified and the caller enters a number, that digit will attempt to be matched in the context specified, and dialplan execution will continue there. |
penaltymemberslimit | Value of 0 or
greater | Used to disregard penalty values if the number of members in the queue is lower than the value specified. |
timeout | Value in seconds | Specifies the number of seconds to ring a member’s device.
Also see timeoutpriority . |
retry | Value in seconds | Specifies the number of seconds to wait before attempting
the next member in the queue if the timeout value is exhausted while
attempting to ring a member of the queue. |
timeoutpriority | app , conf | Used to control the priority of the two possible timeout options specified for a queue.
The Queue() application has a
timeout value that can be specified to control the absolute time a
caller can be in the queue. The timeout value in queues.conf controls the amount of time
(along with retry ) to ring a
member for. Sometime these values conflict, so you can control
which value takes precedence. The default is app , as this is the way it works in
previous versions. |
weight | Value of 0 or
higher | Defines the weight of a queue. A queue with a higher weight defined will get first priority when members are associated with multiple queues. |
wrapuptime | Value in seconds | The number of seconds to keep a member unavailable in a queue after completing a call. |
autofill | yes , no | Same as defined in the [general] section. This value can be
defined per queue. |
autopause | yes , no , all | Enables/disables the automatic pausing of members who fail
to answer a call. A value of all causes this member to be paused in
all queues she is a member of. |
maxlen | Value of 0 or
higher | Specifies the maximum number of callers allowed to be waiting in a queue. A value of zero means an unlimited number of callers are allowed in the queue. |
setinterfacevar | yes , no | If set to yes , the
following channel variables will be set just prior to connecting
the caller with the queue member: |
setqueueentryvar | yes , no | If set to yes , the
following channel variables will be set just prior to the call
being bridged: |
setqueuevar | yes , no | If set to yes , the
following channel variables will be set just prior to the call
being bridged: |
membermacro | Name of a macro defined in the dialplan | Defines a macro to be executed just prior to bridging the caller and the queue member. |
announce-frequency | Value in seconds | Defines how often we should announce the caller’s position and/or estimated hold time in the queue. Set this value to zero to disable. |
min-announce-frequency | Value in seconds | Specifies the minimum amount of time that must pass before we announce the caller’s position in the queue again. This is used when the caller’s position may change frequently, to prevent the caller hearing multiple updates in a short period of time. |
periodic-announce-frequency | Value in seconds | Indicates how often we should make periodic announcements to the caller. |
random-periodic-announce | yes , no | If set to yes , will play
the defined periodic announcements in a random order. See periodic-announce . |
relative-periodic-announce | yes , no | If set to yes , the
periodic-announce-frequency
timer will start from when the end of the file being played back
is reached, instead of from the beginning. Defaults to no . |
announce-holdtime | yes , no , once | Defines whether the estimated hold time should be played
along with the periodic announcements. Can be set to yes , no , or only once . |
announce-position | yes , no , limit , more | Defines whether the caller’s position in the queue should
be announced to her. If set to no , the position will never be
announced. If set to yes , the
caller’s position will always be announced. If the value is set to
limit , the caller will hear her
position in the queue only if it is within the limit defined by
announce-position-limit . If the
value is set to more , the
caller will hear her position if it is beyond the number defined
by announce-position-limit . |
announce-position-limit | Number of zero or greater | Used if you’ve defined announce-position as either limit or more . |
announce-round-seconds | Value in seconds | If this value is nonzero, we’ll announce the number of seconds as well, and round them to the value defined. |
queue-thankyou | Filename of prompt to play | If not defined, will play the default value (“Thank you for your patience”). If set to an empty value, the prompt will not be played at all. |
queue-youarenext | Filename of prompt to play | If not defined, will play the default value (“You are now first in line”). If set to an empty value, the prompt will not be played at all. |
queue-thereare | Filename of prompt to play | If not defined, will play the default value (“There are”). If set to an empty value, the prompt will not be played at all. |
queue-callswaiting | Filename of prompt to play | If not defined, will play the default value (“calls waiting”). If set to an empty value, the prompt will not be played at all. |
queue-holdtime | Filename of prompt to play | If not defined, will play the default value (“The current estimated hold time is”). If set to an empty value, the prompt will not be played at all. |
queue-minutes | Filename of prompt to play | If not defined, will play the default value (“minutes”). If set to an empty value, the prompt will not be played at all. |
queue-seconds | Filename of prompt to play | If not defined, will play the default value (“seconds”). If set to an empty value, the prompt will not be played at all. |
queue-reporthold | Filename of prompt to play | If not defined, will play the default value (“Hold time”). If set to an empty value, the prompt will not be played at all. |
periodic-announce | A set of periodic announcements to be played, separated by commas | Prompts are played in the order they are defined. Defaults
to queue-periodic-announce
(“All representatives are currently busy assisting other callers.
Please wait for the next available representative”). |
monitor-format | gsm , wav , wav49 , <any valid file
format > | Specifies the file format to use when recording. If
monitor-format is commented out,
calls will not be recorded. |
monitor-type | MixMonitor ,
<unspecified > | Same as monitor-type as
defined in the [general] section, but on a
per-queue basis. |
joinempty | paused , penalty , inuse , ringing , unavailable , invalid , unknown , wrapup | Controls whether a caller is added to the queue when no
members are available. Comma-separated options can be included to
define how this option determines whether members are available.
The definitions for the values are:
|
leavewhenempty | paused , penalty , inuse , ringing , unavailable , invalid , unknown , wrapup | Used to control whether callers are kicked out of the queue
when members are no longer available to take calls. See joinempty for more information on the
assignable values. |
eventwhencalled | yes , no , vars | If set to yes , the
following manager events will be sent to the Asterisk Manager
Interface (AMI):If set to |
eventmemberstatus | yes , no | If set to yes , the
QueueMemberStatus event will be
sent to AMI. Note that this may generate a lot of manager
events. |
reportholdtime | yes , no | Enables reporting of the caller’s hold time to the queue member prior to bridging. |
ringinuse | yes , no | Used to avoid sending calls to members whose status is
In Use . Recall from our
discussion in the preceding section that only the SIP channel
driver is currently able to accurately report this status. |
memberdelay | Value in seconds | Used if you want there to be a delay prior to the caller and queue member being connected to each other. |
timeoutrestart | yes , no | If set to yes , resets
the timeout for an agent to answer if either a BUSY or CONGESTION status is received from the
channel. This can be useful if the agent is allowed to reject or
cancel a call. |
defaultrule | Rule as defined in queuerules.conf | Associates a queue rule as defined in queuerules.conf to this queue, which is
used to dynamically change the minimum and maximum penalties,
which are then used to select an available agent. See the section called “Changing Penalties Dynamically (queuerules.conf)”. |
member | Device | Used to define static members in a queue. To define a
static member, you supply its
Technology /Device_ID
(e.g., Agent/1234 , SIP/0000FFFF0001 , DAHDI/g0/14165551212 ). |