EngageIP Windows Services Overview

Summary

This article provides information on the EngageIP Windows Services that EngageIP installs and how to troubleshoot issues with these Services.

Enabling/Disabling Windows Services

These are standard Windows Services, to access them click Start -> Administrative Tools ->Services. This will bring up a list similar to the below image. From there, search for EngageIP Billing to see the first in the list. Then you can right click them to start or stop them or set them to automatic start or manual.

EngageIP Windows Services

EngageIP Billing

  • Executes enabled Bill Runs (if there are multiple branded owners, there may be multiple configured bill runs in the system, one or more per branded owner)

EngageIP Event Manager

On a configurable periodic interval the EngageIP Event Manager is triggered to process:

  • Entity Events

  • Workflow Events

After both of these activities are processed the EngageIP Event Manager Service goes back to sleep and waits for the next timer trigger to wake it up again.

EngageIP File Mover Service

The File Mover Service moves files from a source directory to a remote directory. The service runs on a timer that is configurable through the app config along with all other settings. As of now this tool supports moving files in four ways FTP, Folder to Folder, SFTP, Email.

See the FileMover Service Configuration article for configuration details.

EngageIP Fraud Service

  • Collector for BroadWorks or Sansay softswitches

  • Runs in parallel with the rating service

  • Observes defined fraud criteria (e.g. long distance calls)

  • Sends fraud report results via email (if this option is configured)

  • For more information see the Fraud Reporting Overview article

EngageIP Job Service

Polling for jobs occurs every 2 minutes (120 seconds). As of EngageIP 8.5.25.2 this setting is configurable.

  • Sends emails during the day including ticket emails, bulk report emails, credit card expiry reminders, etc.

  • Executes ticket functions (ticket escalations, updating tickets after pulling data from emails, etc.)

  • Executes Event Manager tasks

  • Applies price plan pricing (ApplyEffectivePricePlans job)

  • Cancels expired prepaid user-packages (CancelExpiredPrepaidPackage job)

  • Runs Concurrent Call Report requests (ExecuteConcurrentCallReport job)

  • Evaluates the 'Change User Status' components on accounts and changes the account status if the change status date has been reached (ExecuteScheduledUserStatusChanges job)

  • Evaluates the 'Change User Package Status' components on accounts and changes the user package status if the date has been reached (ExecuteUserPackageStatusChange job)

  • Runs real-time 'Bill Account' billing in the background as per logged in users request

  • Executes Resource Module functions (create reorders, expire resource holds)

  • Performs logging and temp directory cleanup

  • Generates and delivers Snapshot invoices (RunSnapshotInvoices)

  • Renews contracts that have reached the renewal date (UserAttributeContractRenewals job)

  • Creates UDRBillers and UDR Buckets for new periods (UDRBillerBulkInsert job)

  • Generates reports for reports that have been scheduled

EngageIP Rating Service

  • Real-time (pre/post) rating

  • Definable mediation processors which can be performed either pre or post rating

  • Minute bucket rating capabilities

  • For more information see the UDR Rating Details guide

Order of operations when the Rating service is started:

  1. Rerate existing usage

  2. Process the first UDRFeed and injest x number of files (determined by custom code)

  3. Rerate again until rerating is completed

  4. Process the next UDRFeed

EngageIP Tier Service

EngageIP UDRBatchTax Service

  • Allows AvaTax and SureTax integrations to handle taxation in batches instead of calculating taxes on every transaction, improving system performance

  • The service config file (EngageIP\Services\UDRBatchTaxService.exe.config) allows you to configure the batch size, how frequently batches are sent for tax calculation and other settings

  • For more information on batch taxing see the AvaTax Integration article

EngageIP Webhook Service

  • Allows external applications to listen for events that are occurring within EngageIP

  • For more information see the Configuring Webhooks guide

Service Configuration Options

Job Polling Frequency

As of EngageIP 8.5.25.2 you can set how often the Job queue is polled for queued jobs (default is 120 seconds). To configure the polling frequency:

  1. Access the EngageIP server directly/via remote access

  2. Navigate to the EngageIP\Services directory

  3. Create a file called JobService.exe.config

  4. Edit the file and add the following content with your polling value (in seconds)

    <?xml version="1.0"?> <configuration> <appSettings> <add key="pollingDelayInSeconds" value="30"/> </appSettings> <startup><supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5"/></startup></configuration>
  5. Save your changes

  6. Restart the EngageIP Job Service

General Service Troubleshooting

Configuration Page / System Check Error

If you receive a generic error on the System Check section of the configuration page, ensure that the SQL user that EngageIP is using has the correct Server Role permissions assigned. (dbcreator and sysadmin are the regular ones that then EngageIP user should have).

  1. To confirm, login to SQL using the EngageIP user and password for SQL, then paste this into a new query window:

    USE master;SELECT counter_name ,cntr_value,CAST((cntr_value/1024.0) AS NUMERIC(8,2)) AS Gb FROM dbo.sysperfinfo WITH (nolock) WHERE counter_name LIKE '%server_memory%';
  2. Run the following select to confirm that services heartbeat dates are being updated in the engageipservice table. This indicates the service is actively communicating with and updating the database:

    SELECT * FROM engageipservice
  3. Reboot the webserver to confirm whether the UI is able to start reflecting the service status.


This should return values, otherwise it will return the actual error for you, in this case its a permissions based issue.

Services Crashing/Stopping

As of 8.5.27.x and 8.6.0.x, the services now will log to individual files as per below image:

Prior to 8.5.27.x, you can use standalone mode as detailed below.

Running Services in Standalone Mode

If the services are crashing or stopping for unknown reasons, you can run the services in standalone using the below format:

  1. Open a command prompt window

  2. Surf to the services folder in EngageIP

  3. Type the name of the service and append the word standalone with two dashes. See image for example

Doing the above will run the service but in the command window so you can see all the processes its executing and you can spot any errors that it may be encountering

Note: your EngageIP installation path may differ from the path shown in the image below.

Unhandled Exception: HttpListenerException

This error will appear if you are attempting to run the same service more than once on a single server (for example running the realtime rating service twice). The error appears because the port is in use and the second Service instance cannot utilize it.  If you have two installations of EngageIP on a server (for example on a test system) run the services one at a time to avoid this issue.  For instance:

  1. Enable the Service in question for the first installation

  2. Execute that service (for example RatingService.exe --standalone)

  3. When complete disable the service

  4. Repeat the steps above for the second EngageIP installation

Related pages