Asterisk log queue_log
This is a staright copy of the queue_log documentation distributed with asterisk
Queue Log Information
=====================
In order to properly manage ACD queues, it is important to be able to
keep track of details of call setups and teardowns in much greater detail
than traditional call detail records provide. In order to support this,
extensive and detailed tracing of every queued call is stored in the
queue log, located (by default) in /var/log/asterisk/queue_log.
These are the events (and associated information) in the queue log:
ABANDON(position|origposition|waittime)
The caller abandoned their position in the queue. The position is the
caller's position in the queue when they hungup, the origposition is
the original position the caller was when they first entered the
queue, and the waittime is how long the call had been waiting in the
queue at the time of disconnect.
ADDMEMBER Since Asterisk 1.4
When an agent is added to the queue
AGENTDUMP
The agent dumped the caller while listening to the queue announcement.
AGENTLOGIN(channel)
The agent logged in. The channel is recorded.
AGENTCALLBACKLOGIN(exten@context)
The callback agent logged in. The login extension and context is recorded.
AGENTLOGOFF(channel|logintime)
The agent logged off. The channel is recorded, along with the total time
the agent was logged in.
AGENTCALLBACKLOGOFF(exten@context|logintime|reason)
The callback agent logged off. The last login extension and context is
recorded, along with the total time the agent was logged in, and the
reason for the logoff if it was not a normal logoff (e.g., Autologoff)
COMPLETEAGENT(holdtime|calltime|origposition)
The caller was connected to an agent, and the call was terminated normally
by the *agent*. The caller's hold time and the length of the call are both
recorded. The caller's original position in the queue is recorded in
origposition.
COMPLETECALLER(holdtime|calltime|origposition)
The caller was connected to an agent, and the call was terminated normally
by the *caller*. The caller's hold time and the length of the call are both
recorded. The caller's original position in the queue is recorded in
origposition.
CONFIGRELOAD
The configuration has been reloaded (e.g. with asterisk -rx reload)
CONNECT(holdtime)
The caller was connected to an agent. Hold time represents the amount
of time the caller was on hold.
ENTERQUEUE(url|callerid)
A call has entered the queue. URL (if specified) and Caller*ID are placed
in the log.
EXITEMPTY(position|origposition|holdtime) Since Asterisk 1.4
When the caller is dumped from the queue because no agents are currently logged in and the queue has the 'leavewhenempty' is on or 'joinwhenempty' is off'.
EXITWITHKEY(key|position)
The caller elected to use a menu key to exit the queue. The key and
the caller's position in the queue are recorded.
EXITWITHTIMEOUT(position)
The caller was on hold too long and the timeout expired.
PAUSEALL
When the queue itself is set as paused, meaning all of the memebers are set as paused.
PENALTY(penalty)
When a members penalty is set via the CLI
UNPAUSEALL
When a queue returning from the pause state, setting all of the paused agents back as members.
QUEUESTART
The queueing system has been started for the first time this session.
REMOVEMEMBER Since Asterisk 1.4
When a queue member is removed
RINGNOANSWER(ringtime)
After trying for ringtime ms to connect to the available queue member,
the attempt ended without the member picking up the call. Bad queue
member!
SYSCOMPAT
A call was answered by an agent, but the call was dropped because the
channels were not compatible.
TRANSFER(extension,context)
Caller was transferred to a different extension. Context and extension
are recorded.
Note: you can add custom events by calling: QueueLog
Queue Log Information
=====================
In order to properly manage ACD queues, it is important to be able to
keep track of details of call setups and teardowns in much greater detail
than traditional call detail records provide. In order to support this,
extensive and detailed tracing of every queued call is stored in the
queue log, located (by default) in /var/log/asterisk/queue_log.
These are the events (and associated information) in the queue log:
ABANDON(position|origposition|waittime)
The caller abandoned their position in the queue. The position is the
caller's position in the queue when they hungup, the origposition is
the original position the caller was when they first entered the
queue, and the waittime is how long the call had been waiting in the
queue at the time of disconnect.
ADDMEMBER Since Asterisk 1.4
When an agent is added to the queue
AGENTDUMP
The agent dumped the caller while listening to the queue announcement.
AGENTLOGIN(channel)
The agent logged in. The channel is recorded.
AGENTCALLBACKLOGIN(exten@context)
The callback agent logged in. The login extension and context is recorded.
AGENTLOGOFF(channel|logintime)
The agent logged off. The channel is recorded, along with the total time
the agent was logged in.
AGENTCALLBACKLOGOFF(exten@context|logintime|reason)
The callback agent logged off. The last login extension and context is
recorded, along with the total time the agent was logged in, and the
reason for the logoff if it was not a normal logoff (e.g., Autologoff)
COMPLETEAGENT(holdtime|calltime|origposition)
The caller was connected to an agent, and the call was terminated normally
by the *agent*. The caller's hold time and the length of the call are both
recorded. The caller's original position in the queue is recorded in
origposition.
COMPLETECALLER(holdtime|calltime|origposition)
The caller was connected to an agent, and the call was terminated normally
by the *caller*. The caller's hold time and the length of the call are both
recorded. The caller's original position in the queue is recorded in
origposition.
CONFIGRELOAD
The configuration has been reloaded (e.g. with asterisk -rx reload)
CONNECT(holdtime)
The caller was connected to an agent. Hold time represents the amount
of time the caller was on hold.
ENTERQUEUE(url|callerid)
A call has entered the queue. URL (if specified) and Caller*ID are placed
in the log.
EXITEMPTY(position|origposition|holdtime) Since Asterisk 1.4
When the caller is dumped from the queue because no agents are currently logged in and the queue has the 'leavewhenempty' is on or 'joinwhenempty' is off'.
EXITWITHKEY(key|position)
The caller elected to use a menu key to exit the queue. The key and
the caller's position in the queue are recorded.
EXITWITHTIMEOUT(position)
The caller was on hold too long and the timeout expired.
PAUSEALL
When the queue itself is set as paused, meaning all of the memebers are set as paused.
PENALTY(penalty)
When a members penalty is set via the CLI
UNPAUSEALL
When a queue returning from the pause state, setting all of the paused agents back as members.
QUEUESTART
The queueing system has been started for the first time this session.
REMOVEMEMBER Since Asterisk 1.4
When a queue member is removed
RINGNOANSWER(ringtime)
After trying for ringtime ms to connect to the available queue member,
the attempt ended without the member picking up the call. Bad queue
member!
SYSCOMPAT
A call was answered by an agent, but the call was dropped because the
channels were not compatible.
TRANSFER(extension,context)
Caller was transferred to a different extension. Context and extension
are recorded.
Note: you can add custom events by calling: QueueLog
Fields in queue_log
- epoch timestamp of listed action
- uniqueid of call
- queue name
- bridged channel
- event
- event parameter 1
- event parameter 2
- event parameter 3
See also
- Asterisk config queues.conf
- Asterisk cmd Queue
- Asterisk call queues
- Asterisk queue_log on MySQL
- AsteriskGuru Queue Statistics - Free Statistics for the Asterisk Queues
- OrderlyQ - Extension to Asterisk Queues that lets callers hang up, then call back without losing their place.
- OrderlyStats - FREE Dedicated Real Time Call Centre Management and Statistics Package.
- QueueMetrics, a call center monitoring system and queue_log analyzer
- IPSwitchboard BETA - Queue Log Analyser
- http://astrecipes.net/index.php?n=256 is a short tutorial explaining how to track down missing queue_log entries for unanswered calls.

Comments
333PAUSE, UNPAUSE, etc...
333EXITWITHKEY(key|position)
Shouldn't it appear only after ENTERQUEUE's?
Thank you!
Dov