The Hitchhiker's Guide to Asterisk | ||
---|---|---|
<<< Previous | Next >>> |
Asterisk provides a flexible call queuing system suitable for call center applications. The Asterisk ACD system utilizes several components, which work together to provide a very robust implementation.
Call queues are used to route calls in a first-in-first-out manner to the appropriate extensions. These extensions can be agents logged into the system or any other type of channel supported by the system. Various strategies can be used to determine how calls are routed from a queue, these strategies are used to implement fair distribution of workload within a call center, and can be customized through the use of priority levels to fit an organization's policies.
Queues are configured using the queues.conf configuration file.
; Example queues.conf file for asterisk. [general] ; There are no global settings for queues. [default] ; Default settings are presently unimplemented. [support] ;Which music on hold context (defined in musiconhold.conf) do we wish to use? ;music = default ; Announcement to be played to an agent answering a call. ; This is intended so that agents that are members of more than one queue can ; determine how to greet callers. ;announce = queue-support ; A strategy may be specified. Valid strategies include: ; ; ringall - ring all available channels until one answers (default) ; roundrobin - take turns ringing each available interface ; 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 ; The strategy determines how calls will be routed to members of a queue. ; The default is ringall, which will ring all queue members until a call ; in answered. Alternatives are: ; random - ring random queue members until answered. ; roundrobin - ring each member in turn until answered. ; leastrecent - ring the member least recently called from this queue. ; fewestcalls - ring the member with the fewest calls from this queue. ;strategy = ringall ; Escape context. ; If this context is specified, callers can leave the queue by dialing a single ; digit extension within that context. ;context = qoutcon ; How many seconds can the phone ring before we consider it a timeout? ;timeout = 15 ; How long should asterisk wait between attempts to route a queued call? ;retry = 5 ; How many callers do we allow to wait in queue? (0 for no limit) ;maxlen = 0 ; Queue members. ; Queue members can be any kind of channel supported by Asterisk. ; Agent channels are generally preferred, as they provide login/logout functionality. ; Agent number 1000 (agents are defined in agents.conf) member => Agent/1000 ; A SIP telephone. member => SIP/supportdesk ; Any agent in group 1 (agent groups are defined in agents.conf) member => Agent/@1 ; Agent 2000 is a supervisor that is capable of taking calls, but should only do so ; when no other agents are available, so we consider with a penalty. member => 2000,4 |
Agents are type of "virtual" channel specifically designed for use with ACD. While agent channels can be utilized directly from extensions.conf, they are most useful as members of an ACD queue. Agents are defined in the agents.conf file.
; Example agents.conf for asterisk. [agents] ; Automatic log-off if an agent rings for too long, in seconds. ; This is not useful for AgentLogin, because calls are automatically ; answered. ;autologoff=15 ; FIXME - how does this work. ;ackcall=yes ; How much wrap up time (also known as After Call Work time) do ; agents get. ;wrapuptime=5000 ; What music-on-hold class do agents listen to between calls? ;musiconhold => default ; Group memberships (these can be redefined before each agent definition or ; group of definitions) ;group=3 ;group=1,2 ;group= ; Agent definitions in the form agent => agentid,agentpassword,name group=1 agent => 1001,4321,Bastard Operator From Hell agent => 1002,4321,Pimply Faced Youth group=2 agent => 2000,4321,Pointy Haired Boss |
<<< Previous | Home | Next >>> |
EAGI | Text-To-Speech: Festival |