# View CDR

Every completed call produces a Call Detail Record (CDR). The CDR report in the web portal lets you review who called whom, when, and how each call was handled. This page walks through opening the report, narrowing it with filters, arranging columns, and saving a filter set for reuse.

## Open the CDR report

1. Sign in to the web portal and go to **Reports and Recordings > CDR**.
2. Select the **CDR (Advanced)** tab.

   ![The CDR report open on the Advanced tab](/images/pbx/cdr-advanced-tab.png)

:::note
The CDR module was rebuilt to store records in a new structure that shows call details more clearly. New records appear on the **CDR (Advanced)** tab, while records created before the change remain on the **CDR (Legacy)** tab. Older records are removed over time according to your **CDR Auto Cleanup** setting. The steps below cover records on the Advanced tab; to review earlier activity, work from the **CDR (Legacy)** tab instead.
:::

## Apply basic filters

Use the basic filters to narrow the list by time and by the parties on the call.

![Basic filter fields above the CDR list](/images/pbx/cdr-basic-filter.png)

| Filter | What it does |
| --- | --- |
| Time | Sets the start and end dates for the report. To limit results to an exact window, click **Select Time** and set both a start time and an end time. |
| Call From | Matches the caller. Type a number or name, or use the contact picker to choose extensions, extension groups, or organizations. |
| Call To | Matches the callee. Type a number or name, or use the contact picker to choose extensions, extension groups, or organizations. To swap the caller and callee values, click the switch icon. |

![The Select Time control for setting an exact start and end time](/images/pbx/cdr-select-time.png)

:::tip
To match a name or number without entering it exactly, turn on fuzzy search with the search-mode icon next to the participant fields.
:::

## Apply advanced filters

Advanced filters let you drill into specific call legs and call attributes. A call leg is one segment of a call's path, for example the caller reaching a queue, then the queue connecting to an agent.

1. On the right pane, click the filter icon.

   ![The advanced filter panel with call-leg and attribute options](/images/pbx/cdr-advanced-filter.png)

2. Set any of the following criteria.

   | Filter | What it does |
   | --- | --- |
   | Second Participant | Matches the callee on the second call leg. Type a number or name, or use the contact picker for extensions, extension groups, or organizations. |
   | Last Participant | Matches the callee on the final call leg. Type a number or name, or use the contact picker for extensions, extension groups, or organizations. |
   | Extensions/Extension Groups | Limits results to selected extensions or extension groups. |
   | Organization | Limits results to selected departments. |
   | Queue | Limits results to selected queues. |
   | Call Notes | Filters by disposition code (a short label used to categorize how a call was handled). |
   | Remark | Matches the remark added on the last call leg. |
   | AI Summary | Matches keywords found in the AI summary text. |
   | AI Receptionist Processing Result | Filters AI receptionist calls by outcome (see below). |
   | Trunk | Limits results to a selected trunk. A trunk is the connection that links your phone system to the outside telephone network. |
   | DID/DDI | Limits results to selected DID/DDI numbers. DID (Direct Inward Dialing), also called DDI (Direct Dialing In), is an external number a caller dials to reach you directly. |
   | Caller IP Address | Matches the caller's IP address. |
   | SHAKEN Attestation | Filters by STIR/SHAKEN attestation level or verification result (see below). |
   | Recording Files | Shows all calls, only calls with a recording, or only calls without one. |

   The **AI Receptionist Processing Result** options are:

   - **Resolved**: the AI receptionist handled the caller's request without transferring the call.
   - **Transferred**: the AI receptionist passed the call to another destination.
   - **Unresolved**: the AI receptionist neither handled the request nor transferred the call.
   - **No Processing Result**: the call ended abnormally from an error or timeout, so no outcome was recorded.

   The **SHAKEN Attestation** options are:

   - **A**: calls signed with attestation level `A`.
   - **B**: calls signed with attestation level `B`.
   - **C**: calls signed with attestation level `C`.
   - **Invalid**: inbound calls carrying an invalid SHAKEN signature.
   - **Unknown**: inbound calls that are unsigned or whose attestation level can't be determined.

   :::note
   STIR/SHAKEN is the caller-ID verification standard used to fight spoofing. The attestation level records how strongly the originating carrier vouches for the caller's number: `A` (full) is the highest level of trust, `B` (partial) is moderate, and `C` (gateway) is the lowest.
   :::

3. Click the close icon in the top-right corner to save the filter and close the panel.

## Filter and arrange columns

You can choose which columns appear and reorder them to suit your review.

1. Click the column icon to pick the columns to display.

   ![The column selector for choosing which CDR fields appear](/images/pbx/filter-cdr.png)

   :::tip
   Drag the handle next to a field to rearrange the list:

   - To keep a column visible while scrolling, drag it to **Left (Freeze Column)** or **Right (Freeze Column)**.

     ![Pinning a column to the frozen area of the list](/images/pbx/cdr-freeze-column.png)

   - To change the order, drag the field to a new position.

     ![Dragging a field to reorder the CDR columns](/images/pbx/cdr-change-field-order.png)
   :::

2. For any column that shows a search icon, click the icon to filter on that field.

   ![Filtering the CDR list from a column header](/images/pbx/filter-cdr-column.png)

## Save a filter as a view

Once you have a filter set you use often, save it as a view so you can reapply it in one step.

:::note
You can keep up to **10** custom views.
:::

1. On the right pane, click the check icon and select **Save as a New View**.

   ![Saving the current CDR filter as a new view](/images/pbx/save-cdr-view.png)

2. Enter a name for the view and click **Save**.

   ![Naming a saved CDR view](/images/pbx/cdr-customize-view-name.png)

:::tip
Mark a view as the default to have it applied automatically when you open the report.

![Setting a saved view as the default](/images/pbx/cdr-custom-view-default.png)
:::

## Result

The list shows every CDR that matches your filters. Click the details icon on any row to open its full record.
