Call Recording

From Taridium

Jump to: navigation, search

ipbx call recording allows you to record all or select calls passing through your PBX system. You can set individual call recording for Users (inbound/outbound) and their associated phones, Groups, Queues and Conferencing. This form of call recording is independent from User Call Recording sometimes also referred to as ad-hoc call recording.

Check your jurisdiction's laws regarding call recording. Generally, it is legal to record any conversation where all the parties to it, have given their consent (one-party consent if all the parties are in a state with a corresponding law). For example, U.S. federal law requires only one-party consent to the recording of a telephone conversation, but does not explicitly protect such a recording if it is made for criminal or tortuous purposes. Many states and countries make similar exceptions.


Storage & Limits

Call recording is storage intensive and should be carefully planned. Standard ipbx configurations use the local database and disk for call recordings. It is advisable to use a separate disk, or storage array for more than occasional recording. One hour of call recording takes up about 6MB of disk space in GSM format or about 60MB in WAV format. A 500GB drive will thus be able to store in excess of 70,000 hours. See also Storage Backend Settings.

In order for ipbx to properly handle and play back recordings that are bigger than 16MB, you will need to adjust your php.ini configuration (on standard ipbx distributions this file can be found under /etc/php.ini). The relevant limit is:

 memory_limit = 128M

Make sure to restart the ipbx tasker service and HTTP server by entering:

 [root@ipbx ~]# service ipbx restart
 [root@ipbx ~]# service httpd restart

Later versions of ipbx have a preset limit of 128MB and usually don't require any changes.

Further limits on database storage are imposed by the MySQL backend and might need be adjusted as well.

 max_allowed_packet = 128M
 query_cache_size = 128M

remember to restart the MySQL backend by typing:

 [root@ipbx ~]# service mysqld restart

Unprocessed recordings which haven't shown up in the recordings table, will still be in the /tmp/ directory of the ipbx system. A restart of the tasker will automatically cause these to be stored in the database. Do not restart your ipbx system before moving the files out of the /tmp/ directory unless they have been already stored in your recordings table.

Browsing recordings

This interaction displays all your recorded calls. Calls are stored in a local relational database.


Remove the call recording


Unique recording ID / also used to associate with corresponding CDR record.

Date & Time

Date and Time when the recording took place (completion time)


Call recording source


Call recording destination


Account code as set by CDR


Length of recording in seconds. This applies to the recorded file and not necessarily to the total duration of the call.


The size of the recording as stored on the disk. The letter F indicates that the file has been stored as a separate file on the disk. See also file based storage option.


Link to associated CDR record - see also Call Detail Records. You can also search and access your call recordings via the CDR browser, by expanding the call record.


Click on the speaker button to playback or save the recording locally.

Settings & What to Record

Call Recording Settings can be found under DiagnosticsCall RecordingSettings. Configure your call recording settings. ipbx is capable of recording selectively as well as globally. The following applications allow selective call recording: Groups, Queues and Conferencing. In order to record on a per user basis see User Feature Settings.

Record all Incoming Calls

Record all calls that are received from other systems or the PSTN.

Record all Outgoing Calls

Record all calls that are placed to other systems or the PSTN.

Record all Internal Calls

Record all calls that have been placed internally, e.g. from extension to extension etc.

Recordings Maintenance

Set an automated deletion schedule for your recorded calls.

Storage Backend

The default storage backend is a relational MySQL database named monitor. Use the file based backend for large scale recording and durations beyond 1 hour. Your files will be stored in /var/spool/asterisk/monitor.

Clear Recording

Remove all recordings from your database

Personal tools