Differences

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

Link to this comparison view

Both sides previous revision Previous revision
vendors:cisco:uc:cvp:ftps [2025/06/20 12:51] – [JAR Files] gerardorourkevendors:cisco:uc:cvp:ftps [2025/06/20 17:39] (current) – [Install & Configuration of FTPS Server on IIS] gerardorourke
Line 4: Line 4:
  
 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 the similar solution, can run on the CVP Servers IIS Servers easily but uses TLS to encrypt the FTP traffic.+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. 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. 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). 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 & Configuration of FTPS Server on IIS ====
Line 16: Line 19:
   * Configure FTPS    * Configure FTPS 
       * Right Click on Default Web Site and Add FTP Site Publishing       * Right Click on Default Web Site and Add FTP Site Publishing
-      * Select Radio button "Require SSL and Select Certificate" - not you might have to create a Self Signed Cert if one does not exist (or has expired) - Cisco 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 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).       * 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       * 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".       * 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 ==== ==== JAR Files ====
-  * {{ :vendors:cisco:uc:cvp:commons-net-3.11.1.jar.zip |}} 
-      * 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. 
   * {{ :vendors:cisco:uc:cvp:purplepi-ftps-v1.zip |}}   * {{ :vendors:cisco:uc:cvp:purplepi-ftps-v1.zip |}}
       * the custom jar file which contains the FTPS_Client       * 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|}}
  
-<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>+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.
  
-You can upload globally - so you do NOT need to include these two files for each application OR you can upload at the application as detailed below. 
-==== At a Application Level ==== 
-  * Make sure that the Call Studio Script which uses this FTPS element has the jar file in its deploy\application\lib folder 
-  * Also make sure that the commons-net jar file is in the deploy\utils\lib folder as per below: 
-{{:vendors:cisco:uc:cvp:ftps3.png?200|}} 
  
 +<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>
  
  
Line 45: Line 44:
   * How to configure the FTPS_Client Element?   * How to configure the FTPS_Client Element?
     * {{:vendors:cisco:uc:cvp:ftps2.png?400|}}     * {{: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.
 +
 +==== 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|}}
 +
 +
  
 ===== Source ===== ===== Source =====
  • vendors/cisco/uc/cvp/ftps.1750420295.txt.gz
  • Last modified: 2025/06/20 12:51
  • by gerardorourke