Recording Agents

Last modified by superadmin on 2021/09/09 20:55

On this page:

Recording Agents provided data about recordings to the iSymphony server by watching file system modifications on the system that stores the recording files. Normally you will only use the local default local-rec recording agent, with default settings, if you have the iSymphony server installed on the same machine as the PBX. If iSymphony is installed at a remote location you will have to setup a remote Recording Agent in order to feed information about recordings from the remote PBX to the iSymphony server. See Remote Agents for more information.

You can access the Recording Agent properties by selecting Settings in the Administration Interface menu and selecting edit on the Recording Agent you wish to modify under the Recording Agents section.

Information

Only Super Administrators can manage Recording Agent Settings. See Administrators for more information.

Recording Agent Properties

Recording Directory:

The root directory where the recording files are stored (default: /var/spool/asterisk/monitor).

Recording File Name Mask:

The recording file name mask used to parse information about the recording from the file name. See the Recording File Name Mask section below for more information.

Resource Host:

The host or IP used when providing URLs for playback in the client. This should be set to the public hostname or IP of the server the Recording Agent resides on.

Resource Extension:

The extension of the file type to use when streaming recording in the client. (default: wav)

Recording File Name Mask

Several variables can be used in the Recording File Name Mask in order to pull information about the recording from the file name of the recording.

Ignore:

Syntax: ${Ignore}

Description: Ignores the text at that position in the file name and does not contribute any information to the recording data.

Tenant:

Syntax: ${Tenant}

Description: Specifies the tenant identifier this recording was made under. When writing recording files the value specified by the Tenant Identifier, set in the core server configuration, is used. See Core Servers for more information.

Tag:

Syntax: ${Tag}

Description: Specifies the location of the tag information for the recording. The tag information can be used to specify arbitrary information about the recording like the recording type (e.g. extension, meetme, conference room, ect.)

Time:

Syntax: ${Time(options)}

Options:

  • milliseconds: Time value in recording file is specified in milliseconds.
  • seconds: Time value in recording file is specified in seconds.
  • minutes: Time value in recording file is specified in minutes.
  • DateTimeFormat: If the time value is specified in a human readable format within the file name you can specify the format used based on the accepted format strings for the Java SimpleDateFormat.

Description: Specifies the location of the time the recording was created. Used if the date and time of the recording are represented as separate values in the file name.

Date:

Syntax: ${Date(options)}

Options:

  • milliseconds: Date value in recording file is specified in milliseconds.
  • seconds: Date value in recording file is specified in seconds.
  • minutes: Date value in recording file is specified in minutes.
  • DateTimeFormat: If the date value is specified in a human readable format within the file name you can specify the format used based on the accepted format strings for the Java SimpleDateFormat.

Description: Specifies the location of the date the recording was created. Used if the date and time of the recording are represented as separate values in the file name.

DateAndTime:

Syntax: ${DateAndTime(options)}

Options:

  • milliseconds: Date and time value in recording file is specified in milliseconds.
  • seconds: Date and time value in recording file is specified in seconds.
  • minutes: Date and time value in recording file is specified in minutes.
  • DateTimeFormat: If the date and time value is specified in a human readable format within the file name you can specify the format used based on the accepted format strings for the Java SimpleDateFormat.

Description: Specifies the location of the date and time the recording was created. Used if the date and time of the recording are represented as one value in the file name.

CallerIdName:

Syntax: ${CallerIdName}

Description: Specifies the location of the caller ID name of the call that was recorded.

CallerIdNumber:

Syntax: ${CallerIdNumber}

Description: Specifies the location of the caller ID number of the call that was recorded.

SrcExtension:

Syntax: ${SrcExtension}

Description: Specifies the location of the source extension for the recording.

DstExtension:

Syntax: ${DstExtension}

Description: Specifies the location of the destination extension for the recording.

CDRUniqueId

Syntax: ${CDRUniqueId}

Description: Specifies the unique id to use when looking up the recording in the CDR.

Disabling The Recording System

If you do not utilize the recording management system in iSymphony, you can save on memory and process overhead by disabling the system. The steps required to disable the recording management system will differ depending on if you are utilizing a FreePBX based system or not.

Information

If the recording management system is disabled, you will still be able to record calls on demand from the panel.

FreePBX

  1. Log into FreePBX
  2. Navigate to Admin->iSymphony V3
  3. Change the Directory field under Recording Agent Settings to the following:

    /var/spool/asterisk/monitorignore
  4. Save and run Apply Config
  5. Restart the iSymphony server process for good measure. See Starting And Stopping The iSymphony Server.

Vanilla Asterisk

  1. Log into the iSymphony Administrator. Connecting to the Administration Interface.
  2. Navigate to Settings->System Settings.
  3. Under Recording Agents select Edit on the agent you wish to disable.
  4.  Change the Recording Directory field to the following:

    /var/spool/asterisk/monitorignore
  5. Click Apply then click Save on the System Settings page.
  6. Restart the iSymphony server process for good measure. See Starting And Stopping The iSymphony Server.
Warning

Asterisk / Third party integration - v3.5.2+

iSymphony uses the channel variable "REC_STATUS" to determine if a call is currently recording. If the variable is set to "RECORDING" the channel is considered recording. If the variable is set to "STOPPED" a recording exists and the recording has been stopped or paused. To have iSymphony detect and display recordings initiated or stopped outside of iSymphony the "REC_STATUS" channel variable should be set to the corresponding value.