Our CDR records can become massive over time, and we might want to filter our results for a more specific set of calls. To do this, we can create CDR filters we can use over and over with our CDR reports. To create our CDR filters we must go to Reports > CDR Reports > CDR Filters.
First, we will need to enter a Description to identify the CDR filter. Next, we can add Duration and Talk Time Filters. This will limit the search to calls longer than a certain amount of seconds, but shorter than a certain amount of seconds. Duration is a call from the moment it starts ringing, and Talk Time is a call from the moment it is answered.
Afterward, we have Search Conditions. These are the heart and soul of our CDR filters. With these search conditions, we can make our CDR filters as specific as possible.
Search Conditions are comprised of the following aspects.
- Condition – This is the type of condition you are adding. There are two options, AND
or OR. AND means that the condition has to be met for the filter to apply, and OR
means that this is an optional condition. If you have experience with MySQL-type
searches, these condition types will make more sense as these filters are basically a
MySQL search. - Search By – This is the field that this condition will consider in the search. You can
choose between the following options. - Caller ID – This will use the Caller ID information field.
- Source – This will use the source field. The source is who originated the call.
- Destination – This will use the destination field. The destination is the number
dialed. - DID – This will use the DID field. The DID is the DID number dialed. This is only
for incoming calls. - Account Code – This will use the Account Code field. An account code is
created in Extensions and helps filter by group of extensions using the same
account code. - Customer Code – This will use the Customer Code field. A customer code is
created in the customer code module. This is used to filter by a common
customer type for easier searching. - Status – This will use the Status field. The status is the outcome status of a
call. This can be Answered, No Answer, Busy, or Failed. - Call Type – This will use the Call Type field. The call type is the type of call that
was made. This can be Internal, for calls between extensions, Incoming, for
calls received through a trunk, Outgoing, for outgoing calls made through a
trunk, and Transit, for incoming calls that came through a trunk and were
routed to another trunk. - Value – This is the value used for the Search By option.
- Exclude – This will determine if the condition will be included or excluded in the
search. - Mode – This is how the value is considered. You can consider the value Exactly as it
is, Beginning with, is Contained within, or Ending with. Status and Call Type can only
have Exact modes.
You can create as many Search Conditions as you need to make the CDR filter as specific as you want by clicking the green Add button in the right-hand corner. Remove them by clicking the red Trash button next to the condition. You can then proceed to Save.
For example, we can make a filter that searches for calls made by extension 2000, by setting a condition that uses the Source of 2000 and is matched exactly. Then we can have another condition saying that calls from extension 2000 were to other extensions, by setting an AND condition with the Destination set to Beginning with 20, as our extensions begin with 20. And we only want to see Answered calls so we add an AND condition with the Status set to Answered.
We can apply our CDR filter in the CDR reports at Reports > CDR Reports > CDR, and click Refresh.
As you can see, the CDR report will show calls that match our filter.