Friday 22 November 2013

Asterisk queues.conf



Source: http://www.syednetworks.com/asterisk-queues-conf

In Asterisk queues.con file is where we define queues and the way that how to handle the callers.
• Reasonable queuing support within Asterisk
• Queues can have static or dynamic members
• Members can be channels, or Agents
• Automatic distribution of calls based on queue strategy
Here is queues.conf options are available:
In Asterisk queues.con file is where we define queues and the way that how to handle the callers.
• Reasonable queuing support within Asterisk
• Queues can have static or dynamic members
• Members can be channels, or Agents
• Automatic distribution of calls based on queue strategy
Here is queues.conf options are available:
persistentmembers = yes, so that when you restart Asterisk the agents will be automatically readded into their recorded queues. By default the option is set to yes.
Each queue is a separate section. For example, a snake in the [support]. The following parameters are available:
musiconhold In musiconhold.conf file defined category of music queue. We choose the top-scale Category default:
musiconhold = default
announce
you can specify an announcement, which to be played to the agents, when they answer the incoming call. Usually this option is used to inform the agents, which queue exactly, they will answer. This is made for agents which are set in more than one queue.
; announce = Technical-support
If you use this option, make sure that file technical-support.gsm should be availabe in the sound directory the default path of sound directory is /var/lib/asterisk/sounds.
Strategy
Determines how and what’s the order of the agents when a call comes to this queue:
ringall
All available agent should ring until one responds. (Default)
roundrobin
ring the each available agent one by one.
leastrecent
Call the agent who is longest idle in available agents
fewestcalls
ring the agent with fewest completed calls from this queue.
Random
Select the agent randomly from this queue.
rrmemory
Round-robin with memory. Starts the series in which, after the last call to the series.
In Asterisk 1.6 will probably be the roundrobin procedure is forfeited and rrmemory in roundrobin renamed.
It should be noted that agents, for which a lower penalty (penalty) has been established agent who always preferred a higher penalty.
Strategy = ringall
The setting depends on your circumstances: ringall may be annoying, while others cause additional waiting time for the caller, if agents not connected to the phone.
Level
Sets the time (in seconds), in which calls should be answered. Only for statistical analysis interesting ( “How many calls were made within the service time of x seconds answered?”).
Service = 60
Context
Here can be a context where you want to send the caller, if the caller presses the key (the one you want the caller to be pressed) the extension will be dialed from the mentioned queue.
context = support-context – so we could adjust it
Timeout
Determines how long (in seconds) a phone ringing, until we are not as busy (timeout).
timeout = 15
retry
Determines how long (in seconds) to wait before all agents phoned again.
retry = 5
weight
Weight of queue – when compared to other queues, higher weights get preference
weight = 0
wrapuptime
how long before sending agent another call
We let our agents a little breather to a sip of water to drink:
wrapuptime = 10
maxlen
Maximum number of the callers in the queue (default: 0 for unlimited).
maxlen = 0
announce-frequency
Certainly, at what intervals (in seconds) the callers their position in the queue and / or the estimated waiting time will be announced (0 for nothing i.e. announce-frequency = 0 means off).
announce-frequency = 90
announce-holdtime
Whether the estimated waiting time in the announcements for the position would be called. Possible values are yes (yes), no (no) or once (only once).
announce-holdtime = Yes
Round-announce-seconds
Rounding steps of seconds. With the setting of 0, only minutes, not seconds announced. Other possible values are: 0, 1, 5, 10, 15, 20 and 30 [72] (At 30, for example, would an estimated waiting time from 2:34 to 2:30 rounded.)
announce-round-seconds = 0
Language blocks
The following parameters are, what language blocks for the announcements of the position and waiting periods. I.d.R changes are not necessary:
queue-youarenext = queue-youarenext; “You are now first in line.”
queue-thereare = queue-thereare; “There are” …
queue-callswaiting = queue-callswaiting … “Calls waiting.”
queue-holdtime = queue-holdtime; “The current est. holdtime is” …
queue-minutes = queue-minutes … “Minutes”
queue-seconds = queue-seconds … “Seconds”
queue-thankyou = queue-thankyou, “Thank you for your patience.”
queue-lessthan = queue-less-than … “less than” …
queue-reporthold = queue-reporthold; “hold time” …
periodic-announce = queue-periodic-announce, “All reps busy, wait for next”
If these parameters are not specified (out), these default values.
periodic-announce-frequency
Certainly, at what intervals (in seconds) the callers the periodic announcement (periodic-announce, “There are all employees in an interview, please wait.”) To be announced.
periodic-announce-frequency = 60
Monitor format
The indication of this parameter turns the recording of interviews (as with the monitor () Application) and determines the recording format. (For auskommentiertem monitor-format recordings are not made.) Enter here gsm, wav (large files) or wav49.
If you want records the call in the gsm format uncomment this line, please note the call will be recorded when agent answeres the call:
; monitor-format = gsm
By default, the files (one-in-and out) to $ UNIQUEID) (named. You can change if necessary, by using the dial plan before the queue () call Set (MONITOR_FILENAME = filename). We take the example but no change.
Join Monitor
Combine the two by a call recording files generated …- …- in and out to a file. Values: yes or no
Monitor-join = Yes
joinempty
Determines whether callers in a queue without agents indicated.
Yes
Callers can be placed in a loop without agents or by non-agents available for classification purposes.
No.
Callers can not in a loop without agents indicated.
strict
Callers can not in a loop without agents indicated (but in a snake with only non-available agents).
Non-available should not be confused with the conversation (busy). An agent is not available when he is assigned to the snake, but not actually registered in the system (see also “member”). Caution: Static defined members (see “member”) are always available!
If a caller not to be a snake, the queue () application quits, and the Dial plan will continue.
joinempty = no, we want our callers are not unnecessarily wait
leavewhenempty
It will determines whether as soon as all the agents out the call will not go to this queue. Possible values as joinempty. After leaving the queue, the dial plan.
leavewhenempty = strict; callers are not unnecessarily wait
eventwhencalled
If a (yes | no), whether etc. the following events for the Manager interface is used: Called Agent, Agent dump, Agent Connect, Agent Complete.
eventwhencalled = Yes
eventmemberstatus
If a (yes | no), whether members queue status events in the produce manager interface (can be many).
eventmemberstatus = No
reportholdtime
Sets (yes | no), whether to the agent the waiting time of the caller will be announced before it entertained the caller. (Taste issue)
reportholdtime = No
memberdelay
Where, how long (in seconds) the caller hears silence before he connected with an agent.
memberdelay = 1
timeoutrestart
Determines whether the response time of an agent in a busy or overloaded pipe signal is reset. Can be useful for agents who have the right to reject a call.
timeoutrestart = Yes
autopause
Autopause will pause a queue member if they fail to answer a call.
ringinuse
Determines whether such agent phoned to be known of which is that they are in conversation. The channel so far the only driver, the status transmitted is SIP.
ringinuse = No
Member
It is possible to intervene directly in the queues.conf agents in the form of static
member => Technology Resource [, Malus]
– Also e.g. member => Zap / 2 – them (may be used several times, see queues.conf). But this can result in problems with joinempty and leavewhenempty, since these agents always be available, even if it is in fact not at their apparatus. It also has the disadvantage that always finds an agent is assigned to an apparatus and not from another apparatus from register.
We therefore prefer to use dynamic form and arrange queue support in the form:
member => Agent / AgentenNr
two agents 1001 and 1002 to:
member => Agent/1001
member => Agent/1002

No comments: