Reporting - CVP Requery Agent Answer Race Condition (randled)
CVP Requery Agent Answer Race Condition (randled)
|Problem Summary|| The symptoms will be seen in reporting if compare metric summaries at the end of a business cycle (i.e. at the end of the day).
|Error Message||No specific error message for this condition.|
|Possible Cause|| There is a small window of opportunity for a race condition where the agent answers the call just as CVP is pulling the call back due to Requery or Ring No Answer timeout. When this condition occurs, CVP reports the call as requeried and the PG has already identified the call as answered. Because of this, the Router and PG will count the call differently, and the impact will depend on whether the Router received the answer event from the PG before or after the CVP requery event.
Note that this is a very small window of opportunity here where an agent has to answer the call just as the CVP RingNoAnswer Timer expires and pulls back the call. This condition is likely affecting less than 0.01% of customer calls if it is happening at all.
|Recommended Action|| Apply a maintenance release that contains the fixes for the defects mentioned below.
The patch will reduce the number of calls that are marked as Requeried and Handled (i.e. randled), and make it easier to identify any remaining discrepancies. There will be 5 new CallDispositions in the Termination Call Detail records which can be used to back out reporting discrepancies.
Here are the new CallDispositions
Note that these calls which would have been marked as Handled in the Skill Group will now be marked as Redirected, but some metrics related to the answered event will still be incremented.
If you want to compensate for reporting errors that result from this race condition, the following information provides the details for how counts and calculations can be modified based on these call dispositions.
CD 60 - no changes required
CD 58 and CD 61 will both impact the same fields: SG.CallsAnswered, SG.AnswerWaitTime, and SG.ASA (Average Speed of Answer), and can be backed out this way. - SG.CallsAnswered = Decrement SG.CallsAnswered by 1 - SG.AnswerWaitTime = Subtract (TCD.RingTime + TCD.NetworkQTime + TCD.NetworkDelayTime) - SG.ASA also needs to be adjusted. It is calculated as AnswerWaitTime / CallsAnswered.
Each CD 59 and CD 62 will both impact the same fields; CallsAnswered, ASA, and ServiceLevelCallsOffered in the Call Type and the Skill Group. - SG.CallsAnswered = Decrement SG.CallsAnswered by 1 - SG.AnswerWaitTime = Subtract (TCD.RingTime + TCD.NetworkQTime + TCD.NetworkTime) - SG.ASA also needs to be adjusted. It is calculated as AnswerWaitTime / CallsAnswered.
|Associated CDETS #||CSCte01312, CSCtd84378|