High Availability Scenario 1: Lowest Footprint

Introduction

In this scenario the passive Anywhere365 Application Server monitors the active Application Server. As soon as the passive Anywhere365 Application Server detects the Unified Contact Center service on the active Application Server is not running it will take over. From this moment on, the former active Anywhere365 Application Server, will become passive, and starts monitoring the former passive Application Server.

 

Configure passive server

The following steps should be taken to let the passive Anywhere365 Application Server monitor the active Application Server.

  1. Create the folder: C:\Scripts\A365 on the passive A365 Application Server
  2. Copy the PowerShell-script ‘wsp-ha-check.ps1’ to this folder
  3. Edit the PowerShell-script ‘wsp-ha-check.ps1’ and change the following properties accordingly:
    • activeServer - The FQDNA fully qualified domain name (FQDN), sometimes also referred as an absolute domain name, is a domain name that specifies its exact location in the tree hierarchy of the Domain Name System (DNS). of the active A365 Application Server, FQDN = Servername + Domainname.
    • passiveServer - The FQDN of the passive A365 Application Server.
    • taskNamePassiveServer - The name of the Scheduled Task that runs from the passive A365 Application Server and monitors the active A365 Application Server.
    • taskNameActiveServer - The name of the Scheduled Task that runs from the active A365 Application Server and monitors the passive A365 Application Server once this server took over the active A365 Application Server.
    • emailTo - A list of email addresses that will receive an email if one of the two (or both) A365 Application Servers cannot be pinged, or if the passive A365 Application Server is started.
    • smtpServer - SMTP server that can be used for sending email; e.g. smtp.office365.com .
    • smtpPort - Port that is used to connect to the SMTP server for sending email; e.g. 587.
    • emailFrom - The email address of the sender.
    • emailPass - The password that matches the email address of the sender; if required.
    • useSsl - A Boolean (y/n) defining whether or not the mails should be send with/without SSL.
    • checkRetries - The number of times the script consecutively checks whether or not the Unified Contact Center service is running on the active A365 Application Server.
    • services - Names of the Anywhere365 Services that should be enabled/disabled in case of a failover.
  4. Create a Scheduled Task on the passive A365 Application Server, give it a valid name like Check server1.anywhere365.net - A365.

    • Name - This name should equal the variable “taskNamePassiveServer” in the PowerShell-script ‘wsp-ha-check.ps1’ on the passive A365 Application Server.
    • User Account - Select the User Account that runs the scheduled task (log on as a batch job rights are required).
    • Run whether user is logged on or not - Check this box to make sure that the task will run properly at all times.
    • Run with highest privileges - Check this box to make sure that the User Account has enough rights to take required actions during execution of the script.
  5. Create a new Trigger

    • Begin the task - On a schedule
    • Settings - One time
    • Select start date + start time
    • Advanced settings:
      • Repeat task every: 1 minute
      • For a duration of: Indefinitely
      • Enabled: true
  6. Create a new Action:

    • Action - Start a program
    • Settings:
      • Program/script: powershell.exe
      • Add arguments (optional): -file "C:\Scripts\A365\wsp-ha-check.ps1"

 

Configure active server

The following steps should be taken to let the active A365 Application Server, monitor the passive A365 Application Server after the passive A365 Application Server took over the services from the active A365 Application Server.

Note that below steps are similar to the steps that should be taken on the passive A365 Application server, only the variables activeServer and passiveServer are flipped, as well as the variables taskNameActiveServer and taskNamePassiveServer.

  1. Create the folder: C:\Scripts\A365 on the active A365 Application Server
  2. Copy the PowerShell-script ‘wsp-ha-check.ps1’ to this folder
  3. Edit the PowerShell-script ‘wsp-ha-check.ps1’ and change the following properties accordingly:
    • activeServer - The FQDN of the A365 Application Server that is currently passive, FQDN = Servername +Domainname.
    • passiveServer - The FQDN of the active A365 Application Server.
    • taskNamePassiveServer - The name of the Scheduled Task that runs from the A365 Application Server that is currently active and monitors the A365 Application Server that is currently passive.

      This name should match the variable ‘taskNameActiveServer’ in the PowerShell-script ‘wsp-ha-check.ps1’ on the A365 Application Server that is currently passive

    • taskNameActiveServer - The name of the Scheduled Task that runs from the A365 Application Server that is currently passive and monitors the A365 Application Server that is currently active once this server took over the A365 Application Server that is currently passive.

      This name should match the variable ‘taskNamePassiveServer’ in the PowerShell-script ‘wsp-ha-check.ps1’ on the A365 Application Server that is currently passive.

    • emailTo - A list of email addresses that will receive an email if one of the two (or both) A365 Application Servers cannot be pinged, or if the passive A365 Application Server is started.
    • smtpServer - SMTP server that can be used for sending email; e.g. smtp.office365.com .
    • smtpPort - Port that is used to connect to the SMTP server for sending email; e.g. 587.
    • emailFrom - The email address of the sender.
    • emailPass - The password that matches the email address of the sender; if required.
    • useSsl - A boo lean (y/n) defining whether or not the mails should be send with/without SSL.
    • checkRetries - The number of times the script consecutively checks whether or not the Unified Contact Center service is running on the active A365 Application Server.
    • services - Names of the Anywhere365 Services that should be enabled/disabled in case of a failover.
  4. Create a Scheduled Task on the passive A365 Application Server, give it a valid name like Check server2.anywhere365.net - A365.

    • Name - This name should equal the variable “taskNamePassiveServer” in the PowerShell-script ‘wsp-ha-check.ps1’ on the passive A365 Application Server
    • User Account - Select the User Account that runs the scheduled task (log on as a batch job rights are required).
    • Run whether user is logged on or not - Check this box to make sure that the task will run properly at all times
    • Run with highest privileges - Check this box to make sure that the User Account has enough rights to take required actions during execution of the script
  5. Create a new Trigger

    • Begin the task - On a schedule
    • Settings - One time
    • Select start date + start time
    • Advanced settings:
      • Repeat task every: 1 minute
      • For a duration of: Indefinitely
      • Enabled: true
  6. Create a new Action:

    • Action - Start a program
    • Settings:
      • Program/script: powershell.exe
      • Add arguments (optional): -file "C:\Scripts\A365\wsp-ha-check.ps1"
  7. Disable the Scheduled Task that is just created on the A365 Application Server that is currently active.

 

Test HA Check!

To test the simply stop the Unified Contact Center on the active A365 Application Server, make sure you choose an appropriate time to do so, the passive A365 Application Server should take over. The Unified Contact Center service on the server that was previously passive should now be running.

And the Scheduled Task created in step 4 should have a status 'Disabled'.

On the previously active server, the UCCUCC stands for Unified Contact Center and consists of a queue that can be handled by Agents Each Contact Center has its own settings, interactive voice response questions and Agent with specific skills. Agents can be member of, or sign up to, one or more Contact Centers. service should be 'Disabled' and the Scheduled Task should be 'Running'. Re-do the test to make sure this scenario works both ways.