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:
Rerate existing usage
Process the first UDRFeed and injest x number of files (determined by custom code)
Rerate again until rerating is completed
Process the next UDRFeed
EngageIP Tier Service
Allows syncing of user-package information between two installations of EngageIP
For more information see the Tier Sync Installation and Process Guidelines guide
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:
Access the EngageIP server directly/via remote access
Navigate to the EngageIP\Services directory
Create a file called JobService.exe.config
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>
Save your changes
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).
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%';
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
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:
Open a command prompt window
Surf to the services folder in EngageIP
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:
Enable the Service in question for the first installation
Execute that service (for example RatingService.exe --standalone)
When complete disable the service
Repeat the steps above for the second EngageIP installation