M2 is a class 4 switch (read more about the difference between class 4 and class 5 softswitches here) for wholesale transit business. The M2 softswitch that can handle a very high call volume (up to 1000 calls per second (CPS) and up to 10,000 concurrent calls). Such traffic is usually generated by other wholesale VoIP providers, large companies and call centers.
Here’s the recent M2 Changelog 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
Click here to review the M2 interface or try it in real environment.