Cisco Support Community
Showing results for 
Search instead for 
Did you mean: 
Community Member

Reason codes reports

On my IPCC Express system I have setup reason codes but have yet to enable them. My question is, do I need to enable them first so I can see what kind of a report I need to print out, and is there a specific report just for reason codes or are they mixed in amongst a different report.



Re: Reason codes reports


The "Numeric reason codes" are stored in AgentStateDetail table in the "db_cra" database.

There are no historical reports showing these reason codes, but you should be able to generate

customized reports by querying on this table.

The following doc "Understanding Historical Reporting" breaks down how/when all of the various records are written to DB.


Here is the DB schema,

Hope this helps.




Re: Reason codes reports

Keep in mind that CRS 3.5 will contain a "canned" Reason Code report.


Re: Reason codes reports

This data is available but will take special consideration to build a Custom Report.

The Agent State transitions are all in the DB_CRA DB in the AgentStateDetail table. The event transition and eventDateTime are stored there.

This is an excerpt from a note that I wrote regarding another customer that was pursuing the same thing. Take a look at this and at the Schema Doc and let me know if you have questions.

What I've been able to determine is that there are state transitions that are performed by the system that impact this data. For example every time an Agent goes RNA, they will get transitioned to Not Ready with No Reason Code.


An Agent is Not Ready with a Reason Code of Lunch.

They receive an ICD Call by way of transfer from another agent on their ICD line. This case will transition them from Not Ready Lunch -> Reserved -> Not Ready No Reason Code.

The following is a matrix e-mail me at for the matrixof Valid Transitions, along with some notes, that should allow you to properly report on this data.

This matrix represents the state transitions that are "legal". We can expect to see all transitions that begin with a 'Y'. If the transition shows YR, it means that it should show a Reason Code. If it starts with N we shouldn't see a Reason Code. There are several cases where a transition that is "legal" CAN have a Reason Code, but will NOT have one (YNR).

For example, we can assume that a transition from Reserved to Not Ready with no Reason Code means the Agent didn't answer an ICD call OR they received an ICD transfer.

The following example show a scenario and how best to look at the state times:

Agent is Ready

Hits Not Ready puts in Reason Code Lunch (YR) - Time 1

Gets ICD Call transferred to it, state goes Reserved (Y) - Time 2

Hangs Up , state goes to Not Ready (YNR) - Time 3

Agent hits Ready (Y) - Time 4

In this case, they could report the Agent state as:

Not Ready with a Reason Code of Lunch for the time from Time 1 to Time 2 Plus Time 3 to Time 4 (or they could do time 1 to Time 4).

NOTE: Any time that an Agent transitions to Logoff without a Reason Code, it indicates a system failure (eg. Agent Device went off-line/PC was shut down...), OR they X'd out of CAD when in Reserved.


Any time we transition to a Not Ready with NO Reason Code, we must defer to the preceding Not Ready state with a valid Reason Code, unless the preceding state was Log In. This will allow the reporting to reflect the Agent input Reason Code for the amount of time they left themselves in that state, until they explicitly took themselves out by choice.

Community Member

Re: Reason codes reports

Just out of curiosity, have you seen this report in 3.5? We just loaded it up and I haven't found anything like this yet.

Thanks in advance,



Re: Reason codes reports

3.5 still does not contain the reason code report. Maybe 4.0.........?

Community Member

Re: Reason codes reports

Right after I posted my previous, I discovered that they modified the Agent Login / Logout report. Which is halfway there. It still is a custom report to get "not ready" reason codes as near as I can figure.


CreatePlease to create content