8 Upgrading WebRTC Session Controller Signaling Engine from an Earlier Version

This chapter provides instructions for upgrading to Oracle Communications WebRTC Session Controller Signaling Engine (Signaling Engine) from an earlier version.

About Upgrading Signaling Engine

Because of architectural changes in the underlying WebLogic platform, there is no automated upgrade path from earlier versions of Signaling Engine to version 7.2. Instead, you must install the latest version of Signaling Engine on each of your servers and manually synchronize the following configurations from old to new:

  • SSL Configuration: If you are using SSL, configure SSL on every node machine using the WebLogic configuration console.

  • Security Providers: Configure your security providers using the WebLogic configuration console. For more information see "Configuring WebRTC Session Controller Authentication" in the Oracle Communications WebRTC Session Controller Administrator's Guide.

  • Signaling Engine Applications: Using the Signaling Engine console, configure your applications in the Applications tab to match those from your old installation. For more information see the Oracle Communications WebRTC Extension Developer's Guide.

  • Signaling Engine Packages: Using the Signaling Engine console, configure your packages in the Packages tab to match those from your old installation. For more information see the Oracle Communications WebRTC Extension Developer's Guide.

  • Groovy Script Library: If you have customized your Signaling Engine Groovy Script Library, migrate your changes to the Script Library tab in the Signaling Engine console.

  • Proxy Registrar Addresses: Using the Signaling Engine console, set the proxy registrar address in the Script Library tab. For more information see the Oracle Communications WebRTC Extension Developer's Guide.

  • Media Engine Nodes: Using the Signaling Engine console, configure information for your Media Engine nodes. For more information see the Oracle Communications WebRTC Extension Developer's Guide.

Changes in the Latest Version of Signaling Engine

This section lists the major changes affecting upgrade deployments in the latest version of Signaling Engine.

  • By default, the Signaling Engine (and the Media Engine) communication is based on HTTPS protocol.

  • The SIP container is JSR 359 compliant; and the Java Development Kit version is 1.8.

  • The register package now supports hibernate and iceEnquiry for sessions.

  • Signaling engine configuration is now grouped by integration, runtime, resource limit and log level parameters.

  • WebRTC Session Controller now supports multitenancy profile configuration; and Signaling engine Groovy script library supports more groovy properties.

    For more information on multitenancy, see "About Multitenancy" in WebRTC Session Controller System Administrator's Guide.

High Availability

For information on high availability environments, see "Failure Prevention and Automatic Recovery Features" in the Oracle Communications WebRTC Session Controller System Administrator's Guide.

An Example Replicated Domain Upgrade

The following example shows the theoretical steps involved in upgrading a replicated domain. For this example, the deployment model consists of three machines:

  • An Admin server, with the IP address 10.1.1.1.

  • A clustered machine with the IP address 10.1.1.2, hosting an engine, engine1.

  • A second clustered machine with the IP address 10.1.1.3, hosting an engine, engine2.

To upgrade the replicated domain:

  1. Install Signaling Engine on each machine in your current 7.1 topology. (This example case uses three machines.)

    Follow the instructions in "Installing WebRTC Session Controller Signaling Engine".

  2. You can set up a new domain in your 7.2 installation in one of two ways:

  3. Configure the 7.2 WebRTC Session Controller. See "Configuring WebRTC Session Controller Administration Console".

  4. Verify the updated configurations. See "Verifying the Updated Configurations".

  5. Test the managed servers. See "Testing the Updated Configuration".

Creating a New WebRTC Session Controller 7.2 Domain

Create Oracle Communications WebRTC Session Controller Replicated Domain domains on each machine using the same configuration parameters from your old Signaling Engine installation.

See "Creating and Configuring a WebRTC Session Controller Signaling Engine Domain".

Note:

You must select the Administration Server and Managed Servers, Clusters and Coherence advanced options when configuring the replicated domain otherwise Signaling Engine will fail to start.

Note:

Replicas are no longer required. You can either re-purpose replica1 and replica2 as additional engines or decommission them completely.

Migrating an Existing WebRTC Session Controller 7.2 Domain

Migrate an existing WebRTC Session Controller 7.1 domain as described in this section. Complete the steps for every server.

Pack the existing WebRTC Session Controller 7.1 domain for every server 

  1. Go to WSC71_home/wlserver/common/bin directory, where WSC71_home is the directory where you installed WebRTC Session Controller 7.1.

  2. To package the domain, run the pack.sh command. In the replicated domain example, this command is:

    ./pack.sh -domain=/wsc71_home/user_projects/domains/replica_domain -template="/wsc71_home/user_projects/domains/packedreplicadomain.jar" -template_name="pack wsc7.1 replica_domain"
    

Unpack the 7.1 domain data in the 7.2 installation area for every server 

  1. Go to WSC72_home/wlserver/common/bin directory, where WSC72_home is the directory where you installed WebRTC Session Controller 7.2.

  2. To unpack the domain information, run the unpack.sh command. In the replicated domain example, this command is:

    ./unpack.sh -domain=/wsc72_home/user_projects/domains/replica_domain -template="/wsc71_home/user_projects/domains/packedreplicadomain.jar"
    

Reconfigure the 7.2 domain in your 7.2 Installation area for every server 

  1. Go to WSC72_home/wlserver/common/bin directory, where WSC72_home is the directory where you installed WebRTC Session Controller 7.2.

  2. To reconfigure the domain information, run the reconfig.sh command. In the replicated domain example, this command is:

    ./reconfig.sh -domain=/wsc71_home/wlserver /wsc72_home/user_projects/domains/replica_domain
    

    The Fusion Middleware Reconfiguration Wizard is displayed.

Complete Fusion Middleware Reconfiguration Wizard steps for every server 

  1. In the Fusion Middleware Reconfiguration Wizard, select this domain to upgrade. Click Next.

  2. The Reconfiguration Setup Progress window displays the progress of the setup. The display ends with the URL to the location for the domain:

    Completed!
    Core WLS Indfrastructure Reconfigured Successfully.
    Domain Location:/.../user_projects/domains/replica_domain
    

    Click Next.

  3. In the Domain Mode and JDK window, verify the selections.

    Click Next.

  4. In the Advanced Configuration window, check the managed servers and deployments, if necessary.

    Click Next.

  5. In the Configuration Summary window, check the entries.

    If necessary click the Back command button and correct the entries. When you are done, click Reconfig.

  6. The Reconfiguration Progress window displays the progress of the setup. The display ends with the following statements:

    Performing Post Domain Creation tasks...
    Domain Reconfiguration Applied Successfully.
    

    Click Next.

  7. The Reconfiguration Success window lists the URLs for the Domain and the Admin Server.

    Tip:

    Note down the paths to this domain and to the Admin Console.

Configuring WebRTC Session Controller Administration Console

The administration console of WebRTC Session Controller in this (7.2) release is more robust and enables you to configure multitenancy. You can update the configuration in the WebRTC Session Controller in one of two ways:

Updating the Configuration Settings Manually

If you are manually configuring the settings for the 7.2 Signaling Engine in the new console using the settings in the 7.1 domain, refer to the descriptions of the fields in "Configuring WebRTC Session Controller" in the WebRTC System Administration Guide.

Converting to the 7.2 Configuration with a Migration Utility

The migration.tar.gz compressed TAR file provided with this release contains the migrate.sh utility. This utility generates a configuration file called wsc-config-migrated.xml by migrating the wsc-config.xml configuration file to be compatible with the 7.2 version. After running this utility, you can use the wsc-config-migrated.xml file in your 7.2 installation.

To generate the new wsc-config-migrated.xml configuration file:

Extract the migrate.sh utility  

  1. Go to the directory where you downloaded the migration.tar.gz file.

  2. Right-click on migration.tar.gz file and extract its contents.

    The current directory contains the migrate.sh file.

Migrate the 7.1 wsc-config.xml file 

  1. If you are not already where the migrate.sh file is located, go to that directory.

  2. To generate the updated configuration file, enter this command:

    sh migrate.sh <path_to_your_current_wsc-config.xml>
    

    Where, path_to_your_current_wsc-config.xml is the pathname to the location of the current wsc-config.xml file.

    For example,

    sh migrate.sh ../server/AdminServer/wsc/wsc-config.xml
    

    When this command completes, the current directory contains a configuration file called wsc-config-migrated.xml. This file can be used in the 7.2 installation.

Extracting the Groovy Code from the 7.1 Configuration

The groovyExtractor.tar.gz compressed TAR file provided with this release contains the extractGroovy.sh utility. This utility generates a Groovy file called extractedGroovy.groovy by extracting all the Groovy code from the 7.1 version of wsc-config.xml file.

To extract the groovy code from the 7.1 version of the wsc-config.xml file:

Extract the extractGroovy.sh utility  

  1. Go to the directory where you downloaded the groovyExtractor.tar.gz file.

  2. Right-click on groovyExtractor.tar.gz file and extract the contents of this TAR file.

    The current directory contains the extractGroovy.sh utility.

Extract the Groovy Code 

  1. Go to the directory where the extractGroovy.sh utility is located.

  2. To generate the Groovy output file containing the groovy code from the 7.1 installation, enter this command:

    sh extractGroovy.sh <path_to_your_current_wsc-config.xml>
    

    Where, path_to_your_current_wsc-config.xml is the pathname to the location of the current wsc-config.xml file.

    For example,

    sh extractGroovy.sh ../server/AdminServer/wsc/wsc-config.xml
    

    When this command completes, the current directory contains a Groovy file called extractedGroovy.groovy. This file contains the groovy code from the 7.1 domain.

Verify and Configure the Settings in the 7.2 Signaling Engine

Complete these steps in the WebRTC Session Controller 7.2 Administration Console:

  1. Login to the Signaling Engine WebLogic console. For the example case, http://10.1.1.1:7001/wsc-console.

  2. Click Edit

  3. If not already selected, click the Home Tab.

    Access each of its sub tabs:

    • Signaling Engine

    • Media Engine

    Verify that the values are configured appropriately with respect to your current 7.1 configuration.

  4. Click the Application Profiles tab.

    The console displays a list of the current application names and three sub-tabs, Profile, Packages, and Library.

    Select every application name listed under Name and do the following:

    1. Review the contents of the Profile tab for that application name entry.

    2. Click Packages. The associated Groovy scripts are displayed. Click Validate and correct all errors. Click Save.

    3. Click Library. The Groovy script library is displayed. Click Validate and correct all errors. Click Save.

  5. Click the Packages tab.

    The console displays three panes, Packages which lists the supported packages, Criteria which lists every message criteria configured for a selected package, and a pane to display the Groovy script for a selected message criteria belonging to that package.

    Select every package name listed under Packages and for each package, do the following:

    1. Select a criteria in the Criteria section tab for the selected package name.

    2. Review the Groovy script displayed for the selected criteria for this package. Click Validate and correct all errors.

    3. Click Save.

    Repeat the 3 sub steps for every criteria associated with the selected package.

    For the descriptions of the fields see "Configuring WebRTC Session Controller" in the WebRTC System Administration Guide.

Verifying the Updated Configurations

To verify the updated configurations in the administration console for WebRTC Session Controller 7.2:

Start the WebLogic 7.2 Admin Server 

  1. Stop the old Admin server.

  2. Go to the domain home for WebLogic Session Controller 7.2.

    Start the new WebLogic Administration Console using the command:

    cd Domain_home/bin
    ./startWeblogic.sh
    

If you are using SSL, configure SSL on every node.

Verify the SSL Configuration 

  1. Login to the Signaling Engine WebLogic console. For the example case, http://10.1.1.1:7001/console. Do the following:

    1. Expand the Environment node in the Domain Structure panel and click Servers.

    2. In the Configuration tab of the Summary of Servers pane, select an engine server, check SSL Listen Port Enabled, and that the SSL Listen Port is correct.

    3. Click Save to save your configuration.

    4. Repeat for the remaining engine servers.

Verify the Configuration for the Security Providers 

  1. Login to the Signaling Engine WebLogic console. For the example case, http://10.1.1.1:7001/console.

    Verify that the WebLogic security realm use the same parameters from your old installation.

    For more information on configuring a security realm, see "Configuring WebRTC Session Controller Authentication" in Oracle Communications WebRTC Session Controller System Administrator's Guide.

Configure Coherence Security Based on Your Deployment 

  1. Log in to the WebLogic Administration Console for the 7.2 release.

  2. In the Domain Structure, select Coherence Clusters.

    The Summary of Coherence Clusters pane is displayed to the right.

  3. In the Coherence Clusters table, select defaultCoherenceCluster.

  4. From the tabs displayed under Settings for defaultCoherenceCluster, select Security.

  5. Configure Coherence security access each of the following tabs and provide input, as required:

    1. General

    2. Services

    3. Cache

Verify the Application Router 

  1. Log in to the WebLogic Administration Console for the 7.2 release.

  2. In the Domain Structure, select Sip Server.

  3. In the SIP Server pane, select Configuration.

  4. Under the Configuration tab, select Application Router.

  5. Verify the Application Router(AR) features.

Testing the Updated Configuration

Verify that all of the updates are in effect by doing the following:

  1. Stop the signaling engine and replica servers from your old installation.

  2. In the new installation, start all the managed servers and verify the original deployment work as expected.

  3. Configure a third-party load balancer as required.

    Note:

    Signaling Engine no longer includes load balancer support.
  4. Verify that your applications work as expected.