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.
[mysqld] 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.
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.
Click on the speaker button to playback or save the recording locally.
Settings & What to Record
Call Recording Settings can be found under Diagnostics → Call Recording → Settings. 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.
Set an automated deletion schedule for your recorded calls.
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.
Remove all recordings from your database