Redbox Recorders

Redbox Partner Portal


  • Platform: Cisco Unified Communications Manager
  • Latest Red Box Internal Interop Testing: Quantify 4C with Cisco UCM v12
  • Latest Red Box Certification: Quantify 4A SP2 with Cisco UCM v11.5

To disable UAC on Windows 2016 - it is not sufficient that you do so via GUI. To FULLY disable the UAC - you need to run the below command via powershell (run powershell as an admin).

New-ItemProperty -Path HKLM:Software\Microsoft\Windows\CurrentVersion\policies\system -Name EnableLUA -PropertyType DWord -Value 0 -Force

Note - before doing above I got the following Log error:

[ERROR] - Failed to start program 'c:\ltr\ltr.exe' as user '.\redboxservice'. The requested operation requires elevation. (0x2E4)

The recorder.ini file is located in C:\Windows and NOT C:\LTR\Config

Note - if you do not want new extensions to record by default - but manually have to be enabled before they start to record - add the following to the ini file:

[General]
RecordByDefault=0

Note - this config use to be in C:\LTR\PP\PP_ActiveRecording.ini file - as below example but has now (since version 6?) been moved to the C:\Windows\recorder.ini file i.e. as per below:

[CallRecording]
RecordingDefault=NOT_RECORDED
[CallSuppression]
SuppressionDBField=X:Default=0, do not show, or 1 show collumn.MaxSuppressCount=X;Default=3, Max number of times a single call can be suppressed. NOTE: 0 means none.
MaxSuppressTime=X; default =15, Stop suppressing after this many seconds. 0 means infinity.
StopOnCallEnd=0 or 1; if 1, cancel suppression at the end of the call. If 0, carry on suppressing into any new calls.
AlwaysDiscardAudio=0 or 1; controls whether audio is discarded so even admin can not replay it. 0 here means only users can not replay it. 
[CallSuppression]
SuppressionDBField=1
StopOnCallEnd=1
MaxSuppressCount=99
MaxSuppressTime=0
AlwaysDiscardAudio=1

When you create a diagnostic file via the web browser admin interface - the diagnostic file can be located at

C:\LTR\downloads\download
  • Login to Recorder, open a file explorer, navigate to: C:\LTR\Config\ and open CTIServer_CiscoCTI.exe.config.
  • Modify the following content:
<level value="INFO" />
  • Navigate to: C:\LTR\Config\Logging\ and open CA_RAM.log.config.
  • Modify the following content:
 [RBRLogging]
 LogLevel=INFO
  • Navigate to: C:\RAM\ and open RAM.ini , creating the file, if it does not exist.
  • Add or modify the following content:
 [CaRamSettings]
 SIP_MESSAGE_LOGGING=1
 TAPI_MESSAGE_LOGGING=1
  • Restart the Recorder for the changes to take effect.
  • Login to the Recorder, in the Windows System Tray, right click on the icon for the Cisco TSP Notifier and select “Configuration”.
  • In the list that is displayed, click on the first, (there may be only one), entry.
  • Click on “Configure”.
  • Click on the “Trace” tab.
  • Click on the “Detailed” radio button.
  • Click “OK”.
  • Use Edge in IE Mode
  • If using HTTPS - make sure the cert is valid with no warning (otherwise try using HTTP and see if it works OK)
  • Check IE is setup as per Redbox guide
  • Check cert - by default cert only has IP address - hence you need to use IP address when browsing to the server to get the Media Plugin to work - Plugin uses the below URL.
  • If you get “An error has occurred in the application” - then select more information to see why

The D: (or other) drive should be dedicated for the Callstore and Database and by default with only 2GB free. However if you want to allow more free space - the FreespaceMB config makes the most sense - but below options - include this and other approaches.

Option 1

Free up space by remove all calls marked in the recorder database as deleted. To Remove all calls in the recorder database that are marked as deleted, this can be used to free up space. To Apply this setting you will need to amend the Recorder.ini. Please be aware this will run without a Recorder restart. C:\Windows\Recorder.ini

[Recording] CheckForAllOrphanedCalls=1 </code> Once this has run you will need to remove this entry.

Restrict the maximum Callstore size.

1. Review the setting implementation restrictions below:

Aged call deletion in use: The Callstore cannot resize until calls are over the age set, as they are prohibited from deletion until then.

Aged call deletion not in use: If aged call deletion was in use and then disabled, it must remain disabled for a full wrap around of the callstore's files before implementing this change. Otherwise, empty frame files will remain on the partition, taking up 15MB space each.

The “FreespaceMB” setting will result in the callstore reducing its size to maintain the set amount of freespace on the partition. This means that any files added to the partition will cause the callstore to progressively resize. The freespace is, therefore, best used only for temporary activities that require significant space on the partition, such as callstore database structure updates.

Login to the Recorder, open a file explorer and navigate to: C:\Windows\ and open recorder.ini.

2. Add or modify the following content:

[Recording]
FreespaceMB=20480

Note: Where the value used is in megabytes.

2. Restart the Recorder for the change to take effect.

Note: Free space is recovered gradually as the callstore fills frame files, which triggers the free space check This may take weeks or months.

To confirm the Callstore is aware of all available space on the drive or partition, open file explorer and browse to C:\LTR\Logs\.

* Open the file “ErrorLog.txt” and search for the last event of CallStoreSettings.cpp. * Compare the Disk size and free space in bytes to the drive properties in file explorer.

Example:

CallStoreSettings.cpp(1236): (TID 1ABC) 20##-XXX-## ##:##:##.###### [PRINT] - [.\Callstore] Disk size:106847793152 bytes, freespace:76756639744 bytes - this drive has 106 GB total space and 76 GB of free space.
  • Browse to C:\SSL
  • Generate Private Key -
    openssl.exe genrsa -out myhostname.key 2048
  • Generate CSR -
    openssl req -new -key myhostname.key -config c:\Apache24\conf\openssl.cnf -addext "subjectAltName = DNS:myhostname.example.com, DNS:myhostname" -out myhostname.csr
  • Sign CSR and copy key file and signed Cert to
    C:\Apache24\conf\certs\
  • Configure
    C:\Apache24\conf\redbox.conf
    • SSLCertificateFile "C:\Apache24\conf\certs\myhostname.cer"
      SSLCertificateKeyFile "C:\Apache24\conf\certs\myhostname.key"
  • Restart Apache

Note - you can force HTTPS - so that the HTTP will redirect to HTTPS. To do this 1) Configure in Redbox Settings: Setup → Apache → Always Force SSL (and save) 2) In C:\Apache24\conf\httpd.conf - change the ServerName from “localhost” to the actual FQDN of the server, e.g. redbox.example.com 3) Restart the Apache Service (you don't need to restart the server - as it states on the GUI).

  • Just use all the default settings when installing the TAPI client (64 bit client).
  • When the TAPI client is installed a decision needs to be made about where the channel names on the recorder come from as both TAPI and CCE are being used because they will both try and update this on the recorder.
  • If the channel names are set manually on the recorder then they will not be set by either the TAPI or CCE.
[SIPRAMSettings]
ChannelNaming

From Quantify 6B and later, when using UCCX/UCCE for additional call CTI information, the source of the channel name needs to be specified, this can either be enabled in the C:\RAM\RAM.ini file where the channel will be set using the 'Display Name' in the SIP Header or this can be enabled in the C:\LTR\Config\CTIServer_CiscoCTI.ini file where the channel will be set using the agent 'LoginName' supplied by the UCCE/UCCX.

Please note that Channel Naming is enable by default in both ini files, however only one should be used or this can lead to unpredictable channel naming. Therefore, if you’re using UCCX/UCCE, ensure that Channel Naming is only enable in one of the ini files (the one for the required source).

i.e. to disable it on CTI - C:\LTR\Config\CTIServer_CiscoCTI.ini

[General]
ChannelNaming=0

i.e. to disable it on RAM- C:\RAM\RAM.ini

[SIPRAMSettings]
ChannelNaming=0

`

  • Only associate UDP with the CTI user and not the SEP / Physical phone (if using Extension mobility)
  • Use Windows “dialer” program (yellow phone icon) - so see what devices TAPI can see (i.e. before you click OK).
    • Start → run → dialer
    • ON the “connect using” window → select the 'Line' Dropdown box - and you should be able to see all the lines that the CTI TAPI service can access.
  • Restart Cisco TAPI (you can view config - bottom right clock) - by restarting the Telephony Windows Service
  • After restarting Cisco TAPI restart the Redbox CTI TAPI, i.e. kill the task - CiscoCTI_TAPI - it should restart < 1 min

Redbox Recording Workstation Client - RBRWSC

  • You can configure it to connect to multiple recorders using semicolon separate server list - as per below.
  • if everything is working as expected - you will NOT see the ICON in the taskbar notification area - however this DOES appear when on a call - so you can click it then if needed or to force it to appear (to change logging etc.) configure an invalid recorder in the registry.
  • Log files appear on C:\Users\<username>\Documents\RBRWSC\
  • In our config - as you can see below - we use the windows username to match against the extension / ID. The username must have its extension number configured - see below:
  • as per registry detailed above this client can connect to multiple recorders
  • You can configure each recorder via the server config tool the same - but a better way to replicate and make sure the config is identical on both is simply to copy the database file from the Primary Recorder to the Secondary recorder
    • This file is located here:
    • After coping this file from the primary to the secondary - Kill the CTIServer_WSC.exe process on the secondary server - which should automatically restart within 60 seconds (Task Manager → Details)
    • Note - I am unsure if above is all that is needed or if a restart of the RBRConfig Manager Service is needed as well or if both are needed! More testing required!
    • I can confirm when you make change via the GUI and apply that the client updates in < 60 seconds. So you don't need to do anything on the client side after making a change.

Ekisa

Install Files:

C:\Program Files (x86)\Ekisa\Workstation

Config Files:

C:\ProgramData\Ekisa
  • The two “workstation” config files are created at install time.
    • If you need to change the Ekisa Server that the client connects to - you can edit these files, kill Ekisa Process and restart using the following command:
    • "C:\Program Files (x86)\Ekisa\Workstation\EkisaWS.exe" CMDLN
    • note - CMDLN - sounds for “Command Line”
    • The other two ini files you see above are created when the program starts and it what Ekisa sees at the Server Name that the client is running under. This is not necessary the machine you have the exe installed on, as in my case - the Citrix Server which I was connected to appears here - while the server I was RDPed into was the server I had Ekisa running on - so a little confusing..
    • Use the Client Machines Event logs to understand if it connects to the server correctly. Note the client connects to the server - but also must be configured on the server to connect successfully.
      • Event Logs - EkisaOperations
      • Event Logs - EkisaRunTime

The Machine which presents as the server to the Ekisa server - must be added - so in the example above this would be the server name “MY-CITRIX-SERVER”.

  • Using the Devices.ini file located at C:\LTR\Config\Devices.ini find the Quantify ID for the user's extension
    • In the below example the Redbox Quantify ID for the Extension 51092 is “202”
    • Now open the Ekisa.ini file. The ID should already be in the file - but set to “<Undefined>”
    • Replace <Undefined> with the windows username of the agent - in my example below - 3porourke1
  • c:\ltr\config\Devices.ini
  • c:\ltr\pp\PP.ini
  • c:\ltr\Agentgrp.ini — this is if they have groups setup on the recorder.
  • c:\ltr\Filters.ini — this is there are any security filters in use
  • c:\ltr\config\Blacklist.ini
  • c:\ltr\config\Ekisa.ini — only be licensed & used on the secondary recorder -
    • WARNING - the IP address in this file is different - so a straight copy would not be valid!!!
  • c:\ltr\config\WSCConfig.db – used for automatic suppression
  • hiddenfields.ini - used to hide certain database fields from non admin users within the search results.

After syncing the files - restart the recorder.

This is a SQL query which Redbox could utilise to retrieve the Team Name - from the “Agent ID” - which is the Agents Peripheral Number. In the below example the Agent ID is '1045885'

SELECT Agent_Team.EnterpriseName
FROM 
[Agent_Team], 
[Agent_Team_Member],
[Agent]
WHERE 
Agent_Team.AgentTeamID = Agent_Team_Member.AgentTeamID
AND Agent_Team_Member.SkillTargetID = Agent.SkillTargetID
AND Agent.PeripheralNumber = '1045885'

Redbox Broker

  • Application & Config files located at C:\Program Files\Redbox Recorders\
  • Database and log files located at C:\ProgramData\Redbox Recorders\
  • Stop the Red Box Export Broker Windows Service
  • Open the RabbitMQ management interface in a browser
  • Enter the username/password (guest & <the-guest-password>)
  • Click on the Queues tab and see if it shows anything in the Ready/Unacked columns, if it does then:
    • Click on the ExportBrokerQueue
    • Scroll down to the Purge section and expand it and select Purge messages
  • Stop “Red box Export Broker” Service
  • Update NetworkServers config file with the relevant start date, e.g. earliestCallTime=2025-01-07T19:00:00
  • Rename / delete the Database file - e.g. we will rename to NASMonitor_202501XX.db.backup (needed as otherwise it will continue from where it finished last time).
  • Purge RabbitMQ - see above
  • Re-Start the “Red box Export Broker” services
  • Check log files
  • vendors/redbox/home.txt
  • Last modified: 2025/01/28 14:23
  • by gerardorourke