Signal - Frequently Asked Questions

Publish Date: 08-Sep-2022 SOTI MobiControl
2250 0

Summary

What are the pre-requisites for installing Signal?

For MobiControl 15.6.0 and above, the host environment must have the following components installed with latest updates in order to meet the system requirements for Signal.  

  1. .NET Runtime 6.0 
  2. ASP.NET Core Runtime 6.0 

You can install both required components when installing using the ASP.NET Core 6.0 R

Related SOTI ONE Platform Products

SOTI MobiControl

Process Description

What are the pre-requisites for installing Signal?

For MobiControl 15.6.0 and above, the host environment must have the following components installed with latest updates in order to meet the system requirements for Signal.  

  1. .NET Runtime 6.0 
  2. ASP.NET Core Runtime 6.0 

You can install both required components when installing using the ASP.NET Core 6.0 Runtime - Windows Hosting Bundle.

Does Signal and MobiControl share the same Database?

Signal is stored outside of MobiControl in its own Signal database. This means that Signal policies, configurations, logs, execution history and all other Signal related information is stored in the Signal DB.  

Can a MobiControl administrator install MobiControl without Signal or opt out from using Signal feature completely?

No, there is no way to opt-out from using Signal or installing Signal Service. Signal will be installed by default along with the MobiControl installer.

Is Signal Service installed along with each Management Server(MS) and Deployment Server (DS)?

Signal Service will be installed anytime MobiControl MS, DS, or MS+DS are installed on a server.

In a multi server MobiControl setup, only one primary signal service will be running. The rest of the servers will detect that there is a designated primary signal service and will not run their respective signal services. The MobiControl admin still has the option to use the MobiControl and Signal Database to disable any Signal service and enable another Signal service that is installed on a separate server.  

How do I know which server is being used as the primary server for the Signal service? 

In the Signal DB, there is a setting in the dbo.Settings table named Signal.Primary.Id that specifies which Signal Server is the primary. The value in this setting matches the ServerId specified in the appsettings.json file found in the Signal installation folder (C:\Program Files\SOTI\SignalN). Each server installation has a unique ServerId. . 

What Database settings does the user have to change to disable Signal Service on a given server and enable another one?

In the Signal DB, there is a setting in the dbo.Settings table named Signal.Primary.Id that specifies which Signal Server is the primary. Each server installation has a unique ServerId. Also, in the Signal DB in the dbo.Settings table there is setting for each installed Signal server where the Id is the ServerId (random GUID) and the value is the URL used to connect to that server.   In the MobiControl DB, there is a setting in the dbo.Settings table named Signal.Configuration which contains the information used to connect to the Signal server. The “ServerUrl” should be set as the URL found for the primary server in the Signal DB.  To change the primary server, the following steps are required: 

We recommend the following the steps if the designated primary server is bound with a wild card SSL certificate

  1. Stop all the MobiControl and Signal Services on both the servers.
  2. In the Signal DB, under the dbo.Settings table change the Signal.Primary.Id setting value to match the ServerId of the installation you wish to make the primary
  3. In the MobiControl DB, under the dbo.Settings table change the Signal.Configuration setting value. Update the ServerUrl value to match the URL specified for the primary server in the Signal DB
  4. Start all the MobiControl services and only the new primary server's Signal Service.

What will happen, if Signal services on all servers are disabled or deleted?

If there is no Signal service that is configured to operate as the primary service, then there will be no communication between MobiControl and Signal. Although MobiControl will continue to function, all Signal related functionality will stop working. This includes any Signal-related UI information, Signal events, and Signal actions. There will also be repeated connection errors in MS and DS log files as they attempt to connect to Signal. 

What is the recommended action, if Signal is uninstalled accidentally on a MobiControl server?

Re-run the same version of the MobiControl installer used previously to install/upgrade MobiControl. This will install the Signal service again and configure it to run again. 

Will Signal use a certificate for its communication and where will this certificate be shown in the product?

There are three key certificates that are involved in Signal feature and the hosting software, in this case SOTI MobiControl:

  1. Root Certificate – This is the primary certificate that is used to generate most of the other certificates. It is used by Signal to verify the systems that are trying to communicate to it.
  2. Signal Client Certificate – This certificate is generated using the “active” root certificate and is used to recognize and verify the hosting software can communicate with Signal.
  3. SSL or Server Certificate – This certificate is used to secure the communication between systems.  Signal uses a SSL certificate to secure the data transmitted between Signal and MobiControl.

What are the symptoms that a MobiControl admin needs to watch out for if there is an issue with the Signal service? What steps can the admin take to confirm there is an issue and then resolve those issues with the Signal Service?

The most common problem that can occur with the Signal service is that the MobiControl MS and DS are not able to communicate with the Signal service. Symptoms of this problem are if Signal policies cannot be viewed or policies cannot be saved in the MobiControl webconsole. Other indicators are if expected Signal policy actions are not getting triggered. These problems are almost always accompanied by Signal connection errors in the MS and DS log files. These message contain the text ”Exception: Connect - Could not connect to Signal server”.  

The first troubleshooting step is to confirm that the Signal Service is running correctly. This can be checked in the Windows Services manager app. If the Signal Service is not running then start it.  Next step would be to check for any errors in the Signal log file which can be found here C:\ProgramData\SOTI\Soti.SignalN.log. Look for any error messages regarding certificates. There may be a configuration problem with the Signal client certificate sent by MobiControl. 

You may need to increase the logging level for the Signal Server. To do this, look for the line under logging for Signal in C:\Program Files\SOTI\SignalN\appsettings.json and change it to: 

      "Soti.Signal": "Debug" 

Restart the SOTI Signal service for the changes to take effect. 

If there are messages indicating that “No server certificate found”, this means that there are no certificates found in the Windows Local Computer Personal store that match the FQDN for the configured URL. This may mean that a matching server certificate needs to be installed on the system. 

If there is no indication that attempts are being made to connect to Signal, check any routing, DNS, or firewall configurations that may prevent the MS or DS from communicating with the Signal server. The MS and DS will need to connect to the Signal server on TCP port 13131 by default. 

Is there any schedule around the clearing of Signal database records automatically?

Signal will purge any execution history records that are older than 60 days by default from its Signal database. This happens at the start of each day (midnight UTC time). The expiration period can be changed by modifying the dbo.Settings table in the Signal DB. The record named Activity.Archive.Days can be set to a new value after which the records will be expired and deleted. 

If there is a Signal Policy which contains a mix of device properties and device events, as conditions, what schedule will be used to trigger actions based on these properties and events?

Properties are updated on the device check-in schedule. If the property conditions are met, the results are cached and the policy will trigger when an event occurs next. If the event occurs first, this result will also be cached, and the policy will trigger when the property conditions are met when evaluating data from a check-in.
In the case where the partial condition result is cached, this result will remain cached until one of the following two events occur:

  1. New data is received that negates the previous evaluation (i.e. the condition is no longer true).
  2. The cache expiration time is reached. If the Signal policy has a custom schedule, the cached result will be removed when the next scheduled end time is reached. Otherwise, it will be cached for 1 day.

For how many days will the data for logs and execution history be shown in the Signal UI? After how many days does the logs and execution history information get deleted?

Execution history will be kept for 60 days by default after which it will be deleted from the UI and the database. Policy log data will be kept indefinitely in the Signal database as we don’t anticipate many records. 

What is the expected behavior for actions being triggered when a policy was created with 2 condition groups where ANY of the two condition groups can be true for the policy to trigger? For example: Managed Devices battery percentage less than 50% OR Indoor Location Zone “Warehouse” has Device Count less than 10.

The platform agnostic actions such as “Send Email” or “Trigger Alert” will be triggered any time the policy is evaluated to be true. Device-specific actions such as “Send Script” or “Send Message” to a device will only trigger for the Managed Devices condition group which was evaluated to be true.

If a Signal policy contains two or more Managed Devices condition groups, device-specific actions such as  “Send Script” or “Send Message” will only be triggered on devices that are in the targeted device group(s) for the condition group that was evaluated to be true. 

Was this helpful?