M4 Changelog

From Kolmisoft Wiki
Jump to navigationJump to search

The newest changes could be found in our blog: http://blog.kolmisoft.com

1.221 - 1.233

  • Increased system capacity to handle up to 1000 CPS on Multi-Server solution
  • Implemented Automatic Tariff Import functionality
  • Implemented Warning Balance notification over SMS
  • Implemented Call Limit per Dial Peer
  • Implemented Call Limit and CPS limit per Dial Peer - Termination Point pair (limit calls/cps for exact Terminator for exact Destination)
  • Implemented PayPal integration for users
  • Implemented Rate Download in XLSX for users on the Dashboard
  • Implemented LRN US Jurisdictional Routing for Origination Points
  • Implemented Active Calls Per User Originator Point report
  • Implemented Smart (Pseudo-random with Deviation) Number Pool selection algorithm
  • Implemented new HGCs: 341, 342, 343, 344, 345
  • Implemented m2 stop Core command for better maintenance handling
  • Implemented an option to "Do not delete archived calls from calls table" for the systems where calls table is partitioned
  • Implementer an option to "Show Username instead of Client full Name" in Invoices
  • Implemented Core monitoring notification on GUI
  • Implemented checking in the core cache for blocked Origination Points
  • Implemented setting "Currency Amount Number Digits (Decimal Places)" how monetary values are shown accross the system
  • Implemented an option "show_entity_names" to show/hide entity names in Core log for easier troubleshooting
  • Implemented MySQL 5.7 support
  • Implemented Radius 3 support
  • Implemented calls table partitioning for system speedup and easier maintenance
  • Improved how money values are shown on the Dashboard
  • Improved user balance update in the core for a speed increase
  • Improved several cases on HGC 314 handling (no callerid, ORIGINATOR_CANCEL, INCOMPATIBLE_DESTINATION, RC-1)
  • Improved Alert creation, Rate Check, Routing Groups-Assigned Dial Peers, Dial Peers-Assigned Termination Points, Calls Per Hour pages
  • Improved GUI design to handle long company/usernames
  • Improved menu functionality by adding additional delay to allow easier navigation
  • Improved request handling by Radius from the Freeswitch to work in a bad network environment
  • Improved Elasticsearch control scripts to resume ES work in different situations
  • Improved Core to handle calls with SIP 480 response with reason code NORMAL_CLEARING(16)
  • Improved OP/TP Tariff representation in the OP/TP Settings pages
  • Improved Core code to do not handle codecs when pass-through is enabled
  • Improved code to handle Heartbeat IP retrieval by GUI
  • Improved CallerID handling by Core for some situations (user=phone, with + sign, etc)
  • Added an option to generate invoices once per day
  • Added additional checks on increment and min time to avoid some edge-cases
  • Added current_date email variable
  • Added links on the Terminator Points in the Terminator Active Calls page for fast navigation
  • Added additional confirmation on deleting all numbers in the Number Pool to avoid a misclick
  • Added security code which does not allow several clicks on Retrieve PCAP File, Retrieve Log Files in Call Log page
  • Rewritten Call Log retrieval using call_id instead of uniqueid which increased speed a lot
  • Greatly increased invoice generation speed by optimizing call counting per user
  • Fixed source transformation rule to work when the pattern matches the whole number
  • Fixed a problem with Default Number Decimal not properly saved to DB
  • Fixed a problem with Graphs sometimes not properly visualized in Load Stats page
  • Fixed how core handles special symbols in the src/dst
  • Fixed a problem with CDR Rerate not properly rerating calls in some cases
  • Fixed a problem with CDR Rerate not rerating Terminator prices
  • Fixed an issue with false-positive HGC 316
  • Fixed an issue with some date format blocking CDR Auto-Export
  • Fixed Rate Import to allow prefixes with + sign to be imported in more cases
  • Fixed Call Log retrieval script to handle call logs on the system with a huge amount of calls
  • Fixed GUI performance when Elasticsearch is down
  • Fixed a Rate Import functionality when importing prefixes with spaces (now spaces are removed)
  • Fixed an issue not properly inserting variables in the Email Subject
  • Fixed an issue when GUI could not check Radius server if non-standard ports are in use
  • Fixed missing link for Disconnect Code Changes in the TP settings
  • Fixed an issue when fast click can create several Manual Payments
  • Fixed ajax loader not properly visualized in some cases
  • Fixed design issues with Custom Rates window
  • Fixed an issue with XLSX generation library libxlsxwriter on Centos 6
  • Fixed an issue with the Date Picker resetting in some cases
  • Fixed an issue with Active Calls showing long calls
  • Fixed an issue when importing Blocked Rates
  • Fixed an issue for Managers not able to add numbers into Number Pools
  • Fixed an issue for remote Freeswitch servers not able to connect to Radius server
  • Fixed an issue that core could not handle improperly imported prefixes
  • Fixed User Connection Points window to do not show Tariff Name for the User
  • Fixed an issue with server load stats which stopped working on a system upgrade
  • Fixed an issue with dynamic devices not able to make calls in some cases
  • Fixed an issue with CallerID Name/Number not properly passed from OP settings to TP
  • Fixed an issue with bad parsing of Radius log in Call Info page
  • Fixed TP Source Transformation rule to support such case: -\+
  • Fixed permission problems on some cron jobs
  • Fixed Kamailio unnecessary logging to /var/log/messages on Centos 6
  • Upgraded Rails to version 4.1.5 to work on Centos 7 with Ruby 2.2.2


  • Active Calls Graph page tune
  • Added Server Load Stats autorefresh


  • Small tunes and bugfixes


  • Email Edit rework
  • Address in the Invoice rework to eliminated unnecessary gaps


  • Added Payment Terms (Grace Period) to the Invoices
  • Improved Routing Groups, Connection Point, Dial Peer - Termination Points pages usability
  • Email List page rework


  • New functionality which allows dynamic Connection Points which authenticates based on Username and Password
  • Various usability improvements to Invoices
  • Browser tab no more shows M2SWITCH for better usability
  • Tariffs/Edit & Rate Check usability improvements
  • System Stats rework
  • Now possible to add Payment Terms/Grace Period into Invoice Template


  • Better subnet validation in the Connection Point settings
  • Tariff selection usability improvements in Connection Point settings
  • Added additional setting to show time in Invoices in minutes with decimals (format xx.yy, eg 2min 6s, would be 2.1 min)
  • Option to group calls by Destination and option to show rates in invoices
  • Usability changes in User/Edit, Settings/Visual&Invoices&Archived Calls, Routing Group/Edit, Number Pools/New, Tariff/Edit windows
  • Notification improvements (design changes, no message on login, etc)


  • Small tunes and bugfixes


  • Period selection rework in Customer Invoices
  • Tunes to the Login Window for better usability
  • Connections Points Edit window changes for better usability and visual aesthetics
  • Active Calls Graph page design improvement
  • More information in the Routing Groups - Assigned Dial Peers page
  • Usability changes to Routing Group Edit window


  • New column in Active Calls per Server to show Total Active Calls for each Server
  • Improvements to date picker in the Server Load Stats


  • Small tunes and bugfixes


  • Option to allow to export Tariffs in their Currency


  • Security measure to ask for re-login any time IP address changes
  • Added ability to hide/show Duration column on Last Call page
  • Added Edit icons in Termination Point edit window for faster navigation
  • Added option to select predetermined periods in the Invoices page for faster data-retrieval


  • Small tunes and bugfixes


  • Preconfigured Templates for Aggregates
  • Tunes to Aggregates for better usability


  • Tariff Conversion functionality


  • Change to the notification system to do not monitor non-active servers


  • Added functionality to send automatic emails for Aggregate Reports based on Templates - receive any report from Aggregates page to your email on selected time!



  • Added new function to "Delete not-Archived not-Answered Calls older than" to keep CDR DB clean
  • Added new column 'Duration' to the Call List for admin, near the 'Billsec'
  • Now possible to send Archived Calls and Backups to external FTP server


  • Added an option to import Custom Tariffs
  • Added possibility to stop/start refresh of Active Calls page
  • When IP can't be blocked - exact reason is presented to the user
  • Added 'Delete Selected' button/functionality to the Invoices
  • Enhanced functionality to change Tariff based on CallerID (or PAI) to easier comply with EU Roaming Regulations. Small guide here


  • Reintroduced Unassigned Destinations functionality which allows assign them automatically (first iteration, experimental functionality, use with caution!)
  • Rates List page rework for better readability also shows Total Rates in the Tariff now
  • Tariff List speedup by removing unecessary Rate count
  • Changed the code logic to allow backups to the Cloud even when low on HDD space
  • Added additional date navigation elements to Server Load Stats page for faster date scrolling
  • Rates List page layout rework for better readability
  • Rates List page code rework which increased loading speed many times (in some extreme cases from 4min to 2s!)
  • Connection Point Edit page rework which grouped OP and TP settings separatelly for easier readability


  • Terminator Active Calls and Servers List windows restructured for better readability
  • Added option to Unassign all Connection Points from some Server in Server's Edit window
  • Improved logic when changing server type to cover more cases
  • Added Avg/Max values to the Active Calls Graph window
  • Active Calls per Server now shows graphs if there are more than one Core server
  • PAI Number now can be saved to CDR and visible in Call Info and CDR Export
  • Added search filter by Duration into Aggregates and Last Calls windows


  • New page: Active Calls -> Per Server, easy to monitor how many calls are going per server on the multi-server systems
  • Blocked Rates functionality implemented
  • In Archived Calls we increased max possible value to 3650 days (10 years) for the fields "Archive Calls older than" and "Delete Archived Calls older than"
  • In the Call List added link on the Provider's Name and adjusted table columns for convenience
  • More informative Server Load Stats - clearly shows which server we are monitoring and also adjusts some of the graphs for better readability
  • In page Blocked IPs added option to block IP on all the servers at once - useful on multi-server systems
  • Core now shows exact Global Call Limit
  • Default Device has settings 'Ingerit leg B codecs' and 'Enforce same codecs as on leg A' set to YES to avoid transcoding


  • Reports -> Active Calls in search filter 'User' renamed to 'Origination User' and 'Termination Points User' renamed to 'Termination User' to avoid misunderstandings
  • Reports -> Active Calls in search added option to filter by Server
  • Reports -> Hangup Cause 'Client' renamed to 'User', 'Devices' renamed to 'Connection Points' and added sorting on the table
  • Reports menu reordered for better organization
  • Reports -> Blocked IPs page loading speed increased many times
  • Reports -> Load Stats search has detailed Server search with ID/IP/Name details, 'Devices' renamed to 'Connection Points' and added additional explanatory tooltip
  • Major reordering to Settings page to better organize various settings to appropriate panels/groups
  • In all related pages Search buttons CLEAR and REFINE now has protection against repeated activation. This allows not to create similar DB queries - e.g. avoids performance issues with overloaded DB
  • When adding new Freeswitch server new option available - 'Assign to all Connection Points' for faster configuration (option is not present in systems with proxy server)