Revulytics > Revulytics - Support Help Desk > Knowledgebase

Search help:

How does the Revulytics call home protocol work?


Once you register a free Revulytics account and integrate the Usage Intelligence SDK, all your software installations will start calling home to the Revulytics server. The server will collect anonymous information regarding software usage, OS, language, hardware profile such as memory, CPU type and resolution, geographical information, and other information regarding your software version, build number, edition and license keys (if applicable).

As a software vendor, you also have the option to control what information is collected from your end-users by adding an opt-out mechanism during installation or as a configuration option within your software. If a user chooses not to be tracked, then you can simply bypass the call(s) to the Usage Intelligence API.

Communication Protocol

The Usage Intelligence protocol uses a signing and authentication mechanism which protects all call home data from spoofing or other forms of tampering by rogue users whilst the clients are communicating with the Revulytics servers.

The Usage Intelligence SDK supports two types of communication protocols, HTTPS and HTTP with AES-128 encrypted payload. The protocol to be used can be specified when creating the SDK configuration. Here is a description for each option:

  • HTTP with AES-128 encrypted payload: Connections to the server will be made using HTTP whilst securing the payload using AES-128 encryption.
  • HTTPS only: The client will only attempt to connect to the server using HTTPS. If HTTPS traffic is blocked, callhome will not occur.
  • HTTPS with fallback to HTTP with AES encryption: The client will first attempt to connect to the Revulytics server using standard HTTPS. In cases where HTTPS traffic is blocked, the client will fall back to using HTTP with AES-128 encrypted data. This method is recommended since in some environments, especially corporate networks, HTTPS traffic may be blocked by gateway firewalls or web filters.
  • HTTP only (deprecated): In version 4 and older of the SDK, communication was made over HTTP without encryption except for license key info. Following the release of SDK version 5 on July 3, 2017, this method is no longer supported.


  • In order to improve your customers’ perception, you also have the option to use a custom callhome URL by setting a CNAME entry in your DNS server. For info on custom URLs please refer to this KBase article.

Caching and Lack of Internet connectivity

By default, the Usage Intelligence SDK calls home to the Revulytics server as soon as your software is loaded, and then every 20 minutes after that while the application is still running. Other calls can occur whenever the developer calls an API which requires a real-time response from the server, such as during Message Check and License key validation.

In the meantime, the Usage Intelligence SDK will cache usage statistics to a log file on disk, ready to be sent on the next callhome. For SDK's older that version 5, a single cache file is maintained with data from all sessions. For SDK version 5 and later, a cache file is created for every runtime session (determined by 'start-stop').

Whenever an internet connection is not available, usage data remains cached until the connection is restored. Note that before a client can track data offline, it must have done at least 1 successful sync with the Revulytics server to register its existence and get a unique Client ID. A threshold is set on each cache file size so that a machine with a permanent loss of connectivity will stop collecting usage data for that session, once this file threshold is reached. Once the connection is restored, the log files are compressed and sent over to the Revulytics server using minimal bandwidth.

Was this article helpful? yes / no
Related articles How many times does the Revulytics Usage Intelligence SDK call home and how much traffic does each call generate?
Can I use my own call home URL?
What is the procedure to terminate my account and what happens to my data after termination?
Comparing Revulytics Usage Intelligence with Google Analytics or web-analytics solutions
What is the size threshold for the Revulytics Usage Intelligence log file and can this be changed?
Article details
Article ID: 7
Category: Knowledgebase
Date added: 2011-03-18 17:45:41 UTC
Views: 1483
Rating (Votes): Article rated 3.4/5.0 (18)

« Go back

Privacy Policy Terms of Use