Skip to content

Calls & CDR

The CDR (Call Detail Record) is the log of every call that passes through your phone system. Every time someone calls your business, calls out, or one extension calls another, an entry is created in the CDR.

This page explains how to read that log, what the filters mean, how to interpret costs, and how to export the data.


What is the CDR and why does it matter

Think of it as the call detail on your cell phone bill, but for your entire company and with more information. The CDR is useful for:

  • Auditing calls: knowing who called whom and when
  • Controlling costs: identifying high-cost international calls
  • Monitoring service quality: seeing how many calls went unanswered (NO ANSWER)
  • Reporting: exporting data for your own analysis

The CDR updates automatically. Every completed call appears in the portal within minutes.


The call table

The main table shows the most recent calls. Each row has these columns:

ColumnWhat it is
Date/TimeWhen the call started (local time)
Source (src)Number or extension that initiated the call
Destination (dst)Destination number or extension
DurationTotal call time (including ring time)
BillsecBillable seconds (only when someone answered)
ResultANSWERED, NO ANSWER, BUSY, or FAILED
Typeinbound, outbound, or internal
CostIn dollars. Applies only to international calls.

Difference between Duration and Billsec

  • Duration = total time from when the call started to when it ended. Includes the time it rang without anyone answering.
  • Billsec = seconds the call was active with someone on the line.

If a call rings for 30 seconds and then runs for 2 minutes, the duration is ~2m30s but the billsec is 120 seconds (2 minutes).

💡 Tip: For NO ANSWER calls, billsec is always 0 — nobody answered, so there are no billable seconds.


Available filters

At the top of the Calls screen there are filters to narrow down results:

Date range

You can select From and To to view a specific period. Defaults to the current period.

Example uses:

  • View last week's calls
  • Review a specific day where there was an issue
  • Export the previous month for a report

Call type

FilterWhat it shows
inboundIncoming calls to the business from outside
outboundCalls that went out from your system to the outside
internalExtension-to-extension calls within your system
(empty)All types

Result (disposition)

FilterWhat it shows
ANSWEREDOnly calls that someone picked up
NO ANSWERCalls nobody answered (rang and caller hung up)
BUSYCalls rejected because the line was busy
FAILEDCalls that failed due to a system error or invalid destination
(empty)All results

You can type a number, extension, or part of one to search for specific calls. Useful when looking for a particular number.


Understanding costs

Main rule: domestic calls have no cost

Calls to US and Canada numbers are unlimited and included in your plan. The "Cost" field on those rows is always $0.00.

This includes:

  • Inbound calls — always $0
  • Internal calls (extension to extension) — always $0
  • Outbound calls to US/Canada numbers — $0
  • Calls that weren't answered (NO ANSWER, BUSY, FAILED) — $0

International calls: these do have a cost

Calls that go out to international destinations are billed per minute (rounded up).

A call is international when the destination number has any of these characteristics:

  • Starts with 011 (international dialing prefix from the US)
  • Starts with + (international E.164 format)
  • Has more than 11 digits

The per-minute cost depends on your plan:

PlanInternational rate
Essential$0.025 / minute
Business$0.020 / minute
EnterpriseNegotiated

Example: A 7-minute 30-second call to Mexico on the Essential plan:

  • Actual duration: 7m30s = 450 seconds
  • Billable minutes: 8 (rounded up to the next minute)
  • Cost: 8 × $0.025 = $0.20

⚠️ If you see an unexpectedly high cost: Filter by callType = outbound and disposition = ANSWERED to see only answered international calls. If you see an unknown number with many long calls, contact support.

CDR cost vs invoice cost

The cost shown on each CDR row is the unit cost of that call. The international overage on your monthly invoice is the sum of all those costs in the period. You can see the current period's running total in the Billing section.


Period statistics

At the top of the Calls screen there is a stats bar showing (for the selected date range):

  • Total calls
  • Total minutes
  • Answered calls
  • Missed calls (NO ANSWER + BUSY + FAILED)

These stats respond to the filters you have applied, so if you filter by a specific date range or type, the numbers change.


Export to CSV

You can download the filtered CDR as a CSV file to work with in Excel, Google Sheets, or any analysis tool.

To export:

  1. Apply the filters you need (date range, type, etc.)
  2. Click the Export CSV button (top right of the table)
  3. The file downloads with the name sipsop-cdr-YYYY-MM-DD.csv

The file includes all columns from the table: date, source, destination, duration, billsec, result, type, and cost.

💡 Tip for monthly reports: Filter by the previous month (day 1 to day 30/31), export, and you have the complete CDR for the period in a spreadsheet.


Frequently asked questions about CDR

Why isn't a call showing up that I know happened?

The CDR syncs from the FreePBX system approximately every 15 minutes. If a call happened less than 15 minutes ago, it may not appear yet. If it still doesn't show up after 30 minutes, contact support.

Why are there calls where the destination equals the source extension?

That happens with voicemail forwards or other internal routing paths. It's not an error — it's a call that the system routed back to the same device.

Do internal calls count toward billing?

No. Extension-to-extension calls (call_type = internal) always have cost = 0 and are not included in the monthly overage.

Can I see the CDR for all departments/extensions or only mine?

The CDR you see in the portal is for your entire organization — all extensions assigned to your account. You can't filter by "just my calls" at the specific extension level from the portal; that granularity is available in the CSV export.


Next steps

SipSop documentation. Product operated by Sopinf Tech LLC.