Sippy 2020 Alpha Release

Hello Everyone,

Sippy Software Inc is happy to announce our 2020 release is now moved to Early Alpha testing. We have been working hard over the last few months to put together this release and are happy to preview some of our changes. Our final release may include more items than described here as we wrap up our development cycle.

IF you haven’t had the opportunity we have posted some videos describing just some of the major changes we have planned up on our Youtube page. Here are the changes we have in plan for Sippy 2020 release at this point.

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 Sippy Softswitch 2020 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 presenece 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:

New to our Sippy 2020 deployment process will be some pre-requisite checks to see how your system is configured. This will help determine if you are ready for the Sippy 2020 release. After the initial request to upgrade our support team will run a lightweight script to check your system for some of the following items. You will be informed at that time if any additional maintenance may be needed before proceeding. We plan on extending this new process in future versions.

OpenSIPS Migration

As part of our prior Softswitch Version 5.2 we added OpenSIPS to our Distribution to handle signalling of your calls. During v5.2 upgrades existing customers were allowed to continue using SER for their respective signalling 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 Sippy 2020.

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 Sippy 2020. We will continue to support this in all our prior versions of our software. As part of your upgrade procedure to Sippy 2020 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 Sippy 2020.

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-3890 - Full Screen Views 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.

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 Minimium 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-3688 - SSL Certificate notifications can now be dismissed

In 5.2 we introduced some on screen notifications for SSL certificates and Firewall rules. We did put in some logic to be able to dismiss the firewall rules but we did not do so for the SSL certificate notifications. We have corrected that behaviour for the SSL certificates and they can now be dismissed through the system configuration screens.

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-3632 - Script to extract custom sip log on web

We have created a support script that will take a text file containing the raw sip log and extract it on our web pages so it can be used for troubleshooting purposes. Once the file is extracted our support team will be able to see the call flow as a diagram making calls easier to investigate.

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-4107 - 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. For more information please check the documentation on our support portal located here: https://support.sippysoft.com/a/solutions/articles/3000083958.

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-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.

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 https://support.sippysoft.com/a/solutions/articles/107462.

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: https://support.sippysoft.com/a/solutions/articles/107509.

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 here: https://support.sippysoft.com/a/solutions/articles/3000041461

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. This felt really redundant to have Subject in the Subject line and after long deliberations we decided to fix this typo. Groundbreaking stuff.

SS-3738 - Sippy branding broke white-label system since upgrade to 5.2

We have made some alterations to our web interface to correct conflicts with switch operators that have their own modified web interface. These were a result from our menu changes introduced in 5.2.

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. Thanks Danish from In2net Technology for pointing this out to us.

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-4126 - OpenSIPS does not process OPTIONS/BYE that contain Route header with switch IP

With the help of Rafeek from Mediavoiz we identified an issue with OpenSIPS setup where OpenSIPS doesn’t recognize itself in Route Header in Options/BYE. This loops the message to itself and replies with a 404 not Found. This has been already been corrected in our latest Sippy 5.2 version

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.

SS-4198 - Nurture Vasyl to one day be a Great Front end Developer (and almost as good as Geka)

As part of our development cycle we took on the great challenge to find ourselves a new web developer to take on tasks like giving a full screen view of our monitoring graphs, change our login pages, and buying our Senior Developers Bounty Chocolate bars to bribe them to show him the mythical ways of the PHP and JavaScript. Well we accomplished that goal and we plan on giving him alot of work to make some big changes for our web interface in the next release cycle.

End of Support for Sippy Softswitch v5.0

With the introduction of 5.3 We are currently planning to move our 5.0 Version of our software to end of support. You still have some time to Upgrade to 5.1 or 5.2. If you don’t have an active support agreement please contact our sales team to assist. We will be posting Additional details can be found on blog.sippysoft.com.

Some cool forward facing projects we are looking at in future versions:

Golang B2BUA

For a number of years now we have been working on rewriting our B2BUA code into GoLang. B2BUA handles Significant portions of how calls are connected and are tracked and this change will mean some significant improvements in CPU utilization, Memory Foot print and pure throughput of our Softswitch product. Its such a drastic improvement Our Product Manager and Lead developer did a presentation on this topic as part of CommCon Virtual 2020 where we will explain why this change matters. Link to the presentation tbd.

Stir-Shaken Functionality

We will be working on adding functionality to handle STIR\SHAKEN functionality in our next release version. This will help verify call origination protecting consumers from robocalls and call spoofing. These regulatory changes will be particularly relevant for our Canadian and American Customers and will be one of the first projects we will start working on post release.

OpenSIPS 3.x

We’re currently looking at upgrading to newer versions of OpenSIPS. There are some new features that will be available to us once we have upgraded this port. This includes support for some new features that are not previously available. Some of the cool features we will be looking at early will be SMPP support (Read this as SMS functionality) and Stir/Shaken functionality just to name a few.

UI/UX improvements

At the tail end of our development cycle we have added to our development team and added an additional Front End Developer tasked with improvements to our User Interface. It’s long overdue. You will already see some of Vasil Tsyvinskyi’s work incorporated in the Sippy 2020 releases when you see the full screen monitoring graph functionality and the Login Pages as an example of his work. We look forward to showing you what improvements he will bring to our user interface in the Sippy 2021 Release.

CDR Separation

This one we have already started working on. In 5.0 we moved balance data to its own database and we will be doing the same for CDRs in our Sippy 2021 release. Breaking CDRs off into their own database will give us more flexibility when it comes to storing and managing the large volume of call data our customers generate.

Do you have any questions or comments about the features you see here? Would you like to submit a future feature request? I suggest a visit our support forums where you can make a post about your idea, or submit a Ticket and we will take a look and see if we can fit some of these items into our road map.