Introduction
The purpose of this article is to provide information on how to setup the different recording modes available in Nixxis Contact Suite.
1. Recording settings in config files
RecordingMode in Http.config's admin section is a combination of the following flags:
Standard = 0,
ManagerOnCustomerConnected = 1,
UnmixedChannels = 2,
SingleFile = 4,
ManagerOnAgentConnected = 8,
RedialGeneratesNewFile = 16
The numeric or string values can be used. For example,
<add key="recordingMode" value="3"/>
has the exact same meaning as
<add key="recordingMode" value="ManagerOnCustomerConnected, UnmixedChannels"/>
1.1. Standard:
The recording is initiated by the media server extensions (inbound.conf and outbound.conf). When this mode is used, others flags are ignored for the initial recording.
1.2. ManagerOnCustomerConnected:
The recording is initiated when the customer leg is connected.
1.3. UnmixedChannels:
The recorded files are split by channels and left separated.
1.4. SingleFile:
All recording sections associated to a call are appended to the same recording file. When used in conjunction with UnmixedChannels, this flag is ignored (meaning that multiple files will still be generated) except for reporting purpose (LastRecordingSuffix is left empty in contact tables).
As the underlying manager command are different to obtain these modes, new keys have been added to Http.config's admin section:
<add key="recStartUnmixedCmd" value="Action: Monitor Channel: {0} File: {4} Format: {8}"/>
<add key="recStopUnmixedCmd" value="Action: StopMonitor Channel: {0}"/>
<add key="recStartMixedCmd" value="Action: COMMAND Command: MixMonitor start {0} {1}{2}"/>
<add key="recStopMixedCmd" value="Action: COMMAND Command: MixMonitor stop {0}"/>
They are presented here with their default values (same as not including the keys at all).
The keys represents the commands to start and stop the recording in mixed or unmixed mode.
1.5. ManagerOnAgentConnected
The recording is initiated when the agent leg is connected.
1.6. RedialGeneratesNewFile
The new value (16) force using a new recording file when a redial occurs while using SingleFile (4).
1.7. Parameters
The parameters to the commands are:
{0} Channel ID: channel identifier. Example: "SIP/C001-0000000b"
{1} Default path: complete path with file name and extension. Example: "/var/spool/recording/C001/TEMP/077086aa21e34f48980695a5f4693637.wav"
{2} Default processing suffix: default suffix to the "MixMonitor" command, including the append option and the post recording script (specified by media server variable "NixxisRecordingProcessing"). Example: ",a,\"/usr/local/bin/after_recording ^{MIXMONITOR_FILENAME}\""
{3} Recording mode: the requested recording mode requested in numerical format. Example: 1
{4} Default path without extension: complete path with file name without extension. Example: "/var/spool/recording/C001/TEMP/077086aa21e34f48980695a5f4693637"
{5} Folder name: the value of attribute "recordingFolderName" in sip.config. Example: "TEMP"
{6} File name base: the file name, without extension. Example: "077086aa21e34f48980695a5f4693637"
{7} File counter: the recording counter (start at 0). Example: 0
{8} File extension: the file extension, without the leading point. Example: "wav"
{9} Root path: the path to the recordings (without the folder part specified by "recordingFolderName"). Example: "/var/spool/recording"
{10} Domain ID: the code identifying the tenant. Example: "C001"
{11} Extended file name: combination of folder (see "recordingFolderName" in sip.config) and file name, with extension. Example: "TEMP/077086aa21e34f48980695a5f4693637.wav"
{12} Post processing: content of the variable "NixxisRecordingProcessing" variable.
{13} Current datetime: the current time as datetime (to be formatted using the appropriate flags)
2. Recording commands on agent desktop
The agent toolbar provides three recording commands, “Record”, “Suspend recording” and “Forbid recording”, the two latter grouped under the first one with popup on the lower right corner.
Except when started at media server level without manager interface, recordings are not started twice. Overlapping recordings share the same file whatever the number of concurrent requests.
2.1. Record
This action starts or stops the recording on agent’s request.
The "Record" button allows the agent to start or stop recording his contact. The agent can only stop a recording he has started himself. The button also provides current recording state info to the agent:
Inactive: no recording is active (or the agent does not have right to see it)
Active: the agent is recording
Blinking: recording is active but not on agent's request
The "Record" command availability is controlled by:
• The "Power" flag on "Operator desktop" right
• Http.config key (agent's section) "voiceRecordEnabled" (true, false or not set meaning that the right settings will decide)
The "Record" feedback is controlled by:
• The "Power" flag on "Operator desktop" right
• Http.config key (agent's section) "voiceRecordFeedbackEnabled" (true, false or not set meaning that the right settings will decide)
2.2. Forbid recording
This action stops any active recording and prevents new recording requests.
The action availability is controlled by:
• The "Full" flag on "Operator desktop"
• The Http.config key (agent's section) "forbidRecordingEnabled" (true, false or not set, meaning that rights settings will decide)
2.3. Suspend recording
This action stops any active recording and prevents new recording requests until the action is used again to re-enable recording. At this time, the recording is automatically restarted if requests to record are still present.
The action availability is controlled by:
• The "Full" flag on "Operator desktop"
• The Http.config key (agent's section) "suspendRecordingEnabled" (true, false or not set, meaning that rights settings will decide)
When recording is suspended by an agent, it’s button replaces the Record button as group default.