Tracking Usage
Separate counts are kept for each of the user types at 3 operational levels:
- site
- tenant
- campaign
For an example of these counts, see Notification Example.
These are then sent via email to Sytel. For details, see Notification Emails.
For details of the 2 options for tracking usage, see below:

For this option, licenses are loaded with a number of agent hours of usage. This is true whether you pay for usage in advance or in arrears. The 'hours' license counts down as you use the software. Once the pre-poaded hours run out, the system will no longer allow you to use agents of the class that has run out.
There are 4 options by which usage hours can be calculated. As usage accounting is tied to call sessions and agent sessions, and calls and agents are subject to movement, for each option it is necessary to be exact about which events trigger start and end of a usage episode.
Calculation option | Accounting details | |
---|---|---|
1. | Talk time (the most common) |
![]()
The difference between the two times is recorded as a usage event and stored with the precision of the system clock. Using this set of events enables us to deal silently with the fact that a call session may be transferred to several different parties during its lifetime. In the event of an agent session abnormal end (e.g. agent hangup, supervisor kill), the call will be deemed to be cleared at the point of agent hangup. |
2. | Talk + wrap(utility) time |
![]()
In the event of an agent session abnormal end, the completion of the transaction is forced instantly by CallGem. |
3. | ACD available time |
![]()
In the event of an agent session abnormal end, release of the agent is forced instantly by CallGem. During a period where the agent is ACD available, an agent may move between several different campaigns either under program control for blending, or under supervisor control. The usage is recorded against the campaign that the agent was released from. This is usually the campaign that the agent first went available on but in the case of an agent abnormal end or closure of the agent’s home campaign, this may not be the case. This method of accounting may lead to some minor discrepancies on the amount of agent available time spent on each campaign, but the sum total of agent available time across campaigns within a tenant will remain accurate. |
4. | Logged in time |
![]()
In the event of an agent session abnormal end, release of the agent is forced instantly by CallGem. During a period where the agent is logged in, an agent may move between several different campaigns either under program control for blending, or under supervisor control. The usage is recorded against the campaign that the agent was released from. This is usually the campaign that the agent first went available on but in the case of an agent abnormal end or closure of the agent’s home campaign, this may not be the case. This method of accounting may lead to some minor discrepancies on the amount of agent login time spent on each campaign, but the sum total of agent login time across campaigns within a tenant will remain accurate. |

Internally, Sytel standardises on the Windows DATE / OLE Date time format for time accounting. This is a double-precision floating point number representing the number of days since midnight December 30th 1899. This allows timestamps to be represented with sub-millisecond accuracy. When transmitting usage data in email, the date data is represented by a string with numbers having 8 decimal places of precision, which enables sub-millisecond accuracy.
The actual resolution of time is determined by the system clock which has resolution of 16 milliseconds. At this level of resolution data truncation errors are undetectable for all practical purposes.
Durations are summed by adding the usage event values together.
Every 5 minutes, or sometimes more often based on system events, the total duration of all usage events in that period is summed. This value is subtracted from the license usage counter and added to an in-memory database of usage counts overall, per tenant and per campaign. This database is used to track daily usage for digest reporting. Regardless of display values, internal values for the license use the same Windows Date/ Time format to store the remaining time, and remain exact to the resolution of the system clock.
At 5 minutes past midnight local time, or on system restart, Softdial CallGem™ sends a digest email with total counts and breakdown to an email account that Sytel’s usage system uses. It also resets the usage counts to 0.
The report values are truncated to be exact to the second rather than rounded to avoid rounding disputes.

This option records the peak number of concurrent agents logged in and active per site, tenant and campaign.
For details of what constitutes license 'usage' for each type of agent, see Concurrent Usage - Definitions.
If an agent moves between campaigns, the site and tenant counts remain the same but the campaign counts are adjusted.
When the notification email is sent, the counts are reset. This means that if CallGem is restarted 3 times during the day we will have 3 separate emails with peak usage for the same day. Sytel’s back-end processes enable us to consolidate this information.