Alpha Release - Sippy Soft Switch Version 5.2

Posted on

Hello Everyone,

Sippy Software Inc is happy to announce our 5.2 release will be moved to alpha release. 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. Here are the changes we have in plan for 5.2 at this point.

What to expect in Sippy Softswitch 5.2

Major Changes:

SS-1114 - Web menu improvements

We have revised our menu system in our web interface. The menu system while generally effective needed some of our attention. We have removed our legacy side menu from the left hand side of the screen and replaced it with a header menu instead. All the items have been collapsed saving users a great deal of noise as they navigate through the web interface. This change also gives us more width to work with. This translates well to pages like CDR reports where the number of columns displayed take up a large amount of horizontal space.

SS-3388 - Make OpenSIPS to be the default instead of SER.

We have upgraded our OpenSIPS port to the latest Stable 2.2.7. It’s got some cool stuff in it so here’s a link to the change log. OpenSIPS is now fully integrated into our product and users can utilize OpenSIPS instead of Ser. New Installations and newly created environments will use OpenSIPS by default going forward in 5.2 and later versions.

SS-3074 - Search function to crawl through menu options

Now that the menu system is collapsed we wanted to give our users a mechanism to quickly find the pages they will need to make the changes they want to make. Users will be able to type 3 letters into the search menu and a list of matching criteria will show up. For example typing in “Tes” will bring up *Tes*t Dial Plan and Exchange Rates. Right now the search is limited to searching through the web pages but we also hope to make it easier to find configuration settings, or searching through accounts in future version.

SS-3125 - Notifications for unconfigured Firewall Policies

The new menu system also gave us the ability to use some of the space in the header for notifications. We now have a notification set in place that reminds switch operators that their switch firewall policies are not yet set. We strongly urge our customers to make sure to use the built in firewall functionality added to the softswitch and make sure some sensible firewall policies are put into place. A notification will be displayed across the top of the web application for Switch administrators to remind them that this setting is needed.

SS-3224 - Notifications for SSL Certificates not being set up

For similar reasons we have decided to also have a notification showing if the softswitch has not yet been setup with a SSL certificate. If you missed the new feature in 5.1 we have added functionality to reach out to let’s encrypt. Users will be able to still upload their own certificates or use Let’s Encrypt to ensure your switch remains secure. If your Sippy Softswitch detects that there isn’t a SSL Certificate setup or expired then a notification will present along the top of the web interface above the menu. This notification can be dismissed for your session but will appear again next time you log in.

SS-1503 - CLI/ANI Matching in Authentication Rules.

A heavily requested feature we have added for 5.2 is to be able to handle ANI based routing in our software. Patterns could be used in the Incoming CLI and Incoming CLD fields by putting a question mark within the number which will result in number matching. For example a CLI that looks like 567?90 will match for 567090, 567190… 567890, and 567990. For more details please check out our support documentation that has already been updated here. This can be applied via the web interface or xml api.

SS-2784 - OpenSIPS NAT Traversal

We have added support for NAT traversal. Registrations and both incoming and outgoing calls now work when NAT is setup. This allows for a number of new types of configuration options that were not possible previously because of NAT Traversal. With this change in place we can start working on more cloud based solutions where the majority of the network exists behind a NAT.

SS-3000 - Update PostgreSQL to the latest 9.6 minor release

PostgreSQL has been updated to 9.6.7

New Features and Improvements:

SS-2557 Create new User Class for NOC

We have added a new user class for our web interface. This NOC class will cover some network and support type roles and will grant access to things like SIP log extraction, Network Troubleshooting tools, active calls, CDRs, Monitoring as well as a few others functions. We have also documented each of the user classes to outline what each can access on our support forum. Please check out the following support article to find out more.

SS-2430 - XLSX support for excel files.

XLSX files are now supported by the softswitch. This change allows the softswitch an alternative to operating with large data sets (like rates and routes). CSV files will still continue to operate but xls files will no longer be supported. Most modern spreadsheet applications have been using xlsx file formats for some time now. With this in mind we recommend customers who still rely on .xls files for managing their switch they update their API calls to reflect the correct file format.

SS-2218 - Improve the Navigation on the Monitoring Graphs.

We have worked on improving the navigation on the monitoring graphs. The monitoring graphs are now easier to use thanks to some new user controls we have added. Switch operators will now be able to select predefined date and time ranges for their reports. We have also added a start and stop end time and day to make it even easier to find and narrow down the times of the data you wish to analyze.

SS-3153 - CurrencyLayer added as an exchange service.

Third party integrations are always subject to change. Both Yahoo and Google Finance have retired their currency exchange services in recent years. Since the service is no longer available we have been in need for adding a second currency exchange service. Alpha Vantage offers the best replacement but as an alternative Currency Layer has been also added. Currency Layer offers a free and paid subscription services. The free service should handle the most basic of cases however if you wanted to handle a number of different currencies the Paid version through CurrencyLayer will be ideal.

SS-3117 - Account Class settings are not inherited upon creation of an account.

Account class settings are now inherited when accounts are created. Settings from the account class are setup for new accounts and cover several configuration options including Voicemail, Registration settings, follow-me checkboxes, Max Session time, and CLI/CLD translation rule values from the account class.

SS-3048 - Binary upload - file handling for rates

Initially introduced as a 5.1 patch we have added an XML-RPC API call for processing rates. Users will be able to upload a file to the softswitch and process the rates through an API call.

SS-3122 - Implement CDR restoration based on transaction queue history.

The transaction cache history will now be stored as a log file. We have also developed a tool that will read through this log file and is capable of restoring CDRs. This tool is available to our own support team who can help you restore CDRs in times of need.

SS-3058 - Random outbound call IDs

Our good friend Ferry from Voiped Telecom asked if we could add an optional setting that will allow outbound call IDs to be randomized. This prevents vendors from seeing the IP addresses when UAs include them in the call IDs.

SS-3060 - Prevent modifications to the default invoice template Creating an invoice templates take some time to get right. Some of our customers go through a few iterations before they finalize their invoice templates. In prior versions we allow for changes to the default invoice template. While it does make it easy for our customers to have a starting point allowing changes to the default invoice template could make it so that the default invoice template no longer works as we behave. We will now instead allow the default invoice template to be copied to a working copy that you are free to modify as you see fit.

SS-3272 - Add “Create based on existing” functionality for our Invoice templates

Since you can no longer edit your default invoice template we have made it so that you can copy from an existing template. This should save users some time if they have need for different styles of invoice templates.

SS-3031, SS-3239, SS-3319, SS-3316 - New macros for the invoice Editor

We have added a few new macros that will be available in the invoice editor. The new macros relate to the charges that can be reflected on the invoice. The changes we’ve added can’t fully be described here but our Support Forums do outline all the macros that can be added to the invoice. Please visit the following support article for more details.

SS-3220 - Generate invoice preview with sample data

Creating a invoice template can be pretty tricky. We’ve made this process a bit easier by allowing switch operators to generate a preview of their invoices using sample data. We created a library with some sample data that would normally be included for the macros you choose and present you an idea of what the invoice would look like. This will help you create improved layouts for your invoices.

SS-2477 - Generate invoice button

You can now generate an invoice from the list of accounts. Right click on the account and in the menu you will see an option to “generate invoice”. You will provide the start and end time for the invoice and your invoice will be created.

SS-2971 - Network trace can only run one at a time. Sometimes you want to run two at a time.

You can now run up to 4 network traces at a time. This new improvement will allow you to start a long running network traces and start some short running network traces. The system will queue additional network traces if for some reason you need to run more than the 4 allowed network traces.

SS-2968 - Sippy and Balances get backed up coherently

There are two databases for our 5.X generation of soft switches. The Sippy Database and the Balances Database are quite different in terms of the amount of disk space needed to store these databases. Given the size differences the backups of these respective databases start and complete at different times. We have addressed this by suspending sqlcached during the backup process.

SS-2965 - Limit the size of the voicemail box

We now have a configuration option to limit the maximum number of voicemails in a given mailbox. There are two different types of behaviour. You can now either reject new voicemails from being recorded or purge old voice mails and record new voicemails. The IVR prompts may need to be recorded to make use of this feature. You will be able to find this configuration option in the system config on a per environment basis.

SS-2964 - Callback call leg should never try to record a voicemail.

Some IVR applications are configured to work via callback. The callback call leg may be routed to a local account and that account may be inaccessible (busy or unregistered). If the account has a voicemail turned on the voicemail will be recording the prompts of the IVR application which will accumulate over time. The B2BUA will now detect if the callback call leg and disable the voicemail on it even if the voicemail is enabled.

SS-2913 - Allow different number of RTPProxy and B2BUA instances.

It is now possible to improve performance in some instances by finely tuning the number of RTPProxy instances to the number of B2BUA instances to achieve peak performance of your softswitch. Contact our support team to see if we can help optimize your systems performance after your upgrade to 5.2.

SS-2907 - Display installed and obsolete modules on the System information page

The System Information page will now show what modules that have been deprecated over the years.

SS-3118 - DNS resolution should cache negative results

DNS resolution is needed for DID authentication. Sometimes we get negative results from that DNS resolution. We now cache negative results so that we aren’t regularly trying to resolve the DNS of a domain is not resolving as expected. We recheck the Domain name every 5 minutes to see if the problems correct for themselves.

SS-3346 - Block customer (DB and call processing)

We have added a new feature to block an entire customer. When a customer is blocked none of their accounts will be able to make calls. Customers will be blocked from the Web Interface, XML-RPC APIs, and other functions. Any accounts, customers, or sub customers will be blocked further down the tree. Any calls that are in flight will be disconnected. These changes are also reflected in the test dial plan.

SS-3318 - SIP URI Parameters modification

The new field connections.pass_ruri_params contains a comma separated list of parameter names to pass. For example if the ‘user’ parameter should be passed to vendor and ‘test’ parameter should be dropped in this INVITE:

INVITE sip:21650011495@;user=phone;test=value SIP/2.0

then the connections.pass_ruri_params should contain ‘user’. And if both parameters should be passed then the connections.pass_ruri_params should contain ‘user,test’

SS-3306 - Precise naming of Customer Summary Report Page

With the change in menu we had to rename some of our pages to make them clearer. There were summary Reports for Vendors and Customers so we have made them more transparent in the new menu. We have also changed the subject header for the email that goes out with the Customer Summary Report to reflect that the email sent is for the customers.

SS-3292 - Add Release Source column into CDR Download report

Release Source column is now present in downloaded CDR Reports.

SS-3167 - Ability to send SDP in the ACK using the late offer model.

SDP can now be sent in the ACK using the late offer model. The called party receives an INVITE without the SDP in the message. When the call is answered a 200 OK is sent back to the caller with an ACK containing the SDP. This allows the Caller to determine what media codecs are used for the call.

SS-3257 - Filter accounts by description

A new filter has been created on the accounts page that allow you to search through accounts based on account description fields. You can search for accounts that are similar or not similar to a certain string.

SS-3255 - Unable to view long connection names.

Long connection names could not be fully viewed on the rerate CDRs page. We have extended the size of this text field and we have also added a horizontal scroll bar if the connection name is longer than the space allows.

Security Improvements

SS-3197 - Add audit log for firewall_rules.php

We have added logging for any changes made to firewall policies. Switch operators are now able to check for additions, updates, reordering, and deletions within the audit logs on the web.

SS-3274 - Lets Encrypt SSL certificates can now be enabled from the system parameters pages

In our initial implementation for 5.1 we missed including Lets Encrypt on the system parameters page. We have addressed this both in our 5.1 (for installations after August 3rd, 2018) and 5.2 releases.

SS-3306 - Add functionality to check password strength on change expired password and change password on first login pages

A new UI element is present when Passwords are changed. This should help users pick better passwords.

SS-3113 - Extra field to store outbound call IDs on Connections.

Outbound call IDs are stored and are available for connections. We also plan to add this for trunks in a future patches to 5.2.

SS-2954 - Web changes for support of LRN use in Test Dial plan

We have now factored calls to the LRN server as part of the Test Dial Plan function.

SS-2939 - Add options for landing page because of long load times.

We have added a new option for landing pages on accounts. Accounts can be configured to change the default landing page after login to either the CDR page or user preferences. This will help users login to the system easier and access the CDRs when they need them.

SS-2886 - web UI to permit call processing when there is insufficient balance

We have added a new configuration option that will allow for free onnet calling to accounts. This can be enabled on the account classes page and account preferences page.

SS-2588 - Extract SIP log

A new feature is available on our CDR pages. You will now be able to right click on a call to extract the SIP log. This will make troubleshooting calls much easier.

SS-2341 - Additional headers to be sent within LRN request. Some extra headers are needed in turkish markets for LRN requests. X-RemoteIP, Diversion, P-Asserted-Identity, Remote-Party-ID, and username are all parameters that need to be passed along the invite to LRN providers.

SS-1246 - Add invoice templates into the menu on the web interface.

We have had a page hidden from view to manage invoice templates. Given the number of changes we’ve made to our invoicing system it was time to make this page more accessible as well as our new menu structure we have made this page is accessible in Customers –> Payments.

SS-3214 - B2BUA to provide call direction information.

Our active calls page will now show the call direction. Users will be able to determine if the call is an outbound or inbound call. You will be able to see this new data in the active calls page in its own column

SS-3007 - Voicemail configuration settings should be added to web

We have added configuration settings for voicemail to our web interface. Configuration settings are available per environment. Right clicking the action button per environment will take you to the environment voicemail settings. For more details on what configuration options can be set please check out the documentation here.

SS-2985 - Ability to set Display Precision to 10

We have increased the display Precision on the web interface to 10. Previously the maximum value this could be set to was 8. This was done in our latest version 5.0 and up.

SS-2862 - Restore the default incoming routing entries when the account is restored from the deleted list.

We will now restore incoming_routes when an account is restored. This will help supporting customers who need accounts restored.

API changes

SS-2918 - Top-Up via voucher is not topping up the balance and utilizing the voucher

A change in the xml-rpc api was needed to correct this issue. This was done in our latest version 5.0 and up.

SS-2151 - Make 2xx timeout configurable for on-net calls

2xx timeouts can now be configured for on-net calls through the Web or XML-RPC API. This was done in our latest version 5.0 and up.

SS-3193 - Group Call-ID, Outgoing CLD, Outgoing CLI on Vendor CDR Page

There were some minor descrpenancy between the ordering of Call IDs, outgoing CLD, and Outgoing CLI between the Vendor CDR pages and the Customer CDR pages that made our Pavel our QA tester’s OCD flair up. This had to be fixed.

SS-3385 - Disconnect all calls for customers accounts when the customer is deleted.

A new XML RPC Disconnect all calls of customers and accounts when the customer is deleted

SS-3301 - Method to generate an invoice from i_account over a specified billing period

generateInvoice() is a new api method that will generate an invoice of an account over a specified period. You can read up on the technical documentation here.

SS-3422 - Allow SIP URI parameters on connections xml api

An optional field has been added as part of our connections API methods that will pass a list of comma separated values of alpha numeric values for RURI Parameters. The updated documentation can be found here.

SS-3347 - XML-API method to block customer

We have an XML-RPC API method to block customers. When customers are blocked all accounts belonging to the customer will not be able to make calls. Any inflight calls will be disconnected. Customers will also be blocked from accessing the web interface and making XML-RPC API calls.

SS-3394 - XML-RPC API Methods have been modified to support new matching criteria for ANI/CLI Authentication rules.

We have modified our XML-API methods to handle the changes as specified in SS-1503 for CLI/ANI and CLD matching in our authentication rules. Those changes are described above.

SS-3401 - testDialplan XML-RPC API displayes a Customer Blocked error

In scope of the changes brought in 5.2 to block customers the Test Dial Plan XML api was updated to reflect the blocked customer.

Stability Improvements:

SS-3211 - Infinite Loop in the billingd

A major issue was corrected in our 5.0 versions going forward that corrects an issue with the billingd could cause an issue where the daemon gets stucks in a loop. The issue was in the scenario with post-paid account where first billing run has passed and then account was blocked/suspended, remaining suspended till the date of billing. After billing date account had service plan changed and was unblocked, that actually caused the infinite loop for billingd upon its next pass. This could happen if A patch has been created for all 5.0 and 5.1 releases if a switch falls into this scenario.

SS-3136 - Disable fallback mechanism for our exchange rates.

In prior releases our exchange rates would default to a manual entry if the service failed to pull updated exchange rates. Customers are prompted with an error now after the exchange services have not successfully updated within 3 hours. Switch operators would be able take corrective actions.

SS-3210 - Remove google finance from the list of currency exchanges

The service used to update currency exchange information from google has been deprecated and this particular currency exchange service has been removed. Users are advised to switch to alpha vantage or currency layer for currency exchange going forward.

SS-3079 - kill_idle_queries not to kill download of routes.

Large number of routes will inherently take some time to download. Our cleanup script would stop this query leading to some frustrations from our customers. We have fixed this issue. The download of the routes will complete as expected regardless.

SS-3161 - On Net calls no longer check CLDs against Destinations

Onnet calls were performing checks against Destinations didn’t make much sense. This was particularly problematic if service codes are used.

SS-3341 - ACK is sent from wrong IP addresses

The softswitch now chooses correct source IP address for SIP signalling in multi-homed configuration.

SS-1634 - Buying Charging group for Sub-Customers

Switch operators were able to create DID numbers under sub-customers but don’t have any means of actually using the charging group. The option was visible in our web interface but we didn’t have any possibility to actually use the charging group.

SS-3279 - Re-rate procedure hangs when an account has a large number of CDRS during that period

Thanks to Adnan Ahmed at Bhaoo, we have optimized our re-rate procedure. This issue came up if there were ~2 million CDR records over the course of a month the re-rate procedure would hang.

SS-3262 - Billing intervals are ignored for “Unlimited” minute plan.

Elidan Ortiz from ServNet Mexico flagged an issue where unlimited minute plans did not calculate billed duration correctly.

SS-3254 - Grace period display on rates

Shamsudeen from Compute Galaxy reported a Web interface issue where the grace period indicator not changing after it’s enabled or disabled in rate settings. While the value was correct in the Database, the web interface did not update or refresh itself when.

SS-3203 - problem with moving to other pages on rerate CDRs page.

There was a navigation problem on the rerate CDRs page that prevented users from moving to the next page of results. Thanks Mosin Khalil of Newtel Global for bringing this to our attention. This has been corrected both in our latest 5.1 and 5.2 releases.

SS-3114 - Test Dial Plan displays clickable links that do not lead anywhere.

The test dial plan page had some links that did not lead anywhere. These links have been removed.

SS-3027 - Change email body in the replication alert

We have updated the text of the replication alert email that is sent out if the system detects problems with replication to provide some additional context as to why this may be occuring. Shout out to Kerry Frame from DTS for asking us to expand the description of this automated email.

SS-3018 - Re-INVITE is sent to wrong registered location

an issue was found where the re-INVITE can hit another registered account, not just the one which was used for the outbound call leg. Thanks Trevor from IMobility for raising this ticket with our team. This issue has now been fixed across our 5.X versions of our software.

SS-3014 - Payment notes on Payment history are not shown

Payment notes now show up on the payment history page. Many Thanks to our friend Muhammad Hannan at Acmetel for letting us know.

SS-2969 - Quality monitoring alerts are not sent

The latest version of version of sippy_routed corrects an issue that was preventing Quality monitoring emails from being sent. This has been corrected in all of our 5.x versions of our software.

SS-2946 - Issue with setting Exp date for credit card

A problem was identified on our debit/credit card page where the Expiration date of the credit card was not being updated on the web page. We have corrected this in 5.1 and up. Thanks Mark Ignacio from Helia Voice for pointing this out to us.

SS-2898 - Optimize script

Several customers have noted that there were an overly sensitive warning coming from their soft switches about disk space. We have made some changes to the script. One of the things this script does is monitor disk utilization. We have made a change to not send warnings about disk space when the permissions of a folder are indicated to be read-only.

SS-2731 - pg_dump is being killed by kill_idle_queries on large databases.

We are now running the pg_dump under a different user from sippy. The kill_idle_queries script would pre-maturely end the pg_dump as it was in progress.

SS-2578 - High CPT spike due to local hostname lookup via DNS.

Call Processing Time would spike if a function in the B2BUA performed a DNS lookup before sending any SIP message. If the DNS server was unresponsive or slow it would introduce additional delays in call processing.

SS-1499 - Allow the same name of the Charging group on different levels of hierarchy

You can now have the same name of a charging group on different levels of the hierarchy. New groups will be added unless the charging group already exists on the same level of the hierarchy.

SS-1341 - Voicemail missing option

Voicemail offered a “press 3 for advanced options” however no advanced options were present. This option has now been removed.

SS-3398 - Sippy doesn’t generate invoice when Service Plan Changes

Many thanks to the support team over at Pheonix Solutions. They let us know of some specific use cases in our 5.1 release that prevented invoices from being generated. We have pathed this in our 5.0 releases going forward.

SS-3182 - Deliver Beer to the Kiev Office

As a Product Manager at Sippy Software i need to reward our developers/testers with a beer so that i can pay my debts and be a man of my word (even if i have to carry it into two countries to get it there). A friendly wager was placed to be sure a new feature would be ready for a patch for our 5.1 release. The binary upload API method had been extended to support both rates and routes and was completed on time by the Kiev team. On the line was respect and a 6 pack of beer. Surprisingly enough this was just the motivation our team needed and the feature is now in place for 5.1 versions carried forward. A product manager always pays his debts.

End of Support for Sippy Softswitch v4.5

With the introduction of 5.2 We are currently planning to move our 4.5 Version of our software to end of support. Additional details can be found on

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

New Notifications

We have created a notifications framework for our 5.2 release and just started with two new notifications for SSL certificates and Firewall Rules. Now that we have a way to present our users with information relevant to switch operators we can work on adding new types of notifications when the needs arise. The list can be pretty exhaustive but an area of interest is to let switch operators know when they reach Concurrent Call Capacity or CPS capacity or ading low balance notifications to the user interface.

Sippy and the Cloud

There is much to like about Cloud Computing Services and with the release of 5.2 we are one step closer to make this a reality. With the implementation of OpenSIPS and NAT traversal behind us we can start working on implementing our product in new Cloud Computing environments that were not possible before our 5.2 release.

One Step closer to Retiring SER

Now that we have implemented OpenSIPS we will be looking to retire SER and remove it as an option for Signalling. In the future we plan on retiring SER from our application and encourage our users to transition to OpenSIPS. We have been working towards this goal through our 5.X versions and as we move towards a 6.X platform we plan on ending support for Ser.

Development team expansions

We are currently looking to add some Software Developers to our team. With some extra developers we’ll be looking to work on some major changes for our User Interface as well as work on improving a number of our components for scalability and clustering. While not directly impacting our development plans for 5.2 the extra resources will help us make some big improvements into our next 5.3 Release and 6.X platforms.

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.

1 person likes this
Login or Signup to post a comment