Skip to end of metadata
Go to start of metadata
On this page

JeraSoft Development is excited to announce the major release of VCS 3.12.0.  This version includes a variety of new features and capabilities for VCS users

VCS Version Numbering

Starting from VCS 3.12.0, we introduce new guidelines for the version numbering.
VCS versions are denoted using a standard triplet of integers:

  • GENERAL BRANCH - contains major features and significant changes to VCS, (i.e. modifications in system architecture and/or user experience).
  • MAJOR - the major version contains significant changes, might have backward incompatible API changes.
  • MINOR - the micro version with backwards-compatible bug fixes that do not affect either consumers or providers of the API.

We encourage customers to upgrade to the latest version of the software.

It is important to note that our clients are never at risk of updating to the latest MINOR versions. These versions don't contain any backward-incompatible API changes and will not break any integration made.

Key Features in this Release 

JeraSoft VCS 3.12.0 delivers the following main features:

  • Internet of Things (IoT) services enabling VCS users to bill any type of event within their business model.
  • CoreAPI methods for a real-time integration with 3rd party systems.
  • Customer Dynamics Report tool for creating dynamic reports in terms of customer base growth, subscriptions and on-demand services usage, balance refills, etc.
  • Provisioning API that allows calling of external handlers triggered by events within billing platform. This will greatly simplify data synchronisation with 3rd party systems such as application servers, gateways, CRMs.

Here you can find a full list of new functions and improvements available by updating the software.

IoT services

To rate and bill vast amounts of network traffic gathered from several devices (computers, vehicles, smartphones, traffic lights, droids etc.), we integrated services covering multiple IoT/M2M billing needs. JeraSoft IoT services gather, analyze and monetize data from smart thingsbridging the gap between financial, operational, and development initiatives within IoT business infrastructure.

For more details, go to the Configuration → Services in our User Guide.


JeraSoft introduces CoreAPI methods for a real-time integration with 3rd party systems. It's designed for a limited number of most used methods for integrations. 
Typically, the CoreAPI methods can be used for the following:

  • for developing customers' portals;
  • for mobile applications;
  • for data synchronization with the 3rd party system, including softswitches, gateways.

For more details, open the APIs → CoreAPI article in our User Guide.

Please note, that all methods available through CoreAPI make the same methods deprecated in the Management API. Starting from VCS 3.13, methods equivalent to CoreAPI, will be not supported in the Management API.


This release contains updates to the next modules of the Management section:

  1. Clients: new column "Tags" was added to the list of Export parameters.

  2. DIDs tab: appeared additional package identification (Client's Package ID) while assigning a DID.

  3. Accounts: added validation to prevent removing accounts with active packages.

  4. Rate Table: new possibility to add additive rates with empty "Code" or "Code Name" fields.  

    All extra rates have been renamed into additive rates in reports due to the previous billing updates.

  5. Transactions: 

a. The logic has been significantly reworked. Now charges will be created according to the Tax Profiles, Rate Tables (including tax or not) configurations and the next parameters: invoice time (transaction date), client IDcurrency IDpositive or negative amount.

b. The option "Group Charges" in the quick search tool was removed. By default, all transactions are filtered by hours.

c. Possibility to set up taxes is only accessible for charges. 

d. Transaction amounts could be specified with comma as a decimal delimiter, for example, 2,45. 

e. While creating a new transaction with taxes, the system calculates a tax rate and displays it under the amount in the same pop-up window (see screenshot below).

Screenshot: Transactions settings

  • When a customer has 2 calls (with and without taxes) for the same hour, two charges will be listed in the transactions: one charge with taxes and a second one - without taxes. In case you change one of the parameters listed above and the re-rating is done, you might have additional transactions.
  • If you see a transaction with a tax represented as a dash (−), it means that all taxes were included in rate tables.
  • When the Reseller owns a payment account, transactions for this account can be created for Clients and Sub-Resellers belonging to this Reseller. However, transactions of this Reseller (owner of the account) can not be assigned to this payment account.

6. Balance Report: client's charges and payments will be displayed without currencyThis change refers to *csv, * xlsx and *xls formats of the report.

7. Resellers: new variable ${date} for mail templates. It allows adding the data when the notification was sent. This variable is accessible for all types of Mail Templates.



  1. We have reworked an interface of Clients Packages and Packages forms and added next options:

    • advance renew - allows to specify a period before renewal date to process renewal;

    • renew due - allows to indicate a period the system will try to renew a package.

Please note, renew intervals of packages will be converted to the smallest units. For example, 1 day + 1 hour = 25 hours.

Screenshot: Package settings/ edit form

2. "On Hold" option for DIDs appeared in the Packages settings. You can set how many days to keep a respective DID on hold in the Packages edit form.  After update to the latest version, "On Hold"  of existing packages will be set to the largest value of all Hold days from all DIDs with tags specified in "Allowed Tags".

3. New possibility to assign the package in the past and add package minutes backdated. 

For example:

You assign the "Canada 200 minutes" package April 12, but you want that the package has been used since April 1.
Then, apply package re-rating to recalculate the tariffication during the period. Please, run the re-rating after the assignment of the package for a current month. 

4. Package's prioritization was reworked. Now, the package with 1 priority will be higher than the package with 2 priority. 

 DID Management

New "After Hold " option is available in the DID Management edit form. It's intended to determine which status (reserved, in stock, archived) DID should be moved to after staying On Hold.  


VCS statistics tools continue to evolve with users' needs and there are several updates to the reports due to IoT services integrated into the billing platform:

    • Added possibility to generate a statistics report of limitless data of all types (calls, sms, bytes, etc.). To get more information, read the "Services" article in our User Guide.  
    • CDRs List and Calls Rerating sections were renamed to XDRs List and XDR Rerating due to new billing entities (sms, data, IoT events).
    • Report's option "Group By" was enlarged by a new parameter "Services"

Screenshot: Summary Report query form

Other modifications:

    • Query form of reports saves previously selected set of columns.
    • Tougher restrictions on data visibility were applied.
    • Orig-Term Report: a new row "Total" is accessible in the plain view of the report.  
    • Routing Analysis: the method of logging to the report via web is modified; improved filtering option and tooltip properties. 
    • Archive Management: the interface was substantially modified, covering new components.

Screenshot: Archive Management section

Customer Dynamics

We implemented a new type of statistics report that allows your company to watch clients' dynamics. As usual, Customer Dynamics reports are represented in the form of the table. However, you can create a chart to effectively interpret key information and facilitate the decision-making process.

Screenshot: Customer Dynamics section/query form

Summary Report

When you make a report and filter data by Client/ Client Tags/ Account/ Code/ Code Name/ Owner parameters, two Orig-Term icons  appears on the toolbar. 
They allows to generate reports with origination and termination data separately.

    • this Orig-Term icon  allows to generate a report based on origination data;
    • this Orig-Term icon  allows to generate a report based on termination data.

Screenshot: Summary Report section



Added possibility to bill on-net calls where both the calling and called parties are on the same provider's network by using tags. 

To do so, you need to create a rule for the Traffic Processing with Src/Dst match and add a tag (for example, on-net tag for calls matching this rule). Then, add this tag to rate tables. As result, calls within a respective operator will be billed by an added tag.   

Screenshot: Tags section

All tags added while rates import process will be present in Tags section for further usage. 

Invoices Templates

Due to integrated IoT services, several parameters of invoices templates were changed.
After the update, the system will automatically update variables. 

You can find a list of changes below: 

{inv_due_days} to {due_days}
{package_time} to {package_volume} 
{total_calls_count} to {service_ID_count_total}
{total_calls_minutes} to {service_ID_volume_total}
{total_cost_calls} to {cost_total}
{calls_subtotal} to {count_subtotal}
{total_calls_tax} to {services_tax_total}
{time} to {volume} 
{currency_rate} variable removed


Gateways functionality was enhanced as a part of IoT services development. Thus, our team integrated a new collector "JeraSoft VCS Common" for new billing entities (sms, data, IoT events). This collector is available in the Files Collector and RADIUS Server settings. 

Screenshot: Gateways section


  • Moreover, the "VoIP" gateway type was renamed to "Regular" (i.e. default gateway that uses SIP, RADIUS or XDR files).
  • New field "Services" was integrated to allow selecting different types (call, sms, data) for a gateway. Each gateway can only have one type of service. 
  • The VoIP Gateways section was renamed to Gateways.

Screenshot: Gateway edit form

New modification for the RADIUS collector: Brekeke SIP Server. Now, the behavior of this server is the following:

  1. When the "src-number-in" contains strictly digits, then this number will be used as SRC number by the VCS. 

     Packet to expand

    Packet 1

    src-number-in - 789789789789;
    Other fields as P-Preferred-Identity, Privacy or Remote-Party-ID will not used.

    Result: src-number-in = '789789789789'. 

  2. When the "src-number-in" has a following value:  "Anonymous"/"anonymous", "Unknown"/"unknown", "Restricted"/ "restricted", "Asterisk"/"asterisk", "Unavailable"/ "unavailable", then the VCS will check other fields: P-Asserted-Identity, Privacy: id. As the result, the VCS will use the value from the "P-Asserted-Identity" field, if the "P-Asserted-Identity" has a number only with digits. 

     Packet to expand

    Packet 2

    src-number-in - Anonymous;
    Privacy - id;
    P-Asserted-Identity = <sip:[email protected]>;

    Result: src-number-in = '789789789789'. 

    Packet 3

    src-number-in - Anonymous;
    Privacy - id;
    P-Asserted-Identity = <sip:[email protected]>;

    Result: src-number-in = 'Anonymous'.

    Packet 4

    src-number-in - Anonymous;
    Privacy - id;
    P-Asserted-Identity = <sip:[email protected]>;
    P-Preferred-Identity => <sip:[email protected]>;

    Result: src-number-in = '789789789789'.

    Packet 5

    src-number-in - Anonymous;
    Privacy - id
    P-Asserted-Identity = <sip:[email protected]>
    P-Preferred-Identity => <sip:[email protected]>

    Result: src-number-in = 'Anonymous'.

    Packet 6

    src-number-in - Anonymous;
    Privacy - exampletext
    P-Asserted-Identity = <sip:[email protected]>

    Result: src-number-in = '789789789789'.

  3. When the "src-number-in" consists of a following value:  "Anonymous"/"anonymous", "Unknown"/"unknown", "Restricted"/ "restricted", "Asterisk"/"asterisk", "Unavailable"/ "unavailable" and "P-Asserted-Identity" is absent,  the VCS will check the next fields: P-Preferred-Identity and Privacy: id.

     Packet to expand

    Packet 7

    src-number-in - Anonymous;

    Privacy - id;
    P-Preferred-Identity = <sip:[email protected]>;

    Result: src-number-in = '789789789789'.

    Packet 8

    src-number-in - Anonymous;
    Privacy - id;
    P-Preferred-Identity = <sip:[email protected]>;

    Result: src-number-in = 'Anonymous'.

    • In case, P-Preferred-Identity contains a number only with digits, this number will be used as SRC number by the VCS (i.e. src-number-in - Anonymous; P-Preferred-Identity - <sip:[email protected]>, Privacy - id).
    • In case, P-Preferred-Identity contains a number with mixed digits/characters or only characters/letters, then VCS will use the parameter specified in the "src-number-in" field (i.e. src-number-in - Anonymous; P-Preferred-Identity - <sip:[email protected]>, Privacy - id).

4. If the "src-number-in" contains a following value: "Anonymous"/"anonymous","Unknown"/"unknown", "Restricted"/ "restricted", then VCS will check the "Remote-Party-ID" (should be digits) and "Privacy" and take the SRC number from the "Remote-Party-ID" field. 

    •  Packet to expand

      Packet 9

      src-number-in - Anonymous;
      Privacy - full;
      Remote-Party-ID = <sip:[email protected]>.

      Result: src-number-in = '345345345'

      Packet 10

      src-number-in - Anonymous;
      Privacy - full;
      P-Asserted-Identity = <sip:[email protected]>;
      Remote-Party-ID = <sip:[email protected]>. 

      Result: src-number-in = 'Anonymous'.


JeraSoft team delivers new powerful business capabilities, namely, Internet of Things (IoT) specific services enabling providers and VCS users to bill calls, bytes and gain new revenues from IoT services. For more details, go to the Configuration → Services in our User Guide.


Screenshot: Services section 


Events Log  

Now, an error message of a blocking action of the Factors Watcher will be further displayed as an alert message. 

Provisioning API

We have implemented the build-in Provisioning API that can be used to call external handlers.  

Provisioning API provides a mechanism for a real-time integration with 3rd party systems, including softswitches, gateways and CRM systems.  It calls pre-defined handlers on an occurrence of specific events in the system. The handlers are allowed to modify data, allow or forbid the action or simply process given event. 

 This tool allows sending data to external hooks, whereas our current API (API Testbed section) functionality allows receiving data from external resources.  

Screenshot: Provisioning section

For more details, open the ProvisioningAPI article with an additional information in our User Guide.

Task Scheduler

 Due to the Provisioning API functionality appeared in the system, Task Scheduler section contains a new Provisioning manager, that allows processing events asynchronously.  


Screenshot: Task Scheduler section 


Appeared a possibility to view CoreAPI Token used for the authorization.


As always, we welcome any questions, bug reports, and other feedback on this release. We encourage users of JeraSoft VCS to take advantages of the latest features and upgrade. 

  • No labels