cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
854
Views
0
Helpful
3
Replies

Cisco Call Manager - Associating Call Legs

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 

 

  • Parent 
    •  child1
    •  child2
    •  child3

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

3 Replies 3

Manish Gogna
Cisco Employee
Cisco Employee

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 -

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.

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