Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
vendors:cisco:uc:cvp:ftps [2025/06/20 11:06] – created gerardorourkevendors:cisco:uc:cvp:ftps [2025/06/20 17:39] (current) – [Install & Configuration of FTPS Server on IIS] gerardorourke
Line 1: Line 1:
-====== CVP Call Studio FTPS Element ======+====== CVP Call Studio - FTPS_Client Element ====== 
 + 
 +This "FTPS_Client" element is based off of the stock FTP_Client element.
  
-This is very similar to the stock FTP element. 
 FTP often fails security scans - even if its locked down, uses an anonymous user and is only use for uploading Audio files. FTP often fails security scans - even if its locked down, uses an anonymous user and is only use for uploading Audio files.
 +To get around this issue - FTPS is a similar solution, which can run on the CVP Servers IIS Servers without any 3rd party applications and uses TLS to encrypt the FTP traffic, i.e. FTPS is FTP over TLS.
 +Note - FTPS is NOT the same protocol as SFTP.
 +
 +Configuration of this custom Call Studio FTPS element is the very similar to the stock FTP element, but does lack some of the functionality such as allowing different usernames, passwords and port at a per host level.
 +This FTPS element allows you to set multiple servers, a username/password the same one for all hosts and it will always TCP Port 990 to connect to the FTPS Server using implicit FTPS.
 +It can also be configured to delete the original file if it has been copied successfully to all servers (just like the FTP_Client element can do).
 +
 +i.e. in most instances - it can be a simple drop-in replacement of the standard FTP_client element with this custom FTPS_Client element.
 +
 +==== Install & Configuration of FTPS Server on IIS ====
 +
 +  * Install FTP Server Role 
 +      * Server Manager -> Add Roles -> Server Roles -> Web Server -> FTP Server (check)
 +  * Configure FTPS 
 +      * Right Click on Default Web Site and Add FTP Site Publishing
 +      * Select Radio button "Require SSL and Select Certificate" - note you might have to create a Self Signed Cert if one does not exist (or has expired) - Cisco CVP create one - but it only lasts 12 months. Or you can get a Internal CA signed cert. Note if using a Self signed cert - make sure it is not expired.
 +      * Select Authentication "Anonymous" and Allow Access to : "Anonymous users" and Check Permissions "Read" and "Write" (or set up as you require) - if using Anonymous also make sure the FTP server is only accessible from CVP Call Server A and CVP Call Server B (in FTP IP Address and Domain Restrictions).
 +      * After the above is configured - go into "Edit Bindings" in Default Web Site and change the FTP port from 21 to 990
 +      * To allow FTP have the correct rights to upload files to the IIS Web Server - add the user "IUSR" to the folder C:\inetpub\wwwroot and configure it for "Full Control".
 +==== JAR Files ====
 +  * {{ :vendors:cisco:uc:cvp:purplepi-ftps-v1.zip |}}
 +      * the custom jar file which contains the FTPS_Client
 +
 +This custom FTPS jar file utilities Java Class from **org.apache.commons.net.ftp.FTPSClient** and hence requires the commons-net.jar to be loaded - however this JAR already included by default with Cisco CVP and so does NOT need to be added to the VXML server, Here is where it is located by default:
 +{{:vendors:cisco:uc:cvp:ftps5.png?400|}}
 +
 +For info, the Apache Commons Net library contains a collection of network utilities and protocol implementations. Supported protocols include Echo, Finger, FTP, NNTP, NTP, POP3(S), SMTP(S), Telnet, and Whois.
 +
 +
 +<alert type="info">As well as the FTPS jar file been uploaded to Call Studio Machine, it also needs to be uploaded to the VXML Server</alert>
 +
 +
 +==== Configuration of Call Studio =====
 +  * purplepi-ftps-v1.jar file must be uploaded to the C:\Cisco\CallStudio\eclipse\plugins\com.audiumcorp.studio.library.common\lib\ folder so that the Call Studio adds this element to the GUI.
 +    * {{:vendors:cisco:uc:cvp:ftps4.png?400|}}
 +    * Restart Call Studio
 +  * Where to find the new custom element?
 +    * {{:vendors:cisco:uc:cvp:ftps1.png?200|}}
 +  * How to configure the FTPS_Client Element?
 +    * {{:vendors:cisco:uc:cvp:ftps2.png?400|}}
 +
 +===== Where to place the JAR file =====
 +
 +You can upload globally for all CVP VXML applications can use this element, i.e. common library. This means you do NOT need to include these this JAR file for each application that requires it OR you can upload at the Call Studio application level as detailed below. Do one OR the other!
 +
 +==== Upload to Common Lib ====
 +
 +Upload to C:\Cisco\CVP\VXMLServer\common\lib\
 +
 +{{:vendors:cisco:uc:cvp:ftps7.png?400|}}
 +
 +After copying the JAR to this location - you do not need to restart the CVP VXML Server.
 +Simply run the **updateCommonClasses.bat**
 +
 +=== Note on running updateCommonClasses.bat ===
 +Below is an extract from the CVP VXML and Call Studio End User Guide.
 +Reference: https://www.cisco.com/c/en/us/td/docs/voice_ip_comm/cust_contact/contact_center/customer_voice_portal/12-6-2/user/guide/ccvp_b_1262-user-guide-for-cisco-unified-cvp-vxml-server-and-call-studio.pdf
 +
 +=== extract from CVP document ===
 +When performing an application update, all the data and Java classes related to an application will be reloaded.
 +Java classes placed in the common folder of VXML Server are not included in the application update. VXML
 +Server provides a separate administrative function to update the common folder.
 +There are a few items to note about this function:
 +
 +  * The update affects all applications that use classes in the common folder, so running this function could affect applications that have not changed. Therefore, take precaution when running this function.
 +  * The update affects all classes in the common folder, whether they were changed or not. This is usually not a issue unless those classes contain information in them that reloading would reset (such as static variables).
 +  * Due to the fact that this function reloads classes that affect all applications, and those classes may themselves prompt the loading of configuration files from each application that uses those classes, the function may take some time to complete depending on the number of classes in the common folder and the number and complexity of the deployed applications.
 +  * Changes are immediate, and are not done. Because this potentially affects all applications, the administrator must be aware of this.
  
-To get around this issue - FTPS is the similar solution - which can run on the IIS Servers easily but uses TLS.+==== OR at a Application Level ==== 
 +  * If you prefer NOT to have this JAR file in the common folder, include it in the application lib folder of any application that uses this FTPS_Client element. 
 +  *Example: {{:vendors:cisco:uc:cvp:ftps6.png?200|}}
  
-Configuration of the Call Studio is the very similar to the stock FTP element (but does lack some of the functionality (i.e. allowing different ports on different servers and different usernames / passwords). 
  
-This FTPS element It allows you to set multiple servers, all will use TCP Port 990 to connect to the FTPS Server using implicit FTPS. 
  
-<code java>+===== Source ===== 
 +<file java FTPS.class>
 /*  /* 
  * Author: Gerry O'Rourke, similar to Cisco's standard FTP element to uses FTPS  * Author: Gerry O'Rourke, similar to Cisco's standard FTP element to uses FTPS
Line 293: Line 363:
  
 } }
-</code>+</file>
  
  • vendors/cisco/uc/cvp/ftps.1750413986.txt.gz
  • Last modified: 2025/06/20 11:06
  • by gerardorourke