Setting up IBM Sterling Call Center

Set up the IBM® Sterling Call Center application on the on-premises platform.

Before you begin

Ensure that you install IBM Sterling Order Management System Software version 10.0.2309.1 or later, which includes Sterling Call Center availability on premises.

About this task

IBM Sterling Call Center is a user interface (UI) application that requires a web server to serve the UI content such as html, JavaScript, css, or images. The IBM Sterling Call Center UI makes mashup calls to the Sterling Order Management System Software application server. The recommended web server is nginx and the IBM Sterling Call Center installation sets up the necessary location directives in the nginx configuration. The nginx server is only used to serve UI assets, and many of those assets get cached by the client browser. For high availability, it is recommended that you install multiple nginx servers, but it is not critical for performance. IBM Sterling Call Center is not dependent on any minimum version of nginx.

To setup the mashup server, see Installing the mashup server.

Procedure

  1. Install nginx as your web server. For more information, see https://nginx.org/en/docs/install.html.
  2. Go to the callcenter directory:
    
    cd <runtime>/repository/callcenter
    
  3. Extract the callcenter archive by running the following command:
    
    tar xf callcenter.tar
    
  4. Grant the Sterling Call Center setup script the execute (x) permission by running the following command:
    
    chmod +x call-center-setup.sh
    
  5. Make a copy of the cc-setup.properties.sample file as cc-setup.properties by running the following command:
    
    cp cc-setup.properties.sample cc-setup.properties
    
  6. Update the cc-setup.properties file.
    1. Uncomment the HTML_DIRECTORY and CONFIG_DIRECTORY properties that are applicable to your operating system. If necessary, update them to point to your web server's HTML and configuration directories.
    2. Update the MASHUP_SERVER to point to the host and port where the mashup server is running.

      If the mashup server requires SSL, set MASHUP_SERVER_PROTOCOL to https.

      The MASHUP_SERVER follows the hostname|ip:port pattern.

      If the MASHUP_SERVER_PROTOCOL is set to https, modify the CONFIG_DIRECTORY/call-center/locations.conf to remove the comment for the following directives under the /icc location.
      proxy_ssl_certificate     CONFIG_DIRECTORY/call-center/certs/icc.pem;
      #   proxy_ssl_certificate_key CONFIG_DIRECTORY/call-center/certs/icc.key;
      #   proxy_ssl_trusted_certificate CONFIG_DIRECTORY/call-center/certs/icc_ca.pem;
      Note: Place the mashup server certificates in the CONFIG_DIRECTORY/call-center/certs directory before you delete the comment for these directives.
  7. Run the Sterling Call Center setup script:
    
    ./call-center-setup.sh
    
    By default, the script installs the Sterling Call Center UI and the Storybook for UI development.
    • To install only the Sterling Call Center UI, run:
      ./call-center-setup.sh callcenter
    • To install only the Storybook for UI development, run:
      ./call-center-setup.sh storybook
  8. Follow the steps that are provided after you run ./call-center-setup.sh to configure your server.

    For the first time setup, update the nginx configuration. If you are upgrading the application, you can skip this step.

    To update the nginx configuration, complete the following tasks.

    • Include the mashup-server.conf and dev-server/default.conf in the nginx configuration file.
    • If you are installing only the Sterling Call Center application, include all the call-center configuration files.

      Include CONFIG_DIRECTORY/call-center/*.conf

    • If you are installing Sterling Call Center along with other applications, include only the locations.conf to serve the call-center UI in a server that is also servicing other applications. Review the other call-center configurations and include the relevant or missing directives:
      • Include CONFIG_DIRECTORY/call-center/locations.conf;
      • Include CONFIG_DIRECTORY/orderhub/orderhub.conf;
    Examples of your final nginx configuration with SSL and non-SSL servers.
    # The mashup-server.conf should be included outside of the server blocks
    include CONFIG_DIRECTORY/call-center/upstream/mashup-server.conf;
    
    # (Optional): Include this file to setup the call-center development server
    include CONFIG_DIRECTORY/call-center/dev-server/default.conf;
    
    # Non-SSL server configuration
    server {
        listen       80;
        server_name  hostname; # Set the hostname to match the domain
    
        access_log  /var/log/nginx/host.access.log  main;
    
        location / {
           root   /usr/share/nginx/html;
           index  index.html index.htm;
        }
    
        error_page  404              /404.html;
    
        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   /usr/share/nginx/html;
        }
        
        # Standalone server serving call-center application only
        # include all the call-center configuration files if this is a standalone nginx server
        # that's only serving the call-center application
        include CONFIG_DIRECTORY/call-center/*.conf;
    
        # Shared server also serving other apps along with call-center
        # include only the locations.conf to serve the call-center UI in a server that's also
        # serving other applications. Review the other call-center configurations 
        # and include directives that are relevant or missing
        #include CONFIG_DIRECTORY/call-center/locations.conf;
        #include CONFIG_DIRECTORY/orderhub/orderhub.conf;
    }
    
    # SSL server configuration
    server {
        listen              443 ssl;
        server_name         hostname; # Set the hostname to match the domain
        ssl_certificate     CONFIG_DIRECTORY/certs/certificate.pem; # setup the certificate
        ssl_certificate_key CONFIG_DIRECTORY/certs/privateKey.key;  # setup the private key
    
        ssl_session_cache    shared:SSL:1m;
        ssl_session_timeout  5m;
    
        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
        ssl_prefer_server_ciphers  on;
        server_tokens off;
    
        # Standalone server serving call-center application only
        # include all the call-center configuration files if this is a standalone nginx server
        # that's only serving the call-center application
        include CONFIG_DIRECTORY/call-center/*.conf;
    
        # Shared server also serving other apps along with call-center
        # include only the locations.conf to serve the call-center UI in a server that's also
        # serving other applications. Review the other call-center configurations 
        # and include directives that are relevant or missing
        #include CONFIG_DIRECTORY/call-center/locations.conf;
        #include CONFIG_DIRECTORY/orderhub/orderhub.conf;
    }
  9. If you are installing Sterling Call Center for the first time, you can skip this step. If you are upgrading the application, copy the contents of <runtime>/repository/callcenter/src/call-center and <runtime>/repository/callcenter/storybook to the HTML_DIRECTORY.
    For example,
    • cp -R <runtime>/repository/callcenter/src/call-center /opt/app-root/src/
    • cp -R <runtime>/repository/callcenter/storybook /opt/app-root/src/
  10. Start or restart your web server.
    You can then access Sterling Call Center from the applicable URL:
    • http://<hostname>:<port>/call-center
    • https://<hostname>:<port>/call-center
    Where hostname is the hostname where the web server is running, and port is the port number that is configured in the web server configuration.
    Note: If you need to change the OMS environment hostname or port, then update the cc-setup.properties file and run call-center-setup.sh again.