Skip to end of metadata
Go to start of metadata
In this article

Major Updates


Cross-Cloud Deployments

We've improved support for cross-cloud deployments (cloud ↔ dedicated or cloud #1 ↔ cloud #2).

There used to be issues with cross-cloud cluster deployments, where a node had only a Private IP address on the host and Public IP was routed externally on the firewall. With the newest version, we've implemented a special Node ID to identify nodes instead of IP addresses, which allows us to strictly identify nodes and show proper JeraSoft Cluster status.

Cluster Health Check

We've introduced a Cluster Health Check service that performs monitoring of each node depending on its role. The checks include:

  • Backup Monitoring - checks if the backup is configured properly and your data is safe
  • Cluster Replication - checks if all nodes of the cluster are in sync and have data up to date
  • CPU Load - checks CPU load of each node
  • System Daemons - checks if all required services are working properly
  • Disk Usage - checks disk space of each node
  • Network Buffers - checks for potential system overload with traffic
  • Security Checks - checks if the firewall is configured correctly for main network ports, checks if DNS works properly

In case any issue is found, the system will show alerts in the Web UI.

Processing Node

A completely new type of Cluster Node has been introduced - Processing Node. This is a lightweight node that replicates only a part of the data required for Authentication, Authorization, and Routing. As such, it has much lower requirements on disk space and has better performance in terms of disk load. This type of Cluster Node may be particularly helpful for the customers with lots of traffic, who require more than 1 additional node for processing.

The new node does not serve as a Redundancy at the same time and can not be used to take over the Master node if the latter fails. It should be used in addition to at least one regular Redundancy Node in the Cluster.

US Billing


Tax Codes

As external tax systems use special codes to recognize the charged services, we've added support for different product tax codes. From now on, you'll be able to specify these codes for:

  • Accounts (should be used for calculating Taxes for services billed by Rate Tables);
  • Package Fees (should be used for respective charges);
  • Extra Charges (should be used for these charges).

Tax codes should be added in the form of prefixed tags. For example, a tag with a tax code for Suretax may look like: "suretax:010101",  or "suretax:04", or "suretax:04-010101", where:

  • "suretax" - prefix denoting external tax system
  • ":" - delimiter symbol
  • "04" - Situs Rule
  • "010101" - Trans Type Code

In addition to that, we've expanded the Exempt list functionality for SureTax. If there will be a need to exclude certain Taxes for a specific client, you will be able to do it directly while creating a Taxes Profile for them.

Also, while creating a SureTax Taxes Profile in the system, you will be able to flexibly specify Tax Situs Rules/Trans Type Codes for different types of charges:

Screenshot: Tax Codes settings for SureTax Taxes Profile

SureTax SettingsExemption CodesList Tax Exemption Codes to not calculate them within this profile

Extra Chagres Settings

Default settings for Extra Charges taxation.


You can set separate Rules/Codes per Extra Charge if needed. For this, when creating an Extra Charge in Transactions, add a Tag, specifying either:

  • only Trans Type Code, like suretax:010101;
  • only Situs Rule, like suretax:04;


  • both Situs Rule and Trans Type Code, like suretax:04-010101.
Situs Rule

While identifying jurisdictions, SureTax uses Situs Rules. The available Situs Rules here are:

  • 04 - Zip code
  • 05 - Zip code + 4
Trans Type CodeYou can specify a Trans Type Code for the Situs Rule (e.g., 010101)
Package Fees Settings

Default settings for Package Fees taxation.


You can set separate Rules/Codes per Package Fee if needed. For this, when adding a Fee to a Package, set a Tag, specifying either:

  • only Trans Type Code, like suretax:010101;
  • only Situs Rule, like suretax:04;


  • both Situs Rule and Trans Type Code, like suretax:04-010101.
Situs Rule

While identifying jurisdictions, SureTax uses Situs Rules. The available Situs Rules here are:

  • 04 - Zip code
  • 05 - Zip code + 4
Trans Type CodeYou can specify a Trans Type Code for the Situs Rule (e.g., 010101)
Services Settings

Default settings for Services taxation.


You can set separate Rules/Codes per Account if needed. For this, when creating an Account, add a Tag, specifying either:

  • only Trans Type Code, like suretax:010101;
  • only Situs Rule, like suretax:04;


  • both Situs Rule and Trans Type Code, like suretax:04-010101.

You can also do this via the Traffic Processing section by creating a rule that will be adding needed Tags to traffic.


You can set a Service for the rule:

  • Calls
  • SMS
  • Data

Directions are where the Src/Dst numbers are located regarding the North American Numbering Plan. The list of available directions is as follows:

  • NANP to NANP
  • NANP to non-NANP
  • non-NANP to NANP
  • non-NANP to non-NANP
Trans Type CodeYou can specify a Trans Type Code for the Situs Rule (e.g., 010101)
Situs Rule

While identifying jurisdictions, SureTax uses Situs Rules. The available Situs Rules here are:

  • 01 - Two-out-of-Three test using NPA-NXX
  • 02 - Billed to number
  • 03 - Origination number
  • 04 - Zip code
  • 05 - Zip code + 4

We've also allowed specifying extended Zip codes (with 4 additional digits) in the Client's edit form. In terms of Situs Rules, 04 is used for 5-digit zip codes, and 05 if extended 9-digits zip codes are specified.

Tax Rollback

For easier management of voided Invoices, we've added tax rollback support. It works using transaction numbers, by which SureTax identifies the results of each request. The system will store these in Invoice parameters and, in case of Invoice deletion, send a request for deletion of corresponding results on the Suretax side. If there will be a case with multiple requests per Invoice (if the amount of records is large enough), we will store multiple transaction numbers for one Invoice.

Test Environment

To simplify the testing process, we've added the ability to create a test SureTax profile. For this, simply check the respective checkbox in the Taxes Profile creation window:

Screenshot: Test SureTax Taxes Profile

Errors Processing

SureTax may return error messages for individual items in the batch. We've added checks and logging for such errors, allowing for Invoice creation to abort if any error occurred. If created manually, the system will throw an error to the web interface:

Screenshot: Error while creating an Invoice

Jurisdiction tags

Now, the system automatically connects 'interLATA/intraLATA'-type tags to paired tags, adding 3 tags in total to every defined state or lata.

Traffic Processing

Improved UI

The Traffic Processing section has been visually reworked to make it more efficient and simple for the client. The new look of the section list is a grouped view of Traffic Processing Rules by Stage:

Screenshot: Traffic Processing Rules list

The Rule add form has been redesigned to provide for usability and a simpler look:

Screenshot: Traffic Processing Rule add form. Reworks

We've also added some of the new features:

  1. We've added the Company field in the General section to allow for differentiation between rules under separate Resellers.
  2. In the Filters block, we've added Dst Code Name, Src Code, and Src Code Name fields.


    There's been a logic change in how we filter for Codes. Previously, we used to compare Code to a Number and a Rate. From now on, we do a 1-to-1 comparison to a Code from a Rate only. If you will need to compare with a number, please use filters for Prefixes

    Also, the Codes filters do not accept * anymore (you can still use it in the Prefixes filters).

  3. The Src/Dst Match filters and Replace actions have been moved to a separate block - Parties ID Translations. There you can create the needed ordered translations, for example, to normalize Src/Dst numbers. To optimize the speed of Traffic Processing for this type of tasks, you can add multiple translations in one rule.
  4. In the new LNP / Jurisdiction block, we've added the Revert LNP function. It will allow for the "return of original numbers to vendors" case realization. Previously, you needed an After-Routing Rule with Src/Dst Replaces for this scenario.
  5. For the case where you need to block certain terminator/-s for an originator, now there is a Routing Blocks block. Here you can specify, which vendors (Clients or Accounts entities) to block for the originator, specified in the Filters block. It will eliminate the need to create after-routing rules as previously. For example, let's look at how the basic case will look like to block a specific vendor for a specific customer:

Screenshot: Traffic Processing rule for blocking vendors for a specific origination Client

Here we can see that we allow traffic generally for Customer A to destination 1, BUT we exclude Vendor C (term_accC, specifically) from this type of routing by adding them to the Routing Blocks section.

IMPORTANT: Migration of Traffic Processing rules

When updating to the newest version, please keep in mind that some of the settings changed. During migration, we WILL DELETE any Traffic Processing rules of the After Routing stage that revert original numbers in Src/Dst Replaces (in the newest version it is utilized by the Revert LNP function). And we will enable Revert LNP for the respective origination rules.

Orig->Term Blocks

In the previous versions, we've introduced an ability to block certain vendors straight from the Routing Analysis output. Now it works a bit differently, creating a Traffic Processing rule with that vendor in the Routing Blocks block. The Filters will be filled in with the information from a respective Routing Analysis query:

Screenshot: How to block a route in Routing Analysis


We advise not to create too many rules using this approach as it will increase the processing time for routing queries. It is better to go into an existent Traffic Processing rule for such blocks and add the necessary terminator there.


We've improved the usability of stored queries for all reports.

Report Templates

The Report Templates section has been renamed to Report Queries, and undergone some improvements:

  • now you can create a new Query from within the respective section, too, using the New Report Query button;
  • in the Advanced Search, the Watch and Mode filters were removed. The Recipient filter can now process multiple values;
  • the Watch function has been functionally reworked. Now it's a separate To Email tab in the Report Query;

Screenshot: Report Queries new UI

  • if the owner (system User) of the respective Query is archived, you can transfer their Report Queries to another one, or they will be deleted from the system;

Screenshot: Archiving a User

  • the Reports Watcher service in the System Services has been renamed to Reports to Email service.

Reports that will be sent by Reports to Email , will be sent using SMTP credentials, specified in the Reseller, to which owner of a Reports Query belongs. For Users without Reseller restrictions (super-admins), default system SMTP credentials will be used.


Please note that:

  • all Report Templates of previously archived Users (those who were "disabled" before version 3.22) will be removed after update;
  • the Reseller field has been removed from the Query settings, allowing public visibility for all users under the same Reseller.

Orig-Term Report

While improving the overall performance of the report, we've aligned profitability with accounting terms:

  • Profit (rel) is calculated as Profit Abs / Orig Cost
  • In case Orig or Term side is mismatched (by Code or Client), we do not know the real Profit. Thus, it's shown as N/A
  • The Owner filter does not automatically include all sub-owners anymore. If you'd like to see sub-owners' information, all of them should be selected within the filter.

Also, we've added a Margin column. Margin is calculated as Profit (abs) / Volume Billed (Orig & Term):

Screenshot: Margin in Orig-Term Report

UI Improvements

Grouped view

For Grouped Web output of the reports, we've added an Expand/collapse all button for a more convenient mechanism to expand/collapse all results:

Screenshot: Expand/Collapse all button in the Summary Report output

Time Profile Info in xDRs List

In xDRs List report output, when you hover over the Rate, it shows some additional information (Policy, Rate, Tag), to which we've added Time Profile indication:

Screenshot: Time Profile information in the xDRs List report output


The following filters have been added to Summary and Orig-Term Reports for better usability:

  • Src Code / Src Code Name
  • Profit (abs) / Profit (rel) (for Orig-Term only)
  • Dst Code Country
  • Match Clients: Matched / Mismatched
  • Match Rates: Matched / Mismatched

"Last 15 days" period

While choosing a period for reports query, there's a new Last 15 days period.

Files Collector


The Files Collector service has undergone a huge performance improvement. It is now a multiprocessing tool based on the Pool approach. Previously, if there were multiple workers handling the xDR files, they would wait for when each of them will finish. Now they just take up new files for processing independently. Also, the performance speed was dramatically improved by switching from INSERT to COPY protocol (which allows for bulk inserting).

Minor Updates

Backup Manager

We've improved the efficiency of the Backup Manager by optimizing the backup creation process and handling faulty backups.

Whenever the system tries and fails to create a backup due to low disk space (i.e., the backup is not fully generated), the system deletes the faulty part of the backup. That is, if there were backups of the database and the files, from which the DB backup is unsuccessful, then only the backup of files is left. Therefore, we are not taking up disk space with broken data.

Apart from that, we've introduced the Disk usage threshold to the Backup Settings in the System Settings. This parameter is a threshold for backup size relative to free disk space. The default is set to 40%. If you would like to change it, please file a request to our support department at [email protected].

Screenshot: Backup Settings

Packages / Subscriptions

Visual improvements

The Subscriptions have been visually reworked to meet the usability requirements. In the list view of the respective section, for example, the Qty of assigned Subscriptions is visible and the Limits are shown with the amount left to use by the customer:

Screenshot: Subscriptions list

Along with that, in the Subscriptions edit form, the visual representation of data became more structured. The enabled Billing Details and Limits usage are more visually clear and usable:

Screenshot: Subscriptions edit form

Renewal Charges

We've improved renewal charges for the Packages to suit the prepaid-postpaid logic more. First of all, the naming is more straightforward providing the Renewal Charge options as:

  • Before period start (typically used for prepaid as the system will create a charge just before the Package renewal);
  • On period start (typically used for postpaid as the system will create a charge right on the renewal).

Screenshot: Subscriptions. Renewal Charge


UI Improvements

In the Invoices list, we've improved the UI for new invoice creation, as well as added more details on taxes to the interface - Net Total, Taxes, and Total columns:

Screenshot: Invoices list

ZIP Archiving Attached xDRs

If there are full xDRs attached to Invoices, they will be packed to ZIP instead of GZ.

Dynamic Routing

Routes Quantity for RADIUS / SIP

In the ConfigurationSettings section, we've added the parameters to define how many routes should be returned in the routing reply for both SIP and Radius servers. By default, they are set to 10.

Screenshot: Radius / SIP Server Settings

Minimal Statistics Quantity improvement

The Minimal Statistics Quantity considers non-zero records (not total records, as previously) while doing ACD/SCD calculation. The ASR/PDD calculation still considers total records parameter.

Routing Rules Expiration Date

For automatic alteration of routing, we've added an Expiration Date setting to the Routing Rules configuration:

Screenshot: Routing Rules tab

If Dynamic Routing Manager will remove a certain rule due to it being expired, there will be a log message in the Events Log:

Screenshot: Events Log section

If the entered expiration date will be past, it will be displayed in red, and with the next run of Dynamic Routing Manager, will disappear from the system.

Screenshot: Past Expiration Date

Routing for A-Number Billing

We've improved routing for A-Number billing (i.e., EU billing, US Jurisdictional). Previously, the system would look for call-specific tags in a vendor's Rate Table and reject a call finding only untagged prices. Now, if the system finds a Rate with an appropriate tag, it will still pass a call. However, failing to find such, the call will be passed if the vendor's Rate Table has a Rate for this destination, tagged '@'. 


Rates Generator

We've improved the Rate Generator's source Rates processing. Now, it will convert the source Rate Table currency to its assigned currency, if different.

Add Code Name from List

In the Rates list, when the Code Name is missing for any Rate, we've introduced the ability to add the missing name to a Code Deck, assigned to the Rate Table.

Screenshot: Adding Code Names from Rates list

ZIP Compression

While notifying a customer or during Rates Export, the system now supports Rate Tables ZIP compression for added convenience.

Screenshot: ZIP Compression in Rates Export

UI Improvements

  • We've extended UI to show related Service

Screenshot: Service column in Rates list

  • In the Import History tab, we've visually reworked the Status indication and removed the Error file field due to it being not used

Screenshot: Import History status

  • In the Rate Tables list, when you click on a Rate Table's name, a list of Rates opens in the new tab of the browser instead of the Rate Table Parameters
  • We've added a Rates Import shortcut to the Rate Tables list view

Screenshot: Rates Import shortcut in the Rate Tables list



In the newest version, we've added another Payment Gateway integration - USAePay. Using this Payment Gateway, you are able to charge your customers automatically: 

Screenshot: USAePay settings in Reseller's Autocharge Settings

Also, your customers will be able to use this gateway in the Client Portal:

Screenshot: USAePay settings in the Client Portal


Euro has been added as available Currency for Authorize.Net Payment Gateway. Also, the CVV field for card creation in the Client Portal has become optional.

Squire Anonymous SIP Collector

We have adjusted the Squire Anonymous SIP collector to make it compatible with multiple 'Diversion' headers.

JeraSoft LNP Collector - Tags Only (v3.22.3 & older)

We've added a lightweight JeraSoft LNP Collector - Tags Only to cover the case when a user needs to just add a tag while processing the LNP request.


Files Download Support

We've added functionality to download files using CoreAPI.

'clients_packages.terminate' REMOVED

While rethinking Subscriptions functionality, we've introduced the update method instead of close or terminate.

Audit Log

Improved UI

In the newest version, we've visually restructured the Audit Log section to achieve greater usability. The changes are grouped by date and have more usable information on display:

Screenshot: Audit Log section

If you click on the Detailed Changes details.png button, the pop-up window with additional information will open:

Screenshot: Detailed Changes for the Audit Log entry

Payments Tracking

Additionally, we've introduced Payments tracking in the Audit Log:

Screenshot: Payment entry in the Audit Log.

Events Log

Node Ident

We've added Cluster Node output for multi-node deployments:

Screenshot: Node column in the Events Log

UI Improvements

Old Mail Queue Entries

Some emails in the Mail Queue may have files attached to them that consume disk space. Thus, we've added an option to remove messages from Mail Queue after a certain number of days to section Autorotation and Cleaning in Configuration->Settings. The default is set to 365 days:

Screenshot: Delete emails from Mail Queue after in Settings

Restoring Archived Days

There used to be a case when you restored an old statistic day from the archive, it was immediately archived back due to the autorotation settings. We've improved this behavior by adding a respective message, alerting a user to check and change the Statistics rotate delay in ConfigurationSettings before actual restoration.

Screenshot: Rotation alert

Sort Order

We've improved the visual representation of some configurational sections of the billing system by adding custom sorting. Here is a list of these sections:

  • Payment Accounts
  • Payment Terms
  • Time Profiles
  • Taxes Profiles
  • Routing Policies
  • Agreements
  • Services

Quick Search: wildcard usage

We've aligned system-wide logic in terms of wildcard usage improving the processing speed. Currently, all sections that use Quick Search add a wildcard to the end of a query only. There is no usage of a front wildcard unless a user prefers to type it in.

Code Deck: post-creation Codes adding

A user now has an opportunity to fill in a Code Deck right after its creation in the same window, which allows for a smoother experience.


We've changed the Notification Terms' naming to a more user-friendly one:

Screenshot: Agreements section

Transactions: filtering by Reseller

In the Transactions section, we've added an Under Owner filter with multiple input:

Screenshot: Under Reseller filter for Transactions

System Messages

We've improved how the System Messages are displayed to introduce a more convenient way of managing them right from a control bar:

Screenshot: System Messages view

Now you can see if there are any alerts, messages, or errors from the Events Log quicker. Also, there is the ability to dismiss a message for a logged-in user:

Screenshot: Dismissing a System Message

If a user dismisses any particular message, it will disappear only from their system view. Upon any other login, the message will still be available.

Charts: Cancel button

We've removed the ambiguous actions while removing unnecessary charts from the Reports view. When closing the chart, a system will ask you for simple confirmation:

Screenshot: Closing a Chart in Summary Report section

Users: Status

We've reworked the 'Disabled' flag used previously to deactivate a User in the system. The logic was aligned with general system-wide, providing the following statuses:

  • Active
  • Blocked
  • Archive

Screenshot: Users add form

System Status (v3.22.1 & older)

To understand, which service is normally running long and which one hung unexpectedly, we've marked daemons in the list of active System Services for clarity.

Screenshot: Running Services


Traffic Processing Rules

Set Service

The Set Service option within Traffic Processing Rules is deprecated. Multiple Data Sources should be used instead with pre-defined Service options.



The CoreAPI function coreapi.reports.xdrs is DEPRECATED.

API Testbed

Please be noted that the API Testbed section is marked as deprecated. It will be fully removed in the next versions.

  • No labels