voltier Posted February 11, 2016 Report Share Posted February 11, 2016 Hi, I was hoping to get some light on how to read actual CDRs. So from an old manual I found, CDR broken into 3 types: IVR Information Extension Information Trunk Information ...which im assuming translates to: Root (IVR) Information Extension Leg (s) Trunk Leg (s) Follow up questions: When are additional legs populated? In some instances I see one leg, some two, some three... Extcall - im assuming this is either extension or external call? If the connect field is blank does that mean the call was not established (what if the call hit the recipients voice message service - would it show a connect time?) How is From and To, different to, Local and Remote? (i have found that From is not necessarily Local, and To not exactly Remote) What does the State Leg(s) meant to portray/depict? Would it be safe to assume that, in the context of billing, you only care about Trunk Legs? Other feedback/assumptions: There is no consistency between call type, direction and im getting really confused when trying to understand the CDRs. When looking at CSV files, im assuming one CDR may be spread out over multiple rows to illustrate the various legs Been going crazy looking at the CDRs so hopefully somebody can share some light Thanks! Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted February 11, 2016 Report Share Posted February 11, 2016 We have added something to https://vodia.com/doc/cdr I hope that helps to understand this complex topic. Quote Link to comment Share on other sites More sharing options...
voltier Posted February 15, 2016 Author Report Share Posted February 15, 2016 Thanks Admin, that page was definitely useful. I just want to run by you my assumptions (from a billing perspective): I intend on using a combination of {Domain} + {Extension} to uniquely identify and bill my end user; Primary focus will be: where trunk legs is greater than 0 (all else doesn't matter) - Not quite sure if its possible to have more than 1 outbound Trunk Leg per CDR? Trunk Leg > Connect value is not 0 (or 1970 etc) Trunk Connect Time = billable call duration Trunk Leg > Direction = Outbound Any advice or suggestions otherwise to the above is most appreciated! Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted February 15, 2016 Report Share Posted February 15, 2016 If you want to do this properly, you cannot assume that there is only one trunk leg per call. For example, when forking to cell phones you might have more than one ("press 1 to accept the call"), and when using the virtual private assistant there can actually be many valid outbound calls. I know it might be more difficult, but you need to iterate through the trunk leg array and bill each item separately. The rest makes sense. Quote Link to comment Share on other sites More sharing options...
voltier Posted February 16, 2016 Author Report Share Posted February 16, 2016 Hi again, once again many thanks for your help. Hopefully the last question regarding CDRs, but just wanting to know what parameter is used to differentiate a call when it hits an Operator Message. What i mean by that is, there will be certain scenarios where for example, a cell phone is switched off or out of range and will hit the providers automated response system i.e. there is no charge to the user. As far as the PBX and CDRs are concerned, it will treat this as a connected call. My suspicion is there is some agreed Carrier Response codes which is shared, but what I'm really wanting to know if that is embedded somewhere within a CDR record. Quote Link to comment Share on other sites More sharing options...
Vodia PBX Posted February 16, 2016 Report Share Posted February 16, 2016 For that you need to look into the states array. If you want to bill only for times when you really talk to a "human" (not a cell phone mailbox), that might be a little challenging as you would have to mix the different arrays. Quote Link to comment Share on other sites More sharing options...
chaddow Posted March 10, 2016 Report Share Posted March 10, 2016 Something else to keep in mind related to multiple call legs and forking calls. When a call is forked to multiple outbound cell phone numbers, the customer may not have enough channels available if you are limiting that as part of your product offering. Each outbound redirect will use a channel (trunk). Even if they do not ultimately connect to the outbound device, the channel is in use while attempting the connection. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.