FlySIP SoftSwitch v5.3 Release Notes

Posted on 30 May 2021

Major Changes:

SS-3498 - New Balance allocation algorithm

We have introduced an improved balance allocation algorithm when calls are initiated. As calls come in we allocate enough money to last the duration of the ACD and a credit timer is set to terminate the call after the ACD is over. Five seconds before the credit timer fires the B2BUA will allocate more money for one more ACD. If the allocation is successful then the call is prolonged accordingly and if it’s unsuccessful the call will end as the credit timer fires.

SS-3767 - New Authentication Manager

We have addressed possible Call Processing Time (CPT) spikes with the help of a new authentication manager. If switch operators had a large number of number of authentication rules they observed some occasional spikes in call processing time. We have optimized this process by introducing an authentication manager and thereby squeezed out a nice improvement in Calls Per Second as a result.

SS-3418 - Multi Factor Authentication (Email and Google Authenticator)

Multi Factor Authentication is a major security improvement to our Product. Users will now be able to verify web logins to their softswitch by either clicking on a security token sent to their email or through Google Authenticator. This improvement will help minimize opportunities to share login credentials and ensure those that can access your softswitch are the only ones to be able to access that resource.

This feature is still in final testing at this time.

SS-1151 - RFC: 3262 Reliable Provisional Responses

This long standing feature request has now been implemented. In FlySIP Softswitch 5.3 we now provide information on the progress of SIP calls as defined in RFC 3262. This functionally is commonly referred to as PRACK. The Softswitch can now send PRACK messages when requested by the Caller UA and recognizes and confirms PRACK messages received from Vendors. The presence of RSeq: SIP header in the provisional response will prompt the softswitch to negotiate the Responses Reliably and increase the tolerance for External UAs that might not use this approach.

Pre-Upgrade Checks:

OpenSIPS Migration

As part of our prior Softswitch Version 5.2 we added OpenSIPS to our Distribution to handle signaling of your calls. During v5.2 upgrades existing customers were allowed to continue using SER for their respective signaling needs but Any newly provisioned systems after 5.2 were setup to utilize OpenSIPS. This gave us a good opportunity to watch how traffic flowed utilizing OpenSIPS in greater detail without impacting our existing customer’s needs. After a full year of stable and reliable functionality we will be migrating all our customers to use OpenSIPS before the update to FlySIP 5.3.

H.323 Deprecation

Over the lifespan of H.323 VoIP providers have been shifting their traffic away from H.323 protocols in favor of SIP. This also means fewer patches and corrections for the third party libraries that we use to support H.323. We have as a result decided to end support for the H.323 protocol in FlySIP 5.3. We will continue to support this in all our prior versions of our software. As part of your upgrade procedure to FlySIP 5.3 we will run a systems requirements check for any H.323 Vendor Connections and H.323 Authentication rules. If those are found you will be asked to update those configuration settings before you can proceed with an upgrade to FlySIP 5.3

FreeBSD version and PostgreSQL Versions

Additional checks will be run to check the Operating System and Database Version of your system. This will help make sure you have the latest security updates are in place before proceeding with the upgrade and protecting your sensitive data.

New Features and Improvements:

SS-4289 - Stripe Payment Integration

It has been some time since we have added a payment gateway. One of the last features added to FlySIP 5.3 Stripe Payment gateways give you more options for credit card payments into the switch for your customers. We’ve updated our payment gateway documentation up on our support forums to help you configure your switch for the new data.

SS-3890 and SS-3888 - Full Screen Views and Snapshots of Monitoring graphs

We have added full sized views of each of the monitoring graphs in our web application. Users will be able to see in a higher resolution each individual monitoring graph allowing some improved visibility to the mission critical performance of your softswitch. You will also be able to download a snapshot of those monitoring graphs through the web interface or a csv file containing the raw data. This will allow for some more detailed analysis of some of the critical data available through your softswitch.

SS-3989 - Add Subscription type for DID Charging groups

We have added new subscription types for DIDs. These new types will allow for Setup fees and Monthly fees to be charged for DIDs and DID Delegations.

SS-3923 - Vendor and Connections are now displayed on the active call page.

Vendor and Connections are now displayed on the active call page. For On Net calls to trunks we display a “N\A”.

SS-3578 - CC and CPS Limits can now be placed on trunks.

Switch operators can now put CC and CPS limits on trunks. This allows switch operators to offer different levels of service to my clients with some fixed limits from an account and single balance. Adjustments were made across several components to add this additional feature.

SS-3752 - Disallow ACD on tariff to be lower than 5 seconds

We have set a Minimum ACD of 5 seconds. This was to protect the system from frequent checks for balance during balance allocation. If these checks happened at ACDs of less than a second we believe this may negatively impact the overall performance of the switch.

SS-1296 - Customer CDRs in DID scenarios are now displayed on the Web when Selling Charging group is assigned

CDRS of DIDs delegated to non-root customers are now displayed via the web. This heavily requested feature will now allow you to track usage and profit from those CDRs.

SS-3700 - Cost Decimal Precision default values

We have added two keys to the system config defaults table which will allow switch operators to define what cost decimal precision default values are used for vendor and tariffs. Systems will be setup initially with a default value of 20 but this can now be adjusted by switch operators to their liking.

SS-3711 - Modification in Account deletion warning prompt for account name

Account deletion will now ask you if you want to delete the specific account name. Thanks Craig Deutsher from GCOMM for suggesting this feature request. What a legend!

SS-3719 - add option for web interface for CLI to be the caller name.

We have added some options for caller name, You can now use CLI as the Caller Name. Caller Name can now be set using one of these 4 parameters: Passthrough Mode; Accounts First, Middle Initial, and Last name; custom value; and finally CLI.

SS-3640 - Remove billing_plans.i_invoice_template field from DB

This field is a bit of an old field no longer used. The specific Invoice Template is now selected on the account level. This is more clean up of our database. This should not affect older versions.

SS-3634 - Invoice template improvement (add Country/Description to the CDR table)

We have added country and descriptions to the CDR table. This will allow them to be displayed on the Invoices generated in the future.

SS-3603 - Huntstop for 180/183 codes

We have extended functionality for Huntstop SIP codes on connections. When a response code of 486, 501, or 503 is received from a connection the softswitch would stop hunting through connections. During our 5.3 development we have extended this functionality to include 180 and 183 response codes. This change has been back ported across all our currently supported releases from 5.0 and Up.

SS-3594 - Add setting to web for truncating invoice history in system config

We have added a configuration setting to clear out old invoice history from the database. This table can grow to a large size if left unchecked and as a result we have added a configuration setting in system configuration to clear out older invoices. This parameter is set to 1 year by default.

SS-3893 - Open payment details in a new tab on Payments History page

We have made a workflow improvement for accessing payment details. This will now open in a new tab of your browser making it easier to check back to the payment history.

SS-3561 - Open Payment Details in a new tab on Sales Report Page

Clicking on the link for Payment details will now open in a new tab. This will make it easier to view the payment details and still have easy access to the sales reporting improving navigation in the web interface.

SS-3826 - Add web UI for system/strackerd/next_duration_algorithm

Owners and Admins of Environments can now manage balance allocations as described above in the system parameters under the billing section. These changes are related to the balance allocation feature we have added.

SS-3772 - Audit Log for Call Disconnects from the Active calls page

We have improved logging for call disconnections when calls are disconnected from the active calls page. The new logging will record the user and the user’s IP address when calls are forcibly disconnected by the web user.

SS-3560 - Web displays Expiration Date incorrectly when Account has Lifetime set, First Use event happened and voucher with Unlimited was used

We have fixed an issue that incorrectly displays the expiration date when an account has a value of “lifetime” set.

SS-3558 - Huntstop usage to be reflected in cdrs

Several components needed some adjustments to track if and how Hunt Stop usage was used. This information is passed around and is now stored in the database.

SS-3556 - truncation period of invoice_history to be stored in the db

invoice history can be rotated out on a regular basis. This helps optimize your storage and can be configured through system configurations. Users will be able to specify the duration (in months) to keep invoice data. By default this value is set to 12 months.

SS-3552 - Max Length of domain name in email addresses

We’ve made some changes for email validation. This change will allow for the top level domain to be 9 characters long.

SS-3489 - Translate Softswitch into Farsi

We added some new talent to our development team last year. Karim Moradai took on the responsibility of translating our web interface into Farsi. This was one of his first assignments and he has been able to make some great contributions for our invoicing system, disk management, and monitoring systems. This additional language may help those in new markets globally.

SS-3470 Add time of the first message to sip_logs table

Sip Log viewer will now include the time where the first sip message begins. This will help ease troubleshooting of problems and give users extra information for diagnostic purposes.

SS-2818 - Add a possibility to clean old archived CDRs automatically

Users will now have options to adjust retention policies around archived CDRs. This setting can be adjusted on the System Parameters page in the Data Retention section.

SS-2789 - Code translation rules on Web

We have expanded the ability to add, delete, or modify SIP code translation rules. We have had the capabilities to adjust this previously but this can now be managed through the web interface.

SS-3996 - Review Email Notification text

We have reviewed the text strings in all our email notifications and some minor changes have been made.

SS-1466 - SIP Header Pass-through web management UI

Switch operators now have the ability to manage what SIP headers get passed from Leg A to Leg B using the web interface. This will allow operators to change the passthrough options according to their specific needs.

SS-1519 - Add Date/Time parameters to the test dial plan

We have added parameters to the test dial plan to be able to specify the date and time. This will allow users to verify the active and expiration times of their Routing Groups, Tariffs, and Destination sets.

SS-3952 - Customer Sales Report is now shown under the “Billing” web user type.

We noticed a Sales related report that should have been included under the billing web user type. Access to this report has been extended to users who have the necessary permissions.

SS-3883 - More options button isn’t very clear its an actual button

We changed out the more options button available on several pages. This button used to look like a faint down arrow if you looked closely enough. It has been changed to be a bit more visible to end users.

SS-3089 - Invoiced to write proper debug message for failures

We have some improved diagnostic information if you are having problems generating invoices. We will now be able to determine what environment, what template and the particular line or macro you are having problems with. This will help our support team investigate issues a bit quicker. Some of this information can also be passed along to the user when a problem is detected.

SS-3764 - Invoice templates can now be created with nested html tables

We have made some improvements in our invoice templates to allow for Tables to be nested within Tables. This may help you better set up your invoices and remove some problems when designing and creating your own invoice templates.

SS-3793 - Invoice Daemon will have improved debug messaging

If you are having problems with generating your invoices our Invoice System will have some improved debug information that will help troubleshoot any problems you may have. This will include problems with source images, template name and id, environment, or what macro specifically may be causing the issue during invoice generation.

SS-3794 - Add an option for setting the precision of prices in low balance notification templates

In your low balance notification template you can now specify decimal precision of your balances. To do this update the ${BALANCE} macro as ${BALANCE:N} where N is the number of decimal places you need the precision to be set too. Often for balance tracking a high balance precision is needed, but customer facing notifications should likely be rounded to just a few decimal places. This gives you some added Flexibility here (thanks Ben from SIPLabs for this one).

SS-4133 - Increase character limit on ‘user_agent” field in location table.

We have changed the data type for user_agent in the location table to allow for some longer values. This was previously set to 64 and caused some issues if the user agent string was too long.

SS-4187 - Increase character limit on ‘contact” field in registrations table.

The contact field now allows for a domain length of 253 ASCII characters. This will allow longer domain names sent to vendors upon registration.

SS-4169 - Extending Access levels for Billing and NOC web access levels

We have made some minor adjustments to Web access for both Billing and NOC roles. These changes have also been backported to our latest 5.2 version.

SS-2562 - CPS data over SNMP

We have made Calls per Second Data available through SNMP. This will help some operators retrieve and monitor the current status of their softswitch with a wider range of tools.

SS-2562 - ASR/ACD data over SNMP

We have made ASR and ACD Statistics are now available through SNMP. This will help some operators retrieve and monitor the current status of their softswitch with a wider range of tools.

SS-2562 - RTP Health data over SNMP

We have made RTP Health data is now available through SNMP in FlySIP 5.3. This will help some operators retrieve and monitor the current status of their softswitch with a wider range of tools.

SS-2277 - LRN Server port should be added

Users can now specify the Server port used for LRN requests. This should help in cases where an LRN Server doesn’t support these requests over port 5060. Thanks Justin from Optimal Reality for requesting this improvement.

SS-4089 - Account Authentication based on Remote-IP and CLI/CLD URI domain

Two new fields exist for “CLI URI domain” and “CLD URI domain” in authentication rule properties. This change also includes a configuration option that will prioritize the use of CLD and CLI attributes when using authentication.

SS-4281 - Custom SIP Header generation based on CLI

Custom headers can be generated based on CLI. This may be useful for use with our external translation ruels if you needed

API changes

SS-4013 - Add Time Parameters to the test dial plan

In a similar vein to SS-1519 we have added parameters to the testDialplan() xmlapi method to accept call_start_time. This will allow switch operators to better test activation and expiration times for Routing Groups, Tariffs, and Destination Sets.

SS-3381 - More input parameters in Active Calls API methods

We have added some new input parameters for the Active Calls API. You’ll now be able to get them by account, by vendor or by connection. For more information on these API calls you should check our support article on XML-RPC API - Manage Active Calls 

SS-3777 - Language Support in updateCLIMapping API

We have extended the updateCLIMapping XML-RPC API to include an optional attribute for a two character language (ex. EN, RU, FR) code for use with CLI.

SS-3753 - Web and XMLAPI to use system_config for Decimal Precision upon Creation of Vendor/Tariff

Both our web and XML-APIs will make use of the value stored in the System Config table for decimal precision when vendors and tariffs are created.

SS-3681 - Delay and Duration values are returned in different types for connected and disconnected calls

We have made a small change to the data types used for delay and duration for the active calls API. Delay and Duration are now both have a data type of “Double”

SS-4130 - Updates made to Monitoring XML-RPC API documentation.

We noticed during the development process we left some api calls undocumented. We have updated this documentation for some of the graphs that are available. Please review the documentation saved here: 

SS-3746 - UI Improvements to keep Selling and Buying Charging groups together when looking at the DIDs.

The columns of Selling Charging Groups and Buying charging groups were split up in prior versions. It makes better sense to keep these two columns closer together in the UI.

SS-3775 - Hyperlinks in low balance notifications.

We have made some changes to how low balance notifications go out. We have changed the content type of these emails to be “text/html” which will allow for hyperlinks to be used.

SS-3776 - New Macro for low balance notifications.

We now have a macro that can be used that will show a minimum payment amount for both accounts and customers. To use this macro you will either use “accounts.min_payment_amount” or “customer.min_payment_amount” to display this data on the low balance email notification.

SS-3803 - DNCL but with undesired CLIs

We have extended our DNCL Functionality. We can now specify CLIs to the DNCL. For more information on this new functionality you can take a look at or support documentation

Stability Improvements:

SS-3641 - CDR Recalculation time error in email

We fixed an issue on where the time stamps of the CDR recalculations were displayed incorrectly. The re-rate process will now consider factors like TZ of the user when displaying the appropriate time.

SS-3621 - Web shows wrong balance after payment

An issue was faced where the balance field was shown incorrectly when looking at the transaction details. The balance should be correct at the time the transaction is posted.

SS-3844 - Download rate fails in tariff name has ‘/’ char

We have fixed an issue that prevented downloading of Tariffs if a tariff name contained a “/” character when using xlsx. Downloading CSV files of the same type were unaffected.

SS-3760 - Web shows wrong type for PostCallSurcharge in CDR details

We have fixed an issue where Post Call Surcharges were being displayed incorrectly in CDR details.

SS-3774 - Cleanup of old VPN module and Daemon Cleanup

We have long since deprecated functionality for the VPN module. The Remnants have been removed from our system.

SS-3572 - Invoice and Low Balance Email notifications contain the word “Subject” in the subject header

We fixed a small typo in the invoice and low balance email notification template. 

SS-3660 - Outbound IP always use a primary IP

An issue was fixed that corrected a problem where the Outbound IP address reflected the primary IP address. Outbound IP addresses should work as expected. 

SS-3645 - SIP Log extraction fails to process call-ids case one of them are of Cyrillic letters

We fixed an issue that caused Sip Log Extraction to fail if the call-IDs contained cyrillic characters. Call-IDs with Cyrillic characters should extract as expected.

SS-4045 - One way audio issue for systems with 2 interfaces with public and Private IP addresses

An issue was corrected that caused one way audio when the Private IP address was included in the SDP section of the 200OK. The Public IP address of that respective interface should have been sent in its place.

SS-3846 - ASR/ACD billable calls is 0 while billed duration is not 0

A rounding error was corrected on the ASR/ACD report when rounding up.

SS-3805 - SSL warning issue with several domains

We have corrected an issue that may occur if you are adding your own SSL certificates. We have made sure that if you have added your own certificate the warning about SSL certificates are no longer being displayed.

SS-3965 - Billing.sh issue needs better exception handling to skip failing accounts.

Some of our customers have reported a problem where if the Billing system came across an account with a problem future charges that were intended to be charged could no longer be charged. Steps have been added to correct this and prompt the billing system to continue on with it’s work.