Skip to main content

CDR and Recording

This page controls some basic settings for call recording and call detail record (CDR) generation.

image.png

Explanation of the Settings

Default CDR listing size: A call detail record (CDR) is a record that is produced by the system and contains the details of calls that have terminated on the system. CDRs include the date and time the call started, the number that made the call, the number that received the call, and the call duration. Use this field to limit the number of CDRs that will be displayed in the web interface (CDRs can be memory consuming). The default is 30 CDRs.

Keep CDR Duration: This setting defines the length of time CDRs are kept on the file system. CDRs can consume large amounts of disk space, so be careful when setting this field. If too many CDRs are on a busy system, the system will not start. The default is 7 days. The duration can be expressed in various time units:

  • Seconds: Enter an s after the number (e.g., 60s for 60 seconds)
  • Minutes: Enter an m after the number (e.g., 60m for 60 minutes)
  • Hours: Enter an h after the number (e.g., 24h for 24 hours)
  • Days: Enter a d after the number (e.g., 7d for 7 days)

Maximum number of CDRs (per type): This setting allows the admin to control the number of CDRs, according to type, that will be retained on the system. The CDRs are classified according to extension, trunk, and ivr and are stored in the cdre, cdrt, and cdri folders, respectively.

Mask the last digits in tenant CDR: In certain legislations, the system needs to mask digits from the caller-ID. This settings is used to do that.

CDR URL: The CDR URL field controls where CDRs are written. The system can write CDRs to a CSV file, an email address, a server address, or to a SOAP destination. To populate the CDR URL field, use the syntax shown below. CDRs can be viewed only after they have been collected and organized through an external call accounting application. The detail information about CDR can be found on the CDR page.

CDR username, CDR password: For certail URL types, the system needs to provide a username and password, e.g. for HTTP URL.

Format template for simple CDR strings: This field describes what to store in simple CDR. For more information, see CDR.

CSV CDR field separator character: The seperator symbol for simple CDR, e.g. , or ;.

CSV file location: The location where simpel CDR are stored. This setting is only used when the CDR URL type file, filet, filetoor fileti do not contain a file name that ends in csv or txt.

Store agent login to queue as CDR record: This flag determines weather the system will store agent login records as CDR.

Recording enabled by default for tenant: This is the default setting for the tenant settings that enables or disabled call recording for the tenant.

Duration for keeping recordings: Like the Keep CDR Duration setting, this setting controls how long call recordings are kept on the system.

Maximum number of recordings (system wide): Like Maximum number of CDRs (per type), this setting controls how absolute limit of records stored on the system.

Record Location: This field determines where system-initiated recordings will be stored on the system. By default, $r/$o/$a/$d-$t-$i-$n.wav is the string used in this field. If you wanted to set an absolute path for the recordings, you would use something like /tmp/test/$d-$t-$i.wav. For more information about recording calls and how to create a string for the Record Location field, see Record Location.

Compress Recordings: The system will compress recordings when this setting is enabled. Otherwise, recordings will be saved as 16 bits/sample.

Maximum Duration of Call Recording: This setting allows you to establish an upper limit on call recordings, which is important since large recordings can cause problems with system performance. To further conserve disk space, you can limit the number of messages that can be stored in a user’s voicemail box (see the Voicemail Size setting in Domains).

Duration for keeping login data: This setting controls for how long queue agent login data should be kept on the system.

Allow sending ad-hoc recordings by email: This setting controls weather the system can send user-initated ad-hoc recordings as emails.

Caller-ID Lookup

The system can perform a lookup of the caller-ID for incoming calls. This can be used to detect SPAM calls, but it can also be used to look up names (CNAM). Lookups are performed only for calls that arrive on a trunk, and the lookup can be disabled on per-trunk basis. SPAM scores are values between 0 and 100, where 0 means that the caller is no SPAM, 100 means that the caller is SPAM and the values in between determine the likelyhood that the caller is SPAM.

There are several services providers available for this service.

  • Address book. If there is no external provider available, the system can use the address book to look up numbers.
  • Bulk Solutions CNAM. This provider is used to look up the name of the caller (CNAM).
  • OpenCNAM. This provider is used to look up the name of the caller (CNAM).
  • Tellows. This provider returns the SPAM score for the number.
  • tel.search.ch. This provider searches numbers in Switzerland and returns the CNAM.
  • TrueCNAM. This provider returns the SPAM score and the CNAM.

Depending on the provider, there is a need for a username and/or password. The timeout value determines how long the system will wait for an answer. Making this timeout too long will delay processing of incoming calls when the service provider is unavilable. The address book serves as a special lookup provider. When used, it will use the name in the address book and the contact type for classifying contacts.

The threshold value for rejecting SPAM calls is available on system, domain and user level and determines when a SPAM score is considered SPAM. The action which is taken depends on the account type which is being called.

The SPAM score for anonymous callers is used when a caller-ID lookup is not possible, e.g. because the caller-ID is not a phone number.

Cloud Storage

Instead of storing files in the file system, the system can also push data into cloud storage. Currently, only call recordings are pushed into cloud storage.

The PBX supports selected cloud storage service providers as provider. Most S3-compatible cloud providers should work; if neccessary the list of providers can be extended.

The recording location template will show you a template for the record location (see above). You need to insert the bucket name into the template. The bucket does not contain the address, the address will be automatically appended to the bucket name. You can also change the path and recording elements according to your needs. For example when using Digital Ocean, your recording location settings might be dos:mybucket/$o/$d/$*.wav.

The address is needed for some providers that may have different locations. For example, nyc3.digitaloceanspaces.com is used for Digital Ocean for the New York location. The region also depends on the recording location, for example for the Digital Ocean New York location the region would be US.

The Access Key Id and Secret Access Key are provided by the cloud storage provider.

If you want to be able to play back the recordings, you need to make sure that the files in the cloud storage can be played back by anyone with the link. Because of that, it is useful to use a UUID as the file name so that it will be very hard to guess the filename without the link (the filename is like a password).