Call recordings have had a major rewrite in FreePBX 12, and are now more intuitive, and easier to understand in versions 12+ of the PBX GUI.

The Five Options, Explained

There are now 5 options for call recording, where it makes sense to have them:

Note: "Don't Care" is the default setting as shown above.

Call Recording Logic

To understand the logic of the 5 options, you can think of "No" as meaning "I'd rather not record this part of the call, unless I've been told otherwise earlier," and "Yes" as "I'd like to record this part of the call, unless I've been explicitly told not to earlier." You can think of "Force" as meaning "Start or resume recording now," and "Never" as meaning "Stop recording now." The "Don't Care" options means, "Don't change anything right now."

Note that some items, such as Conferences, simply have a "Yes" or "No" option without the "Force," "Don't Care," or "Never" options.

 One Touch Recording

One Touch Recording is now an integral part of Call Recordings. This means that you, as the admin, have a lot more control over permissions of call recording by enabling/disabling one touch (on-demand) recording on a per-extension basis.

If a call is in the recording status of "Yes," "No," or "Don't Care," and the extension is permitted to start or stop recordings, the user can start and stop recording at any time by using a feature code and/or a phone button programmed to dial the feature code. If the call is in a "Never" or "Force" status, then the extension cannot stop or start recordings unless the extension has the "Override" permission.

To control an extension's one touch (on-demand) recording permissions in version 13 of the PBX GUI:

Limitations when a Recording is Started by an Outbound Route

Important Warning! When a call recording is started by an outbound route, it is not possible for the recording service to bind to the call, and can only bind to the extension that started the recording (This is a limitation of Asterisk, and is resolved in Asterisk 13). This means that if you transfer the call, the recording will stop. Make sure that you transfer the call to a destination that has call recording set to Yes or Force, to re-establish the recording. 

Sample Call Flow

Let's walk through an example call flow:

  1. A call comes in via an inbound route that has call recording set to "Yes."
    The recording filename is generated, and recording is started.
  2. That inbound route sends the call to a queue. The queue has call recording set to "Don't Care."
    Nothing changes. The "Don't Care" setting doesn't try to change anything. Recording continues.
  3. The queue is answered by an operator who has their "Inbound External Calls" setting set to "No."
    Call recording is not paused. It continues. "No" and "Yes" are of equal priority, and the Inbound Route already told the system to record the call.
  4. The operator dials *1 (the default feature code for on-demand recording).
    Call recording is paused.
  5. Operator transfers that call to a Ring Group that has call recording set to "Force."
    Call recording is started again.
  6. The Ring Group call is answered by an operator who has their "Inbound Internal Calls" setting set to "Never."
    Call recording is paused.
  7. Operator dials *1.
    Call recording does not start, and the operator hears "access denied," because recording is blocked by the "Never" setting.

Naming of Call Recordings

Call recordings are named by the first thing that starts the recording. That call is then recorded, with the same name, for the life of the call, stopping and starting as required.

Call Recordings are named in the format of type-destination-source-datestamp-timestamp-uniqueid

Playing Call Recordings in the User Control Panel (UCP)

Recordings can be played back and downloaded in the UCP Call History section.