07-16-2015 02:16 AM - edited 03-17-2019 03:39 AM
Hi Guys,
I have started working on Cisco call manager recently and I have been tasked to aggregate all the Cisco CDR file records.I was hoping if someone could answer my below query -
Question - I need to associate the cdr records or legs.To be precise there can be multiple legs for one calls and if I need to find one call, I need to find all the legs associated to that call.To find all the legs I need to know which are the fields involved,I can think of origLegCallIdentifier and destLegCallIdentifier. Also If we break the calls into several legs like
Do we have any specific field in parent which says that we are expecting a child record here ? For ex- If the call is transferred and the second leg is not found in the current batch then we can assume that we are missing a child record
07-16-2015 03:48 AM
Hi Anup,
You are correct, the following two fields are imp when tracking a call
origLegCallIdentifier - This field identifies the originating leg of a call. Be aware that this value is unique within a cluster. If the leg of a call persists across several sub-calls, and consequently several CDRs (as during a call transfer), this value remains constant.
destLegCallIdentifier - This field identifies the terminating leg of a call. This value remains unique within a cluster. If the leg of a call persists across several sub-calls and, consequently, several CDRs (as during a call transfer), this value remains constant.
Apart from these, you can check a few examples given for different call scenarios like conference in the following link
http://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cucm/service/7_1_2/cdrdef/cdradmin/cdrex.html
Manish
- Do rate helpful posts -
07-16-2015 05:22 AM
Hi Manish,
So to be more elaborate the generic extraction process is to import these CDRs into batches.During such batch import we can have either child missing or parent missing.I think the approach should be
1. Determine if a leg is parent/child
2. If its parent leg we need to find whether its transfer scenario and if it is, we need to find whether it contains the required child leg records in same batch else we need to wait for next batch to come in
3.If its child we might need to wait for parent leg, in case parent leg is still not imported into our system.we need to wait for next batch.
Does this logically sound correct, if yes could you hint me on what logic should it be.
07-16-2015 06:12 AM
Parent / child leg basically means checking if there are other supplementary functions involved in the call like transfer, forwarding, conference etc. There is no specific tool within Cisco CDR that allows to co-relate this info. However, you can look at certain fields in CDR to determine the same:
For example in case of CDR for a forwarded call you can look at origCalledPartyRedirectReason field which represents the reason that the call was redirected the first time. For call forwarding, this field can contain Call Forward Busy=1, Call Forward No Answer=2, Call Forward All=15.
•The lastRedirectRedirectReason specifies the reason that the call was redirected the last time. For call forwarding, this field can contain Call Forward Busy=1, Call Forward No Answer=2, Call Forward All=15.
Similarly for a conference call you can check the originalCalledPartyNumber field which will begin with b00XXXXXX.
Manish
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