Jump to: navigation, search
(Update with the copy of version: draft)
Line 2: Line 2:
 
{{BEC_Head
 
{{BEC_Head
 
|context=
 
|context=
The Recording Cloud Backup Service (RCBS) allows you to make a backup copy of your Genesys Interaction Recording voice files (some or all) prior to their automated deletion as per the Cloud retention policy. '''All recordings will be deleted when maximum retention date is reached.''' Contact your Genesys professional for more details about your configured retention policy. It is strongly recommended that you create backup copies several weeks prior to the expected deletion date.|dimension=
+
The Recording Cloud Backup Service (RCBS) allows you to make a backup copy of your Genesys Interaction Recording voice and/or screen recording files prior to their automated deletion as per the Cloud retention policy. Once installed, you can securely download the encrypted voice and screen recording files from Amazon S3 and their respective metadata files from PureEngage and store them on your local machines. The recording file can then be decrypted and used as desired, for example, for compliance.|dimension=
 
}}
 
}}
 
{{NoteFormat|
 
{{NoteFormat|
* RCBS connects to Genesys PureEngage Cloud with the HTTPS protocol. The address is provided by Genesys Customer Care when the software is provided. This connection occurs through the Internet and the recording metadata is sent through this connection.
+
* Unless backed up, all recordings will be deleted when maximum retention date is reached.
* RCBS connects to the Amazon S3 Service over HTTPS. This connection occurs through the Internet and encrypted recording files are sent through this connection. The S3 address is provided by Genesys Customer Care when the software is provided.
+
* RCBS will only work with encrypted recordings. Therefore, ensure encryption is enabled.
 
* RCBS does not support MPLS.
 
* RCBS does not support MPLS.
 
}}
 
}}
Line 13: Line 13:
 
Before you can install and use the Recording Cloud Backup Service on your desktop, verify that you have the following information. Your IT department or your Genesys professional can help you get this information.
 
Before you can install and use the Recording Cloud Backup Service on your desktop, verify that you have the following information. Your IT department or your Genesys professional can help you get this information.
  
* Windows Server 2008/2012 64-bit or Red Hat Enterprise Linux AS 6 Operating System with admin privileges (4 GB RAM, minimum 20 GB HD).
+
* Windows Server 2008/2012 64-bit or Red Hat Enterprise Linux AS 6 Operating System with admin privileges.
 +
* 4 GB RAM, minimum 20 GB hard drive (the amount of space required depends on the number of recordings to be downloaded).
 
* The Recording Cloud Backup Service software (minimum version 8.5.2xx.xx).
 
* The Recording Cloud Backup Service software (minimum version 8.5.2xx.xx).
 
* The target directory or shared folder in your environment to download the recording files to&mdash;for example, <tt>C:/target_directory</tt> (this is for the '''targetDir''' parameter).
 
* The target directory or shared folder in your environment to download the recording files to&mdash;for example, <tt>C:/target_directory</tt> (this is for the '''targetDir''' parameter).
Line 20: Line 21:
 
* The password for your Platform Administration tenant administrator account – (this is for the <tt>GWS_PASSWORD</tt> environment variable).
 
* The password for your Platform Administration tenant administrator account – (this is for the <tt>GWS_PASSWORD</tt> environment variable).
 
* The path to your Java installation directory (for example, <tt>/usr/java/jre1.7.0_79</tt>) (this is for the <tt>JAVA_HOME</tt> environment variable). Java 7 is the current supported version.
 
* The path to your Java installation directory (for example, <tt>/usr/java/jre1.7.0_79</tt>) (this is for the <tt>JAVA_HOME</tt> environment variable). Java 7 is the current supported version.
* Genesys will provide you with the following information:
 
** The Interaction Recording Web Services URL to access the recording metadata—for example, <tt><nowiki>https://example.com/api/v2</nowiki></tt> (this is for the '''gwsUriPrefix''' parameter).
 
** The access ID for the S3 storage, used to gain access to the recordings – (this is for the <tt>AWS_ACCESS_KEY_ID</tt> environment variable).
 
** The secret access key for the S3 storage, used to gain access to the recordings – (this is for the <tt>AWS_SECRET_ACCESS_KEY</tt> environment variable).
 
  
==Request RCBS functionality==
+
==Security==
 +
The recording files are encrypted throughout the media lifecycle. After the recording files are created, they are encrypted and stored in Amazon S3. RCBS securely transfers the encrypted recordings from S3 to your local machine by using the HTTPS internet protocol. The recordings can be decrypted only on your local machine.
 +
==Getting Started==
 +
The following sections explain how to request RCBS functionality and install the software on Windows and Linux environments.
  
 +
===Requesting RCBS functionality===
 
To request RCBS functionality, create a Salesforce case to request delivery of the software. Customer Care will provide an FTP download link to the software, and they will be in touch to request:
 
To request RCBS functionality, create a Salesforce case to request delivery of the software. Customer Care will provide an FTP download link to the software, and they will be in touch to request:
  
Line 32: Line 33:
 
* A public PGP key so the Genesys Operations team can securely transfer the S3 storage access credentials to you, which are needed by the RCBS to access the recording storage location.
 
* A public PGP key so the Genesys Operations team can securely transfer the S3 storage access credentials to you, which are needed by the RCBS to access the recording storage location.
  
==Configure the Recording Cloud Backup Service==
+
Once the software has been delivered, Genesys will provide you with the following information:
 +
* The Interaction Recording Web Services URL to access the recording metadata—for example, <tt><nowiki>https://example.com/api/v2</nowiki></tt> (this is for the '''gwsUriPrefix''' parameter).
 +
* The access ID for the S3 storage, used to gain access to the recordings – (this is for the <tt>AWS_ACCESS_KEY_ID</tt> environment variable).
 +
* The secret access key for the S3 storage, used to gain access to the recordings – (this is for the <tt>AWS_SECRET_ACCESS_KEY</tt> environment variable).
  
After you have installed your software, you can configure the parameters needed to run the service in the '''config.properties''' file.
+
{{CloudStep_Stack
 +
|title=Installing on Windows
 +
|text=
 +
Locate your software in the installation directory, and click '''setup.exe''' to start the Genesys Installation Wizard.
 +
 
 +
Follow through the wizard until finished making sure that you make note of the installation directory.
 +
 
 +
Check the installation directory and verify that the '''config.properties''' files is available.
 +
 
 +
[[file:Gir-backupservicewindowsverify.png]]
 +
 
 +
|media1=Gir-backupservicewindows.png
 +
}}
 +
 
 +
{{CloudStep_Stack
 +
|title=Installing on Linux
 +
|text=
 +
In the installation directory, at the prompt, type <tt>./install.sh</tt>.
 +
 
 +
Let the script install your software.
 +
 
 +
Check the installation directory and verify that the '''config.properties''' files is available.
 +
 
 +
|media1=Gir-linuxinstall.png
 +
}}
 +
 
 +
==Configuration and Setup==
 +
The following sections explain the configuration properties and environment variables to set for proper functioning of RCBS.
  
Locate your '''config.properties''' file, usually found in the Recording Cloud Backup Service installation directory, edit the file with a text editor, and set the following parameters:
+
===Configuration Properties===
 +
The following properties must be modified to successfully retrieve recording files from Amazon S3. Locate your '''config.properties''' file, usually found in the Recording Cloud Backup Service installation directory, edit the file with a text editor, and set the following parameters:
  
 
{|
 
{|
Line 49: Line 81:
 
| maxAge
 
| maxAge
 
| All recordings newer than the specified '''maxAge''' value, in days, are downloaded. You can specify any integer greater than or equal to 0 (0 is any age). Defaults is 2 which means that you retrieve all recordings from the last 2 days. If recordings have already been downloaded, they will not be downloaded again.<br>
 
| All recordings newer than the specified '''maxAge''' value, in days, are downloaded. You can specify any integer greater than or equal to 0 (0 is any age). Defaults is 2 which means that you retrieve all recordings from the last 2 days. If recordings have already been downloaded, they will not be downloaded again.<br>
'''Note:''' RCBS allows a one-time download of past recordings given a specific time range. Refer to the '''minAge''' parameter for details on how to use the one-time download.  
+
'''Note:'''  
 +
* If recordings are moved from their downloaded folder ('''targetDir'''), they will be downloaded again when RCBS is run. To ensure recordings are not downloaded more than once, only move recordings from this folder once '''maxAge''' days have passed since RCBS was last run.
 +
* RCBS allows a one-time download of past recordings given a specific time range. Refer to the '''minDate''' parameter for details on how to use the one-time download.  
 
| <tt>2</tt>
 
| <tt>2</tt>
 
|-
 
|-
Line 55: Line 89:
 
| The directory where the recordings are downloaded to. This folder can be anywhere on the system as long as the account running the software has permission to write to the folder.
 
| The directory where the recordings are downloaded to. This folder can be anywhere on the system as long as the account running the software has permission to write to the folder.
 
'''Note:'''
 
'''Note:'''
* You must use the directory separator "/" (forward-slash) instead of "\" (back-slash) on both Windows and Linux.
+
* On both Windows and Linux, you must use the directory separator "/" (forward-slash) instead of "\" (back-slash).
 
* RCBS supports the use of the UNC path for the targetDIR. For example, targetDir = //server_name/path.
 
* RCBS supports the use of the UNC path for the targetDIR. For example, targetDir = //server_name/path.
 
| <tt><Installation Directory>/target</tt>
 
| <tt><Installation Directory>/target</tt>
|}<br>
+
|}
==Launch the Recording Cloud Backup Service==
 
  
Once configured, before running the Recording Cloud Backup Service from the command line, set the following environment variables that correspond to your username/password and the given AWS keys:
+
Specify the following parameters only if the machine running RCBS cannot connect directly to Amazon S3 or the Interaction Recording Web Services address.
 +
{|
 +
! '''Parameter Name'''
 +
! '''Description'''
 +
! '''Example Value'''
 +
|-
 +
| awsProxyHost
 +
| Indicates the proxy host address to be used for Amazon Web Services. Specify only the host name or IP address.
 +
| <tt>10.0.1.31</tt>
 +
|-
 +
| awsProxyPort
 +
| Indicates the proxy port to be used for the corresponding '''awsProxyHost''' parameter to connect to Amazon Web Services.
 +
| <tt>8080</tt>
 +
|-
 +
| gwsProxyHost
 +
| Indicates the proxy host address to be used for Interaction Recording Web Services. The format is <tt><nowiki>http://proxyaddress</nowiki></tt>.
 +
|<tt> <nowiki>http://10.0.1.31</nowiki></tt>
 +
|-
 +
| gwsProxyPort
 +
| Indicates the proxy port to be used for the corresponding '''gwsProxyHost''' parameter to connect to Interaction Recording Web Services.
 +
| <tt>8080</tt>
 +
|}
 +
===Environment Variables===
 +
Once configured, before running the Recording Cloud Backup Service from the command line, the following environment variables must be set based on those provided earlier:
 
* GWS_USERNAME
 
* GWS_USERNAME
 
* GWS_PASSWORD
 
* GWS_PASSWORD
Line 67: Line 123:
 
* AWS_SECRET_ACCESS_KEY
 
* AWS_SECRET_ACCESS_KEY
  
When the environment variables are set, access the RCBS installation directory CD (<tt><installationfolder></tt>) and use the following command line to start RCBS:
+
==Launching the Recording Cloud Backup Service==
 +
 
 +
After the '''config.properties''' file has been modified and the environment variables are set, access the RCBS installation directory CD (<tt><installationfolder></tt>) and type the following command line to start RCBS:
  
 
<tt>java –jar rp_clouddownload.jar –config config.properties</tt>
 
<tt>java –jar rp_clouddownload.jar –config config.properties</tt>
Line 73: Line 131:
 
{{NoteFormat| Do not copy and paste the command from this document. Instead, manually type the command.}}
 
{{NoteFormat| Do not copy and paste the command from this document. Instead, manually type the command.}}
  
The tool exits when the backup is complete. Check your '''targetDir''' to ensure that the expected recordings have been downloaded.
+
Once RCBS is complete, the status of the downloaded files is displayed as shown in the following image.
 +
 
 +
[[File:gir_rcbsinstallation.png|800px]]
 +
 
 +
The tool exits when the backup is complete. Check your '''targetDir''' to ensure that the expected recordings have been downloaded.  
  
For periodic downloads, Genesys recommends creating either a Linux cronjob, or scheduling a Windows task.
+
The recording files are organized by date. In the below example, the target_download_folder/Tenant_21-86_GIR_Team/2015/09/ is followed by folders of variety of dates.
 +
 
 +
[[File:gir_rcbsinstallation2.png|800px]]
 +
 
 +
==Scheduling backup==
 +
The following sections explain how to scheduled backup.
  
 
===How to schedule a Windows task===
 
===How to schedule a Windows task===
  
For information on how to schedule or manage your tasks in Windows, see the  {{#Widget:ExtLink|link=https://technet.microsoft.com/en-ca/library/cc725745.aspx|displaytext=Windows}} document. Don't forget to set your environment variables.
+
For information on how to schedule or manage your tasks in Windows, see the  {{#Widget:ExtLink|link=https://technet.microsoft.com/en-ca/library/cc725745.aspx|displaytext=Windows}} document. Do not forget to set your environment variables.
  
 
===How to create a Linux cronjob===
 
===How to create a Linux cronjob===
The following example illustrates how to configure the  “crontab –e” for setting up the cronjob on Linux:
+
You can set up a recurring backup by using cronjob (crontab -e). The following example illustrates how to configure the  “crontab –e” for setting up the cronjob on Linux:
  
 
<pre>AWS_ACCESS_KEY_ID=<access_id>
 
<pre>AWS_ACCESS_KEY_ID=<access_id>
Line 92: Line 159:
 
Replace the above <access_id>, <access_key>, <gws_password>,  <gws_username>, <installation_folder> with the actual values, and the job would be executed 4 times daily at 4:30, 10:30, 16:30 and 22:30.
 
Replace the above <access_id>, <access_key>, <gws_password>,  <gws_username>, <installation_folder> with the actual values, and the job would be executed 4 times daily at 4:30, 10:30, 16:30 and 22:30.
  
===Configuring your environment===
+
{{NoteFormat|
 
+
* Genesys strongly recommends you to create backup copies several weeks prior to the expected deletion date.
Add all of the following to the environment variables, for the system from which you will be launching RCBS:
+
* Ensure your local machine has enough space for the scheduled backup.}}
* JAVA_HOME
 
* AWS_ACCESS_KEY_ID
 
* AWS_SECRET_ACCESS_KEY
 
* GWS_USERNAME
 
* GWS_PASSWORD
 
  
{{CloudStep_Stack
+
==Decrypting the downloaded files==
|title=Install on Windows
 
|text=
 
Locate your software in the installation directory, and click '''setup.exe''' to start the Genesys Installation Wizard.
 
  
Follow through the wizard until finished making sure that you make note of the installation directory.
+
You will use OpenSSL to decrypt your recording files. You can download the software and following the instructions {{#Widget:ExtLink|link=https://www.openssl.org/|displaytext=here}}.
 
 
Check the installation directory and verify that the '''config.properties''' files is available.
 
 
 
[[file:Gir-backupservicewindowsverify.png]]
 
 
 
|media1=Gir-backupservicewindows.png
 
}}
 
 
 
{{CloudStep_Stack
 
|title=Install on Linux
 
|text=
 
In the installation directory, at the prompt, type <tt>./install.sh</tt>.  
 
 
 
Let the script install your software.
 
 
 
|media1=Gir-linuxinstall.png
 
}}
 
  
==Decrypt the downloaded files==
+
When working with Windows, the OpenSSL binaries can be downloaded from: {{#Widget:ExtLink|link=https://wiki.openssl.org/index.php/Binaries|displaytext=OpenSSL Binaries Distribution}} or {{#Widget:ExtLink|link=http://gnuwin32.sourceforge.net/packages/openssl.htm|displaytext=Gnuwin32 OpenSSL}}.
  
You will use OpenSSL to decrypt your recording files. You can download the software and following the instructions {{#Widget:ExtLink|link=https://www.openssl.org/|displaytext=here}}.
+
To decrypt the downloaded files that are in encrypted format, use the following OpenSSL commands:
  
To decrypt the downloaded files that are in encrypted format, use the following OpenSSL command:
+
'''Windows:'''
 +
<pre>openssl smime -decrypt –inform DER -in <encrypted.file.der> -inkey <private_key_file> –out <outputfile></pre>
  
 +
'''Linux:'''
 
<pre>openssl cms –decrypt –inform DER -in <encrypted.file.bin> -binary -inkey <private_key_file> –out <outputfile></pre>
 
<pre>openssl cms –decrypt –inform DER -in <encrypted.file.bin> -binary -inkey <private_key_file> –out <outputfile></pre>
  
Line 138: Line 182:
 
<tt><outputfile></tt> is the file that would be written after decryption
 
<tt><outputfile></tt> is the file that would be written after decryption
  
{{NoteFormat|
+
Each recording folder contains the encrypted recording files (in mp3 format) and the respective recording metadata files (in json format).
* When working with Windows, the OpenSSL binaries can be downloaded from: {{#Widget:ExtLink|link=https://wiki.openssl.org/index.php/Binaries|displaytext=OpenSSL Binaries Distribution}} or {{#Widget:ExtLink|link=http://gnuwin32.sourceforge.net/packages/openssl.htm|displaytext=Gnuwin32 OpenSSL}}
+
 
* Windows binaries do not have <tt>cms</tt> enabled by default. For that reason, when working in a Windows environment use <tt>smime</tt> instead of <tt>cms</tt> in the command. For example, <tt>openssl smime -decrypt –inform DER -in <encrypted.file.der> -inkey <private_key_file> –out <outputfile></tt>.}}
+
==Storage==
 +
Audio files are stored in mp3 format, 32 kbps and this setting cannot be changed. Ensure that the required space is available to download the desired number of recordings.  Genesys recommends you to decrypt the recording files to a different destination than the encrypted files. That is, <tt><outputfile></tt> is different than your previously used '''targetDir''', so that the original encrypted source file is not modified or overwritten by the decrypted file.
  
 
==Advanced configuration==
 
==Advanced configuration==
Line 156: Line 201:
 
|-
 
|-
 
| encryptionFormat
 
| encryptionFormat
| The cipher to use if the encryption is performed by the download tool. The supported values are <tt>AES-128</tt> or <tt>AES-256</tt>. The default value is <tt>AES-128</tt>. '''Note:''' If <tt>AES-256</tt> is used, the JCE unlimited Strength Jurisdiction Policy File  must be installed. Configure this parameter if the '''certificate''' parameter is set.
+
| The cipher to use if the encryption is performed by the download tool. The supported values are <tt>AES-128</tt> or <tt>AES-256</tt>. The default value is <tt>AES-128</tt>.  
 +
 
 +
'''Note:''' If <tt>AES-256</tt> is used, the JCE unlimited Strength Jurisdiction Policy File  must be installed. Configure this parameter if the '''certificate''' parameter is set.
 
| <tt>AES-128</tt>
 
| <tt>AES-128</tt>
 
|-
 
|-
Line 179: Line 226:
 
If the value starts with P, the ISO 8601 format is used&mdash;for example, <tt>P[n]Y[n]M[n]DT[n]H[n]M[n]S</tt> can be used to specify the number of days/hours/minutes/etc.  If you specify a minimum age of <tt>PT30M</tt>, all recordings that are older than a half hour ago are included in processing.  If you specify a minimum age of <tt>P30D</tt>, all recordings older than 30 days are included in processing. The '''minAge''' value must be less than the '''maxAge''' value.  
 
If the value starts with P, the ISO 8601 format is used&mdash;for example, <tt>P[n]Y[n]M[n]DT[n]H[n]M[n]S</tt> can be used to specify the number of days/hours/minutes/etc.  If you specify a minimum age of <tt>PT30M</tt>, all recordings that are older than a half hour ago are included in processing.  If you specify a minimum age of <tt>P30D</tt>, all recordings older than 30 days are included in processing. The '''minAge''' value must be less than the '''maxAge''' value.  
  
'''Note:'''  
+
'''Note:''' This parameter is not required, and if you set it to <tt>0</tt>, you will always get the latest up-to-date recordings. Use this parameter with caution to avoid missing recording files.
<ul><li>This parameter is not required, and if you set it to <tt>0</tt>, you will always get the latest up-to-date recordings. Use this parameter with caution to avoid missing recording files.</li>
 
<li> For a one-time download of past recordings, you need to express the combination of '''minAge''' and '''maxAge''' parameters as a date range relative to now. For example,<br>
 
'''minAge''' = <tt>P7DT1H</tt><br>
 
'''maxAge''' = <tt>P7DT3H</tt><br>
 
As a result, you will receive recordings from within a range of 7 days from 1 hour ago up to 7 days 3 hours ago.
 
The format of this string is an ISO8601 time duration string that can be set to the exact minute. To do a one-time download, we recommend that you create a copy of the '''config.properties''' file to make the changes to '''minAge''' and '''maxAge'''. When you execute RCBS, the copy of the configuration (for example, '''new_config.properties'''), will use the following command: <tt>java -jar rp_clouddownload.jar -config new_config.properties</tt></li></ul>
 
 
| <tt>0</tt>
 
| <tt>0</tt>
 
|-
 
|-
 
| minDate
 
| minDate
 
| The absolute date, in the YYYY-MM-DD format (in GMT), to retrieve the recordings from. When specified, this value would be used as the '''minAge'''. Alternatively, the epoch time value can be specified instead of the YYYY-MM-DD format. This parameter is optional.
 
| The absolute date, in the YYYY-MM-DD format (in GMT), to retrieve the recordings from. When specified, this value would be used as the '''minAge'''. Alternatively, the epoch time value can be specified instead of the YYYY-MM-DD format. This parameter is optional.
 +
 +
 +
'''Note:'''For a one-time download of past recordings, you need to express the combination of '''minAge''' and '''maxAge''' parameters as a date range relative to now. For example,<br>
 +
'''minAge''' = <tt>P7DT1H</tt><br>
 +
'''maxAge''' = <tt>P7DT3H</tt><br>
 +
As a result, you will receive recordings from within a range of 7 days from 1 hour ago up to 7 days 3 hours ago.
 +
The format of this string is an ISO8601 time duration string that can be set to the exact minute. To do a one-time download, we recommend that you create a copy of the '''config.properties''' file to make the changes to '''minAge''' and '''maxAge'''. When you execute RCBS, the copy of the configuration (for example, '''new_config.properties'''), will use the following command: <tt>java -jar rp_clouddownload.jar -config new_config.properties</tt>.
 
| <tt>2015-07-31</tt> Or <tt>1438300800000</tt>
 
| <tt>2015-07-31</tt> Or <tt>1438300800000</tt>
 
|-
 
|-
Line 254: Line 302:
 
| Id
 
| Id
 
| The CallUUID for the recording interaction.
 
| The CallUUID for the recording interaction.
 +
|-
 +
| callRecordingId
 +
| The call recording identifier. This attribute is in screen recording metadata only.
 
|-
 
|-
 
| callerPhoneNumber
 
| callerPhoneNumber
| The callers phone number.
+
| The caller's phone number.
 
|-
 
|-
 
| dialedPhoneNumber
 
| dialedPhoneNumber
Line 266: Line 317:
 
| stopTime
 
| stopTime
 
| The end time of the call.
 
| The end time of the call.
 +
|-
 +
| screenRecording
 +
| Indicates whether or not the call recording has one or more associated screen recordings. This attribute is in call recording metadata only.
 
|-
 
|-
 
| region
 
| region
Line 414: Line 468:
 
   "startTime" : "2015-09-01T16:42:59.000+0000",
 
   "startTime" : "2015-09-01T16:42:59.000+0000",
 
   "stopTime" : "2015-09-01T16:43:36.000+0000",  
 
   "stopTime" : "2015-09-01T16:43:36.000+0000",  
  "callType" : "Inbound",
 
  "region" : "region1",
 
 
   "mediaFiles" : [ {     
 
   "mediaFiles" : [ {     
 
     "startTime" : "2015-09-01T16:42:59.000+0000",
 
     "startTime" : "2015-09-01T16:42:59.000+0000",
Line 577: Line 629:
 
       "phoneNumber" : "8522001"
 
       "phoneNumber" : "8522001"
 
     }
 
     }
   } ]
+
   } ],
 +
  "callType" : "Inbound",
 +
  "screenRecording" : false,
 +
  "region" : "region1"
 
}
 
}
 
</pre>
 
</pre>

Revision as of 19:14, December 13, 2017

Recording Cloud Backup Service

The Recording Cloud Backup Service (RCBS) allows you to make a backup copy of your Genesys Interaction Recording voice and/or screen recording files prior to their automated deletion as per the Cloud retention policy. Once installed, you can securely download the encrypted voice and screen recording files from Amazon S3 and their respective metadata files from PureEngage and store them on your local machines. The recording file can then be decrypted and used as desired, for example, for compliance.

Important
  • Unless backed up, all recordings will be deleted when maximum retention date is reached.
  • RCBS will only work with encrypted recordings. Therefore, ensure encryption is enabled.
  • RCBS does not support MPLS.

Prerequisites

Before you can install and use the Recording Cloud Backup Service on your desktop, verify that you have the following information. Your IT department or your Genesys professional can help you get this information.

  • Windows Server 2008/2012 64-bit or Red Hat Enterprise Linux AS 6 Operating System with admin privileges.
  • 4 GB RAM, minimum 20 GB hard drive (the amount of space required depends on the number of recordings to be downloaded).
  • The Recording Cloud Backup Service software (minimum version 8.5.2xx.xx).
  • The target directory or shared folder in your environment to download the recording files to—for example, C:/target_directory (this is for the targetDir parameter).
  • The private key you used to initially configure the tenant for recording file encryption, so that those recording files can be decrypted (this is for decrypting the downloaded files).
  • The name of your Platform Administration tenant administrator account – (this is for the GWS_USERNAME environment variable). Usernames should be in the format username@customer_tenant.com.
  • The password for your Platform Administration tenant administrator account – (this is for the GWS_PASSWORD environment variable).
  • The path to your Java installation directory (for example, /usr/java/jre1.7.0_79) (this is for the JAVA_HOME environment variable). Java 7 is the current supported version.

Security

The recording files are encrypted throughout the media lifecycle. After the recording files are created, they are encrypted and stored in Amazon S3. RCBS securely transfers the encrypted recordings from S3 to your local machine by using the HTTPS internet protocol. The recordings can be decrypted only on your local machine.

Getting Started

The following sections explain how to request RCBS functionality and install the software on Windows and Linux environments.

Requesting RCBS functionality

To request RCBS functionality, create a Salesforce case to request delivery of the software. Customer Care will provide an FTP download link to the software, and they will be in touch to request:

  • The public IP ranges for the network where the RCBS client software will be installed and from where access to recordings will be established.
  • A public PGP key so the Genesys Operations team can securely transfer the S3 storage access credentials to you, which are needed by the RCBS to access the recording storage location.

Once the software has been delivered, Genesys will provide you with the following information:

  • The Interaction Recording Web Services URL to access the recording metadata—for example, https://example.com/api/v2 (this is for the gwsUriPrefix parameter).
  • The access ID for the S3 storage, used to gain access to the recordings – (this is for the AWS_ACCESS_KEY_ID environment variable).
  • The secret access key for the S3 storage, used to gain access to the recordings – (this is for the AWS_SECRET_ACCESS_KEY environment variable).

Installing on Windows

1

Locate your software in the installation directory, and click setup.exe to start the Genesys Installation Wizard.

Follow through the wizard until finished making sure that you make note of the installation directory.

Check the installation directory and verify that the config.properties files is available.

Gir-backupservicewindowsverify.png

Installing on Linux

1

In the installation directory, at the prompt, type ./install.sh.

Let the script install your software.

Check the installation directory and verify that the config.properties files is available.

Configuration and Setup

The following sections explain the configuration properties and environment variables to set for proper functioning of RCBS.

Configuration Properties

The following properties must be modified to successfully retrieve recording files from Amazon S3. Locate your config.properties file, usually found in the Recording Cloud Backup Service installation directory, edit the file with a text editor, and set the following parameters:

Parameter Name Description Example Value
gwsUriPrefix The URL prefix of Interaction Recording Web Services where the metadata for the recording files are retrieved from. This is a mandatory parameter and will be provided by Genesys. https://example.com/api/v2
maxAge All recordings newer than the specified maxAge value, in days, are downloaded. You can specify any integer greater than or equal to 0 (0 is any age). Defaults is 2 which means that you retrieve all recordings from the last 2 days. If recordings have already been downloaded, they will not be downloaded again.

Note:

  • If recordings are moved from their downloaded folder (targetDir), they will be downloaded again when RCBS is run. To ensure recordings are not downloaded more than once, only move recordings from this folder once maxAge days have passed since RCBS was last run.
  • RCBS allows a one-time download of past recordings given a specific time range. Refer to the minDate parameter for details on how to use the one-time download.
2
targetDir The directory where the recordings are downloaded to. This folder can be anywhere on the system as long as the account running the software has permission to write to the folder.

Note:

  • On both Windows and Linux, you must use the directory separator "/" (forward-slash) instead of "\" (back-slash).
  • RCBS supports the use of the UNC path for the targetDIR. For example, targetDir = //server_name/path.
<Installation Directory>/target

Specify the following parameters only if the machine running RCBS cannot connect directly to Amazon S3 or the Interaction Recording Web Services address.

Parameter Name Description Example Value
awsProxyHost Indicates the proxy host address to be used for Amazon Web Services. Specify only the host name or IP address. 10.0.1.31
awsProxyPort Indicates the proxy port to be used for the corresponding awsProxyHost parameter to connect to Amazon Web Services. 8080
gwsProxyHost Indicates the proxy host address to be used for Interaction Recording Web Services. The format is http://proxyaddress. http://10.0.1.31
gwsProxyPort Indicates the proxy port to be used for the corresponding gwsProxyHost parameter to connect to Interaction Recording Web Services. 8080

Environment Variables

Once configured, before running the Recording Cloud Backup Service from the command line, the following environment variables must be set based on those provided earlier:

  • GWS_USERNAME
  • GWS_PASSWORD
  • AWS_ACCESS_KEY_ID
  • AWS_SECRET_ACCESS_KEY

Launching the Recording Cloud Backup Service

After the config.properties file has been modified and the environment variables are set, access the RCBS installation directory CD (<installationfolder>) and type the following command line to start RCBS:

java –jar rp_clouddownload.jar –config config.properties

Important
Do not copy and paste the command from this document. Instead, manually type the command.

Once RCBS is complete, the status of the downloaded files is displayed as shown in the following image.

Gir rcbsinstallation.png

The tool exits when the backup is complete. Check your targetDir to ensure that the expected recordings have been downloaded.

The recording files are organized by date. In the below example, the target_download_folder/Tenant_21-86_GIR_Team/2015/09/ is followed by folders of variety of dates.

Gir rcbsinstallation2.png

Scheduling backup

The following sections explain how to scheduled backup.

How to schedule a Windows task

For information on how to schedule or manage your tasks in Windows, see the Windows document. Do not forget to set your environment variables.

How to create a Linux cronjob

You can set up a recurring backup by using cronjob (crontab -e). The following example illustrates how to configure the “crontab –e” for setting up the cronjob on Linux:

AWS_ACCESS_KEY_ID=<access_id>
AWS_SECRET_ACCESS_KEY=<access_key>
GWS_PASSWORD=<gws_password>
GWS_USERNAME=<gws_username>
30 4,10,16,22 * * * (cd <installation_folder>; java -jar rp_clouddownload.jar -config config.properties)

Replace the above <access_id>, <access_key>, <gws_password>, <gws_username>, <installation_folder> with the actual values, and the job would be executed 4 times daily at 4:30, 10:30, 16:30 and 22:30.

Important
  • Genesys strongly recommends you to create backup copies several weeks prior to the expected deletion date.
  • Ensure your local machine has enough space for the scheduled backup.

Decrypting the downloaded files

You will use OpenSSL to decrypt your recording files. You can download the software and following the instructions here.

When working with Windows, the OpenSSL binaries can be downloaded from: OpenSSL Binaries Distribution or Gnuwin32 OpenSSL.

To decrypt the downloaded files that are in encrypted format, use the following OpenSSL commands:

Windows:

openssl smime -decrypt –inform DER -in <encrypted.file.der> -inkey <private_key_file> –out <outputfile>

Linux:

openssl cms –decrypt –inform DER -in <encrypted.file.bin> -binary -inkey <private_key_file> –out <outputfile>

where:
<encrypted.file.bin> is the file to be decrypted
<private_key_file> is the private key file
<outputfile> is the file that would be written after decryption

Each recording folder contains the encrypted recording files (in mp3 format) and the respective recording metadata files (in json format).

Storage

Audio files are stored in mp3 format, 32 kbps and this setting cannot be changed. Ensure that the required space is available to download the desired number of recordings. Genesys recommends you to decrypt the recording files to a different destination than the encrypted files. That is, <outputfile> is different than your previously used targetDir, so that the original encrypted source file is not modified or overwritten by the decrypted file.

Advanced configuration

If you are an advanced user, you can change the behavior of the Recording Cloud Backup Service by changing the values of the parameters in the config.properties file.

[+] Show advanced parameters.

Recording metadata

Metadata is organized by records and can be used for finding specific calls from a larger downloaded group of recordings (for example, by searching for a particular string of text, perhaps the ‘callerPhoneNumber’). A record represents an single call interaction which may contain multiple calls and recording segments. A metadata record is uniquely identified (per switch) by a CallUUID (GUID).

The metadata record is stored in JSON format and contains three main sections within the top level object.

  • The interaction level attributes (the top level object's attributes)
  • The mediaFiles list—A list of media files connected to the call interaction
  • The eventHistory list—A list of call events including attached data events and agent left and join events.

[+] Show the properties and examples

Comments or questions about this documentation? Contact us for support!