Understanding ACD and SMDR
If your contact center uses Customer Interaction Solutions and the Mitel SX-2000 or
3300 ICP, all data used in reports and real-time monitors are generated from two PBX
data streams.
The two streams are referred to as the Station Message Detail Recording (SMDR) stream
and the Automatic Call Distributor (ACD) Real-time events stream. Each stream
connects the Contact Center Management Enterprise Server to the PBX using a serial
com port or a TCP/IP network connection. Each stream is generated independently and
has its own set of control attributes within the PBX. The only similarity between the two
streams is the Answered ACD Queue Calls record, which is generated for both the
SMDR and ACD streams when an ACD call is answered, depending on PBX
programming.
SMDR Stream
The SX-2000 and 3300 ICP have two classes of SMDR records: External SMDR
(generated when a PBX trunk is involved in the call) and Internal SMDR (generated
when there are no trunks involved in the call). Each sub-stream is governed by separate
configuration options programmed on the PBX and must be enabled to send data to the
Enterprise Server.
External SMDR records
The following is an example of an External SMDR record:
01/14 09:24 00:00:59 T201 003 P001 100 1011T 1405
Where,
01/14 is the date the caller contacted your contact center
09:24 is the time the call originated
00:00:59 is the amount of time the agent spoke with the caller before transferring the call
T201 is the number of the trunk that the caller dialed in to
003 is the time to answer for the agent (not the time spent in queue)
P001 is the reporting number of the ACD path queue the call was queued to
100 is the reporting number of the agent group
1011 is the ID of the agent who first answered the call
T is the transferred call identifier
1405 is the ID of the agent whom the call was transferred to
This means that an outside caller dialed in to the contact center on Trunk 201, on January
14th at 9:24 AM. The call was queued to the ACD Path Queue 1 (shown as P001), queued
to Agent Group 100, and answered by Agent 1011 after 3 seconds waiting in queue. The
agent who answered the call talked to the customer for 59 seconds before transferring the
call to Agent 1405.
Internal SMDR records
The following is an example of an Internal SMDR record:
01/14 07:20 00:00:10 6979 002 6515 I 7015
Where,
1/14 is the date the call was made
07:20 is the time the call originated
00:00:10 is the length of the call
6979 is the extension that the call was made from
002 is the time to answer for the agent (not the time spent in queue)
6515 is the dialable number of the ACD queue the call was made to
I is the internal call identifier
7015 is the ID of the agent who answered the call
This means that on January 14th at 7:20 AM, internal Extension 6979 dialed the ACD
Queue P001 with dialable number 6515. The call was answered by Agent 7015 after 2
seconds of wait time. The two parties talked for 10 seconds. There was no external caller
involved in this call.
An External SMDR record is generated by the PBX when
1. A call is completed (i.e. when all parties involved in the call have hung up). This
can be either an answered or abandoned call.
2. A call is transferred
3. An Account Code is entered
4. A call is interflowed from the ACD queue to a new destination
5. A call is requeued back to the ACD queue by an agent who did not answer the
call
6. A call is Queue Unavailable and routed to another answering point
An Internal SMDR record is generated by the PBX when
1. A call is completed (i.e. when all parties involved in the call have hung up)
between two devices on the PBX (extensions or agents), with no outside parties
(trunks) involved in the call
2. The call is an internal answered call only
3. Calls to ACD queues report based on the dialable number of the queue, not the
reporting number as found in the External SMDR records.
4. All parties in the call have their Class of Services set to enable SMDR Internal
recording
5. The PBX has the Internal SMDR option enabled.
An SMDR record will only be sent to the Contact Center Management Enterprise Server
in the previously mentioned conditions, when
1. All parties involved in each call segment have their PBX Class of Service set to
record SMDR calls (incoming and outgoing)
2. The SMDR Options on the PBX have been set to record incoming, outgoing, and
internal calls
3. The SMDR Options have been set to generate new SMDR records for each
transferred segment of a call
Common problems in SMDR stream configuration
1. Class of Service forms in the PBX(s) have not been enabled with SMDR
recording. Calls that involve these devices will not send SMDR records to the
Contact Center Management Enterprise Server.
2. Agent IDs and extension are programmed to be longer than 4 digits (for example,
Agent ID 50567) but the Extended digit length option is not enabled on the
SMDR Options Assignment form. This will truncate the SMDR record to 4 digits
which will cause real-time and reporting errors.
3. The contact center is receiving calls from internal sources (other extensions in the
PBX) but does not have the Internal SMDR option enabled in the SMDR Options
form of the PBX and/or does not have the Class of Service form Record Internal
SMDR option enabled.
ACD Real-time events stream
The ACD Real-time events data stream provides event based information on what ACD
extensions (as defined in the PBX) are doing and provides a summary of the Queue Realtime
statistics every 15 seconds.
ACD Real-time events stream queue statistics
If the path or agent group has the Real-time events option enabled on the PBX, the PBX
will generate a summary of the path queue and agent group queue stats (for example,
calls waiting in queue, longest waiting caller, and available agents) every 15 seconds, however
Contact Center Management makes use of the Path Queue event only.
NOTE: This event can be delayed by up to 15 seconds. When you are looking at the
Queue Now monitor in Contact Center Client, note that the On ACD column is directly
mapped to this event and signifies the number of agents logged on and available. This
statistic is updated every 15 seconds. The Agent by Position and Agents by Time
statistics are updated when an agent changes state, so the statistics in these monitors are
considered accurate to the second, and could appear to be out of sync with the Queue
Now column until the next event update.
The Agent events sub-stream of the ACD Real-time events stream generates a record
when an ACD extension (regardless of whether an agent is logged in to an extension),
changes their state, causing a monitor to display the changed state of the agent.
ACD Real-time events are generated when
1. An agent logs in/out of an extension
2. An agent sets/removes a Make Busy reason code
3. An agent sets/removes DND
4. An agent answers a call from an ACD path queue
5. An agent enters/leaves the Work Timer state at the end of an ACD path queue call
6. An agent answers an incoming call that did not come from an ACD queue
7. An agent makes an internal/external outbound call (the event is not generated
until the call is answered)
8. An agent puts any of these calls on hard hold (red button hold)
9. A call on hard hold is answered or abandoned
10. An agent completes a call and becomes idle
The ACD Real-time event stream allows Contact Center Management to map the agent
state (for example, Idle, On ACD, Outgoing, Incoming, Unavailable, and Logged in).
The ACD Real-time event stream and the SMDR stream have certain records generated
by the same action (for example, agent answering an ACD call, agent on an outbound
call, agent answering an incoming call). ACD Real-time events can be generated when
there is no accompanying SMDR record, for example, when logging in/out or setting
Make Busy Reason Codes.
The ACD Real-time event stream is not controlled by any PBX options, with the
exception of the This Extension can have an ACD Agent option.
SMDR records can be generated when there is no accompanying ACD Real-time event,
for example, agents entering Account Codes, agents transferring calls to other answering
points, calls Interflowing, calls Overflowing, calls abandoning, etc.
ACD Real-time events can also be generated when there is no accompanying SMDR
record, if
1. The call is internal and the SMDR option for Internal SMDR is not enabled
2. The call is transferred and the SMDR option Report All Transfers is not enabled
3. The call involves one or more parties that do not have the Class of Service option
in the PBX set to record SMDR records.
How data streams are used
The SMDR stream provides the data for almost all of the Contact Center Management
reports, with the exception of Agent and Agent Group Event by Period reports.
The SMDR data stream provides statistics for historical reports and real-time monitors. It
provides statistics for the following devices
1. Trunks – All data
2. Queues – All data, with the exception of Current Calls Waiting, Longest Waiting
Caller, and Agents On (which come from the ACD Real-time events stream)
3. Account Codes – All data
4. DNIS – All data
5. ANI – All data
6. Extensions – All data
7. Agents/Employees – All historical reports, with the exception of Agent/Employee
by Period reports (which come from the ACD Real-time events stream). All agent
monitors come from the ACD Real-time event stream.
Understanding the time element SMDR data is credited to
All SMDR derived statistics are credited to the 15 minute interval that the call or call
segment originated during. This method of crediting can be misleading if you do not
understand that the calls are credited in this manner. For example, if an ACD queue call
starts at 07:59 and continues for 65 minutes, this call will credit the ACD queue with 65
minutes of talk time in the interval 07:45 to 07:59. That is, in a 15 minute interval, a
single call will account for 65 minutes of queue talk time. The reason for crediting calls
in this manner is to support ErlangC traffic calculations. Therefore, there is no point in
examining a call being spread over multiple 15 minute increments in a
report when the call derives from the SMDR stream, as the data will not make sense.
Understanding the time element ACD data is credited to
Agent event data is used to build Agent Event by Period reports. You can identify these
reports easily as the top of the report shows the data derived from the ACD Real-time
event stream (for example, Logout date/time, Total shift time, Idle time, ACD true talk
time, etc).
Agent information that is stored in the database is credited to the start time of the shift or
the time that the agent logged in at. When you run a report for an Agent Event by Period
report, the report will display all agent shifts for the day(s) you selected. An agent that
logs in at 07:59 and works an eight hour shift will have a single record generated in to the
Contact Center Management database. The record that is generated will be credited to the
day they logged in and will have a start time that falls within the 07:45 to 07:59 interval.
The difference between calls and agent state
The SMDR-based reports and statistics are events that originate when a caller initiates a
call. The call can be handled by multiple queues and agents within the contact center.
An external call that arrives on a trunk can be offered to several queues and agents as the
call is routed and transferred around the contact center. The trunk sees this as a single call
but the call will be credited to every device it passed through.
For example, a call arrives on Trunk 209, is queued to Path 001 (Customer Service),
queued to Agent Group 100, and answered by Agent 5000, who talks for two minutes.
The call is then transferred to Path 002 (Order Tracking), queued to Agent Group 101,
and answered by Agent 6000 who completes the call.
Contact Center Management will credit all parties and devices involved in the call, and
will record the talk time of each party and device involved in the call. Therefore, if you
were to blindly add all call pegs from all devices in the call, you would have counted 5
calls. It is important to understand how call routing is being handled by the PBX in order
to properly interpret report statistics.
The reports which are based on agent state statistics are meant to detail what an agent
accomplished during their shift. The main statistic being presented is theses reports is the
amount of time an agent is in different states when they could have been answering calls.
These statistics provide managers with answers to their most important questions, for
instance, how long an agent was logged in to a queue and what agent states the agent was
set to during this time (for example, ACD talk time, Make Busy, DND, Work Timer,
Idle, Inbound personal, Outgoing call, Holding calls, etc.).
Agent reports from the SMDR stream, such as Agent Performance reports, report on
agent calls from the SMDR stream and are credited to the same interval logic as queue
statistics.
These two different reports on agent productivity are fundamentally different. Agent
information from the SMDR stream can have multiple calls credited to an agent ID, as an
agent with multiple extensions can handle multiple calls at once. Agent information from
the ACD Real-time event stream displays the state of an agent and will only allow an
agent to be in one state at a time. SMDR call information for an agent is related to the
soft or hard set telephone, whereas ACD Real-time event information is related to what
the agent is doing.
If an agent is handling multiple calls at once, Contact Center Management will credit the
Agent Event by Period statistic to the time of the active call, so that an agent can never be
set to a state for longer than they were logged in.
Troubleshooting frequently encountered problems
1. Your contact center has agents and queues that are servicing internal callers, for
example, an IT department or help desk. When you compare Agent Performance
reports to Agent Event by Period reports for the same agents and period, the ACD
talk times for the Agent Event by Period report are significantly greater.
The most likely cause of this problem is that you do not have Internal SMDR
enabled on the PBX and/or the Class of Service for the agent or the callers do not
have Internal SMDR enabled.
2. Your contact center has a queue that services internal callers, but you do not see
any abandoned calls or interflowed calls for the specified queue. You have
confirmed that Internal SMDR options are enabled.
The most likely cause for this problem is that the Internal SMDR stream only
generates SMDR records when a call is answered, and no records are generated
for calls that are abandoned, interflowed, or transferred.
3. The number of Account Code entries credited to an agent does not equal what the
agent says they entered.
The most likely causes of this problem are that the SMDR options are not enabled
for Account Codes or agents are not entering Account Codes while talking to
customers. Account Codes will only be tagged if entered while a call is active.
4. An Agent by Period report shows all 0’s for an agent ID but the Agent Event by
Period report for the same agent ID shows a full set of data.
The most likely cause of this problem is the agent ID’s are longer than 4 digits,
but the SMDR option for Extended digit length is not enabled. As a result, the
SMDR record has the agent ID truncated to 4 digits and Contact Center
Management cannot match the SMDR record to the agent ID.
5. The number of calls to a path does not equal the number of calls answered by the
corresponding agent group.
The most likely cause of this problem is that agents are transferring or
conferencing ACD calls. In this situation, SMDR will generate one peg to the
queue but multiple pegs to the agents (one for the agent transferring the call and
one for the agent who received the call).