agents.conf

This file allows you to create and manage agents for your call center. If you are using the Queue() application, you may want to configure agents for the queue. The agents.conf file is used to configure the AGENT channel driver.

The [general] section in agents.conf currently contains only two parameters. The persistentagents parameter tells Asterisk whether or not to save the status of agents who use the callback feature of queues in the local Asterisk database. If set to yes, a logged-in remote agent will then remain logged in across a reboot (unless removed from the database through some other means). The multiplelogin parameter tells Asterisk whether or not multiple agents can log in from the same extension.

The following parameters, which are specified in the [agents] section, are used to define agents and the way the system interacts with them. The settings apply to all agents, unless otherwise specified in the individual agent definitions:

maxlogintries

The maximum number of times an agent may attempt to log in. Defaults to 3.

autologoff

Accepts an argument (in seconds) defining how long an agent channel should ring for before the agent is deemed unavailable and logged off.

autologoffunavail

Define autologoffunavail to have agents automatically logged out when the Dial() application returns a CHANUNAVAIL status while trying to dial that agent. Default is “no”.

ackcall

Accepts the arguments yes and no. If set to yes, requires a callback agent to acknowledge log in by pressing the # key after logging in. This works in conjunction with the AgentCallbackLogin() application.

endcall

If set to yes, allows an agent to hang up a call by pressing the * key. Defaults to yes. Set this to no to have Asterisk do nothing when the agent presses the * key.

wrapuptime

You can configure this parameter to allow agents a few seconds of downtime after completing a call before the queue presents them with another call. This setting is measured in milliseconds.

musiconhold => class

Accepts a music-on-hold class as its argument. This setting applies to all agents.

agentgoodbye

Defines the default goodbye sound for agents.

updatecdr

Accepts the arguments yes and no. Used to define whether the source channel in the CDRs should be set to agent/agent_id to determine which agent generated the calls.

group

Defines the groups to which an agent belongs, specified with integers. Specify that an agent belongs to multiple groups by separating the integers with commas.

recordagentcalls

Accepts the arguments yes and no. Defines whether or not agent calls should be recorded.

recordformat

Defines the format to record files in. The argument specified should be wav, gsm, or wav49. The default recording format is wav.

urlprefix

Accepts a string as its argument. The string can be formed as a URL and is appended to the start of the text to be added to the name of the recording.

savecallsin

Accepts a filesystem path as its argument. Allows you to override the default path of /var/spool/asterisk/monitor/ with one of your choosing.

Warning

Since the storage of calls will require a large amount of hard drive space, you will want to define a strategy to handle storing and managing these recordings.

This location should probably reside on a separate volume, one with very high performance characteristics.

custom_beep

Accepts a filename as its argument. Can be used to define a custom notification tone to signal to an always-connected agent that there is an incoming call.

The final parameter is used to define agents. Just like in the zapata.conf file, configuration parameters are inherited from above the agent => definition. Agents are defined with the following format:

agent => agent_id,agent_password,name

For example, we can define agent Happy Tempura with the agent ID 1000 and password 1234, as follows.

agent => 1000,1234,Happy Tempura

Be aware that an agents.conf file is a complement to the queue configuration process. The most critical configuration file for your queues is queues.conf. You can configure a very basic queue without agents.conf.