Jump to content

Understanding CDRs


Recommended Posts



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
Link to comment
Share on other sites

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!

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

  • 4 weeks later...

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.

Link to comment
Share on other sites

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.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...