01-04-2011 04:53 AM - edited 03-14-2019 07:08 AM
Hi All,
In TCD what is the common field between an original inbound call and a transferred one by the agent.
Agent ID is not displayed in transferred call field.
Regards,
Solved! Go to Solution.
01-04-2011 09:32 AM
Hello my friend
I will extend your question to cradle to grave call tracking including CVP and CUCM CDR as well with the following answer (copyrighted by David Reich), but you can choose what is suitable for you...
Mapping CDR to TCD
The UCManager CDR does have a mapping to ICM Termination Call Detail record, but you need to do some conversion.
The CDR globalCallID_CallManagerID and globalCallID_CallId is combined to create the TCD PeripheralCallKey.
The globalCallID_CallManagerID is moved into the high order byte. To shift it over the properly, multiply it by the hexadecimal value 1000000 and add it to the globalCallID_CallId.
So:
(globalCallID_CallId * 0x1000000) + globalCallID_CallId = PeripheralCallKey
These IDs are not unique because the same PeripheralCallKey and CallID are re-used in redirect, transfer and conference scenarios.
Also, this only works with in a single cluster. So in a multiple cluster environment, you need to map Cluster CDRs to a specific PeripheralID.
Cradle to Grave Call Tracking in ICM
The RouterCallKeyDay, RouterCallKey, and RouterCallKeySequenceNumber will track a call from its first route until its final call leg.
The RouterCallKeyDay and RouterCallKey combine to provide common attribute across the calls.
The RouterCallKeySequenceNumber gives you some sense of order of when calls were created. (gselthof: so note, 'some sense' is not guaranteed order!!!)
In a multi-peripheral environment, this requires routing between peripherals. This means calls to the IVR need to be translation routed, and calls to other agent clusters need to be routed as well.
Identifying Routed Agent TCDs
You will want to filter out the TCDs created for the CVP call legs, and calls are generated for agents for internal agent to agent calls.
Use the AgentSkillTargetID to identify agent, SkillGroupSkillTagetID to identify SkillGroup, and CallTypeID to identify Call Type / program.
If all three of these values are filled in, you know you got a call that was routed to an agent.
Sometimes more than one TCD will meet these three criteria for the same PeripheralCallKey In those cases, the one with the lowest RouterCallKeySequenceNumber will identify the first call answered by the agent.
CallDisposition
The CallDispositionFlag is the best indicator to find out if a call was handled or not. There are a bunch of CallDispositions. The CallDispositionFlag distills the results down to 7 categories.
You can find details on what the CallDispositionFlags are in the schema help or schema guide.
Cheers and Happy New Year!
Goran
TAC
01-04-2011 09:32 AM
Hello my friend
I will extend your question to cradle to grave call tracking including CVP and CUCM CDR as well with the following answer (copyrighted by David Reich), but you can choose what is suitable for you...
Mapping CDR to TCD
The UCManager CDR does have a mapping to ICM Termination Call Detail record, but you need to do some conversion.
The CDR globalCallID_CallManagerID and globalCallID_CallId is combined to create the TCD PeripheralCallKey.
The globalCallID_CallManagerID is moved into the high order byte. To shift it over the properly, multiply it by the hexadecimal value 1000000 and add it to the globalCallID_CallId.
So:
(globalCallID_CallId * 0x1000000) + globalCallID_CallId = PeripheralCallKey
These IDs are not unique because the same PeripheralCallKey and CallID are re-used in redirect, transfer and conference scenarios.
Also, this only works with in a single cluster. So in a multiple cluster environment, you need to map Cluster CDRs to a specific PeripheralID.
Cradle to Grave Call Tracking in ICM
The RouterCallKeyDay, RouterCallKey, and RouterCallKeySequenceNumber will track a call from its first route until its final call leg.
The RouterCallKeyDay and RouterCallKey combine to provide common attribute across the calls.
The RouterCallKeySequenceNumber gives you some sense of order of when calls were created. (gselthof: so note, 'some sense' is not guaranteed order!!!)
In a multi-peripheral environment, this requires routing between peripherals. This means calls to the IVR need to be translation routed, and calls to other agent clusters need to be routed as well.
Identifying Routed Agent TCDs
You will want to filter out the TCDs created for the CVP call legs, and calls are generated for agents for internal agent to agent calls.
Use the AgentSkillTargetID to identify agent, SkillGroupSkillTagetID to identify SkillGroup, and CallTypeID to identify Call Type / program.
If all three of these values are filled in, you know you got a call that was routed to an agent.
Sometimes more than one TCD will meet these three criteria for the same PeripheralCallKey In those cases, the one with the lowest RouterCallKeySequenceNumber will identify the first call answered by the agent.
CallDisposition
The CallDispositionFlag is the best indicator to find out if a call was handled or not. There are a bunch of CallDispositions. The CallDispositionFlag distills the results down to 7 categories.
You can find details on what the CallDispositionFlags are in the schema help or schema guide.
Cheers and Happy New Year!
Goran
TAC
01-06-2011 05:50 AM
Hello My friend,
Thanks for the detailed explanation, more than enough!
Cheers!!
01-12-2011 01:03 AM
Hi Friend,
Is there any way you could correlate reports from ICM and IPIVR? i need to check which calls are abandoned in both.
Thanks in advance
07-23-2013 09:23 AM
Goran; this is great information. Can you help me understand this portion?
CallDisposition
The CallDispositionFlag is the best indicator to find out if a call was handled or not.
There are a bunch of CallDispositions. The CallDispositionFlag distills the results down to 7 categories.
You can find details on what the CallDispositionFlags are in the schema help or schema guide
If the CallDispositionFlag = 1, this is an indication of a handled call; what if on that same call the AgentSkillTargetID is null. Is that just an indication that the call was handled but not by and agent?
Discover and save your favorite ideas. Come back to expert answers, step-by-step guides, recent topics, and more.
New here? Get started with these tips. How to use Community New member guide