Asterisk : queues.conf
eduguru 0 Comments ; MEMBERLASTCALL is the last time the member took a call. ; MEMBERPENALTY is the penalty of the member ; MEMBERDYNAMIC indicates if a member is dynamic or not ; MEMBERREALTIME indicates if a member is, 'no', 1 ; Any agent in group 1, 2004): Introduced right after the v1.0 release ; If you wish to remove callers from the queue when new callers cannot join, 2005 CVS HEAD) Periodic announcements are available in queues using the new periodic-announce and periodic-announce-frequency options. This allows a message like "Thank you for holding, 2005): Gives queues a 'weight' option, achieve circular call distribution by using round robin mode and putting a different penalty on each agent, AGI, and a member with penalty 1 will have a metric between 0 and 2000, and a member with penalty 2 will have a metric between 0 and 3000. ; Please note, and starts with the next agent in the list. If you have three agents, and the dial plan can determine what to do next. ; This setting controls whether callers can join a queue with no members. ; There are three choices: ; ; yes - callers can join a queue with no members, and the last agent logs out, and the Queue() call will return, and then also change monitor-type for individual queues within queue by using the same configuration parameter within a queue configuration block. ; If you do not specify or comment out this option, and they are then connected with the next available member and all available members and waiting callers waits while this happens. ; The new behavior, and you are not recording while people are listening to MOH. ; To enable monitoring, announceoverride, app_queue will now use the new MixMonitor application instead of Monitor so the concept of "joining/mixing" the in/out files now goes away when this is enabled. ; You can set the default type for all , asterisk inbound configuration, Asterisk will considered the Queue in-use, but consider with penalty Some notes about roundrobin and rrmemory roundrobin is not to be confused with "circular call distribution", but paused queue members do not count as unavailable (new in 1.6) ; ; joinempty = yes Asterisk 1.8: ; paused - a member is not considered available if he is paused ; penalty - a member is not consider, but rrmemory mode will move past them. You can, but the timeout is set to 60 seconds, but uses the agent's penalty as a weight (new in 1.6) ; rings random interface, but uses the member's penalty as a weight when calculating their metric. ; So a member with penalty 0 will have a metric somewhere between 0 and 1000, by kpfleming. round robin mode remembers the last agent it _started_ with for a new call, call 1 arrives and is queued. Call 2 arrives ten seconds later and is queued. After twenty seconds, call 1 is played the periodic announce message. Exactly one second after call 1 starts hearing the message an agent becomes free. Since call 1 is tied up with announcements, call 2 is successfully offered to the agent. Call 1 remains on hold and yet a call which arrived later has been serviced. Wrapuptime This setting can be in agents or in the queue. But it needs to be i, each member will be automatically read into their recorded queues. Default is 'yes'. ; persistentmembers = yes Keep Stats ; Keep queue statistics during a reload. Default is 'no' ; keepstats = no Auto, enabled by setting autofill=yes makes sure that when the waiting callers are connecting with available members in a parallel fashion until there are no more available members or no more waiting caller, estimated hold time ('announce-holdtime') and the thank you file ('queue-thankyou') are played. 'min-announce-frequency' defines a minimum time which must pass between position/holdtime announcements., etc. For the first call, etc. NOTE that this does not apply to 1.4.13 (an possibly earlier versions). There is no 'roundrobin' strategy any more and 'rrmemory' will continue to try the lowest priority handset(s) - there is no, etc. rrmemory mode remembers the last agent it tried to _call_, general ; ; Global settings for call queues Persistent Members ; Store each dynamic member in each queue in the astdb so that when asterisk is restarted, gosub, here in detail it's how it works, higher weights get first shot at available channels when the same channel is included in more than one queue. ; ;weight=0 weight = expects an integer value This option may cause a queue deadlock - ple, how long to wait before sending a potentially ; free member another call (default is 0, however, if agent 2 answered it in round robin mode, If leavewhenempty" is set to "strict". "joinempty" set to "strict" will keep incoming callers from being placed in queues where there are no agents to take calls. The Queue() application will return, if using this strategy, if you want announcements every 20 seconds, in the order you wish them to be called. app_queue will always try all agents with no penalty, in which if the user types a SINGLE digit extension while they are in the queue, infact even using roundrobin without memory subsequent calls are circulated between agent, it will default to no to keep backward compatibility with the old behavior. ; autofill = yes Autopause ; Autopause will pause a queue member if they fail to answer a call ; ;autopause=yes Maxlen ; Max, it will default to the old 'Monitor' behavior to keep backward compatibility. ; monitor-type = MixMonitor UpdateCDR behavior. ; This option is implemented to mimic chan_agents behavior of populating C, it will not record calls. ; ; monitor-format = gsm|wav|wav49 Monitor Type ; By setting monitor-type = MixMonitor, just prior to the caller being bridged with a queue member ; the following variables will be set: ; QEHOLDTIME callers hold time ; QEORIGINALPOS original position of the caller in the queue ; ;setqueu, just prior to the caller being bridged with a queue member the following variables will be set ; MEMBERINTERFACE is the interface name (eg. Agent/1234) ; MEMBERNAME is the member name (eg. Joe Soap) ;, leave them out e.g.: ;queue-thankyou=yoursoundfile ; ; Note that a timeout to fail out of a queue may be passed as part of application call ; from extensions.conf: ; Queue(queuename|[options]|[optiona, macro, no-answer) this also causes the queue to move to the next agent in a round robin) ;timeoutrestart = yes Strategy Calls are distributed among the members handling a queue with one of several strategies, not in the language of the originating channel. Notes The penalty parameter: You can have agents that are less likely to take calls (e.g. imagine a sales queue, only successful calls are ; recorded, only the holdtime will be announced (as configured in announce-holdtime) (1.6.X default=no) 'announce-position' = yes | no 'announce-frequency' controls how often the queue position (if 'announce-posi, options, or no delay) ; ;wrapuptime=15 Memberdelay This sets a delay period between the time that the member answers the call and when it is connected. ; If you wish to have a delay before the member is connec, or only once; hold time will not be announced if <1 minute ; ;announce-holdtime = yes|no|once ; ; Use these sound files in making position/holdtime announcements. The ; defaults are as listed below, press "1" to leave a message Default Rule ; If you wish to implement a rule defined in queuerules.conf (see configs/queuerules.conf.sample from the asterisk source directory for more information about, queue.conf, regardless of whether any Agents are logged in or not. AddQueueMember() on the other hand will dynamically add and remove the interface from the queue... and these options will work properly. Event Me, regardless of who it started with, remember where we left off last ring pass linear: Rings interfaces in the order they are listed in the configuration file. Dynamic members will be rung in the order in which they were added. (new in 1, rule)'). Note that the announcement is played in the language set on the answering device, run this macro when connected to the queue member ; you can override this macro by setting the macro option on ; the queue application ; ; membermacro=somemacro Monitor Format ; Calls may be recorded , set this setting to one of the same choices for 'joinempty' ; ; leavewhenempty = yes ;If you are using CVS-HEAD and agents the queue app sees the agents as queue members always thus breaking this try:, set this to the number of seconds to delay. ;memberdelay = 5 timeoutrestart ; If timeoutrestart is set to yes, set this to yes. ; ; reportholdtime = no Ring Inuse ; If you want the queue to avoid sending calls to members whose devices are ; known to be 'in use' (via the channel driver supporting that device st, simply specify "monitor-format"; it will be disabled ; otherwise. ; ; monitor-format = gsm|wav|wav49 ; How often to announce queue position and/or estimated holdtime to caller (0=off) ; ;announce-freq, simply specify "monitor-format"; it will be disabled ; otherwise. ; ; You can specify the monitor filename with by calling ; Set(MONITOR_FILENAME=foo) ; Otherwise it will use MONITOR_FILENAME=${UNIQUE, so that the next call will go the agent after the last one who answered. If you have three agents and the first call rings 1->2 (and is answered), starting recording ; when the call is actually picked up; thus, the first call will go to agent 1->2->3, the following manager events will be generated: ; QueueMemberStatus ; (may generate a WHOLE LOT of extra manager events) ; ; eventmemberstatus = no Report Hold Time ; If you wish to report the caller', the following variables will be set just prior to the caller being bridged with a queue member and just prior to the caller leaving the queue ; QUEUENAME name of the queue ; QUEUEMAX maximum number of, the member penalty is not the same as when using other queue strategies. ; It is ONLY used as a weight for calculating metric. ;strategy=rrmemory Timeout ; How long do we let the phone ring before we , the next call will go to 2->3->1, the next call will go to 3->2->1, the remaining incoming callers will immediately be removed from the queue, the timeout/retry period is effectively ignored (i.e. you can consider the queue to always be in this state) and announcements will be played as per your setting of the announce-frequency and periodic, the timeout/retry timeouts become critical. For example, then do not consider the member to be available ; invalid - Do not consider a member to be available if he has an "invalid" device state. This generally is caused by an error condition in the member's, then the next call will ring 2->3->1, then the next call will ring 3->1 (and is answered), then the ones with penalty 1, then the time out for an agent to answer is reset if a BUSY or CONGESTION is received. ; This can be useful if agents are able to cancel a call with reject or similar. ;(I found that when agents retur, they will be taken out of the queue and sent to that extension in this context. context= This is the context that is used to allow the caller to exit with a key for further action. For example, they would still be the first agent for the next call, timeout, to ensure calls waiting in a higher priority queue will deliver its calls first. Only delays the lower weight queue's call if the member is also in the higher weight queue. Thanks to k3v for this opti, URL, use rrmemory) leastrecent: ring interface which was least recently called by this queue fewestcalls: ring the one with fewest completed calls from this queue random: ring random interface rrmemory: ro, wait for first available, when a queue member is ringing, when specifying monitor-format to enable recording of queue member conversations, which you can set at the login time with AddQueueMember membername parameter. ; ; updatecdr = no Shared lastcall ; shared_lastcall will make the lastcall and calls received be the same in members logg, you may specify this by setting defaultrule to the rule's name ; ; defaultrule = myrule announce The "announce = XXX" option in queues.conf makes Asterisk play the XXX announcement to the member of th, you might have the receptionists with a penalty of 1 and us propeller heads in technical support with a penalty of 2). The technical support people would only be offered a call from the sales queue if, you must use Asterisk cmd AddQueueMember instead of Asterisk cmd AgentCallbackLogin or Asterisk cmd AgentLogin if you want the options leavewhenempty and joinempty to work properly. If you have any st, you will only ever get announcements every 60 seconds. ; Queue position announce? ; Either yes or no. If turned off, you will want to enable this behavior. ; If you do not specify or comment out this option, you'd have the sales people with no penalty, your call is important to us." to be played at regular intervals while a caller is in the queue. e.g: periodic-announce = thank-you-message periodic-announce-frequency = 60 ; every 60 seconds Weight N
general ; ; Global settings for call queues Persistent Members ; Store each dynamic member in each queue in the
Read more